{"version":3,"sources":["webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/acos.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/equalText.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/arithmetic.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/compareUnits.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/typeOf.js","webpack:///./node_modules/mathjs/lib/esm/error/DimensionError.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/unaryPlus.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/bitwise.js","webpack:///./node_modules/core-js/modules/es.object.values.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/polynomialRoot.js","webpack:///./node_modules/mathjs/lib/esm/function/logical/not.js","webpack:///./node_modules/mathjs/lib/esm/function/string/hex.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/equal.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/getMatrixDataType.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/expm1.js","webpack:///./node_modules/xlsx/xlsx.js","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/useMatrixForArrayScalar.js","webpack:///./node_modules/seedrandom/lib/alea.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRecebidasRetrato.vue?7489","webpack:///./node_modules/mathjs/lib/esm/function/probability/multinomial.js","webpack:///./node_modules/mathjs/lib/esm/type/fraction/Fraction.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/round.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/matrixFromRows.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/function/matrix.js","webpack:///./node_modules/xlsx/jszip.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroIOFPaisagem.vue?4d50","webpack:///./node_modules/mathjs/lib/esm/function/utils/hasNumericValue.js","webpack:///./node_modules/mathjs/lib/esm/utils/customs.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaAdministracaoRetrato.vue?f4c3","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/rightLogShift.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/divide.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/identity.js","webpack:///./node_modules/mathjs/lib/esm/function/complex/im.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/decomposition/qr.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/reshape.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/xgcd.js","webpack:///./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:///./node_modules/core-js/modules/es.set.constructor.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/log10.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/acoth.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/atanh.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/eigs/complexEigs.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/eigs/realSymetric.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/eigs.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/permutations.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/floor.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/sin.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/column.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/acot.js","webpack:///./src/utils/geradorPDF/sortMethod.ts","webpack:///./node_modules/mathjs/lib/esm/function/probability/factorial.js","webpack:///./src/utils/components/gapData.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/utils.js","webpack:///./node_modules/xlsx/dist/cpexcel.js","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/bitAnd.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/solver/usolveAll.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoRentabilidadeRetrato.vue?e0b0","webpack:///./node_modules/mathjs/lib/esm/utils/print.js","webpack:///./node_modules/core-js/modules/web.url-search-params.has.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/dot.js","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/leftShift.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/probability.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/transpose.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/sinh.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/largerEq.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/combinationsWithRep.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/tan.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/subset.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sylvester.js","webpack:///./node_modules/mathjs/lib/esm/type/unit/function/createUnit.js","webpack:///./node_modules/mathjs/lib/esm/error/ArgumentsError.js","webpack:///./src/utils/geradorPDF/geradorPDF.ts","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroIOF.vue?6454","webpack:///./node_modules/mathjs/lib/esm/function/statistics/mean.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo04xSidSid.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/csc.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/dotMultiply.js","webpack:///./src/views/pages/relatorio/relatorioRetrato.vue?ab56","webpack:///src/views/pages/relatorio/relatorioRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioRetrato.vue?9219","webpack:///./src/views/pages/relatorio/relatorioRetrato.vue","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/addScalar.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/ifft.js","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/bitXor.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/solver/lsolve.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo03xDSf.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroLancamentoRetrato.vue?5f54","webpack:///./node_modules/mathjs/lib/esm/function/set/setSize.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo02xDS0.js","webpack:///./node_modules/core-js/modules/web.url.constructor.js","webpack:///./node_modules/mathjs/lib/esm/core/function/typed.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/SparseMatrix.js","webpack:///./node_modules/mathjs/lib/esm/utils/noop.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo10xSids.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/relatorioTaxaJuros.vue?b95a","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csIpvec.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/solver/lusolve.js","webpack:///./node_modules/decimal.js/decimal.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/coth.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/tanh.js","webpack:///./node_modules/mathjs/lib/esm/entry/configReadonly.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/unaryMinus.js","webpack:///./node_modules/mathjs/lib/esm/utils/bignumber/constants.js","webpack:///./node_modules/mathjs/lib/esm/type/complex/function/complex.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/solver/lsolveAll.js","webpack:///./node_modules/mathjs/lib/esm/function/combinatorics/bellNumbers.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/trace.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/deepEqual.js","webpack:///./node_modules/mathjs/lib/esm/type/unit/physicalConstants.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo01xDSid.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/diff.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/Range.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo06xS0S0.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/sqrt.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/pow.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/add.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioAmortizacaoRetrato.vue?823e","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/trigUnit.js","webpack:///./node_modules/pdfmake/build/vfs_fonts.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/ctranspose.js","webpack:///./node_modules/core-js/internals/object-is-extensible.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/compare.js","webpack:///./node_modules/mathjs/lib/esm/function/string/oct.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/random.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/larger.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo09xS0Sf.js","webpack:///./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/isNaN.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/ones.js","webpack:///./node_modules/core-js/modules/web.url-search-params.size.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroGRPERetrato.vue?838e","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/divideScalar.js","webpack:///./node_modules/mathjs/lib/esm/function/complex/conj.js","webpack:///./node_modules/mathjs/lib/esm/utils/complex.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/equalScalar.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/row.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/min.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/corr.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/forEach.js","webpack:///./node_modules/mathjs/lib/esm/function/string/format.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/subtract.js","webpack:///./node_modules/mathjs/lib/esm/utils/number.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/mathjs/lib/esm/function/geometry/intersect.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/matrixFromFunction.js","webpack:///./node_modules/core-js/modules/es.set.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/isZero.js","webpack:///./node_modules/seedrandom/index.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/count.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setIntersect.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setSymDifference.js","webpack:///./node_modules/vue-html2pdf/dist/vue-html2pdf.esm.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/decomposition/schur.js","webpack:///./node_modules/mathjs/lib/esm/type/unit/Unit.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/clone.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoRentabilidade.vue?12c9","webpack:///./node_modules/mathjs/lib/esm/type/resultset/ResultSet.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/cbrt.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/gamma.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/cos.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/quantileSeq.js","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/bitOr.js","webpack:///./node_modules/mathjs/lib/esm/utils/product.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/sqrtm.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/inv.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/det.js","webpack:///./node_modules/mathjs/lib/esm/utils/bignumber/nearlyEqual.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/compareText.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/compareNatural.js","webpack:///./node_modules/mathjs/lib/esm/entry/pureFunctionsAny.generated.js","webpack:///./node_modules/mathjs/lib/esm/function/combinatorics/composition.js","webpack:///./node_modules/seedrandom/lib/xor4096.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/ImmutableDenseMatrix.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/asech.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/max.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/concat.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioDAIRRetrato.vue?d2bc","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/log2.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/asinh.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/subtractScalar.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/acsc.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiro.vue?1bde","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroLancamento.vue?80d7","webpack:///./src/utils/Functions/Datas/Datas.ts","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/exportTableLancamentos.ts","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroLancamentoRetrato.vue?2f7f","webpack:///src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroLancamentoRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroLancamentoRetrato.vue?cb9f","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroLancamentoRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroLancamento.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroLancamento.vue?a4b6","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroLancamento.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroGRPE.vue?8c39","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/exportTableGRPE.ts","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroGRPERetrato.vue?09f0","webpack:///src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroGRPERetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroGRPERetrato.vue?69d4","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroGRPERetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroGRPE.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroGRPE.vue?fd38","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroGRPE.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/relatorioTaxaJuros.vue?9c76","webpack:///./src/views/pages/relatorio/UtilitarioRelatorios.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/parcelasRecebidasPorCompetencia.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/parcelasRecebidasPorPeriodo.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/rentabilidadePorCompetencia.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/relatorioTaxaJuros.js","webpack:///./node_modules/date-fns/esm/lastDayOfMonth/index.js","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/relatorioTaxaJuros.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/relatorioTaxaJuros.vue?25e7","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioTaxaJuros/relatorioTaxaJuros.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroIOF.vue?fe2b","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroIOFPaisagem.vue?7cc0","webpack:///src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroIOFPaisagem.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroIOFPaisagem.vue?7e53","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroIOFPaisagem.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroIOF.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroIOF.vue?018d","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroIOF.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroCapitalAplicadoXRentabilidade.vue?62c3","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?fb54","webpack:///src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?3faa","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroCapitalAplicadoXRentabilidade.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroCapitalAplicadoXRentabilidade.vue?b4e0","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroCapitalAplicadoXRentabilidade.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroContabil.vue?290c","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroContabilPaisagem.vue?48d2","webpack:///src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroContabilPaisagem.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroContabilPaisagem.vue?db0b","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroContabilPaisagem.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroContabil.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroContabil.vue?6315","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroContabil.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroParcelasAntecipadas.vue?8a3e","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroParcelasAntecipadas.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroParcelasAntecipadas.vue?51dd","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiroParcelasAntecipadas.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioDAIR.vue?2c58","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioDAIRRetrato.vue?d8c2","webpack:///src/views/pages/relatorio/relatorioFinanceiro/components/relatorioDAIRRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioDAIRRetrato.vue?bef4","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioDAIRRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/methods/DAIR/adiciona-totalizadores.method.ts","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/methods/DAIR/custom-pdf-template.ts","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioDAIR.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioDAIR.vue?9977","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioDAIR.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxasParcelas.vue?fc16","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioAmortizacao.vue?afd6","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioAmortizacaoRetrato.vue?653a","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioAmortizacaoRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioAmortizacaoRetrato.vue?a0aa","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioAmortizacaoRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioAmortizacao.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioAmortizacao.vue?be67","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioAmortizacao.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaOscilacaoRiscos.vue?bc5e","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaOscilacaoRiscosRetrato.vue?fbe2","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaOscilacaoRiscosRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaOscilacaoRiscosRetrato.vue?d0a0","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaOscilacaoRiscosRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaOscilacaoRiscos.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaOscilacaoRiscos.vue?de11","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaOscilacaoRiscos.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaRentabilidade.vue?d6d4","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaRentabilidadeRetrato.vue?2506","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaRentabilidadeRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaRentabilidadeRetrato.vue?e9e2","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaRentabilidadeRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaRentabilidade.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaRentabilidade.vue?dd46","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaRentabilidade.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaFundoGarantidor.vue?2929","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaFundoGarantidorRetrato.vue?e154","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaFundoGarantidorRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaFundoGarantidorRetrato.vue?e73e","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaFundoGarantidorRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaFundoGarantidor.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaFundoGarantidor.vue?7503","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaFundoGarantidor.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaAdministracao.vue?27f0","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaAdministracaoRetrato.vue?a028","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaAdministracaoRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaAdministracaoRetrato.vue?df16","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaAdministracaoRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaAdministracao.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaAdministracao.vue?9023","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaAdministracao.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelas.vue?c683","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRetrato.vue?2760","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRetrato.vue?4353","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelas.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelas.vue?8f0c","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelas.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelasRecebidas.vue?35e8","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRecebidasRetrato.vue?4395","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRecebidasRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRecebidasRetrato.vue?40d8","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRecebidasRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelasRecebidas.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelasRecebidas.vue?f975","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelasRecebidas.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoRentabilidade.vue?ffa3","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoRentabilidadeRetrato.vue?3ce8","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoRentabilidadeRetrato.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoRentabilidadeRetrato.vue?4468","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoRentabilidadeRetrato.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoRentabilidade.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoRentabilidade.vue?600b","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoRentabilidade.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxasParcelas.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxasParcelas.vue?5cc2","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxasParcelas.vue","webpack:///src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiro.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiro.vue?6c7a","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiro.vue","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioAmortizacao.vue?756c","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/atan.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setUnion.js","webpack:///./node_modules/mathjs/lib/esm/function/combinatorics/catalan.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/partitionSelect.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/DenseMatrix.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/exp.js","webpack:///./node_modules/mathjs/lib/esm/function/geometry/distance.js","webpack:///./node_modules/mathjs/lib/esm/type/boolean.js","webpack:///./node_modules/core-js/modules/web.url-search-params.delete.js","webpack:///./node_modules/seedrandom/lib/tychei.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/unequal.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaFundoGarantidor.vue?9295","webpack:///./node_modules/mathjs/lib/esm/function/relational/smaller.js","webpack:///./node_modules/mathjs/lib/esm/utils/object.js","webpack:///./node_modules/mathjs/lib/esm/utils/switch.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/matrixFromColumns.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/csch.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/resize.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/typed-function/lib/umd/typed-function.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/combinations.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/combinations.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo12xSfs.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/prod.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinaceiroContabilPaisagem.vue?2f7d","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaRentabilidadeRetrato.vue?72af","webpack:///./node_modules/mathjs/lib/esm/error/IndexError.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/lyap.js","webpack:///./node_modules/mathjs/lib/esm/function/relational/smallerEq.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/kron.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/mod.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/trigonometry.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/components/relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?6eb8","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaAdministracao.vue?168a","webpack:///./node_modules/mathjs/lib/esm/function/probability/kldivergence.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/mode.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/isPositive.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/Matrix.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/cumsum.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/invmod.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/sign.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/numeric.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/sec.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/isPrime.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/mathjs/lib/esm/utils/is.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/function/sparse.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/randomInt.js","webpack:///./node_modules/seedrandom/seedrandom.js","webpack:///./node_modules/seedrandom/lib/xorwow.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/mathjs/lib/esm/core/config.js","webpack:///./node_modules/mathjs/lib/esm/core/function/config.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo11xS0s.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/cross.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/multiply.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/Spa.js","webpack:///./node_modules/mathjs/lib/esm/function/logical/and.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/solver/usolve.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioConsolidadoParcelasRetrato.vue?3d24","webpack:///./node_modules/mathjs/lib/esm/function/special/erf.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioFinaceiroContabil.vue?47fb","webpack:///./node_modules/mathjs/lib/esm/function/signal/zpk2tf.js","webpack:///./node_modules/mathjs/lib/esm/json/replacer.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csPermute.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csTdfs.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csPost.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csEtree.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csFkeep.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csFlip.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csAmd.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csLeaf.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csCounts.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csSqr.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csMarked.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csMark.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csUnflip.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csDfs.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csReach.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csSpsolve.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/sparse/csLu.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/decomposition/slu.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/filter.js","webpack:///./node_modules/mathjs/lib/esm/function/combinatorics/stirlingS2.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack:///./node_modules/date-fns/esm/format/index.js","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/rightArithShift.js","webpack:///./node_modules/mathjs/lib/esm/type/number.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/std.js","webpack:///./node_modules/seedrandom/lib/xor128.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/atan2.js","webpack:///./node_modules/mathjs/lib/esm/type/bignumber/function/bignumber.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/range.js","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/pickRandom.js","webpack:///./node_modules/mathjs/lib/esm/type/unit/function/splitUnit.js","webpack:///./node_modules/mathjs/lib/esm/utils/factory.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/expm.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/solver/utils/solveValidation.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setDifference.js","webpack:///./src/views/pages/relatorio/relatorioPaisagem.vue?51ca","webpack:///./node_modules/node-libs-browser/node_modules/isarray/index.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/FibonacciHeap.js","webpack:///./node_modules/html2canvas/dist/html2canvas.js","webpack:///./node_modules/mathjs/lib/esm/function/string/bin.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setPowerset.js","webpack:///./node_modules/mathjs/lib/esm/function/unit/to.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/utils/improveErrorMessage.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/rotationMatrix.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/isInteger.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/zeros.js","webpack:///./node_modules/mathjs/lib/esm/function/signal/freqz.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/pinv.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/diag.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/ceil.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo07xSSf.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaFundoGarantidorRetrato.vue?1f67","webpack:///./node_modules/mathjs/lib/esm/function/bitwise/bitNot.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/fix.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/isNumeric.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/multiplyScalar.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/logical.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/MatrixIndex.js","webpack:///./node_modules/mathjs/lib/esm/function/logical/xor.js","webpack:///./node_modules/seedrandom/lib/xorshift7.js","webpack:///./node_modules/mathjs/lib/esm/function/special/zeta.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelasRecebidas.vue?471e","webpack:///./node_modules/mathjs/lib/esm/function/complex/re.js","webpack:///./node_modules/mathjs/lib/esm/utils/bignumber/bitwise.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/hypot.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaOscilacaoRiscos.vue?f139","webpack:///./node_modules/mathjs/lib/esm/function/matrix/apply.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo08xS0Sid.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/sum.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/nthRoots.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/nthRoot.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/variance.js","webpack:///./node_modules/mathjs/lib/esm/type/complex/Complex.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/abs.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/util/randomMatrix.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setDistinct.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/fft.js","webpack:///./node_modules/mathjs/lib/esm/function/complex/arg.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo14xDs.js","webpack:///./node_modules/mathjs/lib/esm/version.js","webpack:///./node_modules/mathjs/lib/esm/plain/number/constants.js","webpack:///./node_modules/mathjs/lib/esm/constants.js","webpack:///./node_modules/fraction.js/fraction.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioTaxaRentabilidade.vue?fb72","webpack:///./node_modules/html2pdf.js/dist/html2pdf.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/size.js","webpack:///./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/asec.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo13xDD.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/broadcast.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/square.js","webpack:///./node_modules/mathjs/lib/esm/type/string.js","webpack:///./node_modules/mathjs/lib/esm/utils/lruQueue.js","webpack:///./node_modules/mathjs/lib/esm/utils/function.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/median.js","webpack:///./node_modules/mathjs/lib/esm/type/unit/function/unit.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/cot.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/log.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/util/seededRNG.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/lcm.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/squeeze.js","webpack:///./node_modules/mathjs/lib/esm/utils/applyCallback.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/utils/matAlgo05xSfSf.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/asin.js","webpack:///./node_modules/pdfmake/build/pdfmake.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/jspdf/dist/jspdf.min.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/sech.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/sort.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/cosh.js","webpack:///./node_modules/mathjs/lib/esm/function/probability/lgamma.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/map.js","webpack:///./node_modules/javascript-natural-sort/naturalSort.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/acosh.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setCartesian.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/cube.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/rotate.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/gcd.js","webpack:///./node_modules/mathjs/lib/esm/type/fraction/function/fraction.js","webpack:///./node_modules/complex.js/complex.js","webpack:///./node_modules/mathjs/lib/esm/utils/map.js","webpack:///./node_modules/mathjs/lib/esm/function/algebra/decomposition/lup.js","webpack:///./node_modules/mathjs/lib/esm/type/matrix/function/index.js","webpack:///./node_modules/mathjs/lib/esm/function/utils/isNegative.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/mathjs/lib/esm/function/string/print.js","webpack:///./node_modules/mathjs/lib/esm/function/matrix/flatten.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/dotPow.js","webpack:///./node_modules/core-js/internals/url-constructor-detection.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/norm.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/dotDivide.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/RelatorioConsolidadoParcelas.vue?3432","webpack:///./node_modules/mathjs/lib/esm/function/numeric/solveODE.js","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/RelatorioTaxasParcelas/Components/RelatorioTaxaOscilacaoRiscosRetrato.vue?ada4","webpack:///./src/views/pages/relatorio/relatorioRetrato.vue?cab6","webpack:///./src/views/pages/relatorio/relatorioFinanceiro/relatorioDAIR.vue?b18a","webpack:///./node_modules/mathjs/lib/esm/utils/bignumber/formatter.js","webpack:///./node_modules/mathjs/lib/esm/utils/string.js","webpack:///./node_modules/mathjs/lib/esm/utils/array.js","webpack:///./node_modules/mathjs/lib/esm/utils/collection.js","webpack:///./node_modules/mathjs/lib/esm/type/bignumber/BigNumber.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setMultiplicity.js","webpack:///./node_modules/mathjs/lib/esm/function/statistics/mad.js","webpack:///./node_modules/mathjs/lib/esm/function/set/setIsSubset.js","webpack:///./node_modules/mathjs/lib/esm/function/logical/or.js","webpack:///./node_modules/mathjs/lib/esm/function/arithmetic/log1p.js","webpack:///./node_modules/mathjs/lib/esm/function/trigonometry/acsch.js","webpack:///./src/views/pages/relatorio/relatorioPaisagem.vue?f2a2","webpack:///src/views/pages/relatorio/relatorioPaisagem.vue","webpack:///./src/views/pages/relatorio/relatorioPaisagem.vue?ff24","webpack:///./src/views/pages/relatorio/relatorioPaisagem.vue","webpack:///./node_modules/cleave.js/dist/addons/cleave-phone.br.js"],"names":["name","dependencies","createAcos","_ref","typed","config","Complex","number","x","predictable","Math","acos","BigNumber","createEqualText","compareText","isZero","y","n1","n2","absNumber","a","abs","addNumber","b","subtractNumber","multiplyNumber","divideNumber","unaryMinusNumber","unaryPlusNumber","cbrtNumber","cubeNumber","expNumber","exp","expm1Number","gcdNumber","Error","r","lcmNumber","t","prod","logNumber","log","log10Number","log2Number","log1pNumber","modNumber","floor","nthRootNumber","root","arguments","length","undefined","inv","Infinity","isFinite","pow","signNumber","sqrtNumber","sqrt","squareNumber","xgcdNumber","q","res","lastx","lasty","powNumber","roundNumber","value","decimals","parseFloat","normNumber","signature","createCompareUnits","referToSelf","self","equalBase","find","valueType","createTypeOf","any","DimensionError","actual","expected","relation","this","SyntaxError","message","Array","isArray","join","stack","prototype","RangeError","constructor","isDimensionError","createUnaryPlus","Fraction","Unit","clone","bitAndNumber","bitNotNumber","bitOrNumber","bitXorNumber","leftShiftNumber","rightArithShiftNumber","rightLogShiftNumber","$","$values","values","target","stat","O","module","exports","createPolynomialRoot","equalScalar","add","subtract","multiply","divide","unaryMinus","cbrt","typeOf","im","re","constant","restCoeffs","coeffs","pop","concat","c","denom","d1","d2","discriminant","d","_c","_b","_a","_denom","D0_1","D0_2","D1_1","D1_2","Ccubed","Delta0","Delta1","discriminant1","discriminant2","allRoots","rawRoots","toArray","map","C","createNot","isNaN","createHex","format","n","notation","wordSize","createEqual","matrix","DenseMatrix","matAlgo03xDSf","matAlgo07xSSf","matAlgo12xSfs","matrixAlgorithmSuite","createEqualNumber","elop","SS","DS","Ss","_ref2","createGetMatrixDataType","Matrix","getDataType","createExpm1","_Complex","cos","sin","minus","XLSX","make_xlsx_lib","version","current_codepage","current_ansi","cptable","global","window","VALID_ANSI","i","push","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","indexOf","reset_ansi","set_cp","reset_cp","char_codes","data","o","len","charCodeAt","utf16leread","String","fromCharCode","utf16beread","debom","c1","c2","slice","_getchar","_getansi","utils","decode","DENSE","DIF_XL","Base64","encode","input","c3","e1","e2","e3","e4","charAt","replace","has_buf","Buffer","process","versions","node","Buffer_from","nbfs","from","e","buf","enc","bind","alloc","allocUnsafe","new_raw_buf","new_unsafe_buf","s2a","s","split","s2ab","ArrayBuffer","view","Uint8Array","a2s","a2u","ab2a","bconcat","bufs","apply","chr0","chr1","SSF","make_ssf","_strrev","fill","l","pad0","v","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","parse_date_code","opts","b2","date","time","dow","dout","out","T","u","m","H","M","S","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","toString","_general_int","general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","w","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","LOG10E","substr","toUpperCase","general_fmt","write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","_general_num","_general","write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","eval_fmt","flen","dt","lst","hr","toLowerCase","ssm","bt","jj","nstr","myv","ostr","vv","decpt","lasti","retval","is_date","_eval","cfregex","cfregex2","chkcond","thresh","choose_fmt","f","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","SSFImplicit","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","datestr","timestr","CRC32","DO_NOT_EXPORT_CFB","factory","signed_crc_table","Int32Array","crc32_bstr","bstr","seed","L","crc32_buf","crc32_buf_8","crc32_str","_fs","CFB","fs","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","get_fs","parse","file","options","parse_zip","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","shift","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","k","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","content","offset","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","CLSID","seed_cfb","nm","rebuild_cfb","gc","_file","now","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","path","UCFullPaths","UCPaths","UCPath","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","error","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","realloc","copy","set","zero_fill_array","_deflateRaw","boff","off","build_tree","clens","cmap","MAX","maxlen","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","len_eb","dst_eb","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","_crc32","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","blobify","write_dl","fname","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","File","Folder","open","encoding","close","read_binary","infile","keys","ks","Object","o2","hasOwnProperty","call","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","dup","JSON","stringify","fuzzynum","Number","NaN","test","wt","fuzzydate","getYear","jszip","safe_split_regex","split_regex","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","zipentries","zip_add_file","zip_new","zip_read","base64","resolve_path","result","step","JSZipSync","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","trim","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","text","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","utf8read","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","XMLNS","XLMLNS","read_double_le","write_double_le","bs","av","LN2","__lpp4","___lpp4","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__double","___double","__8lpp4","___8lpp4","is_buf","isBuffer","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","end","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","next","_bufs","write_record","ba","XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_row","encode_col","OFFCRYPTO","make_offcrypto","_crypto","crypto","rc4","md5","hex","createHash","update","digest","decode_row","rowstr","unfix_row","row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","parse_BrtColor","xColorType","index","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","extend","parse_ClipboardFormatOrString","ClipFmt","3","8","14","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","DocSummaryRE","SummaryRE","CountryEnum","XLSFillPattern","rgbify","_XLSIcv","RBErr","ct2type","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","styles","type2ct","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","CT","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xsd","xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","VBA","get_rels_path","parse_rels","currentFilePath","hash","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","xlml_normalize","xlmlregex","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","dc","dcterms","dcmitype","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","EXT_PROPS","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","xml","HeadingPairs","TitlesOfParts","EXT_PROPS_XML_ROOT","vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecLpwstrValue","ret","parse_VtVecUnalignedLpstrValue","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","width","cRun","write_XLUnicodeRichExtendedString","xlstr","nfmts","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","cAnti","preamble","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","write_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","Tooltip","write_Hyperlink","hl","hashidx","F","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","fBelow","fRight","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","write_SST","parse_ExtSST","extsst","dsst","parse_Row","miyRw","level","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Pane","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","write_LabelSst","os","parse_Label","biffguess","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","comment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","cchText","parse_HLink","hlink","write_HLink","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","TT","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","write_ColInfo","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","dbf_reverse_map","DBF_SUPPORTED_VERSIONS","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_sheet","dbf_to_workbook","_RLEN","sheet_to_dbf","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","5","6","7","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","topic","push_value","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","sheet_to_wk1","write_biff_rec","write_BOF_WK1","write_RANGE","max_R","write_INTEGER","write_NUMBER","write_LABEL","book_to_wk3","write_BOF_WK3","write_XFORMAT_SHEETNAME","wsidx","write_NUMBER_17","write_LABEL_16","wscnt","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","BinOpTab","argc","argL","argR","args","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","log2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_SHEETNAMECS","parse_SHEETNAMELP","parse_SHEETINFOQP","parse_XFORMAT","parse_rpr","rpr","pass","uval","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","main","sitag","parse_BrtBeginSst","parse_sst_bin","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordByte","Intermediate1","Intermediate2","Intermediate3","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Temp","PasswordLastChar","PadIndex","Index","ObfuscationArray","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","lastIndex","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","X","h6","rgb_tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","xf","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","STY","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","parse_xlink_xml","parse_xlink_bin","parse_drawing","IMG","DRAW","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillopts","angle","fillparm","fillxml","shadata","on","fillcolor","strokecolor","sheet_insert_comments","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","textMatch","CMNT","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","parse_ds_xml","parse_ms_bin","parse_ms_xml","MS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","quoteCharacters","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","stringify_formula","nameidx","last_sp","sp","fflen","func","lbl","names","XLSXFutureFunctions","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","write_FormulaValue","parse_Formula","cbf","shared","write_Formula","o1","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fmtid","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","ridx","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","Sheet","Ref","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","xlfn","___f","si","_tag","_r","write_ws_xml_data","params","height","_cell","customHeight","WS_XML_ROOT","write_ws_xml","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtShortBlank","write_BrtShortBlank","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtShortBool","write_BrtShortBool","parse_BrtCellError","bError","write_BrtCellError","parse_BrtShortError","write_BrtShortError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtShortIsst","write_BrtShortIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtShortReal","write_BrtShortReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtShortRk","write_BrtShortRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtShortSt","write_BrtShortSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtPane","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_BrtDVal","parse_BrtDVal14","parse_ws_bin","ai","af","aii","_d","write_ws_bin_cell","last_seen","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_Cache","nf","parse_chart","csheet","nc","cache","CHART","CHARTEX","CS","parse_cs_xml","parse_BrtCsProp","parse_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","Hidden","Comment","localSheetId","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cmnt","parse_cc","parse_xlink","write_wb","write_ws","write_sty","write_sst","write_cmnt","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","write_name_xlml","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","skip","write_ws_xlml","write_xlml","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","XFs","palette","get_rgb","process_cell_style","line","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","RecordType","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","Keys","DSEntries","SEntries","CEntries","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","XLSRE","write_biff_continue","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_cols_biff8","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","fix_write_opts","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","book_new","book_append_sheet","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_content_xml","parse_text_p","fixed","number_formats","day","month","year","hours","minutes","seconds","era","quarter","sheetag","rowtag","textptag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","write_styles_ods","master_styles","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","ods","ROWS","_Fref","text_p","_tgt","write_automatic_styles_ods","cidx","colobj","fods","write_ods","write_sheet_index","write_obj_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","write_wk1_buf","fix_opts_func","get_sheet_type","safe_parse_wbrels","wbrels","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","strip_front_slash","binname","dir","link","propdata","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","foo","vbafmt","_sn","_i","wsrels","_type","need_vml","rId1","read_cfb","read_zip","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_cfb_ctr","write_zip_type","oopts","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSync","resolve_book_type","_BT","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","CC","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","sheet_get_cell","json_to_sheet","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","RC","wb_sheet_idx","sh","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","rngstr","strmod","Readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","to_json","to_html","to_csv","readFile","createUseMatrixForArrayScalar","referTo","selfDn","valueOf","selfDB","selfnD","selfBD","define","Alea","me","mash","Mash","s0","s1","s2","impl","xg","prng","int32","double","quick","alea","createMultinomial","factorial","isInteger","isPositive","sum","TypeError","createFractionClass","isFraction","toJSON","mathjs","fromJSON","json","isClass","NO_INT","createRound","zeros","matAlgo11xS0s","matAlgo14xDs","toDecimalPlaces","toNumber","_n","createMatrixFromRows","flatten","_createArray","checkVectorTypeAndReturnLength","rowLength","vec","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","CHROME_BUG","FORCED","proto","forced","reduce","callbackfn","createMatrix","SparseMatrix","_create","string","datatype","DO_NOT_EXPORT_JSZIP","globalThis","require","_dereq_","_keyStr","utf8","chr2","chr3","enc1","enc2","enc3","enc4","output","CompressedObject","compressedSize","uncompressedSize","compressionMethod","compressedContent","getCompressedContent","STORE","magic","compress","uncompress","compressInputType","uncompressInputType","DEFLATE","4","getTypeOf","iTop","DataReader","checkOffset","checkIndex","newIndex","setIndex","byteAt","readInt","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","binary","createFolders","string2binary","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","USE_TYPEDARRAY","Uint32Array","pako","deflateRaw","inflateRaw","9","newObj","support","compressions","10","ZipEntries","zipEntries","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","11","12","Uint8ArrayReader","NodeBufferReader","13","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","getBinaryData","nodebuffer","dataToString","asUTF8","utf8decode","utf8encode","ZipObject","_initialMetadata","asText","asUint8Array","asArrayBuffer","decToHex","prepareFileAttrs","fileAdd","parent","dataType","parentFolder","folderAdd","substring","lastSlash","generateCompressedObjectFrom","generateZipParts","compressedObject","dosTime","dosDate","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","extraFields","unicodePathExtraField","unicodeCommentExtraField","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","search","relativePath","fileClone","regexp","folder","arg","newFolder","remove","kids","writer","zipData","localDirLength","centralDirLength","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","append","finalize","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","16","17","arraybuffer","uint8array","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","string2buf","m_pos","str_len","buf_len","utf8border","buf2string","c_len","utf16buf","applyFromCharCode","chunk","nextBoundary","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","resultStr","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","supported","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraFieldId","extraFieldLength","extraFieldValue","extraDataSize","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","constants","25","zlib_deflate","strings","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","chunkSize","windowBits","memLevel","strategy","to","opt","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","deflator","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","inflator","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","ungzip","27","TYPED_OK","sources","source","fnTyped","dest","src","src_offs","dest_offs","fnUntyped","setTyped","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","29","adler32","adler","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","pending","pending_buf","pending_out","total_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","more","_w_size","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","configuration_table","Config","good_length","max_lazy","nice_length","max_chain","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","hcrc","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","_in","_out","dmax","wsize","whave","wnext","hold","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","35","inflate_fast","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","InflateState","havedict","check","total","wbits","ncode","nlen","ndist","have","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","lenfix","distfix","virgin","fixedtables","sym","updatewindow","put","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","order","inf_leave","inflateInfo","36","MAXBITS","lbase","lext","dbase","dext","lens_index","table_index","incr","low","mask","curr","drop","used","huff","base_index","offs","extra_index","37","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","static_l_desc","static_d_desc","static_bl_desc","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","xbits","stree","overflow","gen_codes","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lc","lx","scan_tree","curlen","prevlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","createHasNumericValue","isNumeric","boolean","getSafeProperty","isPlainObject","isSafeProperty","isSafeMethod","setSafeProperty","hasSafeProperty","safeNativeProperties","getSafeMethod","getPrototypeOf","safeNativeMethods","toLocaleString","createRightLogShift","matAlgo01xDSid","matAlgo02xDS0","matAlgo08xS0Sid","matAlgo10xSids","useMatrixForArrayScalar","SD","createDivide","divideScalar","signatures","createIdentity","_identity","_identityVector","Big","one","defaultValue","diagonal","minimum","createIm","createQr","equal","conj","addScalar","multiplyScalar","subtractScalar","complex","_denseQR","_sparseQR","_denseQRimpl","_size","Qdata","Rdata","pivot","conjSgn","alphaSquared","alpha","u1","tau","createReshape","sizes","reshape","createXgcd","_xgcdBigNumber","isInt","div","mod","times","lt","neg","ieee754","typedArraySupport","__proto__","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","encodingOrOffset","fromArrayBuffer","fromString","fromObject","assertSize","checked","isEncoding","fromArrayLike","byteOffset","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","Symbol","species","configurable","allocUnsafeSlow","_isBuffer","compare","list","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","_arr","MAX_ARGUMENTS_LENGTH","codePoints","toHex","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","toByteArray","collection","collectionStrong","init","createLog10","LN10","isNegative","createAcoth","_BigNumber","acoth","atanh","createAtanh","createComplexEigs","bignumber","diag","qr","usolve","usolveAll","larger","matrixFromColumns","dot","complexEigs","prec","findVectors","balance","reduceToHessenberg","vectors","iterateUntilTriangular","findEigenvectors","Rdiag","big","cplx","realzero","realone","radix","radixSq","colNorm","rowNorm","rowDivRadix","rowMulRadix","condition","maxIndex","el","tmp1","_j2","tmp2","tmp3","_j3","_k","_k2","lambdas","Sdiag","Qtotal","Qpartial","lastConvergenceBefore","inflateMatrix","_i2","eigenvalues2x2","jordanBase2x2","_i3","blockDiag","Cinv","uniqueValues","multiplicities","λ","E","failedLambdas","_loop","_i4","solutions","approxVec","inverseIterate","correction","trA","detA","l1","l2","na","nb","nd","_i5","_i6","fn","orthog","largeNum","randomOrthogonalVector","norm","orthogonalComplement","normalize","random","createRealSymmetric","atan","epsilon","diagBig","precision","psi","e0","Sij","createArray","Vab","getAij","getTheta","x1","Sij1","Ei","sorting","getAijBig","getThetaBig","x1Big","Sij1Big","ajj","aij","PI","theta","Ski","Skj","Hij","Aki","Akj","csHij","Aii","Ajj","_k3","_k4","Mij","maxMij","maxIJ","minID","minE","_k5","createEigs","column","doRealSymetric","doComplexEigs","mat","computeValuesAndVectors","isReal","coerceReal","isSymmetric","coerceTypes","hasNumber","hasBig","hasComplex","is","createPermutations","isPositiveInteger","gt","plus","lte","gte","createFloorNumber","exponent","createFloor","floorNumber","ROUND_FLOOR","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","createSin","trigUnit","createColumn","_column","rowRange","subset","createAcot","acot","getSortingParams","sortBy","$attrs","sortDesc","sortData","aVal","getNestedValue","bVal","normalizeValue","part","part1","part2","acc","createFactorial","gamma","gapData","context","dataInicio","dataFim","$message","isIntegerNumber","isNegativeNumber","isPositiveNumber","isZeroNumber","isNaNNumber","DO_NOT_EXPORT_CODEPAGE","cpt","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","mdl","mdb","make_EE","EE","sbcs_encode","ofmt","sbcs_decode","DD","dbcs_encode","dbcs_decode","utf8_d","direct","encache","null_enc","cp_decache","decache","last_enc","last_cp","sbcs","dbcs","BM","SetD","isstr","dash","o64","hascp","createBitAnd","matAlgo06xS0S0","createUsolveAll","solveValidation","_sparseBackwardSubstitution","_denseBackwardSubstitution","b_","bNew","_values","_index","ptr","_ptr","iValues","iIndices","firstIndex","Mii","J","_lastIndex2","_J2","_lastIndex","_J","printTemplate","defineBuiltIn","uncurryThis","validateArgumentsLength","$URLSearchParams","URLSearchParams","URLSearchParamsPrototype","getAll","$has","$value","createDot","_denseDot","_sparseDot","_validateDim","xLen","yLen","xSize","ySize","adata","adt","_datatype","bdata","bdt","aIsColumn","bIsColumn","_c2","_c3","xindex","xvalues","yindex","yvalues","createLeftShift","gammaNumber","twoN","threeN","fourN","fiveN","gammaP","gammaG","lnSqrt2PI","lgammaG","lgammaN","lgammaSeries","lgammaNumber","createTranspose","transposeMatrix","_denseTranspose","_sparseTranspose","transposedRow","transposed","createDenseMatrix","cvalues","cindex","cptr","k0","k1","createSparseMatrix","createSinh","sinh","createLargerEq","compareUnits","createLargerEqNumber","getOwnPropertyDescriptor","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","stringSlice","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","writable","startsWith","searchString","createCombinationsWithRep","_prodrange","prodrange","nMinusOne","dividedBy","createTan","tan","createSubset","subsetRef","subsetResult","isScalar","_getObjectProperty","_getSubstring","replacement","_broadcastReplacement","isMatrix","_setSubstring","_setObjectProperty","_isScalar","every","dimension","isIndex","chars","_len","updated","createSylvester","schur","transpose","lusolve","_sylvester","sA","sB","all","hc","vc","RHS","gkk","gmk","gkm","gmm","LHS","yAux","_RHS","_gkk","_LHS","createCreateUnit","createUnit","ArgumentsError","isArgumentsError","generateAndDownloadPdf","vueInstance","htmlContent","nomeInstituto","periodoFiltro","nomeRelatorio","informacoesInstituto","relatorioPaisagem","idInstituto","footerTemplate","headerTemplate","nomeArquivo","sweetAlert","fire","title","showConfirmButton","allowOutsideClick","allowEscapeKey","allowEnterKey","onBeforeOpen","showLoading","fullHtmlContent","post","responseType","response","handlePdfResponse","pdfData","nome","setAttribute","createMean","_mean","_nmeanDim","dim","createMatAlgo04xSidSid","callback","avalues","aindex","aptr","asize","bvalues","bindex","bptr","bsize","convert","xa","xb","wa","mark","createCsc","csc","createDotMultiply","matAlgo09xS0Sf","render","_vm","_h","$createElement","_self","attrs","staticRenderFns","components","VueHtml2pdf","userData","$jwtDecode","localStorage","getItem","htmlPdfOptions","html2canvas","scale","useCORS","jsPDF","unit","orientation","methods","hasGenerated","hasStartedGeneration","loading","Swal","timer","timerProgressBar","didOpen","willClose","clearInterval","component","createAddScalar","fixPrefix","createIfft","fft","dotDivide","createBitXor","createLsolve","_sparseForwardSubstitution","_denseForwardSubstitution","mdata","bj","xj","vjj","jValues","jIndices","createMatAlgo03xDSf","denseMatrix","sparseMatrix","inverse","cdata","createSetSize","compareNatural","unique","__webpack_amd_options__","createMatAlgo02xDS0","cij","EOF","DESCRIPTORS","USE_NATIVE_URL","defineBuiltInAccessor","anInstance","hasOwn","arraySlice","codeAt","toASCII","$toString","setToStringTag","URLSearchParamsModule","InternalStateModule","setInternalState","getInternalURLState","getterFor","getInternalSearchParamsState","getState","NativeURL","numberToString","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_C0_CONTROL_OR_SPACE","TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseIPv4","partsLength","numbers","ipv4","parseIPv6","numbersSeen","ipv4Piece","swaps","address","pieceIndex","pointer","findLongestZeroSequence","ipv6","maxLength","currStart","currLength","serializeHost","host","ignore0","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","encodeURIComponent","specialSchemes","ftp","http","https","wss","isWindowsDriveLetter","normalized","second","startsWithWindowsDriveLetter","third","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","isBase","baseState","failure","searchParams","urlString","bindURL","stateOverride","bufferCodePoints","seenAt","seenBracket","seenPasswordToken","username","port","query","fragment","cannotBeABaseURL","isSpecial","includesCredentials","encodedCodePoints","parseHost","shortenPath","cannotHaveUsernamePasswordPort","pathSize","serialize","setHref","getOrigin","URLConstructor","getProtocol","setProtocol","protocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","pathname","getSearch","setSearch","getSearchParams","facade","getHash","setHash","URLPrototype","accessorDescriptor","getter","setter","nativeCreateObjectURL","nativeRevokeObjectURL","sham","_createTyped2","create","createTyped","clear","addTypes","addConversions","throwNoBignumber","throwNoComplex","throwNoFraction","throwNoMatrix","onMismatch","usualError","createError","category","some","createSparseMatrixClass","_createFromMatrix","_createFromArray","_getsubset","ii","kk","mvalues","mindex","mptr","pv","_setsubset","submatrix","sSize","iSize","dataIndex","subIndex","firstDimensionRange","secondDimensionRange","firstDataIndex","firstSubIndex","secondDataIndex","secondSubIndex","_getValueIndex","_remove","_insert","_resize","ins","_map","minRow","maxRow","minColumn","maxColumn","skipZeros","invoke","_toArray","isSparseMatrix","density","resize","sizeArray","currentLength","newLength","colIndex","rowIndex","r1","flat","_i7","iterator","kSuper","kSub","_value","ms","swapRows","_swapRows","_forEachRow","kx","ky","vx","vy","noBignumber","noFraction","noMatrix","createMatAlgo10xSids","csIpvec","createLusolve","lup","slu","lsolve","_lusolve","threshold","_toMatrix","globalScope","Decimal","inexact","quadrant","EXP_LIMIT","MAX_DIGITS","NUMERALS","DEFAULTS","rounding","modulo","toExpNeg","toExpPos","maxE","external","decimalError","invalidArgument","precisionLimitExceeded","cryptoUnavailable","mathfloor","mathpow","isBinary","isHex","isOctal","isDecimal","BASE","LOG_BASE","MAX_SAFE_INTEGER","LN10_PRECISION","PI_PRECISION","toStringTag","digitsToString","indexOfLastWord","getZeroString","checkInt32","checkRoundingDigits","rm","repeating","di","rd","convertBase","baseIn","baseOut","arrL","strL","reverse","cosine","Ctor","tinyPow","taylorSeries","cos2x","absoluteValue","finalise","clampedTo","clamp","cmp","comparedTo","xdL","ydL","xd","yd","xs","ys","sd","toLessThanHalfPi","cubeRoot","rep","t3","t3plusx","decimalPlaces","dp","dividedToIntegerBy","divToInt","greaterThan","greaterThanOrEqualTo","hyperbolicCosine","cosh","cosh2_x","d8","hyperbolicSine","sinh2_x","d5","d16","d20","hyperbolicTangent","tanh","inverseCosine","halfPi","isNeg","getPi","asin","inverseHyperbolicCosine","acosh","ln","inverseHyperbolicSine","asinh","inverseHyperbolicTangent","wpr","inverseSine","inverseTangent","x2","isPos","lessThan","lessThanOrEqualTo","logarithm","isBase10","denominator","inf","guard","naturalLogarithm","getLn10","xe","xLTy","getBase10Exponent","naturalExponential","negated","getPrecision","sine","squareRoot","tangent","rL","toBinary","toStringBinary","toDP","finiteToString","toFraction","maxD","d0","n0","toHexadecimal","toNearest","toOctal","toPower","yn","intPow","toSignificantDigits","toSD","truncated","trunc","multiplyInteger","temp","aL","bL","logBase","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","isTruncated","digits","roundUp","xdi","isExp","nonFiniteToString","zs","truncate","isOdd","maxOrMin","ltgt","c0","numerator","parseDecimal","parseOther","divisor","isFloat","sin2_x","isHyperbolic","pi","atan2","useDefaults","ps","getRandomValues","randomBytes","isDecimalInstance","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","hypot","log10","createCoth","coth","createTanh","freeze","MATRIX_OPTIONS","NUMBER_OPTIONS","createUnaryMinus","createBigNumberE","hasher","createBigNumberPhi","createBigNumberPi","createBigNumberTau","createComplex","ZERO","null","createLsolveAll","createBellNumbers","stirlingS2","createTrace","_denseTrace","_sparseTrace","createDeepEqual","_deepEqual","createSpeedOfLight","unitFactory","createGravitationConstant","createPlanckConstant","createReducedPlanckConstant","createMagneticConstant","createElectricConstant","createVacuumImpedance","createCoulomb","createElementaryCharge","createBohrMagneton","createConductanceQuantum","createInverseConductanceQuantum","createMagneticFluxQuantum","createNuclearMagneton","createKlitzing","createBohrRadius","createClassicalElectronRadius","createElectronMass","createFermiCoupling","createFineStructure","numberFactory","createHartreeEnergy","createProtonMass","createDeuteronMass","createNeutronMass","createQuantumOfCirculation","createRydberg","createThomsonCrossSection","createWeakMixingAngle","createEfimovFactor","createAtomicMass","createAvogadro","createBoltzmann","createFaraday","createFirstRadiation","createLoschmidt","createGasConstant","createMolarPlanckConstant","createMolarVolume","createSackurTetrode","createSecondRadiation","createStefanBoltzmann","createWienDisplacement","createMolarMass","createMolarMassC12","createGravity","createPlanckLength","createPlanckMass","createPlanckTime","createPlanckCharge","createPlanckTemperature","valueStr","unitStr","createMatAlgo01xDSid","createDiff","_diff","_recursive","selfAn","selfMn","_ElementDiff","obj1","obj2","obj1IsArray","obj2IsArray","_ArrayDiff","arr1","arr2","createRangeClass","hasStart","hasEnd","hasStep","isRange","nums","invalid","diff","createMatAlgo06xS0S0","createSqrt","_sqrtNumber","createPow","fraction","_pow","_powArray","_powMatrix","yFrac","yNum","ex","createAdd","matAlgo04xSidSid","rest","aCallable","toObject","lengthOfArrayLike","deletePropertyOrThrow","fails","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","getSortCompare","comparefn","itemsLength","items","arrayLength","createTrigUnit","hasBase","BASE_UNITS","ANGLE","pdfMake","vfs","createCtranspose","isObject","classof","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","isExtensible","FAILS_ON_PRIMITIVES","it","createCompare","matAlgo05xSfSf","createCompareNumber","createOct","createRandom","randomSeed","_random","_randomMatrix","createLarger","createLargerNumber","createMatAlgo09xS0Sf","vb","safeGetBuiltIn","defineBuiltIns","createIteratorConstructor","isCallable","anObject","createPropertyDescriptor","getIterator","getIteratorMethod","createIterResultObject","wellKnownSymbol","arraySort","ITERATOR","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","nativeFetch","NativeRequest","Headers","RequestPrototype","HeadersPrototype","decodeURIComponent","sequences","percentSequence","percentDecode","sequence","deserialize","replacements","replacer","URLSearchParamsIterator","kind","URLSearchParamsState","parseObject","parseQuery","entryIterator","entryNext","iteratorMethod","attribute","attributes","updateURL","URLSearchParamsConstructor","boundFunction","headersHas","headersSet","wrapRequestOptions","dontCallGetSet","fetch","RequestConstructor","Request","createIsNaN","createOnes","_ones","hasBigNumbers","_normalize","_validate","createDivideScalar","numeric","divideInto","createConj","conjugate","complexEquals","createEqualScalar","createRow","columnRange","createMin","_min","_smallest","createCorr","_corr","correlations","correlation","sumX","sumY","sumXY","sumXSquare","sumYSquare","createForEach","_forEach","recurse","child","createFormat","createSubtract","sS","log1p","negate","expm1","formatNumberToBase","prefixes","prefix","suffix","toEngineering","splitNumber","coefficients","rounded","roundDigits","newExp","missingZeros","expDiff","decimalIdx","decimalVal","splitValue","pp","lowerExp","upperExp","removed","DBL_EPSILON","EPSILON","nearlyEqual","copysign","signx","signy","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","$RangeError","ucs2decode","digitToBasic","digit","adapt","numPoints","firstTime","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","label","labels","createIntersect","_AAA","_AAAA","plane","_coerceArr","_3d","_4d","_intersectLinePlane","_2d","_intersect2d","_intersect3d","p1a","p1b","p2a","p2b","det","d20o11","d21o10","d20o21","d21o20","_intersect3dHelper","add1","add2","add3","y1","z1","y2","z2","x3","y3","z3","x4","y4","z4","d1343","d4321","d1321","d4343","d2121","ta","tb","pax","pay","paz","pbx","pby","pbz","x1x","x2x","y1y","y2y","z1z","z2z","py","pz","createMatrixFromFunction","createIsZero","xor128","xorwow","xorshift7","xor4096","tychei","sr","createCount","createSetIntersect","a1","a2","b1","identifier","webpackPolyfill","deprecate","paths","children","createSetSymDifference","setDifference","script","showLayout","Boolean","default","floatLayout","enableDownload","previewModal","paginateElementsByHeight","pdfQuality","pdfFormat","pdfOrientation","pdfContentWidth","htmlToPdfOptions","manualPagination","hasAlreadyParsed","progress","pdfWindow","pdfFile","watch","$emit","resetPagination","$props","handler","validateProps","deep","immediate","parentElement","$refs","pdfContent","firstChild","pageBreaks","getElementsByClassName","pageBreakLength","parentNode","generatePdf","paginationOfElements","downloadPdf","ArrOfContentChildren","childrenHeight","childElement","elementFirstClass","classList","isPageBreakClass","elementHeight","clientHeight","elementComputedStyle","currentStyle","elementMarginTopBottom","marginTop","marginBottom","elementHeightWithMargin","section","insertBefore","async","setOptions","html2pdf","html2PdfSetup","pdfBlobUrl","save","blobFile","image","quality","enableLinks","closePreview","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","originalRender","existing","beforeCreate","isOldIE","userAgent","addStyle","css","group","media","ids","Set","btoa","unescape","styleSheet","cssText","textNode","createTextNode","childNodes","__vue_script__","__vue_render__","staticClass","class","$event","currentTarget","_e","__vue_staticRenderFns__","__vue_inject_styles__","inject","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","install","Vue","installed","plugin","GlobalVue","use","isNullOrUndefined","iterate","defineIterator","setSpecies","fastKey","internalStateGetterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","IS_MAP","ADDER","Constructor","iterable","Prototype","AS_ENTRIES","getInternalState","previous","getEntry","setStrong","ITERATOR_NAME","getInternalCollectionState","iterated","createSchur","_schur","A0","QR","ownKeys","getOwnPropertySymbols","_objectSpread","getOwnPropertyDescriptors","defineProperties","createUnitClass","fix","_number","_Fraction","valuelessUnit","skipAutomaticSimplification","dimensions","BASE_DIMENSIONS","skipWhitespace","isDigitDot","isDigit","revert","oldIndex","parseNumber","tentativeNumber","tentativeIndex","parseUnit","unitName","isValidAlpha","firstC","parseCharacter","toFind","isUnit","powerMultiplierCurrent","expectingUnit","powerMultiplierStack","powerMultiplierStackProduct","uStr","oldC","_findUnit","power","baseDim","UNIT_SYSTEMS","allowNoUnits","_isDerived","_getNumberConverter","unitValue","unitPrefixValue","unitPower","_denormalize","prefixValue","UNITS","_name","_unit","prefixLen","prefixName","_prefix","getNumericIfUnitless","NONE","isValuelessUnit","other","_other","inverted","valThis","valOther","_numberConverter","nominalOffset","unitOffset","thisUnitValue","thisNominalOffset","thisUnitOffset","otherUnitValue","otherNominalOffset","otherUnitOffset","toNumeric","formatUnits","simplify","matchingBase","matchingUnit","proposedUnitList","currentUnitSystem","missingBaseDim","toSI","strNum","strDen","nNum","nDen","simp","isImaginary","VAR","VA","_bestPrefix","absValue","absUnitValue","bestPrefix","bestDiff","scientific","splitUnit","xNumeric","xRounded","xFixed","isNearlyEqual","testSum","PREFIXES","SHORT","da","LONG","deca","hecto","kilo","mega","giga","tera","peta","exa","zetta","yotta","deci","centi","milli","micro","nano","pico","femto","atto","zepto","yocto","SQUARED","CUBIC","BINARY_SHORT_SI","BINARY_SHORT_IEC","Ki","Mi","Gi","Ti","Pi","Zi","Yi","BINARY_LONG_SI","BINARY_LONG_IEC","kibi","mebi","gibi","tebi","pebi","exi","zebi","yobi","BTU","MM","SHORTLONG","BINARY_SHORT","BINARY_LONG","MASS","CURRENT","TEMPERATURE","LUMINOUS_INTENSITY","AMOUNT_OF_SUBSTANCE","FORCE","SURFACE","VOLUME","ENERGY","POWER","PRESSURE","ELECTRIC_CHARGE","ELECTRIC_CAPACITANCE","ELECTRIC_POTENTIAL","ELECTRIC_RESISTANCE","ELECTRIC_INDUCTANCE","ELECTRIC_CONDUCTANCE","MAGNETIC_FLUX","MAGNETIC_FLUX_DENSITY","FREQUENCY","BIT","BASE_UNIT_NONE","UNIT_NONE","meter","inch","foot","yard","mile","rod","chain","angstrom","in","li","ch","mil","sqin","sqft","sqyd","sqmi","sqrd","sqch","sqmil","acre","hectare","m3","litre","cuin","cuft","cuyd","teaspoon","tablespoon","gtt","minim","fluiddram","fluidounce","gill","cup","pint","quart","gallon","beerbarrel","oilbarrel","hogshead","fldr","floz","gi","qt","gal","bbl","obl","gram","ton","tonne","grain","dram","ounce","poundmass","hundredweight","stick","stone","gr","dr","oz","lbm","cwt","minute","hour","week","decade","century","millennium","hertz","reciprocal","Hz","rad","radian","deg","degree","grad","gradian","cycle","arcsec","arcmin","ampere","degC","degF","degR","kelvin","celsius","fahrenheit","rankine","mol","mole","cd","candela","newton","dyne","lbf","poundforce","kip","kilogramforce","joule","erg","Wh","eV","electronvolt","watt","Pa","atm","bar","torr","mmHg","mmH2O","cmH2O","coulomb","farad","volt","ohm","henry","siemens","weber","Wb","tesla","ALIASES","meters","inches","feet","yards","miles","rods","chains","angstroms","litres","liter","liters","teaspoons","tablespoons","minims","fluiddrams","fluidounces","gills","cups","pints","quarts","gallons","beerbarrels","oilbarrels","hogsheads","gtts","grams","tons","tonnes","grains","drams","ounces","poundmasses","hundredweights","sticks","lb","lbs","kips","kgf","acres","hectares","sqfeet","sqyard","sqmile","sqmiles","mmhg","mmh2o","cmh2o","secs","mins","hrs","weeks","years","decades","centuries","millennia","radians","degrees","gradians","cycles","arcsecond","arcseconds","arcminute","arcminutes","BTUs","watts","joules","amperes","amps","amp","coulombs","volts","ohms","farads","webers","teslas","electronvolts","moles","bit","byte","calculateAngleValues","cgs","us","_key2","setUnitSystem","getUnitSystem","_key","typeConverters","_name2","_unit2","alias","_key3","assertUnitNameIsValid","override","_key4","deleteUnit","aliases","lastUnit","_key5","createUnitSingle","definition","baseName","defUnit","newUnit","anyMatch","_newBaseUnit","newBaseUnit","_i8","aliasName","_alias","_key6","createClone","createResultSet","ResultSet","isResultSet","createCbrt","_cbrtComplex","_cbrtUnit","arg3","principal","_result","createGamma","gammaComplex","gammaPval","twoPiSqrt","tpow","expt","bigFactorial","createCos","isForced","InternalMetadataModule","checkCorrectnessOfIteration","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","uncurriedNativeMethod","REPLACE","enable","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","createQuantileSeq","partitionSelect","smallerEq","_quantileSeqProbNumber","prob","_quantileSeqDim","sorted","_quantileSeqProbCollection","probOrN","probArr","dataArr","_quantileSeq","nPlusOne","probOrNArr","integerPart","fracPart","createBitOr","product","half","_typeof","__esModule","createSqrtm","_maxIterations","_tolerance","_denmanBeavers","iterations","Yk","createInv","_inv","ABig","rBig","Ac","Bc","Ar","Br","createDet","_det","rowIndices","k_","piv","piv_","i_","createCompareText","Ds","createCompareNatural","compareBooleans","_compareNatural","typeX","typeY","matTypes","compareMatricesAndArrays","compareComplexNumbers","compareArrays","compareObjects","keysX","keysY","_false","fineStructure","_Infinity","_NaN","phi","SQRT1_2","sackurTetrode","_true","efimovFactor","SQRT2","unaryPlus","weakMixingAngle","acsc","asech","bitNot","combinations","cot","cube","erf","getMatrixDataType","LOG2E","lgamma","not","oct","pickRandom","print","square","acsch","asec","combinationsWithRep","csch","isPrime","randomInt","sech","sparse","matrixFromFunction","squeeze","xgcd","ctranspose","hasNumericValue","kron","largerEq","leftShift","nthRoot","ones","rightArithShift","unequal","xor","bitAnd","bitXor","catalan","cumsum","deepEqual","distance","equalText","gcd","ImmutableDenseMatrix","lsolveAll","matrixFromRows","nthRoots","or","rightLogShift","trace","zpk2tf","bitOr","composition","cross","dotMultiply","FibonacciHeap","intersect","invmod","lcm","setCartesian","setDistinct","setIsSubset","setPowerset","and","setMultiplicity","setSymDifference","Spa","pinv","setIntersect","setUnion","sqrtm","vacuumImpedance","wienDisplacement","atomicMass","bohrMagneton","boltzmann","conductanceQuantum","deuteronMass","dotPow","electricConstant","elementaryCharge","expm","faraday","gravitationConstant","hartreeEnergy","ifft","klitzing","loschmidt","magneticConstant","molarMass","molarPlanckConstant","neutronMass","nuclearMagneton","planckCharge","planckLength","planckTemperature","protonMass","quantumOfCirculation","reducedPlanckConstant","rydberg","secondRadiation","speedOfLight","stefanBoltzmann","thomsonCrossSection","avogadro","bohrRadius","electronMass","firstRadiation","gravity","inverseConductanceQuantum","magneticFluxQuantum","molarMassC12","multinomial","permutations","planckMass","polynomialRoot","setSize","solveODE","bellNumbers","eigs","fermiCoupling","gasConstant","mean","molarVolume","planckConstant","quantileSeq","variance","classicalElectronRadius","median","corr","freqz","mad","std","zeta","rotationMatrix","kldivergence","planckTime","rotate","sylvester","lyap","createComposition","XorGen","bot","createImmutableDenseMatrixClass","_max","isImmutableDenseMatrix","createAsech","xInv","createMax","_largest","createConcat","prevDim","asMatrix","matrices","$find","addToUnscopables","FIND","SKIPS_HOLES","createLog2","_log2Complex","newX","createAsinh","createSubtractScalar","createAcsc","acesso","mesOpcoes","model","pesquisar","$$v","$set","expression","anoOpcao","statusOpcoes","orgaoOpcao","option","carregarGrid","keyCode","directives","rawName","modifiers","staticStyle","isBusy","pesquisarDados","positionFixed","scopedSlots","_u","proxy","exportTable","totalParcela","perPage","currentPage","formatarData","item","createdAt","finanrow","statusLancamento","statusDesconto","orgao","pageOptions","totalRows","parametroPDF","getNextMonthAndYear","isValid","currentMonth","currentYear","nextMonth","nextYear","createSheet","tableData","workbook","worksheet","asDefault","convertToExcelFormat","formatarValorReais","codigo","valor","vencimento","nomeCompleto","MATRICULA","matricula","PARCELA","numeroParcelas","ÓRGÃO","unidadeGestora","export","situationItems","_l","pageItems","pageIndex","tableStyle","parametro","colunas","paginatedItems","RelatorioRetrato","pdfFonts","formatarValor","computed","itemsPerPage","pages","dados","textAlign","pageBreakInside","pageBreakAfter","relatorioFinanceiroLancamentoRetrato","BCard","BPagination","BTab","BCardBody","BFormGroup","BFormSelect","BTable","BSpinner","BBadge","BRow","BCol","BButton","BForm","Cleave","ToastificationContent","ValidationProvider","ValidationObserver","BDropdown","BDropdownItem","BCardCode","Ripple","tipoOpcoes","mes","exercicio","cleaveDate","datePattern","formatter","sortable","Lancado","NaoLancado","Descontado","NaoDescontada","Rejeitada","Renegociada","PagaParcialmente","fieldsPDF","institutoNome","mounted","carregaAno","carregarOrgaos","_this","institutoSelecionado","useJwt","then","catch","dataAtual","_getNextMonthAndYear","anoAtual","listaAnos","anoIteracao","fetchLancamento","aux","_this2","_asyncToGenerator","_regeneratorRuntime","_callee","_context","sent","tomadorA","tomadorB","localeCompare","abrupt","stop","_this3","formPesquisar","validate","_callee2","success","_context2","orgaoId","_x","_this4","_callee3","currentItems","sortedItems","transformedItems","_context3","_toConsumableArray","tableLancamento","alteraStatus","Instituto","exportToPDF","exportExcel","exportarPDF","$children","html2Pdfportrait","$el","logradouro","numero","bairro","cep","cidade","uf","emailResponsavel","telefone","warning","totals","Competência","dataCompetenciaConvertida","quantidadeContratos","dataVencimento","diaDeRepasse","Órgão","nomeOrgao","relatorioFinanceiroGRPERetrato","formatarContrato","Lançado","Gerado","NaoGerado","Expirado","Pago","fetchGrpe","geradoGRPE","gerado","naoGeradoGRPE","naoGerado","_this5","tableGRPE","errors","dataInicial","dataInicialDatePicker","dataFinal","dataFinalDatePicker","relatorios","sortDirection","buscarRelatorio","buscarRelatorioExcel","beforeDownload","hasDownloaded","startPagination","slot","linhaDaTabela","indice","logoAgenda","relatorioDeCompetencia","formatarCompetenciaDescricao","formatarCompetencia","formatarDataGlobal","linhasTabela","colunasTabelaRelatorio","itemsRelatorio","totalParcelas","totalContratos","totalSegurados","totalAcumulado","mapTableBodies","innerTableCell","findInlineHeight","maxWidth","usedWidth","calcLines","inlines","_step","currentMaxHeight","lastHadLineEnd","_iterator","_createForOfIteratorHelper","currentNode","lineEnd","_offsets","_inlines","_step2","_iterator2","currentTableBodies","innerTableHeights","_height","_width","applyVerticalAlignment","manualHeight","allCellHeights","innerNode","columnIndex","_span","calcWidth","colSpan","widths","_calcWidth","mFindInlineHeight","maxRowHeight","ci","topMargin","cellAlign","_margin","loadImage","gerarParcelasRecebidasPorCompetencia","parametros","linhasTabelaRelatorio","tableContent","indiceLinha","negrito","indiceColuna","styleLinha","documentDefinition","pageSize","pageOrientation","fontSize","headerRows","layout","paddingTop","instituto","conteudoTexto","tableHeader","fillColor","tableCell","subtitle","createPdf","gerarParcelasRecebidasPorPeriodo","totaisLista","gerarRentabilidadePorCompetencia","gerarRelatorioTaxaJuros","lastDayOfMonth","dirtyDate","requiredArgs","toDate","validarData","formatarTipoDate","parcelasRecebidasPorPeriodo","rentabilidadePorCompetencia","relatorioTaxaJuros","parcelasRecebidasPorCompetencia","aImg","filtro","imagemLogo","required","tipoDePesquisa","descricao","competenciaOpcoes","optionsTipoDePesquisa","NaoGeradoGRPE","GeradoGRPE","_this$userData$Instit","_this$userData$Instit2","logoRelatorio","logo","getCompetencias","ultimoDiaDoMes","dateFns","competenciaInicial","competenciaFinal","boldRowClass","isDateValid","converteMeses","inicial","final","meses","_inicial$split","_inicial$split2","_slicedToArray","inicialMes","inicialAno","_final$split","_final$split2","finalMes","finalAno","inicialDate","finalDate","retornaData","initial","_this$converteMeses","relatorio","formatar","linhas","dividirLista","mensagem","exportToExcel","csv","accumulator","cabecalho","itens","linha","linhaCsv","propriedade","listaOriginal","tamanhoMaximo","primeiraPagina","restante","sublistas","sublistaAtual","toPdf","pdf","totalPages","internal","getNumberOfPages","pagina","setPage","setFontSize","setTextColor","getWidth","getHeight","_yield$useJwt$pesquis","nova","velha","listaCompetencias","ano","mesVelha","anoVelha","monthNames","competencia","newVal","tipoPesquisa","pesquisarPor","cleaveCodigo","cleaveCPF","tipoDataOpcoes","tipoData","dataPassada","dataParametro","stringParametro","itemsTabela","totalValoresContratos","currentFields","detailsShown","toggleDetails","detailsShowing","aliquotaFields","detalhamento","formatarParaNumber","valorTotal","RelatorioPaisagem","itemsWithDetalhamento","_components","_defineProperty","relatorioFinaceiroIOFPaisagem","VueSelect","datePicker","numericOnly","delimiters","blocks","role","institutoId","_formatarDataGlobal","_formatarDataGlobal2","_this$descricao","_item$quantidadeDiasI","_item$Pagamento$","valorDiario","valorDiarioIOF","valorEfetivo","valorEfetivoIOF","valorIOF","segurado","tomador","cpf","dataNascimento","porcentagemDaria","taxaDiariaIOF","diasContabilizados","quantidadeDiasIOF","porcentagemEfetivo","taxaEfetivaIOF","baseCalculo","valorBaseCalculo","dataPagamentoIOF","Pagamento","dadosComTotal","finally","tabelaGrid","html2PdfLandscape","CPF","Nome","anoOpcoes","filtroCapital","formatarToParseFloat","totalValores","formatarValorPorcentagem","relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato","_formatarParaNumber","$toast","icon","variant","position","timeout","capitalAplicado","valorEmprestado","montanteUtilizado","amortizacao","amortizacaoNoMes","rentabilidade","percentual","percentualRentabilidadeAoCapital","colunasTabelas","currentFieldsTabela","itensExcel","valorEmprestadoAcumulado","Rentabilidade","Amortização","Percentual","tipoOrgao","pesquisarOrgao","exportMethod","valorTotalAcumulado","dadosTotal","relatorioFinaceiroContabilPaisagem","colunas2","carregaOrgaos","emprestimosConcedidos","valorPago","itemA","itemB","colunasPDF","colunasPDF2","itemsPDF","valorTotalAcumulo","tipoFiltroSelecionado","justificativa","parcelas","juros","fundoGarantidor","administracao","oscilacaoRiscos","valorTotalAux","currentFieldsPDF","tabelaParcelasAdiantadas","dataToExcel","Origem","Valor","Amortizacao","Juros","Administração","filtroDataDAIR","categoriaOpcoes","categoria","itemsTabelaEmCapitalizacao","formatarCategoria","itemsTabelaEmReparticao","capag","valorConcedido","totalAmortizado","taxaOperacao","servidoresEmReparticao","servidoresEmCapitalizacao","totalAVencer","totalVencido","rentabilidadeAcumuladaNoAno","projecaoPerdas","metaDeRentabilidade","parcelasVencidas","between31And60","between61And120","between121And240","between241And360","above360","taxaMensal","taxaEmprestimoMensal","adicionaTotalizadores","dairData","contratadosAnterior","contratados","quitados","quantidadeAtual","MARGIN_FOR_DAIR","customHeaderTemplateForDair","customFooterTemplateForDair","relatorioDAIRRetrato","cleaveCompetencia","contratoFields1","contratoFields2","retornaMes","thStyle","fontWeight","tdClass","tdAttr","quantidadeEmCapitalizacao","quantidadeEmReparticao","totalizadoresEmCapitalizacao","totalQuantidadeAnterior","totalContratados","totalQuitados","totalQuantidadeAtual","totalizadoresEmReparticao","quantitativoEmReparticao","quantitativoEmCapitalizacao","numeroMes","nomeMes","tamanhoDadosDairEmCapitalizacao","dairDataEmCapitalizacao","tamanhoDadosDairEmReparticao","dairDataEmReparticao","math","itemsEmCapitalizacao","itemsEmReparticao","verificaQuantitativoParaApresentarTabelas","detFields","detalhamentoFields","formatarPorcentagemNativo","valorParcelasVencidasDair","_error$response","numberValue","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","somarValores","competenciaDair","sigla","Categoria","aprovadosAnterior","Contratados","aprovados","Quitados","totalValor","totalAmortizacao","totalizadores","RelatorioAmortizacaoRetrato","configurarPagina","Matrícula","totalOscilacaoRiscos","RelatorioTaxaOscilacaoRiscosRetrato","totalRentabilidade","RelatorioTaxaRentabilidadeRetrato","totalFundoGarantidor","RelatorioTaxaFundoGarantidorRetrato","totalAdministracao","RelatorioConsolidadoParcelasRetrato","erros","totalValorAdministracao","RelatorioConsolidadoParcelasRecebidasRetrato","tabela","originalPerPage","$nextTick","computedItems","totalIndiceAtualizacao","totalJurosAtuarial","totalTaxaDeOportunidade","periodo","totalValorAdministracaoExcel","totalAmortizacaoExcel","totalOscilacaoRiscosExcel","totalFundoGarantidorExcel","totalRentabilidadeExcel","RelatorioConsolidadoRentabilidadeRetrato","indiceAtualizacao","jurosAtuarial","taxaDeOportunidade","Performance","totalIndiceAtualizacaoExcel","totalJurosAtuarialExcel","totalTaxaDeOportunidadeExcel","RelatorioAmortizacao","RelatorioTaxaOscilacaoRiscos","RelatorioTaxaRentabilidade","RelatorioTaxaFundoGarantidor","RelatorioTaxaAdministracao","RelatorioConsolidadoParcelas","RelatorioConsolidadoParcelasRecebidas","RelatorioConsolidadoRentabilidade","relatorioTaxasJuros","relatorioAmortizacao","relatorioTaxaOscilacaoRiscos","relatorioTaxaRentabilidade","relatorioTaxaFundoGarantidor","relatorioTaxaAdministracao","relatorioConsolidadoParcelas","relatorioConsolidadoParcelasRecebidas","relatorioConsolidadoRentabilidade","todosFalsos","relatorioFinanceiroLancamento","relatorioFinanceiroGRPE","relatorioFinaceiroIOF","relatorioFinanceiroCapitalAplicadoXRentabilidade","relatorioFinanceiroContabil","relatorioFinanceiroParcelasAntecipadas","relatorioDAIR","RelatorioTaxasParcelas","RelatorioFinanceiroLancamento","RelatorioFinanceiroArrecadacao","RelatorioFinanceiroTaxasParcelas","RelatorioFinanceiroIOF","RelatorioFinanceiroCapitalAplicado","RelatorioFinanceiroContabil","RelatorioFinanceiroParcelasAntecipadas","RelatorioFinanceiroDAIR","GrupoAcesso","createAtan","createSetUnion","createCatalan","createPartitionSelect","asc","_partitionSelect","quickSelect","createDenseMatrixClass","preprocess","_get","_getSubmatrix","dims","_set","_unused","_fit","_setSubmatrix","newSize","changed","isDenseMatrix","indexI","vi","createExp","createDistance","xCoeff","yCoeff","_distancePointLine2D","_objectToArray","lineTwoPtY","lineOnePtY","lineOnePtX","lineTwoPtX","pointX","pointY","_parametricLine","_distancePointLine3D","_containsOnlyNumbers","_euclideanDistance","xCoeffLine","yCoeffLine","pointZ","x0","y0","z0","pointOneX","pointOneY","pointTwoX","pointTwoY","pointOneZ","pointTwoZ","_pairwise","_distancePairwise","_isNumber","aI","vectorSize","pointA","pointB","createBoolean","lcase","$delete","dindex","entriesLength","strseed","createUnequal","createUnequalNumber","_unequal","createSmaller","createSmallerNumber","mapObject","deepExtend","deepStrictEqual","deepFlatten","nestedObject","flattenedObject","_deepFlatten","lazy","valueResolver","_uninitialized","property","isLegacyFactory","pickShallow","properties","_switch","createMatrixFromColumns","colLength","createCsch","createResize","_resizeString","defaultChar","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","ok","notOk","undef","NOT_TYPED_FUNCTION","_types","anyType","isAny","typeMap","typeList","nConversions","findType","otherName","types","beforeSpec","beforeIndex","newTypes","conversionsTo","affectedTypes","clearConversions","findTypeNames","isTypedFunction","entity","findSignature","exact","stringSignature","parseSignature","canonicalSignature","stringifyParams","_typedFunctionData","signatureMap","nParams","remainingSignatures","candidate","want","filteredSignatures","possibility","getParamAtIndex","restParam","hasAny","haveTypes","paramTypeSet","wtype","implementation","conversions","fromType","separator","parseParam","param","typeDefs","paramName","exactTypes","typeIndex","conversion","conversionIndex","hasConversion","expandParam","typeNames","matchingConversions","availableConversions","newName","convertibleTypes","typeSet","rawSignature","rawParams","parsedParam","hasRestParam","compileTest","test0","test1","tests","compileTests","varIndex","lastTest","testRestParam","getTypeSetAtIndex","isExactType","mergeExpectedParams","paramSet","matchingSignatures","nextMatchingDefs","actualTypes","lengths","expectedLength","argTypes","getLowestTypeIndex","getLowestConversionIndex","compareParams","param1","param2","typeDiff","convDiff","compareSignatures","signature1","signature2","pars1","pars2","last1","last2","hasRest1","hasRest2","par","any1","conv1","any2","conv2","lengthCriterion","comparisons","tc","thisComparison","t1","t2","knownTypes","newMatch","compileArgsPreprocessing","fnConvert","compiledConversions","compileArgConversion","fnPreprocess","conversion0","conversion1","splitParams","_splitParams","paramsSoFar","resultingParams","flatMap","nextParam","conflicting","params1","params2","typeSet1","typeSet2","overlap","len1","restParam1","restParam2","clearResolutions","functionList","isReferToSelf","isReferTo","makeReferTo","references","collectResolutions","resolvedReferences","reference","resolution","resolveReferences","resolvedFunctions","isResolved","leftUnresolved","nothingResolved","validateDeprecatedThis","signaturesMap","deprecatedThisRegex","createTypedFunction","rawSignaturesMap","warnAgainstDeprecatedThis","parsedParams","originalFunctions","preliminarySignatures","functionIndex","conversionParams","spName","theTypedFn","internalSignatureMap","ok0","ok1","ok2","ok3","ok4","ok5","allOk","test00","test10","test20","test30","test40","test50","test01","test11","test21","test31","test41","test51","fn0","fn1","fn2","fn3","fn4","fn5","len0","len3","len4","len5","iStart","iEnd","fns","generic","arg0","arg1","_onMismatch","findInArray","objectOrFn","checkName","nameSoFar","getObjectName","mergeSignatures","sourceFunction","destFunction","saveTyped","_validateConversion","maybeName","named","allSignatures","thisName","theseSignatures","argument","throwMismatchError","_findType","addType","beforeObjectTest","before","addConversion","removeConversion","existingConversion","resolve","tf","argList","sigs","typedFunction","combinationsNumber","nMinusk","answer","firstnumerator","nextdivisor","lastdivisor","nextnumerator","createCombinations","createMatAlgo12xSfs","toPropertyKey","createProd","_prod","IndexError","isIndexError","createLyap","createSmallerEq","createSmallerEqNumber","createKron","_kron","createMod","_modNumber","acosNumber","acoshNumber","acotNumber","acothNumber","acscNumber","acschNumber","asecNumber","asechNumber","asinNumber","asinhNumber","atanNumber","atan2Number","atanhNumber","cosNumber","coshNumber","cotNumber","cothNumber","cscNumber","cschNumber","POSITIVE_INFINITY","secNumber","sechNumber","sinNumber","sinhNumber","tanNumber","tanhNumber","createKldivergence","_kldiv","plength","qlength","sumq","sump","qnorm","pnorm","createMode","createIsPositive","createMatrixClass","createCumSum","_cumsum","_ncumSumDim","_cumsummap","sums","_cumsumDimensional","tran","initialValue","createInvmod","createSign","createNumeric","validInputTypes","validOutputTypes","createSec","createIsPrime","modPow","bases","adn","toPrimitive","isNumber","isBigNumber","isComplex","isString","isCollection","isBoolean","isHelp","isFunction","isDate","isNull","isUndefined","isAccessorNode","isNode","isArrayNode","isAssignmentNode","isBlockNode","isConditionalNode","isConstantNode","rule2Node","isOperatorNode","isFunctionAssignmentNode","isFunctionNode","isIndexNode","isObjectNode","isParenthesisNode","isRangeNode","isRelationalNode","isSymbolNode","isChain","createSparse","createRandomInt","_randomInt","_randomIntMatrix","pool","nodecrypto","rngname","startdenom","significance","seedrandom","entropy","shortseed","mixkey","tostring","autoseed","arc4","ARC4","is_math_call","keylen","typ","smear","stringseed","msCrypto","browser","plugins","screen","_extends","DEFAULT_CONFIG","configFactory","emit","_config","validateOption","changes","contains","createMatAlgo11xS0s","createCross","_cross","highestDimension","createMultiply","_validateMatrixDimensions","size1","size2","_multiplyVectorVector","_multiplyVectorMatrix","_multiplyVectorDenseMatrix","alength","bcolumns","mf","_multiplyMatrixVector","_multiplyDenseMatrixVector","_multiplySparseMatrixVector","_multiplyMatrixMatrix","_multiplyDenseMatrixDenseMatrix","_multiplyDenseMatrixSparseMatrix","_multiplySparseMatrixDenseMatrix","_multiplySparseMatrixSparseMatrix","arows","acolumns","jb","kb0","kb1","kb","ib","brows","vbi","ka0","ka1","ka","ia","p1","ic","vbij","p0","selfMM","xsize","ysize","createSpaClass","_heap","isSpa","accumulate","extractMinimum","nodei","nodej","createAnd","createUsolve","createErf","MAX_NUM","THRESH","erf1","erfc2","erfc3","ysq","xden","del","SQRPI","createZpk2tf","_zpk2tf","_multiply","pole","createReplacer","csPermute","nz","t0","csTdfs","csPost","csEtree","ata","inext","ancestor","csFkeep","csFlip","createCsAmd","lemax","_createTargetMatrix","_diag","k2","pj","nvi","pk","eln","p2","pn","cnz","nv","elen","hhead","_initializeQuotientGraph","nel","_initializeDegreeLists","mindeg","elenk","nvk","dk","pk1","pk2","_wclear","wnvi","p3","p4","nvj","jlast","at","tindex","tptr","csLeaf","maxfirst","prevleaf","sparent","jleaf","jprev","createCsCounts","colcount","createCsSqr","csAmd","csCounts","_vcount","unz","lnz","leftmost","nque","pa","csMarked","csMark","csUnflip","csDfs","jnew","csReach","gptr","gsize","createCsSpsolve","gvalues","gindex","createCsLu","csSpsolve","tol","lvalues","lindex","lptr","uvalues","uindex","uptr","ipiv","xabs","createSlu","csSqr","csLu","createFilter","_filterCallback","createStirlingS2","smallCache","bigCache","make","nn","nk","MILLISECONDS_IN_DAY","getUTCDayOfYear","timestamp","setUTCMonth","setUTCHours","startOfYearTimestamp","difference","addLeadingZeros","targetLength","formatters","token","signedYear","getUTCFullYear","getUTCMonth","getUTCDate","dayPeriodEnumValue","getUTCHours","getUTCMinutes","getUTCSeconds","numberOfDigits","milliseconds","getUTCMilliseconds","fractionalSeconds","dayPeriodEnum","am","pm","midnight","noon","morning","afternoon","evening","night","localize","ordinalNumber","lightFormatters","signedWeekYear","getUTCWeekYear","weekYear","twoDigitYear","isoWeekYear","getUTCISOWeekYear","getUTCWeek","isoWeek","getUTCISOWeek","dayOfYear","dayOfWeek","getUTCDay","localDayOfWeek","weekStartsOn","isoDayOfWeek","dayPeriod","_localize","originalDate","_originalDate","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","dirtyDelimiter","absOffset","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","_options$locale","_ref3","_ref4","_options$firstWeekCon","_options$locale2","_options$locale2$opti","_defaultOptions$local","_defaultOptions$local2","_ref5","_ref6","_ref7","_options$weekStartsOn","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatStr","defaultOptions","locale","defaultLocale","firstWeekContainsDate","toInteger","formatLong","getTimezoneOffsetInMilliseconds","utcDate","subMilliseconds","formatterOptions","firstCharacter","longFormatter","longFormatters","cleanEscapedString","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","matched","createRightArithShift","getNonDecimalNumberParts","nonDecimalWithRadixMatch","fractionalPart","makeNumberFromNonDecimalParts","digitValue","createNumber","nonDecimalNumberParts","wordSizeSuffixMatch","createStd","_std","normalization","createAtan2","scalar","createBignumber","twoPowSize","twoPowSizeSubOne","createRange","_strRange","includeEnd","_parse","ongoing","preventExtensions","createPickRandom","possibles","_pickRandom","weights","elementWise","single","totalWeights","pick","randKey","createSplitUnit","assertAndCreate","scope","stripOptionalNotation","assertDependencies","isFactory","allDefined","dependency","isOptionalDependency","missingDependencies","createExpm","eps","infNorm","infinityNorm","findParams","Apos","factor","AposToI","alternate","rowSum","maxSearchSize","errorEstimate","qfac","twoqfac","twoqp1fac","createSolveValidation","mSize","bSize","createSetDifference","inb2","createFibonacciHeapClass","oneOverLogPhi","_minimum","_decreaseKey","_cut","_cascadingCut","isFibonacciHeap","isEmpty","numberOfChildren","tempRight","_findMinimumNode","_linkNodes","arraySize","numRoots","extendStatics","setPrototypeOf","__extends","__assign","__awaiter","thisArg","_arguments","generator","adopt","Promise","reject","fulfilled","rejected","__generator","trys","ops","verb","__spreadArray","pack","ar","Bounds","fromClientRect","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","rect","EMPTY","parseBounds","getBoundingClientRect","parseDocumentSize","documentElement","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","toCodePoints$1","fromCodePoint$1","fromCodePoint","codeUnits","chars$2","lookup$2","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","encoded1","encoded2","encoded3","encoded4","bufferLength","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","slice32$1","createTrieFromBase64$1","view32","view16","headerLength","Trie$1","Trie","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AL","CJ","EB","EM","H2","H3","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","current","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","afterIndex","prevIndex","cssFormattedClasses","wordBreak","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","isSurrogateCodePoint","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","isIdentifierStart","isNumberStart","stringToNumber","integers","int","fracd","expsign","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","tokens","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","consumeName","reconsumeCodePoint","consumeNumericToken","consumeIdentLikeToken","a3","u2","consumeUnicodeRangeToken","consumeWhiteSpace","questionMarks","start_1","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","endingCodePoint","consumeNumber","repr","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","reconsumeToken","consumeComponentValue","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","isAngle","parseNamedSide","sideOrCorner","ident","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","COLORS","TRANSPARENT","isTransparent","asString","blue","green","red","getTokenColorValue","hue2rgb","hue","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","backgroundColor","parseColorStop","processColorStops","stops","lineLength","processStops","stop_1","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","centerX","centerY","calculateGradientDirection","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","findCorner","closest","corners","cx","cy","optimumDistance","optimumCorner","calculateRadius","gradient","rx","ry","shape","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","prefixRadialGradient","isLinearGradient","background","isRadialGradient","image_1","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","listStyleImage","listStylePosition","listStyleType","marginForSide","marginRight","marginLeft","overflowWrap","paddingForSide","paddingRight","paddingBottom","paddingLeft","textShadow","offsetX","offsetY","blur","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix3d","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","opacity","textDecorationColor","textDecorationLine","fontFamily","results","fontVariant","fontStyle","counterIncrement","increments","filtered","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","getQuote","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","isDebugging","elementType","ElementContainer","textNodes","elements","isHTMLElementNode","bounds","chars$1","lookup$1","i$1","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","testElement","selectNode","rangeBounds","rangeHeight","testIOSLineBreak","wordSpacing","repeat","textList","supports","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","testSVG","img","canvas","ctx","getContext","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","getImageData","createElementNS","foreignObject","setAttributeNS","onload","onerror","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","cloneNode","replaceChild","SUPPORT_NATIVE_TEXT_SEGMENTATION","segmenter","granularity","segmentWords","breakWords","wordSeparators","_loop_1","word_1","TextContainer","CAPITALIZE","capitalize","ImageElementContainer","_super","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","SelectElementContainer","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","childNode","nextNode","nextSibling","isTextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","tagName","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","createCounterText","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","multipliers","negativeSign","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","onclone","restoreNodeScroll","scrollTo","logger","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","srcset","createCustomElementClone","copyCSSStyles","cssRules","rule","textContent","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","copyStyles","ignoreElements","cloneChildNodes","assignedNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","after","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","counterStyle","counterState","counterType","delim","counterStates","counterType_1","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","destroy","CORNER","cloneIframeContainer","scrolling","imageReady","complete","images","interval","setInterval","readyState","ignoredStyleProperties","setProperty","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","_link","isSameOrigin","setContext","Cache","_options","_cache","isBlobImage","isRenderable","useProxy","isInlineImage","SUPPORT_CORS_IMAGES","SUPPORT_CORS_XHR","debug","isInlineBase64Image","imageTimeout","SUPPORT_RESPONSE_TYPE","xhr","reader_1","FileReader","addEventListener","readAsDataURL","queryString","timeout_1","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","SUPPORT_SVG_DRAWING","isSVG","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","bc","abbc","bccd","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","effects","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","order_1","index_1","index_2","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_document","parseMetrics","span","padding","whiteSpace","verticalAlign","baseline","offsetTop","middle","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letters","letter","measureText","createFontStyle","fixIOSSystemFonts","renderTextNode","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","strokeText","renderReplacedElement","box","iframeRenderer","beginPath","arc","isTextInputElement","canvasTextAlign","_g","_m","_p","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","pattern","resizeImage","renderBackgroundImage","this_1","gradient_1","top_1","radialGradient_1","midX","midY","invF","createPattern","createLinearGradient","addColorStop","createRadialGradient","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","borders_1","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","path1","path2","setLineDash","lineCap","stroke","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","enabled","instances","Context","instanceName","instanceCount","logging","renderElement","resourceOptions","contextOptions","windowOptions","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","renderOptions","renderer","_q","windowWidth","innerWidth","windowHeight","innerHeight","parseBackgroundColor","devicePixelRatio","removeContainer","backgroundColorOverride","defaultBackgroundColor","createBin","createSetPowerset","_subset","_sort","bitarray","createTo","improveErrorMessage","fnName","details","createRotationMatrix","_rotationMatrix2x2","matrixV","_validateVector","_rotationMatrix3x3","storageType","minusOne","cosTheta","sinTheta","_convertToFormat","_mul","normV","vz","oneMinusC","r11","r12","r13","r21","r22","r23","r31","r32","r33","createIsInteger","createZeros","_zeros","createFreqz","createBins","_freqz","w2","_w","sumNum","sumDen","bins","createPinv","_isZeros","_pinv","_rankFact","Cpinv","Fpinv","_rref","lead","_isZero","rref","createDiag","_createDiagonalMatrix","_getDiagonal","dm","vector","createCeilNumber","createCeil","ceilNumber","createMatAlgo07xSSf","_scatter","va","createBitNot","createFixNumber","createFix","fixNumber","bn","createIsNumeric","createMultiplyScalar","notNumber","orNumber","xorNumber","andNumber","createIndexClass","ranges","_dimensions","_sourceSize","argIsArray","argIsMatrix","sourceSize","_createImmutableMatrix","_booleansArrayToNumbersForIndex","isObjectProperty","getObjectProperty","booleanArrayIndex","indexOfNumbers","bool","createXor","createZeta","zetaNumeric","zetaComplex","createValue","determineDigits","getRe","createRe","bitAndBigNumber","bitwise","bitNotBigNumber","prevPrec","bitOrBigNumber","negOne","xBits","yBits","minBits","maxBits","minSign","xSign","ySign","decCoefficientToBinaryString","shortLen","longLen","expFuncVal","outVal","twoPower","two","leftShiftBigNumber","rightArithShiftBigNumber","createHypot","_hypot","largest","createApply","_apply","createMatAlgo08xS0Sid","createSum","_sum","_nsumDim","createNthRoots","_calculateExactResult","_nthComplexRoots","aIsNumeric","roots","halfPiFactor","createNthRoot","complexErr","_bigNthRoot","selfSn","selfDS","DEFAULT_NORMALIZATION","createVariance","_var","_varDim","createComplexClass","toPolar","strRe","strIm","fromPolar","createAbs","randomMatrix","_length","createSetDistinct","createFft","_ndFft","_fft","_1dFft","_transpose","_czt","chirp","N2","xp","ichirp","fftXp","fftIchirp","fftProduct","ifftProduct","createArg","createMatAlgo14xDs","_iterate","bv","cv","createTrue","createFalse","createNull","createInfinity","recreateFactory","createNaN","createPi","createTau","createE","createPhi","createLN2","createLN10","_ref8","createLOG2E","_ref9","createLOG10E","_ref10","createSQRT1_2","_ref11","createSQRT2","_ref12","createI","_ref13","createUppercasePi","_ref14","createUppercaseE","_ref15","createVersion","recreateOnConfigChange","MAX_CYCLE_LEN","InvalidParameter","newFraction","DivisionByZero","factorize","NonIntegerParameter","modpow","cycleLen","cycleStart","rem1","rem2","places","thisABS","cont","excludeWhole","whole","cycLen","cycOff","objType","scripts","javascriptEnabled","nodeValue","unitConvert","toPx","commonjsGlobal","commonjsRequire","createCommonjsModule","es6Promise","objectOrFunction","_isArray","vertxNext","customSchedulerFn","asap","queue","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useNextTick","nextTick","useVertxTimer","useSetTimeout","useMutationObserver","observer","observe","characterData","useMessageChannel","channel","port1","onmessage","port2","postMessage","globalSetTimeout","attemptVertx","vertx","runOnLoop","runOnContext","onFulfillment","onRejection","noop","PROMISE_ID","makePromise","_state","invokeCallback","subscribe","resolve$1","promise","PENDING","FULFILLED","REJECTED","TRY_CATCH_ERROR","selfFulfillment","cannotReturnOwn","getThen","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","reason","_label","handleOwnThenable","handleMaybeThenable","maybeThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","tryCatch","hasCallback","succeeded","failed","initializePromise","nextId","validationError","Enumerator","_instanceConstructor","_remaining","_enumerate","_eachEntry","resolve$$1","_then","_settledAt","Promise$1","_willSettleAt","enumerator","race","reject$1","needsResolver","needsNew","polyfill","local","promiseToString","cast","_setScheduler","_setAsap","_asap","Worker","setProgress","inherit","overlay","getType","toContainer","toCanvas","toImg","prereqs","setPageSize","thenList","overlayCSS","containerCSS","inner","onrendered","onRendered","imgData","pxFullHeight","pxPageHeight","ratio","nPages","pageHeight","pageCanvas","pageCtx","page","addPage","outputImg","outputPdf","setMargin","cbk","getPageSize","updateProgress","onFulfilled","onRejected","thenCore","thenBase","isNative","selfPromise","returnVal","thenExternal","catchExternal","using","format_as_string","pageFormats","pageWidth","pagebreak","avoid","modeSrc","avoidAll","legacy","select","querySelectorAll","legacyEls","els","rules","breakOpt","avoidOpt","breakBefore","pageBreakBefore","breakAfter","breakInside","startPage","endPage","linkInfo","orig$1","containerRect","worker","createSize","createAsec","createMatAlgo13xDD","dependancies","createBroadcast","sizeA","_padLeft","sizeB","sizeMax","_dim","_stretch","filler","arrayToStretch","sizeToStretch","dimToStretch","createMatrixAlgorithmSuite","matAlgo13xDD","broadcast","matrixSignatures","createSquare","createString","lruQueue","hit","nuIndex","delete","memoize","lru","maxArgumentCount","createMedian","_median","mid","middle2","createUnitFunction","createCot","createLog","singletonRandom","createRng","setSeed","createLcm","lcmTypes","lcmManySignature","_lcmBigNumber","createSqueeze","applyCallback","mappingFnName","args3","signature3","tryWithArgs","args2","args1","_err$data","argsDesc","createMatAlgo05xSfSf","wai","wbi","createAsin","__webpack_modules__","71692","__unused_webpack_module","SG","54069","CI_BRK","CP_BRK","DI_BRK","IN_BRK","PR_BRK","pairTable","27398","__webpack_require__","EncodeStream","DecodeStream","LazyArray","Bitfield","Optional","Reserved","Struct","VersionedStruct","NumberT","Pointer","23948","__unused_webpack_exports","_createForOfIteratorHelperLoose","allowArrayLike","_unsupportedIterableToArray","minLen","_arrayLikeToArray","_require","ArrayT","lengthType","_proto","resolveLength","_startOffset","_currentOffset","pointers","startOffset","pointerOffset","41602","flag","21210","BooleanT","96204","BufferT","readBuffer","writeBuffer","42092","iconv","error1","readUInt24BE","readUInt24LE","readInt24BE","readInt24LE","TYPES","UInt8","UInt16","UInt24","UInt32","Int8","Int16","Int24","Int32","Float","Double","74883","_inheritsLoose","subClass","superClass","_setPrototypeOf","_stream$Readable","bufferSize","bufferOffset","ensure","writeString","writeUInt24BE","writeUInt24LE","writeInt24BE","writeInt24LE","2463","88931","_require2","_inspect","LazyArrayT","_ArrayT","_proto2","61002","endian","uint16be","uint16","uint16le","uint24be","uint24","uint24le","uint32be","uint32","uint32le","int8","int16be","int16","int16le","int24be","int24","int24le","int32be","int32le","floatbe","floatle","doublebe","doublele","Fixed","_NumberT","fracBits","_point","fixed16be","fixed16","fixed16le","fixed32be","fixed32","fixed32le","11568","27309","offsetType","allowNull","nullValue","relativeTo","relativeToGetter","relative","decodeValue","PropertyDescriptor","VoidPointer","_val","pointerSize","_val2","62211","69046","StringT","90433","_setup","_parseFields","includePointers","preEncode","37529","getPath","pathArray","prevObj","_Struct","versionPath","76959","43060","_defineProperties","_toPropertyKey","_createClass","protoProps","staticProps","_toPrimitive","_assertThisInitialized","ReferenceError","customInspectSymbol","K_MAX_LENGTH","fromArrayView","isInstance","SharedArrayBuffer","arrayView","numberIsNaN","mustMatch","hexSliceLookupTable","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","readUintLE","readUintBE","readUint8","readUint16LE","readUint16BE","readUint32LE","readUint32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","boundsError","readBigUInt64BE","readBigInt64LE","readBigInt64BE","writeUintLE","writeUintBE","writeUint8","writeUint16LE","writeUint16BE","writeUint32LE","writeUint32BE","writeBigUInt64LE","writeBigUInt64BE","writeBigInt64LE","writeBigInt64BE","copyWithin","getMessage","Base","_Base","NodeError","addNumericalSeparator","checkBounds","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","received","alphabet","i16","BufferBigIntNotDefined","20724","DataView","32590","NATIVE_ARRAY_BUFFER","tryToString","createNonEnumerableProperty","redefine","isPrototypeOf","uid","Int8Array","Int8ArrayPrototype","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","klass","isTypedArray","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","74510","FunctionName","redefineAll","toIntegerOrInfinity","toIndex","IEEE754","getOwnPropertyNames","arrayFill","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","packIEEE754","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","isLittleEndian","intIndex","store","INCORRECT_ARRAY_BUFFER_NAME","testView","$setInt8","setInt8","getInt8","setUint8","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","36501","arrayBufferModule","22449","CryptoJS","C_lib","lib","BlockCipher","C_algo","algo","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","sx","x8","RCON","AES","_doReset","_nRounds","_keyPriorReset","keyWords","keySize","sigBytes","nRounds","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","encryptBlock","_doCryptBlock","decryptBlock","s3","_createHelper","67646","ORIG_P","ORIG_S","BLOWFISH_CTX","pbox","sbox","BlowFish_Encrypt","Xl","Xr","BlowFish_Decrypt","BlowFishInit","keysize","Row","Col","keyIndex","Data1","Data2","Blowfish","blockSize","ivSize","52810","Cipher","WordArray","BufferedBlockAlgorithm","C_enc","Utf8","EvpKDF","cfg","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","xformMode","_xformMode","dataUpdate","_append","_process","finalProcessedData","_doFinalize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","decrypt","ciphertext","C_mode","StreamCipher","finalProcessedBlocks","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","_prevBlock","processBlock","thisBlock","C_pad","Pkcs7","blockSizeBytes","nPaddingBytes","paddingWord","paddingWords","unpad","CipherParams","modeCreator","_minBufferSize","__creator","_doProcessBlock","cipherParams","mixIn","C_format","OpenSSLFormatter","OpenSSL","wordArray","salt","openSSLStr","ciphertextWords","encryptor","cipherCfg","algorithm","plaintext","C_kdf","kdf","OpenSSLKdf","execute","compute","derivedParams","53264","cryptoSecureRandomInt","subtype","overrides","$super","propertyName","encoder","Hex","thisWords","thatWords","thisSigBytes","thatSigBytes","thatByte","hexChars","bite","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","escape","utf8Str","_nDataBytes","doFlush","processedWords","dataWords","dataSigBytes","nBlocksReady","nWordsReady","nBytesReady","Hasher","messageUpdate","_createHmacHelper","HMAC","31946","base64Chars","byte3","triplet","paddingChar","base64Str","base64StrLength","reverseMap","_reverseMap","paddingIndex","parseLoop","bits1","bits2","bitsCombined","30961","Base64url","urlSafe","_safe_map","44087","Utf16","Utf16BE","utf16Chars","utf16Str","utf16StrLength","swapEndian","word","Utf16LE","95194","MD5","derivedKey","derivedKeyWords","3902","5577","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","hmac","35243","70879","superInit","subInit","typedArray","typedArrayByteLength","57510","_hash","offset_i","M_offset_i","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","nBitsTotalL","H_i","HmacMD5","90347","generateKeystreamAndEncrypt","keystream","63197","CTRGladman","incWord","b3","incCounter","_counter","54032","CTR","21123","ECB","38710","OFB","_keystream","93007","AnsiX923","lastBytePos","Ansix923","7489","Iso10126","91695","Iso97971","ZeroPadding","68028","NoPadding","29556","75883","SHA256","PBKDF2","blockIndex","blockIndexWords","blockWords","blockWordsLength","intermediate","intermediateWords","79338","C_","RabbitLegacy","_X","nextState","IV","IV_0","IV_1","i0","i2","i1","i3","gx","ga","gb","gh","24222","Rabbit","97690","RC4","keySigBytes","_S","keyByteIndex","keyByte","generateKeystreamWord","keystreamWord","RC4Drop","53601","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","al","dl","br","cr","er","zl","zr","f4","f5","rotl","HmacRIPEMD160","61977","SHA1","HmacSHA1","11707","SHA224","HmacSHA224","85209","sqrtN","getFractionalBits","nPrime","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","sigma1","HmacSHA256","11691","C_x64","x64","X64Word","Word","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","outputLength","nBlockSizeLanes","M2i","M2i1","lane","high","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","HmacSHA3","21410","X64WordArray","SHA512","SHA384","HmacSHA384","20595","X64Word_create","H0","H1","H4","H5","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","ah","bh","dh","eh","fh","hh","Wil","Wih","Wi","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","t1l","t1h","t2l","t2h","toX32","HmacSHA512","77059","PC1","PC2","BIT_SHIFTS","SBOX_P","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","_subKeys","nSubKey","subKey","bitShift","invSubKeys","_invSubKeys","_lBlock","_rBlock","exchangeLR","exchangeRL","lBlock","rBlock","TripleDES","key1","key2","key3","_des1","_des2","_des3","23204","X32WordArray","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","41966","asyncIterator","Generator","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","return","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","awrap","handle","finish","delegateYield","INITIAL_STATE","FAIL_STATE","StateMachine","dfa","stateTable","accepting","tags","startRun","lastAccepting","lastState","actions","_step$value","45968","PNG","transparency","readUInt32","colorType","filterMethod","interlaceMethod","short","grayscale","colors","hasAlphaChannel","pixelBitlength","colorSpace","png","pixels","readUInt16","decodePixels","pixelBytes","dx","dy","singlePass","scanlineLength","upper","paeth","upperLeft","pb","pc","pixelsPos","bufferPos","decodePalette","copyToImageData","imageData","_decodedPalette","85543","safer","Safer","kStringMaxLength","binding","MAX_LENGTH","MAX_STRING_LENGTH","55681","enumerableOnly","_classCallCheck","hint","prim","custom","copyBuffer","BufferList","hasStrings","_getString","_getBuffer","customInspect","11504","copyProps","SafeBuffer","67827","swap32LE","SHIFT_1","SHIFT_2","SHIFT_1_2","OMITTED_BMP_INDEX_1_LENGTH","INDEX_2_BLOCK_LENGTH","INDEX_2_MASK","INDEX_SHIFT","DATA_BLOCK_LENGTH","DATA_MASK","LSCP_INDEX_2_OFFSET","LSCP_INDEX_2_LENGTH","INDEX_2_BMP_LENGTH","UTF8_2B_INDEX_2_OFFSET","UTF8_2B_INDEX_2_LENGTH","INDEX_1_OFFSET","DATA_GRANULARITY","uncompressedLength","84962","isBigEndian","31589","SVGtoPDF","60902","nmd","doc","NamedColors","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","DefaultColors","transparent","Entities","apos","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","ordf","laquo","shy","reg","macr","plusmn","sup2","sup3","acute","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","beta","eta","iota","lambda","mu","nu","omicron","rho","sigmaf","sigma","upsilon","chi","omega","thetasym","upsih","bull","hellip","prime","Prime","oline","frasl","weierp","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","exist","empty","nabla","isin","notin","ni","lowast","radic","infin","ang","there4","sim","cong","asymp","ne","equiv","le","ge","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","lang","rang","loz","spades","clubs","hearts","diams","PathArguments","PathFlags","A3","A4","Properties","normal","docBeginGroup","_groupCount","resources","xobj","Subtype","FormType","BBox","Group","Resources","savedMatrix","_ctm","savedPage","groupStack","xobjects","ext_gstates","patterns","docEndGroup","Font","XObject","ExtGState","docInsertGroup","addContent","docApplyMask","_maskCount","gstate","ca","SMask","BC","docCreatePattern","docUsePattern","_patternCount","PatternType","PaintType","TilingType","XStep","YStep","multiplyMatrix","ProcSet","docBeginText","docSetTextMatrix","docSetTextMode","docWriteGlyph","glyph","docEndText","docFillColor","fillOpacity","docStrokeColor","strokeOpacity","strokeColor","docInsertLink","Rect","Border","URI","parseXml","SvgNode","getElementById","recursive","StringParser","decodeEntities","warningCallback","matchAll","m0","colorCallback","opacityToColor","isMask","newColor","newOpacity","transformPoint","getGlobalMatrix","ctm","getPageBBox","SvgShape","inverseMatrix","getBoundingBox","validateMatrix","m4","m5","isNotEqual","solveEquation","curve","isEqual","getCurveValue","isArrayLike","parseTranform","parser2","temp2","matchNumber","matchSeparator","_a2","_a3","parseAspectRatio","aspectRatio","availWidth","availHeight","elemWidth","elemHeight","initAlign","ratioType","xAlign","yAlign","scaleX","scaleY","parseStyleAttr","parseSelector","classes","specificity","parseStyleSheet","selectors","selector","matchesSelector","elem","getStyle","specificities","styleRules","combineArrays","array1","array2","getAscent","ascender","maxY","getDescent","descender","minY","getXHeight","xHeight","getBaseline","dy1","dy2","getTextPos","unicode","advanceWidth","xOffset","yOffset","xAdvance","yAdvance","createSVGElement","inherits","SvgElemUse","SvgElemSymbol","SvgElemGroup","SvgElemLink","SvgElemSvg","SVGElemImage","SvgElemRect","SvgElemCircle","SvgElemEllipse","SvgElemLine","SvgElemPolyline","SvgElemPolygon","SvgElemPath","SvgElemText","SvgElemTspan","SvgElemTextPath","SvgElemTextNode","SvgElem","matchSpace","matchLengthUnit","BezierSegment","p1x","p1y","c1x","c1y","c2x","c2y","p2x","p2y","divisions","equationX","equationY","derivativeX","derivativeY","lengthMap","totalLength","startPoint","endPoint","minX","maxX","rootsX","rootsY","_y","getPointAtLength","_x2","_y2","_dx","_dy","LineSegment","_x3","_y3","pathCommands","pathSegments","lastCom","lastCtrlX","lastCtrlY","currX","currY","move","addCommand","fa","th1","th2","segms","th3","th4","command","addBounds","bbox1","mergeShape","insertInDocument","getSubPaths","subPaths","getMarkers","markers","subPath","subPathMarkers","startMarker","prevEndMarker","endMarker","styleCache","childrenCache","isOuterElement","useCSS","allowedChildren","resolveUrl","svgObj","documentCallback","svgs","documentCache","_svgObj","computeUnits","percent","isFontSize","getViewport","computeLength","temp1","computeLengthList","strict","getLength","getLengthList","getUrl","getNumberList","getViewbox","viewBox","getPercent","chooseValue","keyInfo","fallbackColor","SvgElemGradient","SvgElemPattern","dasharray","getChildren","getParentVWidth","getVWidth","viewportWidth","getParentVHeight","getVHeight","viewportHeight","getParentViewport","getBoundingShape","SvgElemStylable","getTransformation","clipPath","SvgElemClipPath","useMask","SvgElemMask","getFill","isClip","getPaint","getStroke","SvgElemHasChildren","childShape","drawChildren","drawInDocument","SvgElemContainer","drawContent","clipped","masked","addLink","isText","preserveAspectRatio","imageCallback","openImage","_attr","_getChildren","bBox","gOpacity","bBoxUnitsPattern","bBoxUnitsContent","aspectRatioMatrix","stopColor","bBoxUnits","nAfter","nBefore","nTotal","corner1","corner2","corner3","corner4","inOrder","_child","_stopColor","_colorSpace","setTransform","SvgElemBasicShape","dashScale","_x4","_y4","circle","dashArray","dashOffset","miterLimit","phase","fillAndStroke","markerStart","markerMid","markerEnd","markersPos","marker","SvgElemMarker","drawMarker","_marker","_marker2","points","pathLength","posArray","strokeWidth","orient","refX","refY","SvgElemTextContainer","_pos","dx0","ascent","dy0","dx1","descent","dx2","drawTextInDocument","decorate","_font","fauxBold","childElem","fauxItalic","linePosition","_pathLength","pathObject","pathScale","pathElem","textParentElem","currentAnchor","currentDirection","processedText","remainingText","textPaths","currentChunk","currentX","currentY","doAnchoring","anchordx","adjustLength","spacingAndGlyphs","firstChar","lastChar","textScale","spaceDiff","_j4","currentElem","parentElem","_rot","_defRot","fontOptions","fontNameorLink","fontCallback","textLength","textAnchor","textDirection","rawText","renderedText","xAttr","yAttr","dxAttr","dyAttr","rotAttr","continuous","textOnPath","textOffset","charMidX","pointOnPath","_j5","pxToPt","assumePt","SVGElement","_registeredFonts","savedFillColor","_fillColor","annotations","83036","__dirname","_stream","_interopRequireDefault","_cryptoJs","_fontkit","_events","_linebreak","_pngJs","_objectSpread2","_inherits","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","Proxy","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","_e2","normalCompletion","didErr","_e3","PDFAbstractReference","PDFTree","_items","limits","sortedKeys","_compareKeys","PDFObject","_dataForKey","_keysName","escapableRe","escapable","swapBytes","buff","encryptFn","stringBuffer","isUnicode","_string","PDFReference","_PDFAbstractReference","gen","Filter","Length","_offset","_security","getEncryptFn","deflateSync","_refEnd","DEFAULT_MARGINS","SIZES","A1","A2","A5","A6","A7","A8","A9","A10","B0","B1","B3","B4","B5","B6","B7","B8","B9","B10","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","RA0","RA1","RA2","RA3","RA4","SRA0","SRA1","SRA2","SRA3","SRA4","EXECUTIVE","FOLIO","LEGAL","LETTER","TABLOID","PDFPage","dictionary","_root","Pages","MediaBox","Contents","markings","ColorSpace","Annots","StructParents","createStructParentTreeNextKey","PDFNameTree","_PDFTree","inRange","rangeGroup","startRange","endRange","middleRange","arrayIndex","unassigned_code_points","isUnassignedCodePoint","character","commonly_mapped_to_nothing","isCommonlyMappedToNothing","non_ASCII_space_characters","isNonASCIISpaceCharacter","non_ASCII_controls_characters","non_character_codepoints","prohibited_characters","isProhibitedCharacter","bidirectional_r_al","isBidirectionalRAL","bidirectional_l","isBidirectionalL","mapping2space","mapping2nothing","getCodePoint","codePointAt","codepoints","saslprep","mapped_input","normalized_input","normalized_map","hasProhibited","allowUnassigned","hasUnassigned","hasBidiRAL","hasBidiL","isFirstBidiRAL","isLastBidiRAL","PDFSecurity","ownerPassword","userPassword","_setupEncryption","infoStr","CreationDate","wordArrayToBuffer","pdfVersion","encDict","_setupEncryptionV1V2V4","_setupEncryptionV5","permissions","getPermissionsR2","getPermissionsR3","userPasswordEntry","paddedUserPassword","processPasswordR2R3R4","paddedOwnerPassword","ownerPasswordEntry","getOwnerPasswordR2R3R4","encryptionKey","getEncryptionKeyR2R3R4","_id","getUserPasswordR2","getUserPasswordR3R4","CF","StdCF","AuthEvent","CFM","StmF","StrF","processedUserPassword","processPasswordR5","processedOwnerPassword","getEncryptionKeyR5","generateRandomWordArray","getUserPasswordR5","userKeySalt","userEncryptionKeyEntry","getUserEncryptionKeyR5","getOwnerPasswordR5","ownerKeySalt","ownerEncryptionKeyEntry","getOwnerEncryptionKeyR5","permsEntry","getEncryptedPermissionsR5","OE","UE","Perms","permissionObject","printing","modifying","copying","annotating","fillingForms","contentAccessibility","documentAssembly","documentId","xorRound","lsbFirstWord","validationSalt","keySalt","PASSWORD_PADDING","sy","PDFGradient","embedded","_normalizeColor","m11","m12","m21","m22","stopsLength","FunctionType","Domain","Functions","Encode","_gradCount","shader","Shading","opacityGradient","embed","pageBBox","form","Sh1","opacityPattern","Gs1","_this$doc$_ctm","_this$transform","_setColorSpace","PDFLinearGradient","_PDFGradient","ShadingType","Coords","PDFRadialGradient","_PDFGradient2","_super2","Gradient","underlyingColorSpaces","PDFTilingPattern","xStep","yStep","csName","csId","getPatternColorSpaceId","colorSpaces","underlyingColorspace","patternColor","embedPatternColorSpaces","normalizedColor","_getColorSpace","PDFGradient$1","PDFLinearGradient$1","PDFRadialGradient$1","PDFTilingPattern$1","ColorMixin","initColor","_opacityRegistry","_opacityCount","namedColors","_setColor","_setColorCore","space","_opacity","_doOpacity","_this$_opacityRegistr","yellowgreen","parameters","curArg","foundDecimal","commands","runners","quadraticCurveTo","solveArc","coords","_coords","rot","large","sweep","ey","segs","arcToSegments","seg","bez","segmentToBezier","rotateX","th","sin_th","cos_th","a00","a01","a10","a11","sfactor_sq","sfactor","xc","yc","th0","th_arc","segments","th_half","SVGPath","number$1","KAPPA","VectorMixin","initVector","_ctmStack","_CAP_STYLES","BUTT","ROUND","SQUARE","_JOIN_STYLES","MITER","BEVEL","originalLength","undash","cp1x","cp1y","cp2x","cp2y","cpx","cpy","roundedRect","ellipse","ye","radius","startAngle","endAngle","anticlockwise","TWO_PI","HALF_PI","deltaAng","numSegs","segAng","handleLen","curAng","deltaCx","deltaCy","ax","ay","segIdx","polygon","_points","_path","_windingRule","isFillRule","_options$origin","xFactor","yFactor","_options$origin2","WIN_ANSI_MAP","402","8211","8212","8216","8217","8218","8220","8221","8222","8224","8225","8226","8230","8364","8240","8249","8250","710","8482","338","339","732","352","353","376","381","382","characters","AFMFont","contents","glyphWidths","boundingBoxes","kernPairs","charWidths","char","capHeight","lineGap","glyphs","charCode","characterToGlyph","advances","widthOfGlyph","getKernPair","PDFFont","includeGap","gap","STANDARD_FONTS","Courier","Helvetica","ZapfDingbats","StandardFont","_PDFFont","_this$font","BaseFont","Encoding","encodeText","glyphsForString","advancesForGlyphs","positions","advance","EmbeddedFont","getGlyph","postscriptName","unitsPerEm","fontLayoutCache","layoutCache","features","layoutRun","cached","onlyWidth","needle","layoutCached","_this$layout","gid","includeGlyph","isCFF","cff","fontFile","encodeStream","familyClass","sFamilyClass","isFixedPitch","macStyle","FontName","FontBBox","ItalicAngle","italicAngle","Ascent","Descent","CapHeight","XHeight","StemV","FontFile3","FontFile2","CIDSet","CIDSetRef","descendantFontData","CIDSystemInfo","Registry","Ordering","Supplement","FontDescriptor","CIDToGIDMap","descendantFont","DescendantFonts","ToUnicode","toUnicodeCmap","PDFFontFactory","isStandardFont","FontsMixin","initFonts","defaultFont","_fontFamilies","_fontCount","_fontSize","cacheKey","_this$_registeredFont","currentLineHeight","registerFont","LineWrapper","_EventEmitter","characterSpacing","columnGap","spaceLeft","ellipsis","continuedX","once","continued","lastLine","paragraphGap","widthOfString","wordWidths","nextBreak","shouldContinue","wordWidth","lbk","fbk","mightGrow","mustShrink","nextY","nextSection","textWidth","wc","emitLine","wordCount","eachWord","lh","_this$document","continueOnNewPage","EventEmitter","number$2","TextMixin","initText","_line","_lineGap","moveDown","moveUp","_text","lineCallback","_initOptions","addStructure","structParent","struct","structType","markStructureContent","_wrapper","_textOptions","_text2","heightOfString","_list","listType","midLine","bulletRadius","textIndent","itemIndent","bulletIndent","levels","itemType","labelType","bodyType","structTypes","_options$structTypes","_fragment","spaceWidth","renderedWidth","goTo","destination","addNamedDestination","lineY","_lineWidth","_lineY","oblique","_this$_font$encode","_this$_font$encode2","encodedWord","positionsWord","_this$_font$encode3","_this$_font$encode4","hadOffset","addSegment","MARKERS","COLOR_SPACE_MAP","JPEG","channels","BitsPerComponent","PNGImage","dataDecoded","isInterlaced","Predictor","Colors","Columns","loadIndexedAlphaChannel","splitAlphaChannel","decodeData","alphaChannel","sMask","Decode","colorCount","pixelCount","skipByteCount","colorIndex","PDFImage","ImagesMixin","initImages","_imageRegistry","_imageCount","bp","bw","ip","left1","wp","fit","_options$fit","cover","_options$cover","AnnotationsMixin","annotate","_convertRect","Dest","note","Kids","_markup","_this$_convertRect","_this$_convertRect2","QuadPoints","highlight","lineAnnotation","rectAnnotation","ellipseAnnotation","textAnnotation","fileAnnotation","filespec","Desc","_this$_ctm","PDFOutline","expanded","outlineData","First","Last","Prev","Next","endOutline","OutlineMixin","initOutline","Outlines","PageMode","PDFStructureContent","pageRef","mcid","refs","structContent","PDFStructureElement","_attached","_ended","_flushed","_isValidChild","Lang","alt","Alt","ActualText","_children","setParent","setAttached","_addContentToParentTree","_contentForClosure","pageStructParents","getStructParentTree","parentRef","_flush","closure","endMarkedContent","_isFlushable","_flushChild","Pg","MCID","PDFNumberTree","MarkingsMixin","initMarkings","structChildren","tagged","getMarkInfoDictionary","Marked","getStructTreeRoot","markContent","toClose","marking","attached","Attached","structParentTreeKey","structElem","structTreeRoot","initPageMarkings","pageMarkings","newStructContent","endPageMarkings","MarkInfo","StructTreeRoot","ParentTree","ParentTreeNextKey","endMarkings","FIELD_FLAGS","readOnly","noExport","multiline","toggleToOffButton","radioButton","pushButton","combo","edit","multiSelect","noSpell","FIELD_JUSTIFY","center","VALUE_MAP","FORMAT_SPECIAL","zipPlus4","zip4","ssn","FORMAT_DEFAULT","nDec","sepComma","negStyle","currency","currencyPrepend","AcroFormMixin","initForm","_acroform","Fields","NeedAppearances","DR","AcroForm","endAcroForm","fontDict","fieldRef","_endChild","childRef","formField","fieldDict","_fieldDict","_addToParent","formAnnotation","annotRef","formText","formPushButton","formCombo","formList","formRadioButton","formCheckbox","_resolveType","_resolveFlags","_resolveJustify","_resolveFont","_resolveStrings","_resolveColors","_resolveFormat","FT","fnKeystroke","fnFormat","MK","BG","borderColor","Ff","appendChoices","Opt","AttachmentsMixin","refBody","Params","_fs$statSync","statSync","birthtime","ModDate","creationDate","modifiedDate","checksum","CheckSum","_fileRegistry","fileSpecBody","UF","description","addNamedEmbeddedFile","PDFA","initPDFA","pSubset","subset_conformance","endSubset","_addPdfaMetadata","jsPath","jestPath","_addColorOutputIntent","existsSync","pICCPath","iccProfile","colorProfileRef","intentRef","OutputConditionIdentifier","DestOutputProfile","OutputIntents","_getPdfaid","appendXML","SubsetMixin","_importSubset","initSubset","PDFMetadata","_metadata","newline","_closeTags","MetadataMixin","initMetadata","_addInfo","Creator","endMetadata","metadataRef","getXML","PDFDocument","_pageBuffer","_pageBufferStart","_waiting","Dests","Producer","displayTitle","ViewerPreferences","DisplayDocTitle","generateFileID","autoFirstPage","bufferPages","flushPages","EmbeddedFiles","JavaScript","_finalize","pipe","createWriteStream","_info","xRefOffset","trailer","Root","Encrypt","mixin","26949","___EXPOSE_LOADER_IMPORT___","___EXPOSE_LOADER_GET_GLOBAL_THIS___","___EXPOSE_LOADER_GLOBAL_THIS___","76118","isDeepEqual","isDeepStrictEqual","_require$codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","_require$types","isPromise","objectAssign","objectIs","RegExpPrototypeTest","lazyLoadComparison","comparison","warned","assert","NO_EXCEPTION_SENTINEL","innerFail","operator","stackStartFn","internalMessage","argsLen","emitWarning","errArgs","generatedMessage","innerOk","argLen","notDeepStrictEqual","notEqual","notDeepEqual","strictEqual","notStrictEqual","Comparison","compareExceptionKey","expectedException","getActual","checkIsPromise","waitForActual","promiseFn","resultPromise","expectsError","fnType","expectsNoError","internalMatch","_len6","throws","_len2","rejects","_len3","doesNotThrow","_len4","doesNotReject","_len5","ifError","newErr","origStack","doesNotMatch","66979","_wrapNativeSuper","Class","_isNativeFunction","Wrapper","_construct","endsWith","this_len","maxCount","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","kMaxShortLength","copyError","inspectValue","compact","maxArrayLength","showHidden","breakLength","showProxy","getters","createErrDiff","lastPos","skipped","actualInspected","actualLines","expectedLines","indicator","stderr","isTTY","maxLines","_actualLines","printedLines","skippedMsg","expectedLine","actualLine","divergingLines","_Error","_inspect$custom","stackTraceLimit","getColorDepth","_res","knownOperators","captureStackTrace","recurseTimes","78619","util","createErrorType","arg2","oneOf","thing","determiner","inspected","61667","regexFlagsSupported","arrayFromSet","arrayFromMap","objectGetOwnPropertySymbols","propertyIsEnumerable","objectToString","isAnyArrayBuffer","isArrayBufferView","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","getOwnNonIndexProperties","ONLY_ENUMERABLE","kStrict","kLoose","kNoIterator","kIsArray","kIsSet","kIsMap","areSimilarRegExps","areSimilarFloatArrays","areSimilarTypedArrays","areEqualArrayBuffers","buf1","buf2","isEqualBoxedPrimitive","val1","val2","innerDeepEqual","memos","val1Tag","val2Tag","keys1","keys2","keyCheck","_keys","_keys2","getEnumerables","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","val2MemoA","val2MemoB","areEq","objEquiv","setHasEqualElement","setValues","findLooseMatchingPrimitives","setMightHaveLoosePrim","altValue","mapMightHaveLoosePrim","curB","setEquiv","aValues","bValues","mapHasEqualEntry","item1","mapEquiv","aEntries","_aEntries$i","item2","bEntries","_bEntries$_i","keysA","5155","56887","BROTLI_READ_SIZE","BROTLI_IBUF_SIZE","BROTLI_IBUF_MASK","kBitMask","BrotliBitReader","buf_","input_","READ_SIZE","IBUF_MASK","buf_ptr_","val_","pos_","bit_pos_","bit_end_pos_","eos_","readMoreInput","bytes_read","fillBitWindow","readBits","n_bits","52150","lookupOffsets","17217","BrotliInput","BrotliOutput","BrotliDictionary","HuffmanCode","BrotliBuildHuffmanTable","Prefix","Transform","kDefaultCodeLength","kCodeLengthRepeatCode","kNumLiteralCodes","kNumInsertAndCopyCodes","kNumBlockLengthCodes","kLiteralContextBits","kDistanceContextBits","HUFFMAN_TABLE_BITS","HUFFMAN_TABLE_MASK","HUFFMAN_MAX_TABLE_SIZE","CODE_LENGTH_CODES","kCodeLengthCodeOrder","NUM_DISTANCE_SHORT_CODES","kDistanceShortCodeIndexOffset","kDistanceShortCodeValueOffset","kMaxHuffmanTableSize","DecodeWindowBits","DecodeVarLenUint8","nbits","MetaBlockLength","meta_block_length","input_end","is_uncompressed","is_metadata","DecodeMetaBlockLength","size_nibbles","size_bytes","next_byte","next_nibble","ReadSymbol","ReadHuffmanCodeLengths","code_length_code_lengths","num_symbols","code_lengths","symbol","prev_code_len","repeat_code_len","code_len","old_repeat","repeat_delta","new_len","ReadHuffmanCode","alphabet_size","tables","simple_code_or_skip","table_size","max_bits_counter","max_bits","num_codes","code_len_idx","ReadBlockLength","kBlockLengthPrefixCode","TranslateShortCodes","ringbuffer","MoveToFront","InverseMoveToFrontTransform","v_len","mtf","HuffmanTreeGroup","num_htrees","htrees","DecodeContextMap","context_map_size","use_rle_for_zeros","context_map","max_run_length_prefix","reps","DecodeBlockType","max_block_type","tree_type","block_types","ringbuffers","indexes","block_type","type_code","CopyUncompressedBlockToOutput","ringbuffer_mask","nbytes","rb_size","rb_pos","br_pos","JumpToByteBoundary","new_bit_pos","pad_bits","BrotliDecompressedSize","BrotliDecompressBuffer","output_size","output_buffer","BrotliDecompress","max_backward_distance","ringbuffer_size","ringbuffer_end","block_type_trees","block_len_trees","window_bits","max_distance","dist_rb","dist_rb_idx","prev_byte1","prev_byte2","hgroup","kRingBufferWriteAheadSlack","maxDictionaryWordLength","distance_postfix_bits","num_direct_distance_codes","distance_postfix_mask","num_distance_codes","num_literal_htrees","num_dist_htrees","context_mode","htree_command","meta_block_remaining_len","block_length","num_block_types","block_type_rb","block_type_rb_index","context_modes","dist_context_map","context_offset","context_map_slice","literal_htree_index","dist_context_offset","dist_context_map_slice","dist_htree_index","context_lookup_offset1","context_lookup_offset2","_o1","_o2","cmd_code","range_idx","insert_code","copy_code","insert_length","copy_length","distance_code","copy_dst","postfix","kInsertRangeLut","kCopyRangeLut","kInsertLengthPrefixCode","kCopyLengthPrefixCode","minDictionaryWordLength","offsetsByLength","word_id","sizeBitsByLength","word_idx","transform_idx","kNumTransforms","transformDictionaryWord","99373","compressed","13019","50227","33535","GetNextKey","ReplicateValue","NextTableBitSize","root_bits","root_table","code_lengths_size","table_bits","total_size","start_table","4008","PrefixCodeRange","46170","22906","kIdentity","kOmitLast1","kOmitLast2","kOmitLast3","kOmitLast4","kOmitLast5","kOmitLast6","kOmitLast7","kOmitLast8","kOmitLast9","kUppercaseFirst","kUppercaseAll","kOmitFirst1","kOmitFirst2","kOmitFirst3","kOmitFirst4","kOmitFirst5","kOmitFirst6","kOmitFirst7","kOmitFirst9","kTransforms","ToUpperCase","uppercase","start_idx","prefix_pos","suffix_pos","49435","30539","Zstream","INFLATE","GZIP","GUNZIP","DEFLATERAW","INFLATERAW","UNZIP","GZIP_HEADER_ID1","GZIP_HEADER_ID2","Zlib","init_done","write_in_progress","pending_close","gzip_id_bytes_read","in_off","in_len","out_off","out_len","_checkError","_afterSync","_after","next_expected_header_byte","inflateSetDictionary","_error","_init","_setDictionary","_reset","deflateSetDictionary","63339","kRangeErrorMessage","Z_MIN_WINDOWBITS","Z_MAX_WINDOWBITS","Z_DEFAULT_WINDOWBITS","Z_MIN_CHUNK","Z_MAX_CHUNK","Z_DEFAULT_CHUNK","Z_MIN_MEMLEVEL","Z_MAX_MEMLEVEL","Z_DEFAULT_MEMLEVEL","Z_MIN_LEVEL","Z_MAX_LEVEL","Z_DEFAULT_LEVEL","bkeys","bkey","Z_VERSION_ERROR","ckeys","ck","ckey","zlibBuffer","engine","buffers","nread","onError","removeListener","zlibBufferSync","flushFlag","Gzip","Gunzip","DeflateRaw","Unzip","isValidFlushFlag","_chunkSize","finishFlush","_flushFlag","_handle","_hadError","errno","_close","_buffer","_level","_strategy","emitCloseNT","createDeflate","createInflate","createDeflateRaw","createInflateRaw","createGzip","createGunzip","createUnzip","gzipSync","unzip","unzipSync","inflateSync","gunzip","gunzipSync","inflateRawSync","_transform","_writableState","ending","needDrain","availInBefore","availOutBefore","inOff","req","availInAfter","availOutAfter","newReq","97615","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","12550","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","72986","circular","allParents","allChildren","useBuffer","_clone","__isArray","__isRegExp","__getRegExpFlags","__isDate","__objToStr","ignoreCase","clonePrototype","67367","55047","46121","97676","43327","isConstructor","75017","6677","definePropertyModule","UNSCOPABLES","ArrayPrototype","13350","9519","83875","28794","toAbsoluteIndex","inc","55522","argumentsLength","endPos","20379","$forEach","65626","84899","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","37190","toIndexedObject","createMethod","IS_INCLUDES","$this","fromIndex","68671","IndexedObject","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","specificCreate","findIndex","filterReject","27837","$lastIndexOf","NEGATIVE_ZERO","searchElement","82091","V8_VERSION","SPECIES","METHOD_NAME","54324","86596","IS_RIGHT","15629","2013","mergeSort","insertionSort","merge","llength","rlength","rindex","30765","originalArray","80150","arraySpeciesConstructor","9637","iteratorClose","ENTRIES","8662","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","79159","36994","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","8457","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","IS_FIREFOX_OR_SAFARI_STACK","dropEntries","33513","9121","73870","getOwnPropertyDescriptorModule","15454","error2","25115","75304","6181","IteratorPrototype","Iterators","returnThis","IteratorConstructor","45899","69199","bitmap","35039","propertyKey","67707","ordinaryToPrimitive","61495","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","68308","wrappedWellKnownSymbolModule","7493","92750","EXISTS","12848","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","79189","documentCreateElement","DOMTokenListPrototype","34631","firefox","47923","80442","UA","55357","Pebble","53121","93921","14402","82647","getBuiltIn","11197","Deno","v8","76929","webkit","48869","67679","19882","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","noTargetGet","79044","81492","regexpExec","RegExpPrototype","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","uncurriedNativeRegExpMethod","nativeMethod","forceStringMethod","$exec","51207","63530","FunctionPrototype","98166","52381","factories","argsLength","partArgs","79611","55316","getDescriptor","88697","22773","aFunction","namespace","77193","getMethod","11805","usingIterator","97219","81373","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","captures","namedCaptures","tailPos","capture","98363","24792","47505","46271","47055","67548","45489","mantissaLength","mantissa","exponentLength","78609","59250","NewTargetPrototype","56429","functionToString","inspectSource","58323","cause","44296","hiddenKeys","getOwnPropertyNamesModule","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","getWeakData","onFreeze","20821","NATIVE_WEAK_MAP","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","enforce","wmget","wmhas","wmset","STATE","68089","71982","75277","31536","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","86291","feature","detection","POLYFILL","NATIVE","57507","52786","21178","42622","66681","USE_SYMBOL_AS_UID","$Symbol","5166","Result","stopped","ResultPrototype","unboundFunction","iterFn","IS_ITERATOR","INTERRUPTED","callFn","18744","innerResult","innerError","97022","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","44818","47046","71800","notify","toggle","macrotask","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","queueMicrotaskDescriptor","queueMicrotask","domain","exit","enter","task","58369","3850","36830","29269","PromiseCapability","$$resolve","$$reject","654","$default","21049","5310","globalIsFinite","45856","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","51569","activeXDocument","enumBugKeys","GT","LT","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","parentWindow","NullProtoObjectViaIFrame","iframeDocument","NullProtoObject","ActiveXObject","17840","86385","IE8_DOM_DEFINE","Attributes","66012","$getOwnPropertyDescriptor","74938","$getOwnPropertyNames","windowNames","getWindowNames","87994","internalObjectKeys","89612","12654","CORRECT_PROTOTYPE_GETTER","32010","18794","60667","81513","$propertyIsEnumerable","NASHORN_BUG","22412","aPossiblePrototype","CORRECT_SETTER","8765","TO_ENTRIES","36699","17141","pref","31561","67290","74443","11621","newPromiseCapability","promiseCapability","7592","35974","enforceInternalState","TEMPLATE","simple","94088","99749","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","groups","sticky","charsAdded","strCopy","58083","dotAll","97047","$RegExp","41669","1638","96411","51621","57323","60878","TAG","50466","49415","SHARED","53580","copyright","7270","aConstructor","defaultConstructor","13881","91140","CONVERT_TO_STRING","26031","68487","whitespaces","non","10287","whitespace","ltrim","rtrim","84643","defer","setImmediate","clearImmediate","Dispatch","ONREADYSTATECHANGE","runner","listener","event","41655","32565","27302","29580","14229","35108","30744","65758","toPositiveInteger","BYTES","83786","21893","isSymbol","TO_PRIMITIVE","exoticToPrim","383","57301","28967","28768","26764","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","typedArrayFrom","nativeDefineProperty","nativeGetOwnPropertyDescriptor","BYTES_PER_ELEMENT","fromList","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","addElement","typedArrayOffset","$length","$len","63231","53687","arrayFromConstructorAndList","typedArraySpeciesConstructor","66503","36107","speciesConstructor","34524","189","NATIVE_SYMBOL","20127","52280","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","2569","55739","clearErrorStack","installErrorCause","normalizeStringArgument","ERROR_STACK_INSTALLABLE","$AggregateError","AggregateErrorPrototype","errorsArray","AggregateError","55862","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","42833","83382","19701","$filter","HAS_SPECIES_SUPPORT","4845","INCORRECT_ITERATION","18183","$includes","54883","ARRAY_ITERATOR","Arguments","85005","un$Join","ES3_STRINGS","73214","$map","18821","un$Slice","fin","55281","un$Sort","45550","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","actualStart","33142","dateToPrimitive","DatePrototype","54994","FUNCTION_NAME_EXISTS","nameRE","regExpExec","62688","44063","30644","62031","80174","thisNumberValue","NUMBER","NativeNumber","NumberPrototype","primValue","maxCode","NumberWrapper","27013","14686","numberIsFinite","35727","12798","$repeat","un$ToFixed","fractionDigits","fractDigits","33130","63815","$freeze","80238","12938","56908","nativeGetPrototypeOf","80044","nativeKeys","10853","19457","12382","newPromiseCapabilityModule","perform","allSettled","capability","promiseResolve","alreadyCalled","487","PROMISE_ANY_ERROR","alreadyResolved","alreadyRejected","27138","NativePromise","NON_GENERIC","onFinally","35054","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","microtask","hostReportErrors","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","HANDLED","UNHANDLED","SUBCLASSING","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","isThenable","isReject","notified","reactions","exited","reaction","rejection","onHandleUnhandled","onUnhandled","initEvent","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","executor","$promiseResolve","54130","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","39275","15158","objectDefinePropertyModule","regExpFlags","33290","TO_STRING","n$ToString","getFlags","NOT_GENERIC","INCORRECT_NAME","rf","99041","18481","66923","$fromCodePoint","INCORRECT_LENGTH","19985","stringIndexOf","67666","createHTML","forcedStringHTMLMethod","italics","45007","STRING_ITERATOR","86125","55797","advanceStringIndex","MATCH_ALL","REGEXP_STRING","REGEXP_STRING_ITERATOR","un$MatchAll","WORKS_WITH_NON_GLOBAL_REGEX","$RegExpStringIterator","$global","fullUnicode","$matchAll","flagsValue","matcher","75668","fixRegExpWellKnownSymbolLogic","nativeMatch","maybeCallNative","matchStr","84750","22321","getSubstitution","maybeToString","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_SUPPORTS_NAMED_GROUPS","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","replacerArgs","67838","callRegExpExec","MAX_UINT32","$push","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SPLIT","nativeSplit","internalSplit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","54902","29897","$trim","forcedStringTrimMethod","52729","defineWellKnownSymbol","86632","NativeSymbol","SymbolPrototype","EmptyStringDescriptionStore","SymbolWrapper","symbolToString","symbolValueOf","61928","26364","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","QObject","$stringify","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","$getOwnPropertySymbols","$create","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","FORCED_JSON_STRINGIFY","$replacer","16543","33694","21358","$ArrayCopyWithin","u$ArrayCopyWithin","66887","$every","77353","$fill","6366","fromSpeciesAndList","65056","$findIndex","predicate","52372","31120","createTypedArrayConstructor","85569","53677","26875","77355","28784","100","26770","33324","98554","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","PROPER_ARRAY_VALUES_NAME","typedArrayValues","72403","$join","14312","63444","36798","$reduceRight","40070","58036","27578","99641","12298","$some","97306","ACCEPT_INCORRECT_ARGUMENTS","25480","begin","beginIndex","14314","$toLocaleString","TO_LOCALE_STRING_BUG","10572","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","51360","35779","79627","71228","85506","4116","38634","67298","8108","47639","6208","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","68995","ArrayIteratorMethods","ArrayValues","87191","80623","27074","isArguments","isRegex","isUndefinedOrNull","aIsRegex","bIsRegex","aIsBuffer","bIsBuffer","72656","hasPropertyDescriptors","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","19170","hasSymbols","toStr","defineDataProperty","supportsDescriptors","predicates","5939","ReflectOwnKeys","ReflectApply","receiver","ProcessEmitWarning","NumberIsNaN","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","prepend","events","newListener","emitter","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","evlistener","unwrapListeners","arrayClone","listenerCount","spliceOne","errorListener","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","wrapListener","removeEventListener","setMaxListeners","getMaxListeners","doError","listeners","addListener","prependListener","prependOnceListener","originalListener","removeAllListeners","rawListeners","eventNames","88706","94843","forEachArray","forEachString","forEachObject","19930","ERROR_MESSAGE","funcType","concatty","slicy","arrLike","joiny","joiner","bound","binder","boundLength","boundArgs","Empty","21930","87105","functionsHaveNames","gOPD","functionsHaveConfigurableNames","$bind","boundFunctionsHaveNames","31801","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasProto","getProto","needsEval","INTRINSICS","Atomics","decodeURI","encodeURI","eval","EvalError","FinalizationRegistry","URIError","WeakRef","WeakSet","errorProto","doEval","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","subString","getBaseIntrinsic","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","93828","28198","hasArrayLengthDefineBug","11856","$Object","99905","origSymbol","hasSymbolSham","65682","symObj","symVal","syms","44111","89429","$hasOwn","72959","_dbcs","DBCSCodec","UNASSIGNED","GB18030_CODE","SEQ_START","NODE_START","UNASSIGNED_NODE","DEF_CHAR","codecOptions","encodingName","mappingTable","decodeTables","decodeTableSeq","_addDecodeChunk","gb18030","commonThirdByteNodeIdx","commonFourthByteNodeIdx","firstByteNode","secondByteNode","thirdByteNode","fourthByteNode","defaultCharUnicode","encodeTable","encodeTableSeq","skipEncodeChars","encodeSkipVals","_fillEncodeTable","encodeAdd","uChar","_setEncodeChar","defCharSB","defaultCharSingleByte","DBCSEncoder","codec","seqObj","DBCSDecoder","nodeIdx","prevBytes","findIdx","decoder","_getDecodeTrieNode","curAddr","writeTable","codeTrail","seq","_getEncodeBucket","uCode","dbcsCode","bucket","_setEncodeSequence","oldVal","hasValues","subNodeEmpty","mbCode","subNodeIdx","newPrefix","nextChar","resCode","subtable","uChars","gbChars","prevOffset","seqStart","uCodeLead","bytesArr","27479","88069","modules","95907","InternalCodec","bomAware","InternalEncoderBase64","InternalEncoderCesu8","InternalDecoderCesu8","cesu8","unicode11utf8","ucs2","utf16le","_internal","InternalEncoder","InternalDecoder","StringDecoder","prevStr","contBytes","accBytes","completeQuads","bufIdx","72542","SBCSCodec","asciiString","decodeBuf","encodeBuf","SBCSEncoder","SBCSDecoder","_sbcs","idx1","idx2","34732","26518","1710","Utf16BECodec","Utf16BEEncoder","Utf16BEDecoder","overflowByte","Utf16Codec","Utf16Encoder","addBOM","getEncoder","Utf16Decoder","initialBufs","initialBufsLen","detectEncoding","defaultEncoding","charsProcessed","asciiCharsLE","asciiCharsBE","outer_loop","utf16be","utf16","getDecoder","resStr","trail","89252","Utf32Codec","Utf32Encoder","highSurrogate","Utf32Decoder","badChar","_writeCodepoint","codepoint","Utf32AutoCodec","Utf32AutoEncoder","Utf32AutoDecoder","invalidLE","invalidBE","bmpCharsLE","bmpCharsBE","_utf32","utf32le","utf32be","ucs4le","ucs4be","write32","isHighSurrogate","isLowSurrogate","utf32","ucs4","92307","Utf7Codec","utf7","unicode11utf7","Utf7Encoder","Utf7Decoder","nonDirectChars","inBase64","base64Accum","base64Regex","plusChar","minusChar","andChar","Utf7IMAPCodec","Utf7IMAPEncoder","base64AccumIdx","Utf7IMAPDecoder","lastI","b64str","canBeDecoded","utf7imap","base64IMAPChars","59203","BOMChar","PrependBOMWrapper","StripBOMWrapper","PrependBOM","StripBOM","stripBOM","32766","stream_module","bomHandling","skipDecodeWarning","encodingExists","getCodec","toEncoding","fromEncoding","_codecDataCache","_canonicalizeEncoding","codecDef","enableStreamingAPI","supportsStreams","streams","IconvLiteEncoderStream","IconvLiteDecoderStream","decodeStream","44690","conv","decodeStrings","collect","74525","48575","ctor","superCtor","super_","TempCtor","77092","hasToStringTag","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","5443","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","objectClass","fnClass","genClass","ddaClass","ddaClass2","ddaClass3","isIE68","isDDA","strClass","28659","tryDateObject","dateClass","97427","isFnRegex","getGeneratorFunc","generatorFunc","82100","98622","getPolyfill","shim","64358","6232","55278","isRegexMarker","badStringifier","throwRegexMarker","regexClass","hasLastIndexDataProperty","82527","whichTypedArray","98720","7402","25280","49129","78383","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","equalsConstructorPrototypeIfNotBuggy","theKeys","skipProto","skipConstructor","806","origKeys","originalKeys","keysWorksWithArguments","84418","22148","$propIsEnumerable","originalGetSymbols","source1","getSymbols","nextKey","propValue","10293","lacksProperEnumerationOrder","assignHasPendingExceptions","thrower","69034","_has","51475","40549","38621","24349","avail","tmpDict","dictLength","63394","s_window","3386","zswap32","dictid","20598","44594","70376","28755","82530","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","Item","argv","cwd","chdir","umask","73994","setFunctionName","hasIndices","unicodeSets","80251","flagsBound","71856","calls","47278","TypeErr","regex","53407","sax","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","clearBuffers","bufferCheckPosition","lowercase","lowercasetags","looseCase","closed","closedRoot","sawRoot","noscript","strictEntities","ENTITIES","XML_ENTITIES","attribList","ns","rootNS","trackPosition","checkBufferLength","maxAllowed","maxActual","closeText","emitNode","flushBuffers","EVENTS","newf","resume","streamWraps","ev","_parser","readable","onend","_decoder","CDATA","DOCTYPE","XML_NAMESPACE","XMLNS_NAMESPACE","nameStart","nameBody","entityStart","entityBody","isWhitespace","isQuote","isAttribEnd","isMatch","notMatch","BEGIN_WHITESPACE","TEXT","TEXT_ENTITY","OPEN_WAKA","SGML_DECL","SGML_DECL_QUOTED","DOCTYPE_QUOTED","DOCTYPE_DTD","DOCTYPE_DTD_QUOTED","COMMENT_STARTING","COMMENT_ENDING","COMMENT_ENDED","CDATA_ENDING","CDATA_ENDING_2","PROC_INST","PROC_INST_BODY","PROC_INST_ENDING","OPEN_TAG","OPEN_TAG_SLASH","ATTRIB","ATTRIB_NAME","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_CLOSED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG","CLOSE_TAG_SAW_WHITE","SCRIPT_ENDING","textopts","strictFail","newTag","qname","qualName","attrib","attribName","attribValue","qn","openTag","selfClosing","isSelfClosing","closeTag","closeTo","parseEntity","entityLC","numStr","beginWhiteSpace","startTagPosition","starti","sgmlDecl","procInstName","procInstBody","returnState","unparsedEntities","parsedEntity","stringFromCharCode","lowSurrogate","MAX_SIZE","34521","hasDescriptors","$floor","functionLengthIsConfigurable","functionLengthIsWritable","25021","20202","Writable","Duplex","PassThrough","finished","pipeline","ondata","pause","ondrain","_isStdio","onclose","didOnEnd","cleanup","75065","53551","allowHalfOpen","onEndNT","highWaterMark","getBuffer","_readableState","destroyed","89371","28193","ReadableState","EElistenerCount","OurUint8Array","_uint8ArrayToBuffer","_isUint8Array","debugUtil","debuglog","createReadableStreamAsyncIterator","destroyImpl","getHighWaterMark","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","isDuplex","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","awaitDrain","readingMore","_destroy","readableAddChunk","addToFront","skipChunkCheck","onEofChunk","chunkInvalid","addChunk","maybeReadMore","emitReadable","_undestroy","undestroy","isPaused","setEncoding","MAX_HWM","computeNewHighWaterMark","howMuchToRead","emitReadable_","maybeReadMore_","pipeOnDrain","updateReadableListening","nReadingNextTick","resume_","consume","endReadable","endReadableNT","wState","nOrig","doRead","pipeOpts","doEnd","stdout","endFn","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","onfinish","dests","_fromList","10695","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","needTransform","writeencoding","prefinish","err2","16667","CorkedRequest","onCorkedFinish","WritableState","internalUtil","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","noDecode","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","errorEmitted","bufferedRequestCount","corkedRequestsFree","writev","_writev","_final","writeAfterEnd","validChunk","decodeChunk","writeOrBuffer","isBuf","newChunk","doWrite","onwriteError","finishMaybe","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","holder","allBuffers","callFinal","need","rState","endWritable","corkReq","hasInstance","cork","uncork","setDefaultEncoding","90933","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","wrapForNext","lastPromise","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","_Object$create","89930","readableDestroyed","writableDestroyed","emitErrorNT","emitErrorAndCloseNT","47549","ERR_STREAM_PREMATURE_CLOSE","isRequest","setHeader","abort","eos","onlegacyfinish","writableEnded","readableEnded","onrequest","24881","44858","destroyer","popCallback","destroys","39025","ERR_INVALID_OPT_VALUE","highWaterMarkFrom","duplexKey","hwm","5908","10301","_normalizeEncoding","retried","normalizeEncoding","nenc","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","utf8CheckByte","utf8CheckIncomplete","utf8CheckExtraBytes","utf8Text","utf8End","84346","TINF_OK","TINF_DATA_ERROR","Tree","trans","sourceIndex","bitcount","destLen","sltree","sdtree","length_bits","length_base","dist_bits","dist_base","clcidx","code_tree","tinf_build_bits_base","tinf_build_fixed_trees","tinf_build_tree","tinf_getbit","tinf_read_bits","tinf_decode_symbol","tinf_decode_trees","hlit","hdist","hclen","clen","tinf_inflate_block_data","tinf_inflate_uncompressed_block","invlength","tinf_uncompress","bfinal","btype","29440","deprecated","79397","64489","isArgumentsObject","BigIntSupported","SymbolSupported","ObjectToString","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isDataView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isMapToString","working","isSetToString","isWeakMapToString","isWeakMap","isWeakSetToString","isWeakSet","isArrayBufferToString","isDataViewToString","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","85663","descriptors","formatRegExp","noDeprecation","throwDeprecation","traceDeprecation","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","stylize","stylizeNoColor","_extend","stylizeWithColor","formatValue","styleType","arrayToHash","primitive","formatPrimitive","visibleKeys","isError","formatError","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","numLinesEst","isPrimitive","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","callbackify","original","callbackified","maybeCb","rej","promisify","promiseReject","54010","availableTypedArrays","typedArrays","$slice","superProto","tryTypedArrays","trySlices","26651","91117","xmldocAssumeBrowser","XmlElement","delegates","lastChild","XmlTextNode","XmlCDataNode","XmlCommentNode","XmlDocument","addParserEvents","_addChild","_opentag","_closetag","_cdata","_comment","eachChild","childNamed","childrenNamed","childWithAttribute","descendantsNamed","descendantWithPath","descendant","valueWithPath","toStringWithIndent","linebreak","preserveWhitespace","escapeXML","childIndent","whiteList","formatText","_doctype","onopentag","parser_opentag","onclosetag","parser_closetag","ontext","parser_text","oncdata","parser_cdata","oncomment","parser_comment","ondoctype","parser_doctype","parser_error","finalText","trimmed","30570","fetchUrl","headerName","setRequestHeader","onreadystatechange","URLBrowserResolver","resolving","resolved","82669","FileSaver","defaultClientFonts","Roboto","bolditalics","Document","docDefinition","tableLayouts","canCreatePdf","_createDoc","getExtendedUrl","PdfPrinter","printer","createPdfKitDocument","urlResolver","_flushDoc","_pdfMakePages","_getPages","ignoreBuffer","_bufferToBlob","_openWindow","win","_openPdf","urlCreator","webkitURL","pdfUrl","autoPrint","defaultFileName","getBase64","getDataUrl","getStream","52773","VirtualFileSystem","fileSystem","dataSystem","fixFilename","dataContent","bindFS","65354","buildColumnWidths","availableWidth","autoColumns","autoMin","autoMax","starColumns","starMaxMin","starMaxMax","fixedColumns","initial_availableWidth","isAutoColumn","_minWidth","_maxWidth","isStarColumn","elasticWidth","minW","maxW","starSize","measureMinMax","maxStar","starCount","77077","TextTools","StyleContextStack","ColumnCalculator","fontStringify","getNodeId","qrEncoder","DocMeasure","fontProvider","styleDictionary","defaultStyle","imageMeasure","svgMeasure","textTools","styleStack","autoImageIndex","measureDocument","docStructure","measureNode","getNodeMargin","extendMargins","measureColumns","measureVerticalContainer","ul","measureUnorderedList","ol","measureOrderedList","measureTable","measureLeaf","toc","measureToc","measureImage","measureSVG","measureCanvas","measureQr","processSingleMargins","currentMargin","flattenStyleArray","styleArray","flattenedStyles","styleName","convertMargin","flattenedStyleArray","convertIfBase64Image","measureImageWithDimensions","_minHeight","_maxHeight","maxHeight","minWidth","minHeight","_alignment","getProperty","writeDimensions","_textRef","_textNodeRef","buildInlines","textStyle","numberStyle","textMargin","lineStyle","tocStyle","lineMargin","tocMargin","lineNumberStyle","tocNumberStyle","_nodeRef","linkToDestination","_tocItemRef","dontBreakRows","gapSizeForList","sizeOfString","buildUnorderedMarker","gapSize","buildDisc","buildSquare","buildCircle","lineColor","buildOrderedMarker","prepareAlpha","toAlpha","prepareRoman","CD","XC","XL","IX","roman","prepareDecimal","counterText","textArray","markerColor","_gapSize","listMarker","counterValue","_gap","measures","numGaps","extendTableWidths","_layout","getLayout","getOffsets","colSpans","rowData","measureCb","markSpans","rowSpan","markVSpans","extendWidthsForColSpans","defaultLayout","hLineWidth","vLineWidth","hLineColor","vLineColor","hLineStyle","vLineStyle","defaultBorder","offsets","totalOffset","prevRightPadding","lOffset","currentMinMax","getMinMax","minDifference","maxDifference","measure","78702","DocPreprocessor","preprocessDocument","tocs","nodeReferences","preprocessNode","preprocessColumns","preprocessVerticalContainer","preprocessList","preprocessTable","preprocessText","preprocessToc","preprocessImage","preprocessSVG","preprocessCanvas","preprocessQr","pageReference","textReference","tocItem","tocItemId","_pseudo","tocItemRef","_getNodeForNodeRef","_pageRef","isSetParentNode","79833","TraversalTracker","DocumentContext","pageMargins","availableHeight","snapshots","endingCell","tracker","backgroundLength","pageOrientationString","currentPageOrientation","beginColumnGroup","bottomMost","lastColumnWidth","beginColumn","saved","calculateBottomMost","destContext","saveContextInEndingCell","bottomMostContext","markEnding","_columnEndingContext","completeColumnGroup","addMargin","initializePage","getCurrentPage","pageSnapshot","moveToRelative","beginDetachedBlock","endDetachedBlock","newPageOrientation","moveToNextPage","nextPageIndex","prevPage","prevY","createNewPage","currentAvailableWidth","newPageCreated","getCurrentPosition","pageNumber","pageInnerHeight","pageInnerWidth","verticalRatio","horizontalRatio","84786","Line","offsetVector","ElementWriter","contextStack","addPageItem","cloneLine","addLine","dontUpdateContextPosition","getCurrentPositionOnPage","alignLine","newLineForced","lastLineInParagraph","additionalSpacing","justifyShift","absolutePosition","alignImage","addSVG","addQr","_canvas","addVector","imageWidth","alignCanvas","canvasWidth","ignoreContextX","ignoreContextY","beginClip","endClip","addFragment","useBlockXOffset","useBlockYOffset","_node","pushContext","contextOrWidth","popContext","98875","FontProvider","fontDescriptors","pdfKitDoc","fontCache","fontDef","getFontType","getFontFile","familyName","provideFont","16920","variable","nodeId","isPattern","getPattern","41125","ImageMeasure","imageDictionary","realImageSrc","47626","PageElementWriter","TableProcessor","addAll","otherArray","LayoutBuilder","decorateNode","resetXY","registerTableLayouts","layoutDocument","watermark","pageBreakBeforeFct","addPageBreaksIfNecessary","linearNodeList","nodeInfo","startPosition","pageNumbers","pageBreak","pageBreakCalculated","followingNodesOnPage","nodesOnNextPage","previousNodesOnPage","resetXYs","docPreprocessor","docMeasure","tryLayoutDocument","startTracking","addBackground","processNode","addHeadersAndFooters","addWatermark","backgroundGetter","pageBackground","beginUnbreakableBlock","commitUnbreakableBlock","addStaticRepeatable","headerOrFooter","sizeFunction","addDynamicRepeatable","nodeGetter","headerSizeFct","footerSizeFct","getWatermarkFontSize","watermarkObject","getWatermarkSize","styleContextStack","rotatedSize","sizeOfRotatedText","applyMargins","unbreakable","absPosition","relPosition","relativePosition","processVerticalContainer","processColumns","processList","processTable","processLeaf","processToc","processImage","processSVG","processCanvas","processQr","columnNode","gaps","gapArray","processRow","tableBody","tableRow","storePageBreakData","leftOffset","colLeftOffset","getEndingCell","pageDesc","endingRow","orderedList","nextMarker","addMarkerToFirstLeaf","markerLine","addInline","getAscenderHeight","tableNode","processor","beginTable","rowHeights","heights","beginRow","endRow","endTable","buildNextLine","currentHeight","_pageNodeRef","cloneInline","inline","newInline","isForceContinue","hasEnoughSpaceForInline","isHardWrap","noWrap","getAvailableWidth","widthPerChar","maxChars","fontFeatures","noNewLine","79547","leadingCut","trailingCut","inlineWidths","nextInlines","inlineWidth","inlineTrailingCut","nextInline","52183","transactionLevel","repeatables","fitOnPage","addFct","nextPage","insertedOnPages","originalX","forcedX","forcedY","unbreakableContext","nbPages","currentBlockToRepeatable","pushToRepeatables","popFromRepeatables","85822","_interopDefault","PdfKit","getEngineInstance","createPdfDocument","56498","PdfKitEngine","SVGMeasure","textDecorator","findFont","requiredFonts","requiredFont","createMetadata","standardizePropertyKey","standardProperties","standardizedKey","calculatePageHeight","getItemHeight","getBottomPosition","fixedMargins","fixPageMargins","bottomPosition","fixPageSize","isNeedSwapPageSizes","pageSize2widthAndHeight","registerDefaultTableLayouts","layoutBuilder","noBorders","headerLineOnly","lightHorizontalLines","updatePageOrientationInOptions","previousPageOrientation","renderPages","progressCallback","totalItems","renderedItems","il","renderVector","renderLine","renderImage","renderSVG","renderWatermark","offsetText","preparePageNodeRefLine","newWidth","diffWidth","ascenderHeight","drawBackground","shiftToBaseline","shiftedY","linkToPage","drawDecorations","fontsFamily","createPatterns","patternDefinitions","boundingBox","colored","pdfOptions","language","maxNumberPages","maxPagesNumber","printActionRef","OpenAction","86976","VERSIONS","MODE_TERMINATOR","MODE_NUMERIC","MODE_ALPHANUMERIC","MODE_OCTET","MODE_KANJI","NUMERIC_REGEXP","ALPHANUMERIC_REGEXP","ALPHANUMERIC_OUT_REGEXP","ECCLEVEL_L","ECCLEVEL_M","ECCLEVEL_Q","ECCLEVEL_H","GF256_MAP","GF256_INVMAP","GF256_GENPOLY","prevpoly","poly","ALPHANUMERIC_MAP","MASKFUNCS","needsverinfo","ver","getsizebyver","nfullbits","ndatabits","ecclevel","ndatalenbits","getmaxdatalen","validatedata","newdata","maxbuflen","datalen","nlenbits","calculateecc","genpoly","polylen","genpolylen","quotient","augumenteccs","nblocks","subsizes","subsize","subsize0","eccs","nitemsperblock","augumentbch","makebasematrix","reserved","blit","aligns","minj","maxj","putdata","maskdata","maskf","putformatinfo","evaluatematrix","PENALTY_CONSECUTIVE","PENALTY_TWOBYTWO","PENALTY_FINDERLIKE","PENALTY_DENSITY","evaluategroup","score","nblacks","nextrow","bestmask","bestscore","generateFrame","MODES","ECCLEVELS","eccLevel","buildCanvas","foreground","modSize","paddingXY","58050","28034","styleOverrides","styleNameOrOverride","howMany","autopush","styleNames","styleProperties","styleOverrideObject","pushStyleOverrideObject","pushedItems","48730","xmldoc","stripUnits","textVal","parseSVG","svgString","docWidth","docHeight","viewBoxParts","41729","tableWidth","getTableInnerContentWidth","rowSpanData","prepareRowSpanData","cleanUpRepeatables","rsd","lastWidth","paddings","lBorder","prepareCellBorders","rowOffset","setBorder","colOffset","borderIndex","borderValue","rowsWithoutPageBreak","keepWithHeaderRows","drawHorizontalLine","onRowBreak","rowPaddingTop","topLineWidth","reservedAtBottom","bottomLineWidth","rowPaddingBottom","rowCallback","rowTopY","lineIndex","overrideY","cellAbove","currentCell","rowCellAbove","currentLine","shouldDrawLine","topBorder","bottomBorder","rowBottomBorder","_rowSpanCurrentOffset","colSpanIndex","drawVerticalLine","vLineColIndex","vLineRowIndex","beforeVLineColIndex","cellBefore","rowCellBeforeAbove","rowCurrentCellAbove","stopTracking","endingPage","endingY","getLineXs","hasBreaks","skipOrphanePadding","yi","yl","willBreak","rowBreakWithoutHeader","hzLineOffset","leftCellBorder","rightCellBorder","overlayPattern","overlayOpacity","widthRightBorder","widthLeftBorder","x1f","y1f","x2f","y2f","bgWidth","bgHeight","hLineWhenBroken","_colSpan","headerRepeatable","4986","groupDecorations","currentGroup","decoration","decorationColor","decorationStyle","decorationItem","drawDecoration","maxInline","firstInline","biggerInline","totalWidth","lineAscent","lw","nbDashes","rdx","nbDots","sv","nbWaves","rwx","iii","28045","LEADING","TRAILING","splitWords","copyStyle","normalizeTextArray","getOneWord","tmpWords","normalizeString","lastWord","getStyleProperty","firstWord","wrapWords","leadingIndent","fontName","preserveLeadingSpaces","preserveTrailingSpaces","leadingSpaces","trailingSpaces","currentLineWidth","measured","getTrimmedWidth","angleRad","73602","callbacks","innerFunction","70457","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","autoBom","MouseEvent","initMouseEvent","HTMLAnchorElement","msSaveOrOpenBlob","innerText","HTMLElement","safari","onloadend","89233","cloneDeep","brotli","fontkit","_applyDecoratedDescriptor","decorators","initializer","decorator","memoized","registerFormat","openSync","probe","getFont","defaultLanguage","setDefaultLanguage","SubHeader","firstCode","entryCount","idDelta","idRangeOffset","CmapGroup","startCharCode","endCharCode","glyphID","UnicodeValueRange","startUnicodeValue","additionalCount","UVSMapping","unicodeValue","DefaultUVS","NonDefaultUVS","VarSelectorRecord","varSelector","defaultUVS","nonDefaultUVS","CmapSubtable","codeMap","subHeaderKeys","subHeaderCount","subHeaders","glyphIndexArray","segCountX2","segCount","searchRange","entrySelector","rangeShift","endCode","reservedPad","startCode","glyphIndices","is32","nGroups","numRecords","varSelectors","CmapEntry","platformID","encodingID","numSubtables","revision","checkSumAdjustment","magicNumber","created","modified","xMin","yMin","xMax","yMax","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","hhea","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","HmtxEntry","bearing","hmtx","metrics","bearings","maxp","numGlyphs","maxPoints","maxContours","maxComponentPoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","getEncoding","languageID","MAC_LANGUAGE_ENCODINGS","ENCODINGS","40","143","146","LANGUAGES","60","90","61","91","62","92","63","93","64","94","65","66","67","68","131","132","70","133","41","71","42","72","135","43","73","44","74","137","45","75","138","46","76","139","47","140","48","78","141","49","79","142","50","80","51","81","144","52","82","145","53","83","54","84","147","55","85","148","56","86","149","57","87","150","58","88","151","59","89","NameRecord","nameID","stringOffset","LangTagRecord","NameTable","langTagCount","langTags","NAMES","en","OS2","xAvgCharWidth","usWeightClass","usWidthClass","fsType","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","ulCharRange","vendorID","fsSelection","usFirstCharIndex","usLastCharIndex","typoAscender","typoDescender","typoLineGap","winAscent","winDescent","codePageRange","breakChar","maxContent","usLowerOpticalPointSize","usUpperOpticalPointSize","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","numberOfGlyphs","glyphNameIndex","2.5","cvt","controlValues","fpgm","instructions","loca","prep","controlValueProgram","glyf","CFFIndex","getCFFVersion","hdrSize","offSize","startPos","_i22","_sizes","_step3","_iterator3","_item","FLOAT_EOF","FLOAT_LOOKUP","FLOAT_ENCODE_LOOKUP","CFFOperand","forceLarge","CFFDict","_step4","_iterator4","decodeOperands","operands","encodeOperands","_field","_step5","_iterator5","_step6","_iterator6","_step7","_iterator7","_step8","_iterator8","_op","CFFPointer","_r$Pointer","_proto3","Ptr","_proto4","CFFBlendOp","numBlends","CFFPrivateDict","standardStrings","StandardEncoding","ExpertEncoding","ISOAdobeCharset","ExpertCharset","ExpertSubsetCharset","LangSysTable","reqFeatureIndex","featureCount","featureIndexes","LangSysRecord","langSys","Script","defaultLangSys","langSysRecords","ScriptRecord","ScriptList","Feature","featureParams","lookupCount","lookupListIndexes","FeatureRecord","FeatureList","LookupFlags","markAttachmentType","LookupList","SubTable","Lookup","lookupType","subTableCount","subTables","markFilteringSet","useMarkFilteringSet","RangeRecord","startCoverageIndex","Coverage","glyphCount","rangeCount","rangeRecords","ClassRangeRecord","ClassDef","startGlyph","classValueArray","classRangeCount","classRangeRecord","Device","deltaFormat","LookupRecord","sequenceIndex","lookupListIndex","Rule","lookupRecords","RuleSet","ClassRule","ClassSet","coverage","ruleSetCount","ruleSets","classDef","classSetCnt","classSet","coverages","ChainRule","backtrackGlyphCount","backtrack","inputGlyphCount","lookaheadGlyphCount","ChainRuleSet","ChainingContext","chainCount","chainRuleSets","backtrackClassDef","inputClassDef","lookaheadClassDef","chainClassSet","backtrackCoverage","inputCoverage","lookaheadCoverage","F2DOT14","RegionAxisCoordinates","startCoord","peakCoord","endCoord","VariationRegionList","axisCount","regionCount","variationRegions","DeltaSet","shortDeltas","shortDeltaCount","regionDeltas","regionIndexCount","deltas","ItemVariationData","itemCount","regionIndexes","deltaSets","ItemVariationStore","variationRegionList","variationDataCount","itemVariationData","ConditionTable","axisIndex","filterRangeMinValue","filterRangeMaxValue","ConditionSet","conditionCount","conditionTable","FeatureTableSubstitutionRecord","featureIndex","alternateFeatureTable","FeatureTableSubstitution","substitutionCount","substitutions","FeatureVariationRecord","conditionSet","featureTableSubstitution","FeatureVariations","majorVersion","minorVersion","featureVariationRecordCount","featureVariationRecords","PredefinedOp","predefinedOps","_proto5","CFFEncodingVersion","_r$Number","_proto6","Range1","nLeft","Range2","CFFCustomEncoding","nCodes","nRanges","CFFEncoding","RangeArray","_r$Array","_proto7","CFFCustomCharset","CharStrings","CFFCharset","FDRange3","fd","FDRange4","FDSelect","fds","sentinel","CFFPrivateOp","_proto8","FontDict","CFFTopDict","VariationStore","itemVariationStore","CFF2TopDict","CFFTop","nameIndex","topDictIndex","stringIndex","globalSubrIndex","topDict","CFFFont","_proto9","isCIDFont","ROS","getCharString","getGlyphName","fdForGlyph","privateDictForGlyph","FDArray","Private","FullName","FamilyName","VerticalOrigin","glyphIndex","vertOriginY","VORG","defaultVertOriginY","numVertOriginYMetrics","BigMetrics","horiBearingX","horiBearingY","horiAdvance","vertBearingX","vertBearingY","vertAdvance","SmallMetrics","bearingX","bearingY","EBDTComponent","ByteAligned","BitAligned","SBitLineMetrics","numComponents","dataLen","widthMax","caretSlopeNumerator","caretSlopeDenominator","minOriginSB","minAdvanceSB","maxBeforeBL","minAfterBL","CodeOffsetPair","glyphCode","IndexSubtable","imageFormat","imageDataOffset","offsetArray","lastGlyphIndex","firstGlyphIndex","imageSize","bigMetrics","glyphArray","glyphCodeArray","IndexSubtableArray","BitmapSizeTable","indexSubTableArray","indexTablesSize","numberOfIndexSubTables","colorRef","hori","vert","startGlyphIndex","endGlyphIndex","ppemX","ppemY","bitDepth","EBLC","numSizes","ImageTable","ppem","imageOffsets","sbix","numImgTables","imageTables","LayerRecord","paletteIndex","BaseGlyphRecord","firstLayerIndex","numLayers","COLR","numBaseGlyphRecords","baseGlyphRecord","layerRecords","numLayerRecords","ColorRecord","CPAL","numPaletteEntries","numPalettes","numColorRecords","colorRecords","colorRecordIndices","offsetPaletteTypeArray","offsetPaletteLabelArray","offsetPaletteEntryLabelArray","BaseCoord","coordinate","referenceGlyph","baseCoordPoint","deviceTable","BaseValues","defaultIndex","baseCoordCount","baseCoords","FeatMinMaxRecord","minCoord","maxCoord","MinMax","featMinMaxCount","featMinMaxRecords","BaseLangSysRecord","minMax","BaseScript","baseValues","defaultMinMax","baseLangSysCount","baseLangSysRecords","BaseScriptRecord","BaseScriptList","BaseTagList","Axis","baseTagList","baseScriptList","horizAxis","vertAxis","AttachPoint","AttachList","attachPoints","CaretValue","caretValuePoint","LigGlyph","LigCaretList","ligGlyphCount","ligGlyphs","MarkGlyphSetsDef","markSetTableFormat","markSetCount","GDEF","glyphClassDef","attachList","ligCaretList","markAttachClassDef","markGlyphSetsDef","ValueFormat","xPlacement","yPlacement","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice","ValueRecord","_proto10","buildStruct","PairValueRecord","secondGlyph","value1","value2","PairSet","Class2Record","Anchor","xCoordinate","yCoordinate","anchorPoint","xDeviceTable","yDeviceTable","EntryExitRecord","entryAnchor","exitAnchor","MarkRecord","markAnchor","MarkArray","BaseRecord","classCount","BaseArray","ComponentRecord","LigatureAttach","LigatureArray","GPOSLookup","valueFormat","valueCount","valueFormat1","valueFormat2","pairSetCount","pairSets","classDef1","classDef2","class1Count","class2Count","classRecords","entryExitCount","entryExitRecords","markCoverage","baseCoverage","markArray","baseArray","ligatureCoverage","ligatureArray","mark1Coverage","mark2Coverage","mark1Array","mark2Array","posFormat","extension","GPOS","scriptList","featureList","lookupList","featureVariations","Sequence","AlternateSet","Ligature","compCount","LigatureSet","GSUBLookup","deltaGlyphID","substitute","substFormat","alternateSet","ligatureSets","substitutes","GSUB","JstfGSUBModList","JstfPriority","shrinkageEnableGSUB","shrinkageDisableGSUB","shrinkageEnableGPOS","shrinkageDisableGPOS","shrinkageJstfMax","extensionEnableGSUB","extensionDisableGSUB","extensionEnableGPOS","extensionDisableGPOS","extensionJstfMax","JstfLangSys","JstfLangSysRecord","jstfLangSys","JstfScript","extenderGlyphs","langSysCount","JstfScriptRecord","JSTF","scriptCount","VariableSizeNumber","_proto11","MapDataEntry","entryFormat","outerIndex","innerIndex","DeltaSetIndexMap","mapCount","mapData","HVAR","advanceWidthMapping","LSBMapping","RSBMapping","Signature","SignatureBlock","cbSignature","DSIG","ulVersion","usNumSigs","usFlag","signatureBlocks","GaspRange","rangeMaxPPEM","rangeGaspBehavior","gasp","numRanges","gaspRanges","DeviceRecord","pixelSize","maximumWidth","hdmx","sizeDeviceRecord","KernPair","ClassTable","firstGlyph","nGlyphs","Kern2Array","leftTable","rowWidth","KernSubtable","nPairs","pairs","rightTable","kernValueCount","leftClassCount","rightClassCount","kernValue","leftClass","rightClass","kernIndex","KernTable","subVersion","tupleIndex","kern","nTables","LTSH","yPels","PCLT","fontNumber","pitch","typeFamily","symbolSet","typeface","characterComplement","strokeWeight","widthType","serifStyle","Ratio","xRatio","yStartRatio","yEndRatio","vTable","yPelHeight","VdmxGroup","recs","startsz","endsz","VDMX","numRecs","numRatios","ratioRanges","vhea","advanceHeightMax","minTopSideBearing","minBottomSideBearing","yMaxExtent","VmtxEntry","vmtx","shortFrac","Correspondence","fromCoord","toCoord","Segment","pairCount","correspondence","avar","UnboundedArrayAccessor","_proto12","UnboundedArray","_r$Array2","_proto13","LookupTable","ValueType","Shadow","_proto14","BinarySearchHeader","unitSize","nUnits","LookupSegmentSingle","lastGlyph","LookupSegmentArray","LookupSingle","binarySearchHeader","StateTable","entryData","newState","Entry","StateArray","nClasses","StateHeader","classTable","stateArray","entryTable","StateTable1","ClassLookupTable","newStateOffset","StateHeader1","BslnSubtable","mappingData","standardGlyph","controlPoints","bsln","defaultBaseline","Setting","setting","FeatureName","nSettings","settingTable","featureFlags","defaultSetting","feat","featureNameCount","reserved1","reserved2","featureNames","Axis$1","axisTag","minValue","maxValue","Instance","postscriptNameID","instanceSize","fvar","offsetToData","countSizePairs","axisSize","axis","shortFrac$1","gvar","globalCoordCount","globalCoords","ClassTable$1","subFeatureFlags","WidthDeltaRecord","justClass","beforeGrowLimit","beforeShrinkLimit","afterGrowLimit","afterShrinkLimit","growFlags","shrinkFlags","WidthDeltaCluster","ActionData","lowerLimit","upperLimit","addGlyph","substThreshold","substGlyph","variationAxis","minimumLimit","noStretchValue","maximumLimit","Action","actionClass","actionType","actionLength","actionData","PostcompensationAction","PostCompensationTable","lookupTable","JustificationTable","wdcOffset","postCompensationTable","widthDeltaClusters","just","LigatureData","action","ContextualData","markIndex","InsertionData","currentInsertIndex","markedInsertIndex","SubstitutionTable","SubtableData","substitutionTable","ligatureActions","ligatureList","insertionActions","Subtable","FeatureEntry","featureType","featureSetting","enableFlags","disableFlags","MorxChain","defaultFlags","chainLength","nFeatureEntries","nSubtables","subtables","morx","unused","nChains","OpticalBounds","opbd","CBLC","_class","TableEntry","checkSum","numTables","binarySearch","_step9","_iterator9","tables$1","maxExponentFor2","maxPowerOf2","CmapProcessor","cmapTable","findSubtable","_step10","_iterator10","uvs","_proto15","_step11","_iterator11","_step12","_step11$value","_iterator12","variationSelector","getVariationSelector","rangeOffset","_gid","_mid","sel","getCharacterSet","endCodes","_step13","_iterator13","codePointsForGlyph","_res2","_step14","_res3","_iterator14","_step15","_res4","_iterator15","_group","KernProcessor","_proto16","getKerning","_step16","_iterator16","crossStream","variation","pairIdx","pair","rightOffset","UnicodeLayoutEngine","_proto17","positionGlyphs","clusterStart","clusterEnd","isMark","positionCluster","baseBox","cbox","yGap","markBox","combiningClass","getCombiningClass","_proto18","addPoint","UNICODE_SCRIPTS","Caucasian_Albanian","Arabic","Imperial_Aramaic","Armenian","Avestan","Balinese","Bamum","Bassa_Vah","Batak","Bengali","Bopomofo","Brahmi","Braille","Buginese","Buhid","Chakma","Canadian_Aboriginal","Carian","Cham","Cherokee","Coptic","Cypriot","Cyrillic","Devanagari","Deseret","Duployan","Egyptian_Hieroglyphs","Elbasan","Ethiopic","Georgian","Glagolitic","Gothic","Grantha","Greek","Gujarati","Gurmukhi","Hangul","Han","Hanunoo","Hebrew","Hiragana","Pahawh_Hmong","Katakana_Or_Hiragana","Old_Italic","Javanese","Kayah_Li","Katakana","Kharoshthi","Khmer","Khojki","Kannada","Kaithi","Tai_Tham","Lao","Latin","Lepcha","Limbu","Linear_A","Linear_B","Lisu","Lycian","Lydian","Mahajani","Mandaic","Manichaean","Mende_Kikakui","Meroitic_Cursive","Meroitic_Hieroglyphs","Malayalam","Modi","Mongolian","Mro","Meetei_Mayek","Myanmar","Old_North_Arabian","Nabataean","Nko","Ogham","Ol_Chiki","Old_Turkic","Oriya","Osmanya","Palmyrene","Pau_Cin_Hau","Old_Permic","Phags_Pa","Inscriptional_Pahlavi","Psalter_Pahlavi","Phoenician","Miao","Inscriptional_Parthian","Rejang","Runic","Samaritan","Old_South_Arabian","Saurashtra","Shavian","Sharada","Siddham","Khudawadi","Sinhala","Sora_Sompeng","Sundanese","Syloti_Nagri","Syriac","Tagbanwa","Takri","Tai_Le","New_Tai_Lue","Tamil","Tai_Viet","Telugu","Tifinagh","Tagalog","Thaana","Thai","Tibetan","Tirhuta","Ugaritic","Vai","Warang_Citi","Old_Persian","Cuneiform","Inherited","Common","Unknown","OPENTYPE_SCRIPTS","_step17","_iterator17","fromOpenType","forString","_script","getScript","forCodePoints","_script2","arab","hebr","syrc","thaa","cprt","khar","phnx","lydi","avst","armi","phli","prti","sarb","orkh","samr","mand","merc","mero","mani","mend","nbat","narb","palm","phlp","GlyphRun","direction$1","_step18","_iterator18","_step19","_iterator19","_step20","_iterator20","GlyphPosition","allTypographicFeatures","exclusive","allTypeFeatures","ligatures","requiredLigatures","commonLigatures","rareLigatures","rebusPictures","diphthongLigatures","squaredLigatures","abbrevSquaredLigatures","symbolLigatures","contextualLigatures","historicalLigatures","cursiveConnection","unconnected","partiallyConnected","cursive","letterCase","verticalSubstitution","substituteVerticalForms","linguisticRearrangement","numberSpacing","monospacedNumbers","proportionalNumbers","thirdWidthNumbers","quarterWidthNumbers","smartSwash","wordInitialSwashes","wordFinalSwashes","nonFinalSwashes","diacritics","showDiacritics","hideDiacritics","decomposeDiacritics","verticalPosition","normalPosition","superiors","inferiors","ordinals","scientificInferiors","fractions","noFractions","verticalFractions","diagonalFractions","overlappingCharacters","preventOverlap","typographicExtras","slashedZero","mathematicalExtras","mathematicalGreek","ornamentSets","noOrnaments","dingbats","piCharacters","fleurons","decorativeBorders","internationalSymbols","mathSymbols","characterAlternatives","noAlternates","designComplexity","designLevel1","designLevel2","designLevel3","designLevel4","designLevel5","styleOptions","noStyleOptions","displayText","engravedText","illuminatedCaps","titlingCaps","tallCaps","characterShape","traditionalCharacters","simplifiedCharacters","JIS1978Characters","JIS1983Characters","JIS1990Characters","traditionalAltOne","traditionalAltTwo","traditionalAltThree","traditionalAltFour","traditionalAltFive","expertCharacters","JIS2004Characters","hojoCharacters","NLCCharacters","traditionalNamesCharacters","numberCase","lowerCaseNumbers","upperCaseNumbers","textSpacing","proportionalText","monospacedText","halfWidthText","thirdWidthText","quarterWidthText","altProportionalText","altHalfWidthText","transliteration","noTransliteration","annotation","noAnnotation","boxAnnotation","roundedBoxAnnotation","circleAnnotation","invertedCircleAnnotation","parenthesisAnnotation","periodAnnotation","romanNumeralAnnotation","diamondAnnotation","invertedBoxAnnotation","invertedRoundedBoxAnnotation","kanaSpacing","fullWidthKana","proportionalKana","ideographicSpacing","fullWidthIdeographs","proportionalIdeographs","halfWidthIdeographs","unicodeDecomposition","canonicalComposition","compatibilityComposition","transcodingComposition","rubyKana","CJKSymbolAlternatives","noCJKSymbolAlternatives","CJKSymbolAltOne","CJKSymbolAltTwo","CJKSymbolAltThree","CJKSymbolAltFour","CJKSymbolAltFive","ideographicAlternatives","noIdeographicAlternatives","ideographicAltOne","ideographicAltTwo","ideographicAltThree","ideographicAltFour","ideographicAltFive","CJKVerticalRomanPlacement","CJKVerticalRomanCentered","CJKVerticalRomanHBaseline","italicCJKRoman","CJKItalicRoman","caseSensitiveLayout","caseSensitiveSpacing","alternateKana","alternateHorizKana","alternateVertKana","stylisticAlternatives","noStylisticAlternates","stylisticAltOne","stylisticAltTwo","stylisticAltThree","stylisticAltFour","stylisticAltFive","stylisticAltSix","stylisticAltSeven","stylisticAltEight","stylisticAltNine","stylisticAltTen","stylisticAltEleven","stylisticAltTwelve","stylisticAltThirteen","stylisticAltFourteen","stylisticAltFifteen","stylisticAltSixteen","stylisticAltSeventeen","stylisticAltEighteen","stylisticAltNineteen","stylisticAltTwenty","contextualAlternates","swashAlternates","contextualSwashAlternates","lowerCase","defaultLowerCase","lowerCaseSmallCaps","lowerCasePetiteCaps","upperCase","defaultUpperCase","upperCaseSmallCaps","upperCasePetiteCaps","languageTag","CJKRomanSpacing","halfWidthCJKRoman","proportionalCJKRoman","defaultCJKRoman","fullWidthCJKRoman","OTMapping","rlig","clig","dlig","hlig","liga","hist","smcp","pcap","dnom","numr","afrc","case","ccmp","cpct","valt","swsh","cswh","curs","c2pc","c2sc","fin2","medi","med2","fin3","fina","pkna","halt","hkna","vkna","ital","lnum","onum","mgrk","calt","vrt2","tnum","pnum","sups","subs","ordn","pwid","hwid","qwid","twid","fwid","palt","trad","smpl","jp78","jp83","jp90","jp04","hojo","nlck","tnam","ruby","titl","ss01","ss02","ss03","ss04","ss05","ss06","ss07","ss08","ss09","ss10","ss11","ss12","ss13","ss14","ss15","ss16","ss17","ss18","ss19","ss20","_class$1","AATMapping","aat","mapOTToAAT","mapFeatureStrings","typeCode","settingCode","mapAATToOT","_feature","_class$2","AATLookupTable","_proto19","glyphsForValue","classValue","_step21","_iterator21","_step22","_iterator22","_segment","START_OF_TEXT_STATE","END_OF_TEXT_CLASS","OUT_OF_BOUNDS_CLASS","DELETED_GLYPH_CLASS","DONT_ADVANCE","AATStateMachine","_proto20","processEntry","currentState","classCode","shouldAdvance","entryIndex","traverse","visited","_this$stateTable","_step23","_iterator23","MARK_FIRST","MARK_LAST","VERB","SET_MARK","SET_COMPONENT","PERFORM_ACTION","LAST_MASK","STORE_MASK","OFFSET_MASK","REVERSE_DIRECTION","CURRENT_INSERT_BEFORE","MARKED_INSERT_BEFORE","CURRENT_INSERT_COUNT","MARKED_INSERT_COUNT","AATMorxProcessor","processIndicRearragement","processContextualSubstitution","processLigature","processNoncontextualSubstitutions","processGlyphInsertion","inputCache","_proto21","_step24","_iterator24","_step25","_iterator25","_step26","_iterator26","processSubtable","ligatureStack","markedGlyph","markedIndex","stateMachine","getStateMachine","getProcessor","reorderGlyphs","subsitutions","_lookup","_lookupTable","_this$ligatureStack","actionIndex","ligatureIndex","ligatureGlyphs","componentGlyph","ligatureEntry","_insertGlyphs","insertionActionIndex","isBefore","_this$glyphs","insertions","_count","_isBefore","getSupportedFeatures","_step27","_iterator27","_step28","_iterator28","generateInputs","generateInputCache","_step29","_iterator29","_step30","_iterator30","generateInputsForSubtable","_stack$pop","rangeA","rangeB","reverseA","reverseB","AATLayoutEngine","morxProcessor","fallbackPosition","_proto22","glyphRun","getAvailableFeatures","stringsForGlyph","_step31","glyphStrings","_iterator31","_addStrings","_step32","_cmapProcessor","_iterator32","ShapingPlan","stages","globalFeatures","allFeatures","_proto23","_addFeatures","_step33","stageIndex","stage","_iterator33","addStage","setFeatureOverrides","assignGlobalFeatures","_step34","_iterator34","_step35","_iterator35","applyFeatures","VARIATION_FEATURES","COMMON_FEATURES","FRACTIONAL_FEATURES","HORIZONTAL_FEATURES","DIRECTIONAL_FEATURES","ltr","rtl","DefaultShaper","plan","_plan","planPreprocessing","planFeatures","planPostprocessing","assignFeatures","userFeatures","trie","ShapingClasses","Non_Joining","Left_Joining","Right_Joining","Dual_Joining","Join_Causing","ALAPH","Transparent","ISOL","FINA","FIN2","FIN3","MEDI","MED2","INIT","STATE_TABLE","ArabicShaper","_DefaultShaper","curAction","prevAction","getShapingClass","_STATE_TABLE$state$ty","getCategory","GlyphIterator","_proto24","shouldIgnore","ignoreMarks","ignoreBaseGlyphs","ignoreLigatures","isLigature","peek","peekIndex","DEFAULT_SCRIPTS","OTProcessor","lookups","variationsIndex","_variationProcessor","findVariationsIndex","normalizedCoords","selectScript","ligatureID","currentFeature","_proto25","findScript","_step36","_iterator36","_step37","_iterator37","_step38","_iterator38","_step39","_iterator39","substituteFeature","substituteFeatureForVariations","lookupsForFeatures","exclude","_step40","_iterator40","_step41","_iterator41","lookupIndex","_step42","_iterator42","substitution","variations","conditions","variationConditionsMatch","applyLookups","glyphIterator","_step43","_iterator43","_step43$value","_step44","_iterator44","applyLookup","applyLookupList","_step45","_iterator45","lookupRecord","_step46","_iterator46","coverageIndex","_step47","_iterator47","sequenceMatches","sequenceMatchIndices","coverageSequenceMatches","getClassID","_step48","_iterator48","classSequenceMatches","_this6","classID","applyContext","_step49","_iterator49","_step50","_iterator50","_rule","applyChainingContext","_step51","_iterator51","_step52","_iterator52","_rule2","GlyphInfo","ligatureComponent","isLigated","cursiveAttachment","markAttachment","shaperInfo","substituted","isMultiplied","_proto26","HangulShaper","_DefaultShaper2","_STATE_TABLE$1$state$","STATE_TABLE$1","DECOMPOSE","hasGlyphForCodePoint","decompose","COMPOSE","compose","TONE_MARK","reorderToneMark","INVALID","insertDottedCircle","HANGUL_BASE","HANGUL_END","HANGUL_COUNT","L_BASE","V_BASE","T_BASE","L_COUNT","V_COUNT","T_COUNT","L_END","V_END","T_END","DOTTED_CIRCLE","isL","isV","isT","isTone","isLVT","isLV","isCombiningL","isCombiningV","isCombiningT","NO_ACTION","glyphForCodePoint","ljmo","vjmo","tjmo","lv","prevType","dottedCircle","indicMachine","decompositions","stateTable$1","accepting$1","tags$1","useData","CATEGORIES","ZWNJ","SM","VD","Placeholder","Dotted_Circle","Coeng","Repha","Ra","POSITIONS","Start","Ra_To_Become_Reph","Pre_M","Pre_C","Base_C","After_Main","Above_C","Before_Sub","Below_C","After_Sub","Before_Post","Post_C","After_Post","Final_C","SMVD","End","CONSONANT_FLAGS","JOINER_FLAGS","HALANT_OR_COENG_FLAGS","INDIC_CONFIGS","Default","hasOldSpec","virama","basePos","rephPos","rephMode","blwfMode","INDIC_DECOMPOSITIONS","decompositions$1","trie$1","IndicShaper","_DefaultShaper3","setupSyllables","initialReordering","finalReordering","unicodeScript","indicConfig","isOldSpec","decomposed","indicCategory","indicPosition","IndicInfo","syllableType","syllable","_step53","_iterator53","_step53$value","isConsonant","isJoiner","isHalantOrCoeng","wouldSubstitute","_step54","_iterator54","_glyph$features","_layoutEngine","GSUBProcessor","consonantPosition","consonant","nextSyllable","_glyphs$start$shaperI","hasReph","rphf","seenBelow","_info2","disallowDoubleHalants","_i9","_info3","_i10","_i11","_i12","blwf","_i13","_i14","abvf","pstf","_i15","prefLen","_i16","_g2","cfar","_i17","nonJoiner","tryPref","BASE_C","_i18","newPos","_i19","oldPos","newRephPos","_i20","reph","_i21","_newPos","_oldPos2","_oldPos","_tmp","categories$1","decompositions$2","trie$2","stateMachine$1","UniversalShaper","_DefaultShaper4","setupSyllables$1","clearSubstitutionFlags","recordRphf","recordPref","reorder","useCategory","USEInfo","_step55","_iterator55","_step55$value","_step56","_iterator56","_step57","_iterator57","_step58","_iterator58","nextSyllable$1","isHalant","SHAPERS","mong","phag","hang","bng2","beng","dev2","deva","gjr2","gujr","guru","gur2","knda","knd2","mlm2","mlym","ory2","orya","taml","tml2","telu","tel2","khmr","bali","batk","brah","bugi","buhd","cakm","cham","dupl","egyp","gran","hano","java","kthi","kali","khoj","sind","lepc","limb","mahj","mtei","modi","hmng","rjng","saur","shrd","sidd","sund","sylo","tglg","tagb","tale","lana","tavt","takr","tibt","tfng","tirh","latn","DFLT","choose","_step59","_iterator59","shaper","_OTProcessor","_proto27","_this7","_this$glyphs2","curGlyph","_index2","USER_INDEX","_index3","_step60","_iterator60","ligature","_step61","_curGlyph","_iterator61","_characters","_index4","ligatureGlyph","isMarkLigature","_step62","lastLigID","lastNumComps","curComps","_iterator62","matchIndex","GPOSProcessor","_OTProcessor2","_proto28","applyPositionValue","variationProcessor","variationStore","getDelta","nextGlyph","_step63","_iterator63","_pair","class1","class2","_nextGlyph","curRecord","nextRecord","getAnchor","baseGlyphIndex","baseIndex","markRecord","baseAnchor","applyAnchor","_markIndex","_baseGlyphIndex","ligIndex","ligAttach","markGlyph","ligGlyph","compIndex","_markRecord","_baseAnchor","mark1Index","_cur","good","mark2Index","_markRecord2","_baseAnchor2","markCoords","markPos","anchor","fixCursiveAttachment","fixMarkAttachment","OTLayoutEngine","glyphInfos","_proto29","setup","_this8","_this9","glyphInfo","zeroMarkWidths","zeroMarkAdvances","LayoutEngine","unicodeLayoutEngine","kernProcessor","_proto30","_step64","_iterator64","hideDefaultIgnorables","positioned","isDefaultIgnorable","_step65","_iterator65","_step66","_iterator66","SVG_COMMANDS","Path","_bbox","_cbox","_proto31","toFunction","_this10","toSVG","mapPoints","_step67","_iterator67","_fn","_step68","_iterator68","_step69","_iterator69","_c$args","_c$args2","qp1x","qp1y","p3x","p3y","_c$args3","b2ac","_i23","_class$3","_class$4","StandardNames","Glyph","_proto32","_getPath","_getCBox","_getBBox","_getTableMetrics","metric","_getMetrics","_metrics","os2","_this$_getTableMetric","leftBearing","_this$_getTableMetric2","advanceHeight","topBearing","getAdvanceAdjustment","getScaledPath","_getName","GlyfHeader","numberOfContours","ON_CURVE","X_SHORT_VECTOR","Y_SHORT_VECTOR","REPEAT","SAME_X","SAME_Y","ARG_1_AND_2_ARE_WORDS","WE_HAVE_A_SCALE","MORE_COMPONENTS","WE_HAVE_AN_X_AND_Y_SCALE","WE_HAVE_A_TWO_BY_TWO","WE_HAVE_INSTRUCTIONS","Point","onCurve","endContour","_proto33","Component","scale01","scale10","TTFGlyph","_Glyph","_proto34","_getTableStream","_parseGlyphCoord","same","_decode","glyfPos","nextPos","_decodeSimple","_decodeComposite","endPtsOfContours","numCoords","_getPhantomPoints","transformPoints","phantomPoints","haveInstructions","gPos","_this$_metrics","_getContours","_step70","_iterator70","_contours","contour","directory","contours","firstPt","lastPt","curvePt","prevPt","CFFGlyph","_Glyph2","_proto35","CFF2","usedGsubrs","usedSubrs","nStems","_usedGsubrs","_usedSubrs","gsubrs","gsubrsBias","privateDict","subrs","Subrs","subrsBias","vstore","vsindex","checkWidth","nominalWidthX","parseStems","subr","blendVector","getBlendVector","numOperands","c3x","c3y","c4x","c4y","c5x","c5y","c6x","c6y","pts","startx","starty","SBIXImage","originX","originY","buflen","SBIXGlyph","_TTFGlyph","_proto36","getImageForSize","renderOutlines","COLRLayer","COLRGlyph","_Glyph3","_proto37","layer","_step71","_iterator71","_step71$value","cpal","colr","baseLayer","_getBaseGlyph","TUPLES_SHARE_POINT_NUMBERS","TUPLE_COUNT_MASK","EMBEDDED_TUPLE_COORD","INTERMEDIATE_TUPLE","PRIVATE_POINT_NUMBERS","TUPLE_INDEX_MASK","POINTS_ARE_WORDS","POINT_RUN_COUNT_MASK","DELTAS_ARE_ZERO","DELTAS_ARE_WORDS","DELTA_RUN_COUNT_MASK","GlyphVariationProcessor","normalizeCoords","blendVectors","_proto38","glyphPoints","tupleCount","sharedPoints","decodePoints","origPoints","tupleDataSize","tupleCoords","startCoords","endCoords","tupleFactor","nPoints","xDeltas","decodeDeltas","yDeltas","outPoints","hasDelta","interpolateMissingDeltas","runCount","inPoints","firstPoint","firstDelta","curDelta","deltaInterpolate","deltaShift","ref1","ref2","in1","in2","out1","out2","_table$advanceWidthMa","itemStore","varData","deltaSet","netAdjustment","master","regionIndex","axes","axisScalar","Subset","_proto39","_this11","ON_CURVE$1","X_SHORT_VECTOR$1","Y_SHORT_VECTOR$1","REPEAT$1","SAME_X$1","SAME_Y$1","Point$1","Glyf","xPoints","yPoints","TTFGlyphEncoder","_proto40","encodeSimple","lastX","lastY","lastFlag","pointCount","_encodePoint","shortFlag","sameFlag","TTFSubset","_Subset","_this12","glyphEncoder","_proto41","_addGlyph","curOffset","nextOffset","_step72","_iterator72","CFFSubset","_Subset2","_this13","_proto42","subsetCharstrings","charstrings","_step73","_iterator73","subsetSubrs","subsetFontdict","_step74","used_fds","used_subrs","fd_select","_iterator74","createCIDFontdict","_step75","_iterator75","addString","_i24","_arr2","CIDCount","TTFFont","variationCoords","_directoryPos","_tables","_glyphs","_decodeDirectory","_getTable","_proto43","_decodeTable","logErrors","getName","getVariation","settings","namedVariations","_step76","_iterator76","_step77","_iterator77","WOFFDirectoryEntry","compLength","origChecksum","WOFFDirectory","flavor","totalSfntSize","metaOffset","metaLength","metaOrigLength","privOffset","privLength","_step78","_iterator78","WOFFFont","_TTFFont","_proto44","outBuffer","WOFF2Glyph","_TTFGlyph2","_proto45","_transformedGlyphs","Base128","knownTags","WOFF2DirectoryEntry","customTag","transformVersion","transformed","transformLength","WOFF2Directory","totalCompressedSize","WOFF2Font","_TTFFont2","_proto46","_dataPos","_decompress","_decompressed","decompressedSize","_transformGlyfTable","GlyfTable","nContours","totalPoints","read255UInt16","decodeTriplet","composites","Substream","_buf","_proto47","indexFormat","nContourStreamSize","nPointsStreamSize","flagStreamSize","glyphStreamSize","compositeStreamSize","bboxStreamSize","instructionStreamSize","bboxes","WORD_CODE","ONE_MORE_BYTE_CODE2","ONE_MORE_BYTE_CODE1","LOWEST_U_CODE","withSign","baseval","b0","TTCHeader","numFonts","dsigTag","dsigLength","dsigOffset","TrueTypeCollection","_proto48","_step79","_iterator79","_step80","_iterator80","DFontName","nameOffset","dataOffset","maxTypeIndex","refList","TypeList","DFontMap","nameListOffset","DFontHeader","dataLength","mapLength","DFont","_step82","_iterator82","_step83","_iterator83","sfnt","_step81","_iterator81","_proto49","_step84","_iterator84","_step85","_iterator85","46982","classTrie","mapClass","mapFirst","curClass","nextClass","LB8a","LB21a","LB30a","nextCodePoint","nextCharClass","getSimpleBreak","getPairTableBreak","lastClass","shouldBreak","firstClass","42480","25832","69862","40964","14343","possibleNames","51348","$c5L0i$base64js","$c5L0i$unicodetrie","$parcel$interopDefault","$parcel$defineInteropFlag","$parcel$export","$43d7963e56408b24$export$410364bbb673ddbc","$43d7963e56408b24$export$c03b919c6651ed55","$43d7963e56408b24$export$941569448d136665","$43d7963e56408b24$export$92f6187db8ca6d26","$43d7963e56408b24$export$7d1258ebb7625a0d","$43d7963e56408b24$export$52c8ea63abd07594","$43d7963e56408b24$export$727d9dbc4fbb948f","$43d7963e56408b24$export$a5b49f4dc6a07d2c","$43d7963e56408b24$export$7b6804e8df61fcf5","$43d7963e56408b24$export$aebd617640818cda","$43d7963e56408b24$export$de8b4ee23b2cf823","$43d7963e56408b24$export$3c52dd84024ae72c","$43d7963e56408b24$export$a11bdcffe109e74b","$43d7963e56408b24$export$e33ad6871e762338","$43d7963e56408b24$export$2e2bcd8739ae039","$29668e65f2091c2c$exports","$43d7963e56408b24$var$trie","$43d7963e56408b24$var$log2","$43d7963e56408b24$var$bits","$43d7963e56408b24$var$CATEGORY_BITS","$43d7963e56408b24$var$COMBINING_BITS","combiningClasses","$43d7963e56408b24$var$SCRIPT_BITS","$43d7963e56408b24$var$EAW_BITS","eaw","$43d7963e56408b24$var$NUMBER_BITS","$43d7963e56408b24$var$CATEGORY_SHIFT","$43d7963e56408b24$var$COMBINING_SHIFT","$43d7963e56408b24$var$SCRIPT_SHIFT","$43d7963e56408b24$var$EAW_SHIFT","$43d7963e56408b24$var$CATEGORY_MASK","$43d7963e56408b24$var$COMBINING_MASK","$43d7963e56408b24$var$SCRIPT_MASK","$43d7963e56408b24$var$EAW_MASK","$43d7963e56408b24$var$NUMBER_MASK","getEastAsianWidth","getNumericValue","isAlphabetic","isPunctuation","isLowerCase","isUpperCase","isTitleCase","isBaseForm","63480","13336","77348","74284","31532","36258","44346","27014","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_exports__","a0","a5","a6","a7","a8","a9","b6","b7","b9","b10","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","unsubscribe","yt","compressPdf","textColor","drawColor","charSpace","R2L","et","nt","subject","keywords","hotfixes","ch1","ch2","ch3","ch4","pdfColorType","RGBColor","objectNumber","newObject","isAlreadyPutted","postScriptName","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","disableWarning","noFallback","st","adler32cs","API","Deflater","objId","ut","getUserMedia","unload","alert","pdfEscape","getFontSize","getCharSpace","getTextColor","getLineHeight","getCoordinateString","getVerticalCoordinateString","collections","newAdditionalObject","newObjectDeferred","newObjectDeferredBegin","putStream","scaleFactor","getPageInfo","pageContext","getCurrentPageInfo","getPDFVersion","hasHotfix","insertPage","movePage","deletePage","setCreationDate","getCreationDate","setFileId","getFileId","setDisplayMode","TabLen","splitTextToSize","mutex","activeFontKey","activeFontSize","renderingMode","usedRenderingMode","getStringUnitWidth","lstext","clip_fixed","triangle","setProperties","setFont","setFontStyle","setFontType","getFontList","addFont","setLineWidth","setDrawColor","setFillColor","setCharSpace","setR2L","CapJoinStyles","butt","but","miter","projecting","project","bevel","setLineCap","setLineJoin","noToggleToOff","radio","pushbutton","fileSelect","doNotSpellCheck","doNotScroll","richText","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","xForms","acroFormDictionaryRoot","printedOut","isInitialized","acroformPlugin","hasAnnotation","annotationPlugin","_eventID","getString","hasAppearanceStream","FieldNum","PieceInfo","TI","_edit","_AppearanceType","RadioButton","Circle","createAppearanceStream","createMK","AS","_Name","setAppearance","__Kids","createOption","addField","CheckBox","createDefaultAppearanceStream","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","addTextField","addChoiceField","addButton","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","addHTML","rasterizeHTML","useFor","imageCompression","pagesplit","mozImageSmoothingEnabled","webkitImageSmoothingEnabled","msImageSmoothingEnabled","imageSmoothingEnabled","rstz","TIFF","JPEG2000","GIF87a","GIF89a","BMP","getImageFileTypeByImageData","color_spaces","INDEXED","pal","DEVICE_CMYK","bpc","trns","smask","arrayBufferToBinaryString","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","FAST","MEDIUM","SLOW","sHashCode","validateStringAsBase64","extractInfoFromBase64DataURI","supportsArrayBuffer","binaryStringToUint8Array","atob","arrayBufferToBase64","TextDecoder","createImageInfo","rotation","convertStringToImageData","loadImageFile","processJPEG","numcomponents","processJPG","overrideMimeType","responseText","getImageProperties","compressionMode","bitsPerComponent","notEmpty","_nameMap","magFactor","createAnnotation","textWithLink","getTextWidth","ur","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1649","1655","1657","1658","1659","1662","1663","1664","1667","1668","1670","1671","1672","1676","1677","1678","1681","1688","1700","1702","1705","1709","1711","1713","1715","1722","1723","1726","1728","1729","1733","1734","1735","1736","1737","1739","1740","1744","1746","1747","1612","1613","1614","1615","1616","processArabic","addJS","context2d","pageWrapX","pageWrapY","setHeaderFunction","getTextDimensions","table_font_size","cellAddPage","cellInitialize","printHeaders","tableHeaderRow","printHeaderRow","printingHeaderRow","arrayMax","autoSize","lnMod","prompt","calculateLineHeight","setTableHeaderRow","lastCellPos","table_x","table_y","ctxStack","pageWrapXEnabled","pageWrapYEnabled","_isFillTransparent","_wrapX","_wrapY","_matrix_map_rect","strokeRect","_isStrokeTransparent","clearRect","ignoreClearRect","setFillStyle","setStrokeStyle","_getRGBA","rxTransparent","rxRgb","rxRgba","_fillOpacity","_strokeOpacity","_matrix_map_point","_matrix_rotation","_clip_path","outIntercept","_fill","_matrix_decompose","_getTransform","_getBaseline","setTextBaseline","getTextBaseline","setTextAlign","getTextAlign","_gotoPage","_page","lastBreak","_matrix_multiply","_matrix_is_identity","_matrix_map_point_obj","_stroke","arc2","newObject2","globalCompositeOperation","newStreamObject","addGraphicsState","blendModeMap","move2","line2","pushMask","createArc","_lastPoint","createSmallArc","trimLeft","trimRight","small","medium","STYLE","NOSCRIPT","OBJECT","EMBED","SELECT","setBlockBoundary","setBlockStyle","executeWatchFunctions","margins_doc","compareDocumentPosition","addText","watchFunctions","outY","putTotalPages","FOOTER","frames","writeln","elementHandlers","dispose","paragraph","splitFragmentsIntoLines","Unicode","kerning","RenderTextFragment","getPdfColor","lastTextColor","renderParagraph","blockstyle","priorblockstyle","priorMarginBottom","helvetica","serif","monospace","courier","200","300","400","500","600","700","800","900","bolder","lighter","justify","none","both","fromHTML","createNamedDestinations","makeRef","namesOid","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processPNG","kt","processGIF89A","decodeAndBlitFrameRGBA","processGIF87A","processBMP","xt","getData","setLanguage","languageSettings","isSubscribed","sq","an","hy","as","ast","az","eu","be","bg","my","zh","co","nl","eo","fo","fj","fr","fy","fur","gd","de","gu","he","hu","iu","ja","kn","km","ko","la","mk","ml","mr","mo","ng","no","oc","om","qu","ro","ru","sg","sa","sc","sk","so","sb","es","sw","te","tig","tn","tr","tk","uk","hsb","ve","vo","xh","ji","zu","languageCode","getCharWidthsArray","fof","getArraySum","lineIndent","WinAnsiEncoding","existsFileInVFS","getFileFromVFS","addSvg","contentDocument","addSvgAsImage","canvg","ignoreMouse","ignoreAnimation","ignoreDimensions","ignoreClear","viewerPreferences","HideToolbar","explicitSet","valueSet","HideMenubar","HideWindowUI","FitWindow","CenterWindow","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","addMetadata","stemV","decender","rawData","addFileToVFS","FileReaderSync","fake","readAsBinaryString","webkitSlice","WRITING","onwritestart","onprogress","onabort","onwriteend","has_local_palette","palette_offset","data_offset","data_length","transparent_index","interlaced","delay","disposal","numFrames","loopCount","frameInfo","decodeAndBlitFrameBGRA","Adler32","fromUtf8","fromBuffer","updateUtf8","updateBuffer","GifWriter","loop","addFrame","GifReader","datav","is_with_alpha","bottom_up","parseHeader","parseBGR","fileSize","headerSize","planes","bitPP","rawSize","vr","importantColors","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","dstate","deflateParams","next_in_index","next_out_index","_jzlib_Deflater","feldspar","lightslateblue","violetred","example","toRGB","getHelpXML","toUnicode","punycode","_scrollTop","_scrollLeft","fromArray","hex6","hex3","darken","isBlack","isColor","loadUrlDocument","getBounds","querySelector","removeAttribute","NodeContainer","smallImage","proxyLoad","colorStops","LINEAR","RADIAL","REGEXP_COLORSTOP","tainted","findImages","findBackgroundImage","parseBackgroundImages","hasImageBackground","imageExists","cors","isInline","getPromise","REGEXP_DIRECTION","parseBackgrounds","offsetBounds","visible","computedStyles","backgroundImages","transformData","transformMatrix","isPseudoElement","cloneTo","getOpacity","assignStack","isElementVisible","computedStyle","prefixedCss","cssInt","parseClip","CLIP","cssList","parseBackgroundSize","parseBackgroundPosition","parseTextShadows","TEXT_SHADOW_PROPERTY","TEXT_SHADOW_VALUES","parseTransform","hasTransform","parseTransformMatrix","MATRIX_PROPERTY","getValue","renderQueue","rectangle","visibile","disableAnimations","getPseudoElements","calculateOverflowClips","createStackingContexts","sortStackingContexts","renderIndex","asyncRenderer","appendToDOM","parseBorders","cleanDOM","getPseudoElement","newStackingContext","getParentStack","contexts","isRootElement","isBodyWithTransparentRoot","getRangeBounds","paintText","paintNode","setOpacity","paintCheckbox","paintRadio","paintElement","renderBackground","renderBorders","paintFormValue","circleStroke","applyTextTransform","letterRendering","fontShadow","clearShadow","renderTextDecoration","topLeftOuter","topLeftInner","topRightOuter","topRightInner","bottomRightOuter","bottomRightInner","bottomLeftOuter","bottomLeftInner","topLeft","topRight","bottomRight","bottomLeft","curveTo","curveToReversed","parseBackgroundClip","decode64","ProxyURL","DOMParser","parseFromString","createHTMLDocument","getHideClass","renderBackgroundColor","renderBorder","drawShape","renderBackgroundRepeating","renderBackgroundGradient","backgroundRepeatShape","renderBackgroundRepeat","taintCtx","variables","taints","setVariable","ownStacking","hasFabric","inlineFormatting","fabric","loadSVGFromString","createCanvas","removeContentType","StaticCanvas","lowerCanvasEl","setWidth","setHeight","groupSVGElements","renderAll","parseSVGDocument","offsetParent","offsetLeft","statusText","registerTTF","exists","italic_angle","isSerif","isScript","forGlyph","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","readShort","writeShort","readLongLong","writeInt","scalarType","tableCount","__super__","old","new","charMap","maxGlyphID","averageCharWidth","weightClass","widthClass","charRange","selection","firstCharIndex","lastCharIndex","maxContext","fontSubfamily","uniqueSubfamily","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxCompositePoints","lsb","leftSideBearings","glyphFor","lengthOf","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","animation","numPlays","disposeOp","blendOp","mozResponseArrayBuffer","getBytes","decodeFrames","createImageData","renderFrame","animate","_timeout","stopAnimation","_png","St","eof","ensureBuffer","getByte","readBlock","lookChar","getChar","makeSubStream","getBits","codeSize","codeBuf","bytesPos","getCode","generateHuffmanTable","createSech","createSort","compareAsc","compareDesc","_arrayIsVector","_matrixIsVector","_comparator","createCosh","createLgamma","SMALL_RE","SMALL_IM","lgammaComplex","TWOPI","LOGPI","REFLECTION","lgammaStirling","lgammaRecurrence","leftPart","rz","rzz","rightPart","signflips","shiftprod","nsb","createMap","naturalSort","oFxNcL","oFyNcL","sre","dre","hre","ore","insensitive","xN","yN","xD","yD","cLoc","numS","createAcosh","createSetCartesian","createCube","createRotate","_validateSize","matrixRes","expectedSize","actualSize","gcdTypes","gcdManyTypesSignature","is1d","createGcd","_gcdNumber","_gcdBigNumber","createFraction","cosm1","xx","parser_exit","logHypot","loh","noIM","oneMinus","onePlus","ObjectWrappingMap","wrappedObject","createEmptyMap","mapOrObject","createLup","_denseLUP","_sparseLUP","ldata","lsize","udata","usize","pabsv","absv","vij","pvCo","pvOc","swapIndeces","spa","vkj","vik","createIndex","createIsNegative","createPrint","_print","createFlatten","createDotPow","powScalarSignatures","powScalar","createNorm","_norm","_vectorNormPlusInfinity","pinf","_vectorNormMinusInfinity","ninf","_vectorNorm","NEGATIVE_INFINITY","_matrixNormFrobenius","fro","_matrixNormOne","maxc","cj","_matrixNormTwo","sizeX","tx","squaredX","eigenVals","_matrixNormInfinity","maxr","_matrixNorm","createDotDivide","createSolveODE","_rk","butcherTableau","tspan","wrongTSpan","isNumOrBig","isForwards","firstStep","maxStep","minStep","timeVars","steps","minDelta","maxDelta","maxIter","deltaB","_createOngoing","trimStep","_createTrimStep","TE","_rk23","_rk45","_solveODE","RK23","RK45","methodOptions","methodsWithQuotes","availableMethodsString","outOfBounds","_matrixSolveODE","sol","formatBigNumberToBase","BigNumberCtor","big2","valueWithoutExp","_format","looksLikeFraction","syntax","escaped","controlCharacters","dimNext","validateIndexSourceSize","valueSize","sourceDim","validateIndex","isEmptyIndex","_defaultValue","oldLen","newLen","flatArray","processSizesWildcard","_reshape","processedSizes","WILDCARD","wildCardIndex","isMoreThanOneWildcard","hasWildcard","canReplaceWildcard","tmpArray2","tmpArray","sizeIndex","_squeeze","unsqueeze","_unsqueeze","filterRegExp","identify","generalize","getArrayDataType","concatRecursive","concatDim","arrays","broadcastSizes","checkBroadcastingRules","toSize","broadcastTo","Asize","broadcastedSize","paddedSize","stretch","containsCollections","deepForEach","deepMap","_reduce","scatter","createBigNumberClass","createSetMultiplicity","createMad","_mad","med","createSetIsSubset","createOr","createLog1p","_log1pComplex","xRe1p","createAcsch","execScript","un","sn","rn","BR"],"mappings":"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AAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,MAAQ,MAIJC,GAAiB,CACpB,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,YAGD,SAASC,GAAOrU,GAAO,OAAOA,EAAIvpB,KAAI,SAAShJ,GAAK,MAAO,CAAEA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAM,IAAFA,MAInF,IAAI6mC,GAAUD,GAAO,CAEpB,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IAEGlD,GAASlR,GAAIqU,IAGb1H,GAAO,CACXzzB,EAAM,SACN,EAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,QACN,GAAM,OACN,GAAM,gBACN,IAAM,SAEFo7B,GAAQrV,GAAU0N,IAKlB4H,GAA+B,CAElC,6EAA8E,YAG9E,sCAAuC,OAGvC,0CAA2C,OAC3C,sCAAuC,OAGvC,6DAA8D,YAC9D,sEAAuE,YACvE,wEAAyE,WAGzE,wEAAyE,OACzE,6EAA8E,OAG9E,sCAAuC,OACvC,6EAA8E,OAG9E,oEAAqE,OAGrE,gDAAiD,OAGjD,2CAA4C,OAG5C,wCAAyC,OAGzC,qCAAsC,aACtC,4EAA6E,aAG7E,8EAA+E,OAG/E,oCAAqC,OACrC,wCAAyC,OAGzC,4CAA6C,O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Q,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAA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szB,KAAM,QACL,CACDtzB,KAAM,QACNszB,KAAM,QACL,CACDtzB,KAAM,QACNszB,KAAM,QACL,CACDtzB,KAAM,UACNszB,KAAM,QACL,CACDtzB,KAAM,YACNszB,KAAM,QACL,CACDtzB,KAAM,OACNszB,KAAM,QACL,CACDtzB,KAAM,WACNszB,KAAM,QACL,CACDtzB,KAAM,OACNszB,KAAM,QACL,CACDtzB,KAAM,SACNszB,KAAM,QACL,CACDtzB,KAAM,OACNszB,KAAM,QACL,CACDtzB,KAAM,YACNszB,KAAM,QACL,CACDtzB,KAAM,eACNszB,KAAM,QACL,CACDtzB,KAAM,YACNszB,KAAM,QACL,CACDtzB,KAAM,iBACNszB,KAAM,QACL,CACDtzB,KAAM,YACNszB,KAAM,QACL,CACDtzB,KAAM,kBACNszB,KAAM,QACL,CACDtzB,KAAM,eACNszB,KAAM,QACL,CACDtzB,KAAM,eACNszB,KAAM,QACL,CACDtzB,KAAM,yBACNszB,KAAM,QACL,CACDtzB,KAAM,YACNszB,KAAM,QACL,CACDtzB,KAAM,OACNszB,KAAM,QACL,CACDtzB,KAAM,aACNszB,KAAM,QACL,CACDtzB,KAAM,eACNszB,KAAM,QACL,CACDtzB,KAAM,kBACNszB,KAAM,QACL,CACDtzB,KAAM,YACNszB,KAAM,QACL,CACDtzB,KAAM,iBACNszB,KAAM,QACL,CACDtzB,KAAM,aACNszB,KAAM,QACL,CACDtzB,KAAM,MACNszB,KAAM,QACL,CACDtzB,KAAM,SACNszB,KAAM,UAIRlzB,EAAMmsJ,eAAe,CAAC,CACpBv8I,KAAM,SACN4sG,GAAI,YACJ2hC,QAAS,SAAiB/9I,GAMxB,GALKI,GACH4rJ,EAAiBhsJ,GAIf,eAAOA,GAAK,GACd,MAAM,IAAI6oG,UAAU,uFAA8F7oG,EAA9F,yDAEtB,OAAO,IAAII,EAAUJ,KAEtB,CACDwP,KAAM,SACN4sG,GAAI,UACJ2hC,QAAS,SAAiB/9I,GAIxB,OAHKF,GACHmsJ,EAAejsJ,GAEV,IAAIF,EAAQE,EAAG,KAEvB,CACDwP,KAAM,YACN4sG,GAAI,U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,eACA+C,UACA9J,SACA2pG,WAES73F,GAAuB,gBAAY,CAC5CtR,aACAuJ,eACAhD,eACA+C,UACA9J,SACA2pG,WAESsrB,GAAyB,gBAAc,CAChDlrH,eACAlC,UACA5H,OAAA,OACA6J,UACA9J,WAESiH,GAA0B,gBAAe,CAClD8C,eACAlC,UACAd,eACA+C,UACAuvH,kBACAr5H,SACAoH,gBAESo1G,GAAoB,gBAAS,CACtC30G,UACAiC,UACA9J,WAES2/L,GAAyB,gBAAc,CAChD51L,eACAlC,UACA5H,OAAA,OACA8G,eACA+C,UACA9J,WAESukI,GAAwB,gBAAa,CAC9Cx6H,eACAsuH,gBACAtxH,eACA+C,UACAsvH,kBACAC,kBACAr5H,WAES4/L,GAAqB,gBAAU,CACxC71L,eACAlC,UACAiC,UACA9J,WAESgH,GAAqB,gBAAU,CACxC+C,eACAmhG,gBACAiuB,aACAtxH,UACAd,eACA+C,UACA9J,WAESg8J,GAAuB,gBAAY,CAC5Cx7J,aACAuJ,eACAlC,UACAd,eACA+C,UACA9J,WAES6/L,GAAwB,gBAAa,CAC9Ch4L,UACAd,eACA+C,UACA9J,WAES8/L,GAAwB,gBAAa,CAC9C/1L,eACAlC,UACAiC,UACA9J,WAES+/L,GAAyB,gBAAc,CAChD5mE,aACAykE,gBACAvlE,gBACAvvB,aACA+6B,cACAzK,kBACAp5H,WAESi/H,GAAyB,gBAAc,CAChDz+H,aACAuJ,eACAnE,YACAiC,UACA5H,OAAA,OACA8G,eACA+C,UACA9J,WAESU,GAA6B,gBAAkB,CACxDmH,UACAiC,UACA9J,WAESggM,GAAwB,gBAAa,CAC9Ch5L,OACAhH,SACAu9L,eAES0C,GAA2B,gBAAgB,CACpDhnE,SACAj5H,WAESmjK,GAAsB,gBAAW,CAC1Cr5J,UACA3J,UACA8G,YACAjH,WAESkgM,GAA0B,gBAAe,CAClDj/L,OACAk4H,aACA8mE,aACA5nE,gBACAe,kBACA91H,QACA+1H,kBACAr5H,WAES2kI,GAAqB,gBAAU,CACxCxL,aACAD,QACAE,kBACA71G,QACAvjB,WAESmgM,GAA2B,gBAAgB,CACpDz/L,eACAC,UACAX,WAES0C,GAAuB,gBAAY,CAC5CqH,eACA9J,OAAA,OACA8G,eACA+C,UACAgI,SACA9R,SACA2pG,WAESy2F,GAAqB,gBAAU,CACxC5/L,aACAuJ,eACAlC,UACA5H,OAAA,OACA8G,eACA+C,UACAgI,SACA9R,SACA2pG,WAESozD,GAAuB,gBAAY,CAC5C97J,OACAk4H,aACAd,gBACAtvB,cACAqwB,kBACAnE,WACA3xH,QACAtD,WAESqgM,GAAsC,gBAAgC,CAC/Et2L,eACAkrH,aAESt2D,GAAuB,gBAAiB,CACjD0hI,wBACArC,uBAESv5D,GAAwB,gBAAa,CAC9C16H,eACAlC,UACA5H,OAAA,OACA6J,UACA9J,WAESqC,GAAqB,gBAAU,CACxCnC,WACAD,OAAA,OACAo4H,gBACAr4H,WAESsgM,GAA2B,gBAAgB,CACpDv2L,eACAsuH,gBACAtxH,eACA+C,UACAsvH,kBACAC,kBACAr5H,WAESugM,GAAgC,gBAAqB,CAC9Dr2F,WACApgG,UACAyZ,QACAvjB,WAESia,GAAqB,gBAAU,CACxCha,OAAA,OACAuqK,WACAv1C,WACAj1H,WAES06H,GAAqB,gBAAU,CACxC3wH,eACAlC,UACA5H,OAAA,OACA8G,eACA+C,UACAgI,SACA9R,SACA2pG,WAESziG,GAA0B,gBAAe,CAClDiyH,aACAwL,OACA59H,eACA+C,UACAsvH,kBACAp5H,WAESwgM,GAA0B,gBAAe,CAClDtgM,WACAD,OAAA,OACAo4H,gBACAr4H,WAESygM,GAAoB,gBAAS,CACtC12L,eACAlC,UACAd,eACA+C,UACA9J,WAESs5L,GAAiC,gBAAsB,CAChEr6D,WACA11H,SACAytH,aACAh3H,WAES0gM,GAA+B,gBAAoB,CAC5D32L,eACAlC,UACAd,eACA+C,UACA9J,SACA2pG,WAESmnD,GAAqB,gBAAU,CACxC5lD,gBACAjqG,OACA+F,OACAqxH,gBACAoM,UACA66D,YACAp4L,YACAD,YACAizI,aACAl6I,WAESsuI,GAAwB,gBAAa,CAC9CtnI,OACA8C,UACA9J,SACA2pG,WAESX,GAAqB,gBAAU,CACxChiG,OACA/G,OAAA,OACAuqK,WACAxqK,WAES2gM,GAAuB,gBAAY,CAC5C35L,OACA8C,UACA9J,WAESwkI,GAA2B,gBAAgB,CACpDz6H,eACAsuH,gBACAtxH,eACA+C,UACAsvH,kBACAC,kBACAr5H,WAES4gM,GAAwB,gBAAa,CAC9C1gM,WACA8G,OACAE,YACA/G,UACAH,WAES6gM,GAAuB,gBAAY,CAC5C92L,eACAlC,UACAd,eACA+C,UACA9J,WAES6iB,GAAsB,gBAAW,CAC1C9Y,eACA9J,OAAA,OACA8G,eACA+C,UACAgI,SACA9R,SACA2pG,WAESq4C,GAAgC,gBAAqB,CAC9D/iB,WACAj/H,WAES8gM,GAA6B,gBAAkB,CACxD3nE,aACAykE,gBACA90F,aACA+6B,cACA96B,cACA07B,UACAzkI,WAES+gM,GAAuB,gBAAY,CAC5Cj3L,UACA5C,YACAD,YACAjH,WAES2wK,GAAqB,gBAAU,CACxCt4C,gBACA13H,UACAmJ,UACA5C,YACAmyH,kBACAr5H,SACAoH,gBAES45L,GAA6B,gBAAkB,CACxDn5L,UACAd,eACA+C,UACAsvH,kBACAp5H,WAESihM,GAA+B,gBAAyB,CACjEx8D,UACAxP,aAESipD,GAAqB,gBAAU,CACxCh+K,WACA6J,eACA8Y,QACA9b,eACArE,SACAoH,UACA9J,SACA2pG,WAESpmE,GAAuB,gBAAY,CAC5Co7B,SACA3+D,WAESkhM,GAA2B,gBAAgB,CACpDjgM,OACA+F,OACAmyH,aACAl5H,OAAA,OACAo4H,gBACAtxH,eACAmjG,WACA8sB,aACAr2H,UACAmJ,UACA5C,YACAkyH,kBACAnE,WACAhuH,YACAjH,WAESmhM,GAAwB,gBAAa,CAC9C3gM,aACAwG,OACA/G,OAAA,OACAg5H,SACAnwB,aACA4xB,OACAzF,WACAj1H,SACAk/L,UAESkC,GAAqB,gBAAU,CACxCv5L,UACAd,eACA+C,UACA9J,WAESmsK,GAAuB,gBAAY,CAC5CjsK,WACAD,OAAA,OACAo4H,gBACAh2H,OACArC,WAESka,GAAqB,gBAAU,CACxCja,OAAA,OACAwkI,UACA+lC,WACAxqK,WAESqhM,GAA8B,gBAAmB,CAC1Dt3L,eACA40D,SACAqjF,kBACAz+H,QACA+qH,UACAtuI,WAESshM,GAA6B,gBAAkB,CACxDv3L,eACA40D,SACAqjF,kBACAz+H,QACA+qH,UACAtuI,WAESuhM,GAA6B,gBAAkB,CACxD5iI,SACAqjF,kBACAz+H,QACA+qH,UACAtuI,WAESwhM,GAA6B,gBAAkB,CACxD7iI,SACAqjF,kBACAz+H,QACA+qH,UACAtuI,WAESu5L,GAA2B,gBAAgB,CACpDxvL,eACAlC,UACA5H,OAAA,OACA6J,UACA9J,WAESgmB,GAAsB,gBAAW,CAC1Ci5G,WACA+iB,kBACAl4I,UACA9J,WAESyhM,GAAqB,gBAAU,CACxC55L,UACAd,eACA+C,UACAq0L,OACAn+L,SACA2pG,WAES1sE,GAAuB,gBAAY,CAC5CmnG,aACAt6H,UACA9C,OACA/G,OAAA,OACA8oG,cACA07B,UACA66D,YACArqE,WACAskE,aACAv5L,WAESs+B,GAAqB,gBAAU,CACxCqgC,SACA70D,UACAmzB,SACAj9B,WAESs0K,GAA+B,gBAAoB,CAC5DvqK,eACA40D,SACAqjF,kBACAz+H,QACA+qH,UACAtuI,WAES0hM,GAAiC,gBAAsB,CAChE/iI,SACAqjF,kBACAz+H,QACA+qH,UACAtuI,WAES2hM,GAAkC,gBAAuB,CAClEhjI,SACA92D,UACAysK,iBACA/wJ,QACA+qH,UACAtuI,WAES4hM,GAAqB,gBAAe,CAC7CX,iBACA9nE,aACApyH,iBAES2kI,GAAwB,gBAAa,CAC9C/sE,SACA70D,UACAmzB,SACAj9B,WAESgD,GAAqB,gBAAU,CACxC/B,OACAk4H,aACAw3C,OACAt4C,gBACA5hB,YACA3sG,UACA5C,YACAlH,SACAoH,gBAESypJ,GAAqB,gBAAU,CACxC9mJ,eACA63L,OACA12F,gBACAjqG,OACAk4H,aACAd,gBACAtxH,eACA09H,UACA36H,UACAsvH,kBACAC,kBACAr5H,SACAoH,gBAESy6L,GAAsB,gBAAW,CAC1C3hM,WACA8G,OACAm4L,cACAc,aACA5nE,gBACAsM,OACAoc,aACA9nB,SACAj2H,OACA8G,UACA5C,YACAlH,WAESmD,GAAqB,gBAAU,CACxCjD,WACAD,OAAA,OACAujK,YACA/sD,YACAzzG,OACA8G,UACA5C,YACA/G,UACAH,WAES8hM,GAA8B,gBAAmB,CAC1D/3L,eACA40D,SACAqjF,kBACAz+H,QACA+qH,UACAtuI,WAES+hM,GAA0B,gBAAe,CAClDpjI,SACA92D,UACAi6L,gBACAH,oBACAp+K,QACA+qH,UACAtuI,WAESgiM,GAAuB,gBAAY,CAC5C/gM,OACA+F,OACAyvG,YACAzzG,OACAoG,OACA8Q,OACAhT,YACAqc,QACAjgB,QACA2D,YACAjH,WAES6F,GAAsB,gBAAgB,CAC/CrF,aACAN,WACA0F,YACA3E,OACAk4H,aACAl5H,OAAA,OACAo4H,gBACAY,SACAilD,OACAz0K,UACAutH,aACAoC,kBACAj5H,UACAgD,OACA2O,SACAunH,oBAES4oE,GAAiC,eAAsB,CAChEzhM,aACAqF,QACA5F,OAAA,SAESiiM,GAAkC,eAAuB,CAClE1hM,aACAqF,QACA5F,OAAA,SAESkiM,GAA4B,eAAiB,CACtD3hM,aACAqF,QACA5F,OAAA,SAESmiM,GAA8B,eAAmB,CAC1D5hM,aACAqF,QACA5F,OAAA,SAESoiM,GAA2B,eAAgB,CACpD7hM,aACAqF,QACA5F,OAAA,SAESqiM,GAAoC,eAAyB,CACtE9hM,aACAqF,QACA5F,OAAA,SAESqvL,GAAyB,eAAc,CAChD9uL,aACAqF,QACA5F,OAAA,SAESsiM,GAA8B,eAAmB,CAC1D/hM,aACAqF,QACA5F,OAAA,SAESuiM,GAAwB,gBAAa,CAC9Cz4L,eACAlC,UACAd,eACA+C,UACA3G,OACAnD,WAESyiM,GAAkC,eAAuB,CAClEjiM,aACAqF,QACA5F,OAAA,SAESyiM,GAAkC,eAAuB,CAClEliM,aACAqF,QACA5F,OAAA,SAES0iM,GAAsB,gBAAW,CAC1C1hM,OACA+F,OACAyvG,YACAzzG,OACAkE,YACAlH,WAES4iM,GAAyB,eAAc,CAChDpiM,aACAqF,QACA5F,OAAA,SAES6gJ,GAAqB,gBAAU,CACxC3nB,aACAt2G,QACAq2G,QACAb,gBACA0oB,aACAn/I,OACA+J,KACAsrD,QACAntD,UACAsvH,kBACAj2H,OACA+2H,OACAl6H,WAESuvI,GAAuB,gBAAY,CAC5C/uI,aACAN,WACAD,OAAA,OACAm5H,kBACAj2H,OACAnD,WAES6iM,GAAqC,eAA0B,CACxEriM,aACAqF,QACA5F,OAAA,SAES6iM,GAA+B,eAAoB,CAC5DtiM,aACAqF,QACA5F,OAAA,SAES8iM,GAAsB,gBAAW,CAC1C7pE,QACA6nB,aACAD,OACA9gJ,WAESgjM,GAA0B,eAAe,CAClDxiM,aACAqF,QACA5F,OAAA,SAESgjM,GAA2B,eAAgB,CACpDziM,aACAqF,QACA5F,OAAA,SAESijM,GAAkC,eAAuB,CAClE1iM,aACAqF,QACA5F,OAAA,SAESkjM,GAA2B,eAAgB,CACpD3iM,aACAqF,QACA5F,OAAA,SAESmjM,GAAqC,eAA0B,CACxE5iM,aACAqF,QACA5F,OAAA,SAESojM,GAA6B,eAAkB,CACxD7iM,aACAqF,QACA5F,OAAA,SAESqjM,GAAiC,eAAsB,CAChE9iM,aACAqF,QACA5F,OAAA,SAESsjM,GAA8B,eAAmB,CAC1D/iM,aACAqF,QACA5F,OAAA,SAESujM,GAA8B,eAAmB,CAC1DhjM,aACAqF,QACA5F,OAAA,SAESwjM,GAAmC,eAAwB,CACpEjjM,aACAqF,QACA5F,OAAA,SAESyjM,GAA4B,eAAiB,CACtDljM,aACAqF,QACA5F,OAAA,SAES0jM,GAAsC,eAA2B,CAC1EnjM,aACAqF,QACA5F,OAAA,SAES2jM,GAAuC,eAA4B,CAC5EpjM,aACAqF,QACA5F,OAAA,SAES4jM,GAAyB,eAAc,CAChDrjM,aACAqF,QACA5F,OAAA,SAES6jM,GAAiC,eAAsB,CAChEtjM,aACAqF,QACA5F,OAAA,SAES8jM,GAA8B,eAAmB,CAC1DvjM,aACAqF,QACA5F,OAAA,SAES+jM,GAAiC,eAAsB,CAChExjM,aACAqF,QACA5F,OAAA,SAESgkM,GAAqC,eAA0B,CACxEzjM,aACAqF,QACA5F,OAAA,SAESikM,GAA0B,eAAe,CAClD1jM,aACAqF,QACA5F,OAAA,SAESkkM,GAA4B,eAAiB,CACtD3jM,aACAqF,QACA5F,OAAA,SAESo7I,GAA4B,gBAAiB,CACtDx1I,QACA7F,WAESmH,GAAwB,gBAAa,CAC9CkxH,gBACAtxH,eACA/D,OACA8G,UACA5C,YACAlH,WAESokM,GAA8B,eAAmB,CAC1D5jM,aACAqF,QACA5F,OAAA,SAES4oG,GAA2B,gBAAgB,CACpD0mC,SACAvvI,WAESqkM,GAAgC,eAAqB,CAC9D7jM,aACAqF,QACA5F,OAAA,SAESqkM,GAAyB,eAAc,CAChD9jM,aACAqF,QACA5F,OAAA,SAESskM,GAA2C,eAAgC,CACpF/jM,aACAqF,QACA5F,OAAA,SAESk6I,GAAyB,gBAAc,CAChDpwI,eACAgnJ,UACAF,OACA/mJ,UACAgnJ,OACA9wJ,SACAukI,YAESigE,GAAqC,eAA0B,CACxEhkM,aACAqF,QACA5F,OAAA,SAESwkM,GAA8B,eAAmB,CAC1DjkM,aACAqF,QACA5F,OAAA,SAESykM,GAA6B,gBAAkB,CACxD19L,OACAG,UACA0hG,aACAC,aACAC,cACA7hG,YACAlH,WAES2kM,GAA8B,gBAAmB,CAC1D97F,aACA7oG,WAES4kM,GAA4B,eAAiB,CACtDpkM,aACAqF,QACA5F,OAAA,SAES4kM,GAAgC,gBAAqB,CAC9D79L,OACAK,QACAF,UACAJ,eACAQ,MACA5G,UACAuG,YACAM,MACAlE,QACA2D,YACAK,UACAtH,SACAoH,gBAES09L,GAAyB,gBAAc,CAChD9iD,kBACAhiJ,WAES+kM,GAA0B,gBAAe,CAClD9jM,OACA+F,OACAo9H,aACAj9H,UACA08H,cACA96B,cACA07B,UACAr7H,OACAU,UACAoQ,OACAhT,YACA+tH,WACAhuH,YACAjH,SACAoH,gBAES82J,GAA4B,gBAAiB,CACtD95B,aACAjL,aACAykE,gBACAvlE,gBACAxvB,aACAC,aACA+6B,cACAY,UACArL,kBACAj5H,UACAgD,OACAk2H,kBACAr5H,WAES8/I,GAAsB,gBAAmB,CAClDj6I,QACA7F,WAESglM,GAA6B,gBAAkB,CACxD7rE,aACArwB,aACA+6B,cACAq6B,cACAl+J,WAESilM,GAAsB,gBAAW,CAC1ChkM,OACA+F,OACAmyH,aACA+P,QACA9E,aACAsH,UACApS,WACAr5H,OAAA,OACA8K,OACAs5H,QACAhM,gBACAsM,OACA1L,SACA/uB,WACA3iG,MACAvE,OACAyhI,UACA36H,UACA46H,qBACAx9H,YACAkyH,kBACAj5H,UACAmkI,MACA98H,MACAwD,OACAiqH,WACA3xH,QACA2D,YACAjH,SACAukI,UACAC,eAES0gE,GAA+B,eAAoB,CAC5D1kM,aACAqF,QACA5F,OAAA,SAESklM,GAA6B,eAAkB,CACxD3kM,aACAqF,QACA5F,OAAA,SAESmlM,GAAsB,gBAAW,CAC1Cp+L,OACAG,UACAnH,WAESqlM,GAA6B,eAAkB,CACxD7kM,aACAqF,QACA5F,OAAA,SAESqlM,GAAgC,eAAqB,CAC9D9kM,aACAqF,QACA5F,OAAA,SAESslM,GAA6B,gBAAkB,CACxDnhE,aACAp9H,OACAi4H,WACA93H,UACA2hG,aACA27B,UACAv9H,YACAoyL,mBACArkE,WACAskE,aACAtyL,YACAjH,WAESwlM,GAA0B,gBAAe,CAClDx+L,OACAiK,SACA9J,UACAoC,SACArC,YACAD,YACAjH,WAESylM,GAAyC,eAA8B,CAChFjlM,aACAqF,QACA5F,OAAA,SAESylM,GAAwB,gBAAa,CAC9C1+L,OACAi4H,WACA93H,UACAmyL,mBACAt5L,WAES2lM,GAAsB,gBAAW,CAC1C3+L,OACAG,UACA2C,UACAs7L,QACAl+L,YACA/D,OACAG,QACA2D,YACA+hG,OACAhpG,WAES4lM,GAAuB,gBAAY,CAC5C1lM,WACA8G,OACAG,UACA2C,UACA5C,YACAlH,WAES6lM,GAAqB,gBAAU,CACxC5kM,OACAmI,OACAs8L,UACAz+L,YACAjH,WAES8lM,GAAqB,gBAAU,CACxC18L,OACA9F,QACAtD,SACAwlM,cAESO,GAAsB,gBAAW,CAC1CvlM,aACAN,WACA8G,OACA/G,OAAA,OACAkH,UACA8xH,SACApwB,aACA0mC,SACA1L,cACA38H,Y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QA,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQD,EAAQA,EAAQE,EAAQJ,EAAQI,EAAQF,EAAQA,EAAQA,EAAQA,EAAQC,EAAQD,EAAQA,EAAQA,EAAQC,EAAQD,GAEjQ,CAACA,EAAQE,EAAQA,EAAQD,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQF,EAAQC,EAAQD,EAAQA,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQD,EAAQA,EAAQE,EAAQJ,EAAQI,EAAQD,EAAQA,EAAQA,EAAQA,EAAQD,EAAQA,EAAQA,EAAQA,EAAQC,EAAQD,GAEjQ,CAACA,EAAQE,EAAQA,EAAQD,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQF,EAAQC,EAAQD,EAAQA,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQD,EAAQA,EAAQE,EAAQJ,EAAQI,EAAQF,EAAQA,EAAQA,EAAQC,EAAQA,EAAQD,EAAQA,EAAQA,EAAQC,EAAQD,GAEjQ,CAACA,EAAQE,EAAQA,EAAQD,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQF,EAAQC,EAAQD,EAAQA,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQD,EAAQA,EAAQE,EAAQJ,EAAQI,EAAQF,EAAQA,EAAQA,EAAQA,EAAQC,EAAQD,EAAQA,EAAQA,EAAQC,EAAQD,GAEjQ,CAACA,EAAQE,EAAQA,EAAQD,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQF,EAAQA,EAAQA,EAAQA,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQD,EAAQA,EAAQE,EAAQJ,EAAQI,EAAQF,EAAQA,EAAQA,EAAQA,EAAQA,EAAQC,EAAQD,EAAQA,EAAQC,EAAQD,GAEjQ,CAACA,EAAQE,EAAQA,EAAQD,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQF,EAAQC,EAAQD,EAAQA,EAAQA,EAAQA,EAAQC,EAAQA,EAAQA,EAAQD,EAAQA,EAAQE,EAAQJ,EAAQI,EAAQF,EAAQA,EAAQA,EAAQA,EAAQA,EAAQA,EAAQA,EAAQC,EAAQA,EAAQD,GAEjQ,CAACA,EAAQE,EAAQA,EAAQD,EAAQA,EAAQA,EAAQC,EAAQA,EAA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WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,QAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,YAAa,CAAC,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,YAAa,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,QAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,YAAa,CAAC,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,SAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YACrgYC,EAAe,CACjBC,KAAM,GACNC,KAAM,IAER,SAASzuQ,EAAEu4N,EAAKvwQ,GACd,IAAIY,EAAIZ,GAAK,GAAK,IACde,EAAIf,GAAK,GAAK,IACd0H,EAAI1H,GAAK,EAAI,IACb+H,EAAQ,IAAJ/H,EACJQ,EAAI+vQ,EAAIk2C,KAAK,GAAG7lT,GAAK2vQ,EAAIk2C,KAAK,GAAG1lT,GAGrC,OAFAP,GAAQ+vQ,EAAIk2C,KAAK,GAAG/+S,GACpBlH,GAAQ+vQ,EAAIk2C,KAAK,GAAG1+S,GACbvH,EAET,SAASkmT,EAAiBn2C,EAAKv4L,EAAMC,GAInC,IAHA,IAEIyhF,EAFAitJ,EAAK3uO,EACL4uO,EAAK3uO,EAEA1sE,EAAI,EAAGA,EAAIi8E,IAAKj8E,EACvBo7S,GAAUp2C,EAAIi2C,KAAKj7S,GACnBq7S,EAAK5uQ,EAAEu4N,EAAKo2C,GAAMC,EAClBltJ,EAAOitJ,EACPA,EAAKC,EACLA,EAAKltJ,EAOP,OALAA,EAAOitJ,EACPA,EAAKC,EACLA,EAAKltJ,EACLktJ,GAAUr2C,EAAIi2C,KAAKh/N,GACnBm/N,GAAUp2C,EAAIi2C,KAAKh/N,EAAI,GAChB,CACLxP,KAAM2uO,EACN1uO,MAAO2uO,GAGX,SAASC,EAAiBt2C,EAAKv4L,EAAMC,GAInC,IAHA,IAEIyhF,EAFAitJ,EAAK3uO,EACL4uO,EAAK3uO,EAEA1sE,EAAIi8E,EAAI,EAAGj8E,EAAI,IAAKA,EAC3Bo7S,GAAUp2C,EAAIi2C,KAAKj7S,GACnBq7S,EAAK5uQ,EAAEu4N,EAAKo2C,GAAMC,EAClBltJ,EAAOitJ,EACPA,EAAKC,EACLA,EAAKltJ,EAOP,OALAA,EAAOitJ,EACPA,EAAKC,EACLA,EAAKltJ,EACLktJ,GAAUr2C,EAAIi2C,KAAK,GACnBG,GAAUp2C,EAAIi2C,KAAK,GACZ,CACLxuO,KAAM2uO,EACN1uO,MAAO2uO,GAeX,SAASE,EAAav2C,EAAKj/O,EAAKy1R,GAC9B,IAAK,IAAIC,EAAM,EAAGA,EAAM,EAAGA,IAAO,CAChCz2C,EAAIk2C,KAAKO,GAAO,GAChB,IAAK,IAAIC,EAAM,EAAGA,EAAM,IAAKA,IAC3B12C,EAAIk2C,KAAKO,GAAKC,GAAOX,EAAOU,GAAKC,GAIrC,IADA,IAAIC,EAAW,EACN/jR,EAAQ,EAAGA,EAAQqkD,EAAI,EAAGrkD,IACjCotO,EAAIi2C,KAAKrjR,GAASkjR,EAAOljR,GAAS7R,EAAI41R,GACtCA,IACIA,GAAYH,IACdG,EAAW,GAMf,IAHA,IAAIC,EAAQ,EACRC,EAAQ,EACR9jT,EAAM,EACDiI,EAAI,EAAGA,EAAIi8E,EAAI,EAAGj8E,GAAK,EAC9BjI,EAAMojT,EAAiBn2C,EAAK42C,EAAOC,GACnCD,EAAQ7jT,EAAI00E,KACZovO,EAAQ9jT,EAAI20E,MACZs4L,EAAIi2C,KAAKj7S,GAAK47S,EACd52C,EAAIi2C,KAAKj7S,EAAI,GAAK67S,EAEpB,IAAK,IAAI5lN,EAAK,EAAGA,EAAK,EAAGA,IACvB,IAAK,IAAI1qF,EAAI,EAAGA,EAAI,IAAKA,GAAK,EAC5BxT,EAAMojT,EAAiBn2C,EAAK42C,EAAOC,GACnCD,EAAQ7jT,EAAI00E,KACZovO,EAAQ9jT,EAAI20E,MACZs4L,EAAIk2C,KAAKjlN,GAAI1qF,GAAKqwS,EAClB52C,EAAIk2C,KAAKjlN,GAAI1qF,EAAI,GAAKswS,EAG1B,OAAO,EAMT,IAAIC,EAAWpD,EAAOoD,SAAWrD,EAAY/+Q,OAAO,CAClDggR,SAAU,WAER,GAAIrgT,KAAKugT,iBAAmBvgT,KAAKqwL,KAAjC,CAKA,IAAI3jK,EAAM1sB,KAAKugT,eAAiBvgT,KAAKqwL,KACjCmwH,EAAW9zR,EAAIu6D,MACfw5N,EAAU/zR,EAAIg0R,SAAW,EAG7BwB,EAAaP,EAAcnB,EAAUC,KAEvCU,aAAc,SAAsBjyS,EAAG+Q,GACrC,IAAIvhB,EAAMojT,EAAiBH,EAAczyS,EAAE+Q,GAAS/Q,EAAE+Q,EAAS,IAC/D/Q,EAAE+Q,GAAUvhB,EAAI00E,KAChBlkE,EAAE+Q,EAAS,GAAKvhB,EAAI20E,OAEtBguO,aAAc,SAAsBnyS,EAAG+Q,GACrC,IAAIvhB,EAAMujT,EAAiBN,EAAczyS,EAAE+Q,GAAS/Q,EAAE+Q,EAAS,IAC/D/Q,EAAE+Q,GAAUvhB,EAAI00E,KAChBlkE,EAAE+Q,EAAS,GAAKvhB,EAAI20E,OAEtBqvO,UAAW,EACXjC,QAAS,EACTkC,OAAQ,IAWVt+S,EAAEo+S,SAAWrD,EAAYmC,cAAckB,GA7JzC,GA+JOxD,EAASwD,aAKZG,MACA,SAAUhhT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GAInBA,EAASE,IAAI0D,QAAU,SAAU9kT,GAE/B,IAAIsG,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV3G,EAAO0G,EAAM1G,KACbsK,EAAY5D,EAAM4D,UAClBC,EAAyB7D,EAAM6D,uBAC/BC,EAAQ3+S,EAAE0G,IAEVpB,GADOq5S,EAAMC,KACJD,EAAMr5S,QACf01S,EAASh7S,EAAEi7S,KACX4D,EAAS7D,EAAO6D,OAUhBL,EAAS3D,EAAM2D,OAASE,EAAuB1iR,OAAO,CAMxD8iR,IAAK3K,EAAKn4Q,SAeV+iR,gBAAiB,SAAyB12R,EAAKy2R,GAC7C,OAAOnjT,KAAK+mJ,OAAO/mJ,KAAKqjT,gBAAiB32R,EAAKy2R,IAgBhDG,gBAAiB,SAAyB52R,EAAKy2R,GAC7C,OAAOnjT,KAAK+mJ,OAAO/mJ,KAAKujT,gBAAiB72R,EAAKy2R,IAahDzkL,KAAM,SAAc8kL,EAAW92R,EAAKy2R,GAElCnjT,KAAKmjT,IAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,GAG3BnjT,KAAKyjT,WAAaD,EAClBxjT,KAAKqwL,KAAO3jK,EAGZ1sB,KAAK0kQ,SASPA,MAAO,WAELq+C,EAAuBr+C,MAAMn4O,KAAKvsB,MAGlCA,KAAKqgT,YAcP91S,QAAS,SAAiBm5S,GAKxB,OAHA1jT,KAAK2jT,QAAQD,GAGN1jT,KAAK4jT,YAgBdz0M,SAAU,SAAkBu0M,GAEtBA,GACF1jT,KAAK2jT,QAAQD,GAIf,IAAIG,EAAqB7jT,KAAK8jT,cAC9B,OAAOD,GAETpD,QAAS,EACTkC,OAAQ,EACRU,gBAAiB,EACjBE,gBAAiB,EAcjBhC,cAAe,WACb,SAASwC,EAAqBr3R,GAC5B,MAAkB,iBAAPA,EACFs3R,EAEAC,EAGX,OAAO,SAAUC,GACf,MAAO,CACLC,QAAS,SAAiBjkT,EAASwsB,EAAKy2R,GACtC,OAAOY,EAAqBr3R,GAAKy3R,QAAQD,EAAQhkT,EAASwsB,EAAKy2R,IAEjEiB,QAAS,SAAiBC,EAAY33R,EAAKy2R,GACzC,OAAOY,EAAqBr3R,GAAK03R,QAAQF,EAAQG,EAAY33R,EAAKy2R,MAd3D,KAsCbmB,GAZepF,EAAMqF,aAAe1B,EAAOxiR,OAAO,CACpDyjR,YAAa,WAEX,IAAIU,EAAuBxkT,KAAK4jT,UAAS,GACzC,OAAOY,GAET9B,UAAW,IAMAr+S,EAAE6uE,KAAO,IAKlBuxO,EAAkBvF,EAAMuF,gBAAkBjM,EAAKn4Q,OAAO,CAaxD+iR,gBAAiB,SAAyBc,EAAQQ,GAChD,OAAO1kT,KAAK2kT,UAAU59J,OAAOm9J,EAAQQ,IAcvCpB,gBAAiB,SAAyBY,EAAQQ,GAChD,OAAO1kT,KAAK4kT,UAAU79J,OAAOm9J,EAAQQ,IAYvChmL,KAAM,SAAcwlL,EAAQQ,GAC1B1kT,KAAK6kT,QAAUX,EACflkT,KAAK8kT,IAAMJ,KAOXK,EAAMT,EAAOS,IAAM,WAIrB,IAAIA,EAAMN,EAAgBpkR,SA4D1B,SAAS2kR,EAAS/9N,EAAOhnE,EAAQyiS,GAC/B,IAAInzD,EAGAm1D,EAAK1kT,KAAK8kT,IAGVJ,GACFn1D,EAAQm1D,EAGR1kT,KAAK8kT,IAAM/mT,GAEXwxP,EAAQvvP,KAAKilT,WAIf,IAAK,IAAIt+S,EAAI,EAAGA,EAAI+7S,EAAW/7S,IAC7BsgF,EAAMhnE,EAAStZ,IAAM4oP,EAAM5oP,GAG/B,OA5EAo+S,EAAIJ,UAAYI,EAAI1kR,OAAO,CAWzB6kR,aAAc,SAAsBj+N,EAAOhnE,GAEzC,IAAIikS,EAASlkT,KAAK6kT,QACdnC,EAAYwB,EAAOxB,UAGvBsC,EAASz4R,KAAKvsB,KAAMinF,EAAOhnE,EAAQyiS,GACnCwB,EAAO/C,aAAal6N,EAAOhnE,GAG3BjgB,KAAKilT,WAAah+N,EAAM79E,MAAM6W,EAAQA,EAASyiS,MAOnDqC,EAAIH,UAAYG,EAAI1kR,OAAO,CAWzB6kR,aAAc,SAAsBj+N,EAAOhnE,GAEzC,IAAIikS,EAASlkT,KAAK6kT,QACdnC,EAAYwB,EAAOxB,UAGnByC,EAAYl+N,EAAM79E,MAAM6W,EAAQA,EAASyiS,GAG7CwB,EAAO7C,aAAap6N,EAAOhnE,GAC3B+kS,EAASz4R,KAAKvsB,KAAMinF,EAAOhnE,EAAQyiS,GAGnC1iT,KAAKilT,WAAaE,KAwBfJ,EArFc,GA2FnBK,EAAQ/gT,EAAE4nC,IAAM,GAKhBo5Q,EAAQD,EAAMC,MAAQ,CAaxBp5Q,IAAK,SAAaxjC,EAAMi6S,GAYtB,IAVA,IAAI4C,EAA6B,EAAZ5C,EAGjB6C,EAAgBD,EAAiB78S,EAAKi4S,SAAW4E,EAGjDE,EAAcD,GAAiB,GAAKA,GAAiB,GAAKA,GAAiB,EAAIA,EAG/EE,EAAe,GACV9+S,EAAI,EAAGA,EAAI4+S,EAAe5+S,GAAK,EACtC8+S,EAAa7+S,KAAK4+S,GAEpB,IAAIv+B,EAAU67B,EAAU/7J,OAAO0+J,EAAcF,GAG7C98S,EAAK5F,OAAOokR,IAady+B,MAAO,SAAej9S,GAEpB,IAAI88S,EAAsD,IAAtC98S,EAAKw+E,MAAMx+E,EAAKi4S,SAAW,IAAM,GAGrDj4S,EAAKi4S,UAAY6E,IAuFjBI,GA9EczG,EAAME,YAAcyD,EAAOxiR,OAAO,CAOlD8iR,IAAKN,EAAOM,IAAI9iR,OAAO,CACrB6yC,KAAM6xO,EACN99B,QAASo+B,IAEX3gD,MAAO,WACL,IAAIkhD,EAGJ/C,EAAOn+C,MAAMn4O,KAAKvsB,MAGlB,IAAImjT,EAAMnjT,KAAKmjT,IACXuB,EAAKvB,EAAIuB,GACTxxO,EAAOiwO,EAAIjwO,KAGXlzE,KAAKyjT,YAAczjT,KAAKqjT,gBAC1BuC,EAAc1yO,EAAKkwO,iBAEjBwC,EAAc1yO,EAAKowO,gBAEnBtjT,KAAK6lT,eAAiB,GAEtB7lT,KAAKo4G,OAASp4G,KAAKo4G,MAAM0tM,WAAaF,EACxC5lT,KAAKo4G,MAAMsmB,KAAK1+H,KAAM0kT,GAAMA,EAAGz9N,QAE/BjnF,KAAKo4G,MAAQwtM,EAAYr5R,KAAK2mD,EAAMlzE,KAAM0kT,GAAMA,EAAGz9N,OACnDjnF,KAAKo4G,MAAM0tM,UAAYF,IAG3BG,gBAAiB,SAAyB9+N,EAAOhnE,GAC/CjgB,KAAKo4G,MAAM8sM,aAAaj+N,EAAOhnE,IAEjC6jS,YAAa,WACX,IAAIU,EAGAv9B,EAAUjnR,KAAKmjT,IAAIl8B,QAgBvB,OAbIjnR,KAAKyjT,YAAczjT,KAAKqjT,iBAE1Bp8B,EAAQh7O,IAAIjsC,KAAK6uB,MAAO7uB,KAAK0iT,WAG7B8B,EAAuBxkT,KAAK4jT,UAAS,KAGnCY,EAAuBxkT,KAAK4jT,UAAS,GAGrC38B,EAAQy+B,MAAMlB,IAEXA,GAET9B,UAAW,IAgBMxD,EAAMyG,aAAenN,EAAKn4Q,OAAO,CAoBlDq+F,KAAM,SAAcsnL,GAClBhmT,KAAKimT,MAAMD,IAiBb51S,SAAU,SAAkBo5L,GAC1B,OAAQA,GAAaxpM,KAAKwpM,WAAW17K,UAAU9tB,UAO/CkmT,EAAW7hT,EAAEI,OAAS,GAKtB0hT,EAAmBD,EAASE,QAAU,CAcxCt4R,UAAW,SAAmBk4R,GAC5B,IAAIK,EAGAhC,EAAa2B,EAAa3B,WAC1BiC,EAAON,EAAaM,KAQxB,OAJED,EADEC,EACUxD,EAAU/7J,OAAO,CAAC,WAAY,aAAalkJ,OAAOyjT,GAAMzjT,OAAOwhT,GAE/DA,EAEPgC,EAAUj2S,SAASzG,IAe5BgS,MAAO,SAAe4qS,GACpB,IAAID,EAGAjC,EAAa16S,EAAOgS,MAAM4qS,GAG1BC,EAAkBnC,EAAWp9N,MAWjC,OAR0B,YAAtBu/N,EAAgB,IAA0C,YAAtBA,EAAgB,KAEtDF,EAAOxD,EAAU/7J,OAAOy/J,EAAgBp9S,MAAM,EAAG,IAGjDo9S,EAAgB78R,OAAO,EAAG,GAC1B06R,EAAW3D,UAAY,IAElBiF,EAAa5+J,OAAO,CACzBs9J,WAAYA,EACZiC,KAAMA,MAQRrC,EAAqB/E,EAAM+E,mBAAqBzL,EAAKn4Q,OAAO,CAM9D8iR,IAAK3K,EAAKn4Q,OAAO,CACf57B,OAAQ0hT,IAoBVhC,QAAS,SAAiBD,EAAQhkT,EAASwsB,EAAKy2R,GAE9CA,EAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,GAGtB,IAAIsD,EAAYvC,EAAOd,gBAAgB12R,EAAKy2R,GACxCkB,EAAaoC,EAAUt3M,SAASjvG,GAGhCwmT,EAAYD,EAAUtD,IAG1B,OAAOwC,EAAa5+J,OAAO,CACzBs9J,WAAYA,EACZ33R,IAAKA,EACLg4R,GAAIgC,EAAUhC,GACdiC,UAAWzC,EACXhxO,KAAMwzO,EAAUxzO,KAChB+zM,QAASy/B,EAAUz/B,QACnBy7B,UAAWwB,EAAOxB,UAClBl5G,UAAW25G,EAAI1+S,UAoBnB2/S,QAAS,SAAiBF,EAAQG,EAAY33R,EAAKy2R,GAEjDA,EAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,GAGtBkB,EAAarkT,KAAKm6O,OAAOkqE,EAAYlB,EAAI1+S,QAGzC,IAAImiT,EAAY1C,EAAOZ,gBAAgB52R,EAAKy2R,GAAKh0M,SAASk1M,EAAWA,YACrE,OAAOuC,GAiBTzsE,OAAQ,SAAgBkqE,EAAY5/S,GAClC,MAAyB,iBAAd4/S,EACF5/S,EAAOkX,MAAM0oS,EAAYrkT,MAEzBqkT,KAQTwC,EAAQxiT,EAAEyiT,IAAM,GAKhBC,EAAaF,EAAMT,QAAU,CAkB/BY,QAAS,SAAiBztP,EAAUknP,EAASkC,EAAQ2D,EAAM7tJ,GAOzD,GALK6tJ,IACHA,EAAOxD,EAAU9+K,OAAO,IAIrBy0B,EAKC/rI,EAAMw2R,EAAOn8J,OAAO,CACtB05J,QAASA,EAAUkC,EACnBlqJ,OAAQA,IACPwuJ,QAAQ1tP,EAAU+sP,QAPrB,IAAI55R,EAAMw2R,EAAOn8J,OAAO,CACtB05J,QAASA,EAAUkC,IAClBsE,QAAQ1tP,EAAU+sP,GASvB,IAAI5B,EAAK5B,EAAU/7J,OAAOr6H,EAAIu6D,MAAM79E,MAAMq3S,GAAmB,EAATkC,GAIpD,OAHAj2R,EAAIg0R,SAAqB,EAAVD,EAGRkF,EAAa5+J,OAAO,CACzBr6H,IAAKA,EACLg4R,GAAIA,EACJ4B,KAAMA,MASRtC,EAAsB9E,EAAM8E,oBAAsBC,EAAmB5jR,OAAO,CAM9E8iR,IAAKc,EAAmBd,IAAI9iR,OAAO,CACjCymR,IAAKC,IAmBP5C,QAAS,SAAiBD,EAAQhkT,EAASq5D,EAAU4pP,GAEnDA,EAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,GAGtB,IAAI+D,EAAgB/D,EAAI2D,IAAIE,QAAQztP,EAAU2qP,EAAOzD,QAASyD,EAAOvB,OAAQQ,EAAImD,KAAMnD,EAAI1qJ,QAG3F0qJ,EAAIuB,GAAKwC,EAAcxC,GAGvB,IAAIL,EAAaJ,EAAmBE,QAAQ53R,KAAKvsB,KAAMkkT,EAAQhkT,EAASgnT,EAAcx6R,IAAKy2R,GAI3F,OADAkB,EAAW4B,MAAMiB,GACV7C,GAmBTD,QAAS,SAAiBF,EAAQG,EAAY9qP,EAAU4pP,GAEtDA,EAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,GAGtBkB,EAAarkT,KAAKm6O,OAAOkqE,EAAYlB,EAAI1+S,QAGzC,IAAIyiT,EAAgB/D,EAAI2D,IAAIE,QAAQztP,EAAU2qP,EAAOzD,QAASyD,EAAOvB,OAAQ0B,EAAWiC,KAAMnD,EAAI1qJ,QAGlG0qJ,EAAIuB,GAAKwC,EAAcxC,GAGvB,IAAIkC,EAAY3C,EAAmBG,QAAQ73R,KAAKvsB,KAAMkkT,EAAQG,EAAY6C,EAAcx6R,IAAKy2R,GAC7F,OAAOyD,KA10BU,OAk1BnBO,MACA,SAAUvlT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,IAH/B,CAKG,GAAQ,WAMT,IAAImmS,EAAWA,GAAY,SAAU3jT,EAAMyC,GACzC,IAAI66B,EA4BJ,GAzBsB,qBAAXnyB,QAA0BA,OAAOmyB,SAC1CA,EAASnyB,OAAOmyB,QAIE,qBAATt5B,MAAwBA,KAAKs5B,SACtCA,EAASt5B,KAAKs5B,QAIU,qBAAf2tE,YAA8BA,WAAW3tE,SAClDA,EAAS2tE,WAAW3tE,SAIjBA,GAA4B,qBAAXnyB,QAA0BA,OAAOshO,WACrDnvM,EAASnyB,OAAOshO,WAIbnvM,GAA2C,qBAA1Bi0Q,EAAoB19Q,GAAqB09Q,EAAoB19Q,EAAEyJ,SACnFA,EAASi0Q,EAAoB19Q,EAAEyJ,SAI5BA,EACH,IACEA,EAASi0Q,EAAoB,OAC7B,MAAOl1L,IAQX,IAAIyvM,EAAwB,WAC1B,GAAIxuR,EAAQ,CAEV,GAAsC,oBAA3BA,EAAOu+H,gBAChB,IACE,OAAOv+H,EAAOu+H,gBAAgB,IAAIhtD,YAAY,IAAI,GAClD,MAAOwN,IAIX,GAAkC,oBAAvB/+E,EAAOw+H,YAChB,IACE,OAAOx+H,EAAOw+H,YAAY,GAAG/6B,cAC7B,MAAO1kB,KAGb,MAAM,IAAI56G,MAAM,wEAMdgqJ,EAAS36H,OAAO26H,QAAU,WAC5B,SAAS3zG,KACT,OAAO,SAAU3mB,GACf,IAAI46R,EAIJ,OAHAj0Q,EAAE7yC,UAAYksB,EACd46R,EAAU,IAAIj0Q,EACdA,EAAE7yC,UAAY,KACP8mT,GAPmB,GAc1BhjT,EAAI,GAKJ66S,EAAQ76S,EAAE86S,IAAM,GAKhB3G,EAAO0G,EAAM1G,KAAO,WACtB,MAAO,CAmBLn4Q,OAAQ,SAAgBinR,GAEtB,IAAID,EAAUtgK,EAAO/mJ,MAmBrB,OAhBIsnT,GACFD,EAAQpB,MAAMqB,GAIXD,EAAQ/6R,eAAe,SAAWtsB,KAAK0+H,OAAS2oL,EAAQ3oL,OAC3D2oL,EAAQ3oL,KAAO,WACb2oL,EAAQE,OAAO7oL,KAAKzyH,MAAMjM,KAAMnC,aAKpCwpT,EAAQ3oL,KAAKn+H,UAAY8mT,EAGzBA,EAAQE,OAASvnT,KACVqnT,GAcTtgK,OAAQ,WACN,IAAI+sC,EAAW9zL,KAAKqgC,SAEpB,OADAyzJ,EAASp1D,KAAKzyH,MAAM6nL,EAAUj2L,WACvBi2L,GAcTp1D,KAAM,aAYNunL,MAAO,SAAet1F,GACpB,IAAK,IAAI62F,KAAgB72F,EACnBA,EAAWrkM,eAAek7R,KAC5BxnT,KAAKwnT,GAAgB72F,EAAW62F,IAKhC72F,EAAWrkM,eAAe,cAC5BtsB,KAAKoQ,SAAWugN,EAAWvgN,WAY/BtP,MAAO,WACL,OAAOd,KAAK0+H,KAAKn+H,UAAU8/B,OAAOrgC,QA1GhB,GAqHpB8iT,EAAY5D,EAAM4D,UAAYtK,EAAKn4Q,OAAO,CAa5Cq+F,KAAM,SAAcz3C,EAAOy5N,GACzBz5N,EAAQjnF,KAAKinF,MAAQA,GAAS,GAE5BjnF,KAAK0gT,SADHA,GAAY3iT,EACE2iT,EAEe,EAAfz5N,EAAMnpF,QAgB1BsS,SAAU,SAAkBq3S,GAC1B,OAAQA,GAAWC,GAAK55R,UAAU9tB,OAapC6C,OAAQ,SAAgBwjT,GAEtB,IAAIsB,EAAY3nT,KAAKinF,MACjB2gO,EAAYvB,EAAUp/N,MACtB4gO,EAAe7nT,KAAK0gT,SACpBoH,EAAezB,EAAU3F,SAM7B,GAHA1gT,KAAKwvJ,QAGDq4J,EAAe,EAEjB,IAAK,IAAIlhT,EAAI,EAAGA,EAAImhT,EAAcnhT,IAAK,CACrC,IAAIohT,EAAWH,EAAUjhT,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,IACvDghT,EAAUE,EAAelhT,IAAM,IAAMohT,GAAY,IAAMF,EAAelhT,GAAK,EAAI,OAIjF,IAAK,IAAIuL,EAAI,EAAGA,EAAI41S,EAAc51S,GAAK,EACrCy1S,EAAUE,EAAe31S,IAAM,GAAK01S,EAAU11S,IAAM,GAMxD,OAHAlS,KAAK0gT,UAAYoH,EAGV9nT,MASTwvJ,MAAO,WAEL,IAAIvoE,EAAQjnF,KAAKinF,MACby5N,EAAW1gT,KAAK0gT,SAGpBz5N,EAAMy5N,IAAa,IAAM,YAAc,GAAKA,EAAW,EAAI,EAC3Dz5N,EAAMnpF,OAASxC,EAAKuiB,KAAK6iS,EAAW,IAWtC5/S,MAAO,WACL,IAAIA,EAAQ03S,EAAK13S,MAAMyrB,KAAKvsB,MAE5B,OADAc,EAAMmmF,MAAQjnF,KAAKinF,MAAM79E,MAAM,GACxBtI,GAeTkjI,OAAQ,SAAgBqtF,GAEtB,IADA,IAAIpqI,EAAQ,GACHtgF,EAAI,EAAGA,EAAI0qN,EAAQ1qN,GAAK,EAC/BsgF,EAAMrgF,KAAKwgT,KAEb,OAAO,IAAItE,EAAUpkL,KAAKz3C,EAAOoqI,MAOjC2xF,EAAQ3+S,EAAE0G,IAAM,GAKhB28S,EAAM1E,EAAM0E,IAAM,CAcpB55R,UAAW,SAAmBu4R,GAO5B,IALA,IAAIp/N,EAAQo/N,EAAUp/N,MAClBy5N,EAAW2F,EAAU3F,SAGrBsH,EAAW,GACNrhT,EAAI,EAAGA,EAAI+5S,EAAU/5S,IAAK,CACjC,IAAIshT,EAAOhhO,EAAMtgF,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,IAC/CqhT,EAASphT,MAAMqhT,IAAS,GAAG73S,SAAS,KACpC43S,EAASphT,MAAa,GAAPqhT,GAAa73S,SAAS,KAEvC,OAAO43S,EAAS3nT,KAAK,KAevBsb,MAAO,SAAeusS,GAMpB,IAJA,IAAIC,EAAeD,EAAOpqT,OAGtBmpF,EAAQ,GACHtgF,EAAI,EAAGA,EAAIwhT,EAAcxhT,GAAK,EACrCsgF,EAAMtgF,IAAM,IAAM+M,SAASw0S,EAAO72S,OAAO1K,EAAG,GAAI,KAAO,GAAKA,EAAI,EAAI,EAEtE,OAAO,IAAIm8S,EAAUpkL,KAAKz3C,EAAOkhO,EAAe,KAOhDC,EAASpF,EAAMoF,OAAS,CAc1Bt6R,UAAW,SAAmBu4R,GAO5B,IALA,IAAIp/N,EAAQo/N,EAAUp/N,MAClBy5N,EAAW2F,EAAU3F,SAGrB2H,EAAc,GACT1hT,EAAI,EAAGA,EAAI+5S,EAAU/5S,IAAK,CACjC,IAAIshT,EAAOhhO,EAAMtgF,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,IAC/C0hT,EAAYzhT,KAAKkC,OAAOC,aAAak/S,IAEvC,OAAOI,EAAYhoT,KAAK,KAe1Bsb,MAAO,SAAe2sS,GAMpB,IAJA,IAAIC,EAAkBD,EAAUxqT,OAG5BmpF,EAAQ,GACHtgF,EAAI,EAAGA,EAAI4hT,EAAiB5hT,IACnCsgF,EAAMtgF,IAAM,KAAiC,IAA1B2hT,EAAU1/S,WAAWjC,KAAc,GAAKA,EAAI,EAAI,EAErE,OAAO,IAAIm8S,EAAUpkL,KAAKz3C,EAAOshO,KAOjCtF,EAAOD,EAAMC,KAAO,CActBn1R,UAAW,SAAmBu4R,GAC5B,IACE,OAAOhjJ,mBAAmBmlJ,OAAOJ,EAAOt6R,UAAUu4R,KAClD,MAAOx7S,GACP,MAAM,IAAI9N,MAAM,0BAgBpB4e,MAAO,SAAe8sS,GACpB,OAAOL,EAAOzsS,MAAM65J,SAASv0B,mBAAmBwnK,OAWhD1F,EAAyB7D,EAAM6D,uBAAyBvK,EAAKn4Q,OAAO,CAQtEqkO,MAAO,WAEL1kQ,KAAK6uB,MAAQ,IAAIi0R,EAAUpkL,KAC3B1+H,KAAK0oT,YAAc,GAYrB/E,QAAS,SAAiBl7S,GAEL,iBAARA,IACTA,EAAOw6S,EAAKtnS,MAAMlT,IAIpBzI,KAAK6uB,MAAMhsB,OAAO4F,GAClBzI,KAAK0oT,aAAejgT,EAAKi4S,UAgB3BkD,SAAU,SAAkB+E,GAC1B,IAAIC,EAGAngT,EAAOzI,KAAK6uB,MACZg6R,EAAYpgT,EAAKw+E,MACjB6hO,EAAergT,EAAKi4S,SACpBgC,EAAY1iT,KAAK0iT,UACjB4C,EAA6B,EAAZ5C,EAGjBqG,EAAeD,EAAexD,EAGhCyD,EAFEJ,EAEartT,EAAKuiB,KAAKkrS,GAIVztT,EAAK4Z,KAAoB,EAAf6zS,GAAoB/oT,KAAK6lT,eAAgB,GAIpE,IAAImD,EAAcD,EAAerG,EAG7BuG,EAAc3tT,EAAK2Z,IAAkB,EAAd+zS,EAAiBF,GAG5C,GAAIE,EAAa,CACf,IAAK,IAAI/oS,EAAS,EAAGA,EAAS+oS,EAAa/oS,GAAUyiS,EAEnD1iT,KAAK+lT,gBAAgB8C,EAAW5oS,GAIlC2oS,EAAiBC,EAAUl/R,OAAO,EAAGq/R,GACrCvgT,EAAKi4S,UAAYuI,EAInB,OAAO,IAAInG,EAAUpkL,KAAKkqL,EAAgBK,IAW5CnoT,MAAO,WACL,IAAIA,EAAQ03S,EAAK13S,MAAMyrB,KAAKvsB,MAE5B,OADAc,EAAM+tB,MAAQ7uB,KAAK6uB,MAAM/tB,QAClBA,GAET+kT,eAAgB,IAmIdxG,GA3HSH,EAAMgK,OAASnG,EAAuB1iR,OAAO,CAIxD8iR,IAAK3K,EAAKn4Q,SAUVq+F,KAAM,SAAcykL,GAElBnjT,KAAKmjT,IAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,GAG3BnjT,KAAK0kQ,SASPA,MAAO,WAELq+C,EAAuBr+C,MAAMn4O,KAAKvsB,MAGlCA,KAAKqgT,YAcPpnR,OAAQ,SAAgBkwR,GAQtB,OANAnpT,KAAK2jT,QAAQwF,GAGbnpT,KAAK4jT,WAGE5jT,MAgBTmvG,SAAU,SAAkBg6M,GAEtBA,GACFnpT,KAAK2jT,QAAQwF,GAIf,IAAIrjR,EAAO9lC,KAAK8jT,cAChB,OAAOh+Q,GAET48Q,UAAW,GAcXnB,cAAe,SAAuB9oJ,GACpC,OAAO,SAAUv4J,EAASijT,GACxB,OAAO,IAAI1qJ,EAAO/5B,KAAKykL,GAAKh0M,SAASjvG,KAgBzCkpT,kBAAmB,SAA2B3wJ,GAC5C,OAAO,SAAUv4J,EAASwsB,GACxB,OAAO,IAAI2yR,EAAOgK,KAAK3qL,KAAK+5B,EAAQ/rI,GAAKyiF,SAASjvG,OAQ3CmE,EAAEi7S,KAAO,IACtB,OAAOj7S,EA7tBkB,CA8tBzB/I,MACF,OAAO2jT,MAKHqK,MACA,SAAU1nT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,QAH3D,CAKG,GAAQ,SAAUoS,GA6GnB,OA5GA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBE,EAAQ3+S,EAAE0G,IAKDi4S,EAAMr5S,OAAS,CAc1BmkB,UAAW,SAAmBu4R,GAE5B,IAAIp/N,EAAQo/N,EAAUp/N,MAClBy5N,EAAW2F,EAAU3F,SACrBt8S,EAAMpE,KAAKwpJ,KAGf68J,EAAU72J,QAIV,IADA,IAAI+5J,EAAc,GACT5iT,EAAI,EAAGA,EAAI+5S,EAAU/5S,GAAK,EAKjC,IAJA,IAAIsyD,EAAQguB,EAAMtgF,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,IAC5CuyD,EAAQ+tB,EAAMtgF,EAAI,IAAM,KAAO,IAAMA,EAAI,GAAK,EAAI,EAAI,IACtD6iT,EAAQviO,EAAMtgF,EAAI,IAAM,KAAO,IAAMA,EAAI,GAAK,EAAI,EAAI,IACtD8iT,EAAUxwP,GAAS,GAAKC,GAAS,EAAIswP,EAChCt3S,EAAI,EAAGA,EAAI,GAAKvL,EAAQ,IAAJuL,EAAWwuS,EAAUxuS,IAChDq3S,EAAY3iT,KAAKxC,EAAI+F,OAAOs/S,IAAY,GAAK,EAAIv3S,GAAK,KAK1D,IAAIw3S,EAActlT,EAAI+F,OAAO,IAC7B,GAAIu/S,EACF,MAAOH,EAAYzrT,OAAS,EAC1ByrT,EAAY3iT,KAAK8iT,GAGrB,OAAOH,EAAYlpT,KAAK,KAe1Bsb,MAAO,SAAeguS,GAEpB,IAAIC,EAAkBD,EAAU7rT,OAC5BsG,EAAMpE,KAAKwpJ,KACXqgK,EAAa7pT,KAAK8pT,YACtB,IAAKD,EAAY,CACfA,EAAa7pT,KAAK8pT,YAAc,GAChC,IAAK,IAAI53S,EAAI,EAAGA,EAAI9N,EAAItG,OAAQoU,IAC9B23S,EAAWzlT,EAAIwE,WAAWsJ,IAAMA,EAKpC,IAAIw3S,EAActlT,EAAI+F,OAAO,IAC7B,GAAIu/S,EAAa,CACf,IAAIK,EAAeJ,EAAUvhT,QAAQshT,IACf,IAAlBK,IACFH,EAAkBG,GAKtB,OAAOC,EAAUL,EAAWC,EAAiBC,IAE/CrgK,KAAM,qEAER,SAASwgK,EAAUL,EAAWC,EAAiBC,GAG7C,IAFA,IAAI5iO,EAAQ,GACRoqI,EAAS,EACJ1qN,EAAI,EAAGA,EAAIijT,EAAiBjjT,IACnC,GAAIA,EAAI,EAAG,CACT,IAAIsjT,EAAQJ,EAAWF,EAAU/gT,WAAWjC,EAAI,KAAOA,EAAI,EAAI,EAC3DujT,EAAQL,EAAWF,EAAU/gT,WAAWjC,MAAQ,EAAIA,EAAI,EAAI,EAC5DwjT,EAAeF,EAAQC,EAC3BjjO,EAAMoqI,IAAW,IAAM84F,GAAgB,GAAK94F,EAAS,EAAI,EACzDA,IAGJ,OAAOyxF,EAAU/7J,OAAO9/D,EAAOoqI,IAzGnC,GA4GO4tF,EAASl0S,IAAIpB,WAKhBygT,MACA,SAAUxoT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,QAH3D,CAKG,GAAQ,SAAUoS,GAyHnB,OAxHA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBE,EAAQ3+S,EAAE0G,IAKEi4S,EAAMqH,UAAY,CAgBhCv8R,UAAW,SAAmBu4R,EAAWiE,QACvBvsT,IAAZusT,IACFA,GAAU,GAGZ,IAAIrjO,EAAQo/N,EAAUp/N,MAClBy5N,EAAW2F,EAAU3F,SACrBt8S,EAAMkmT,EAAUtqT,KAAKuqT,UAAYvqT,KAAKwpJ,KAG1C68J,EAAU72J,QAIV,IADA,IAAI+5J,EAAc,GACT5iT,EAAI,EAAGA,EAAI+5S,EAAU/5S,GAAK,EAKjC,IAJA,IAAIsyD,EAAQguB,EAAMtgF,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,IAC5CuyD,EAAQ+tB,EAAMtgF,EAAI,IAAM,KAAO,IAAMA,EAAI,GAAK,EAAI,EAAI,IACtD6iT,EAAQviO,EAAMtgF,EAAI,IAAM,KAAO,IAAMA,EAAI,GAAK,EAAI,EAAI,IACtD8iT,EAAUxwP,GAAS,GAAKC,GAAS,EAAIswP,EAChCt3S,EAAI,EAAGA,EAAI,GAAKvL,EAAQ,IAAJuL,EAAWwuS,EAAUxuS,IAChDq3S,EAAY3iT,KAAKxC,EAAI+F,OAAOs/S,IAAY,GAAK,EAAIv3S,GAAK,KAK1D,IAAIw3S,EAActlT,EAAI+F,OAAO,IAC7B,GAAIu/S,EACF,MAAOH,EAAYzrT,OAAS,EAC1ByrT,EAAY3iT,KAAK8iT,GAGrB,OAAOH,EAAYlpT,KAAK,KAiB1Bsb,MAAO,SAAeguS,EAAWW,QACfvsT,IAAZusT,IACFA,GAAU,GAIZ,IAAIV,EAAkBD,EAAU7rT,OAC5BsG,EAAMkmT,EAAUtqT,KAAKuqT,UAAYvqT,KAAKwpJ,KACtCqgK,EAAa7pT,KAAK8pT,YACtB,IAAKD,EAAY,CACfA,EAAa7pT,KAAK8pT,YAAc,GAChC,IAAK,IAAI53S,EAAI,EAAGA,EAAI9N,EAAItG,OAAQoU,IAC9B23S,EAAWzlT,EAAIwE,WAAWsJ,IAAMA,EAKpC,IAAIw3S,EAActlT,EAAI+F,OAAO,IAC7B,GAAIu/S,EAAa,CACf,IAAIK,EAAeJ,EAAUvhT,QAAQshT,IACf,IAAlBK,IACFH,EAAkBG,GAKtB,OAAOC,EAAUL,EAAWC,EAAiBC,IAE/CrgK,KAAM,oEACN+gK,UAAW,oEAEb,SAASP,EAAUL,EAAWC,EAAiBC,GAG7C,IAFA,IAAI5iO,EAAQ,GACRoqI,EAAS,EACJ1qN,EAAI,EAAGA,EAAIijT,EAAiBjjT,IACnC,GAAIA,EAAI,EAAG,CACT,IAAIsjT,EAAQJ,EAAWF,EAAU/gT,WAAWjC,EAAI,KAAOA,EAAI,EAAI,EAC3DujT,EAAQL,EAAWF,EAAU/gT,WAAWjC,MAAQ,EAAIA,EAAI,EAAI,EAC5DwjT,EAAeF,EAAQC,EAC3BjjO,EAAMoqI,IAAW,IAAM84F,GAAgB,GAAK94F,EAAS,EAAI,EACzDA,IAGJ,OAAOyxF,EAAU/7J,OAAO9/D,EAAOoqI,IArHnC,GAwHO4tF,EAASl0S,IAAIs/S,cAKhBG,MACA,SAAU5oT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,QAH3D,CAKG,GAAQ,SAAUoS,GA2HnB,OA1HA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBE,EAAQ3+S,EAAE0G,IAKAi4S,EAAMyH,MAAQzH,EAAM0H,QAAU,CAc1C58R,UAAW,SAAmBu4R,GAO5B,IALA,IAAIp/N,EAAQo/N,EAAUp/N,MAClBy5N,EAAW2F,EAAU3F,SAGrBiK,EAAa,GACRhkT,EAAI,EAAGA,EAAI+5S,EAAU/5S,GAAK,EAAG,CACpC,IAAI2yH,EAAYryC,EAAMtgF,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,MACpDgkT,EAAW/jT,KAAKkC,OAAOC,aAAauwH,IAEtC,OAAOqxL,EAAWtqT,KAAK,KAezBsb,MAAO,SAAeivS,GAMpB,IAJA,IAAIC,EAAiBD,EAAS9sT,OAG1BmpF,EAAQ,GACHtgF,EAAI,EAAGA,EAAIkkT,EAAgBlkT,IAClCsgF,EAAMtgF,IAAM,IAAMikT,EAAShiT,WAAWjC,IAAM,GAAKA,EAAI,EAAI,GAE3D,OAAOm8S,EAAU/7J,OAAO9/D,EAAwB,EAAjB4jO,KA2DnC,SAASC,EAAWC,GAClB,OAAOA,GAAQ,EAAI,WAAaA,IAAS,EAAI,SArD/C/H,EAAMgI,QAAU,CAcdl9R,UAAW,SAAmBu4R,GAO5B,IALA,IAAIp/N,EAAQo/N,EAAUp/N,MAClBy5N,EAAW2F,EAAU3F,SAGrBiK,EAAa,GACRhkT,EAAI,EAAGA,EAAI+5S,EAAU/5S,GAAK,EAAG,CACpC,IAAI2yH,EAAYwxL,EAAW7jO,EAAMtgF,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,OAC/DgkT,EAAW/jT,KAAKkC,OAAOC,aAAauwH,IAEtC,OAAOqxL,EAAWtqT,KAAK,KAezBsb,MAAO,SAAeivS,GAMpB,IAJA,IAAIC,EAAiBD,EAAS9sT,OAG1BmpF,EAAQ,GACHtgF,EAAI,EAAGA,EAAIkkT,EAAgBlkT,IAClCsgF,EAAMtgF,IAAM,IAAMmkT,EAAWF,EAAShiT,WAAWjC,IAAM,GAAKA,EAAI,EAAI,IAEtE,OAAOm8S,EAAU/7J,OAAO9/D,EAAwB,EAAjB4jO,KAnHrC,GA0HO5L,EAASl0S,IAAI0/S,UAKhBQ,MACA,SAAUrpT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAHnH,CAKG,GAAQ,SAAUoS,GA+GnB,OA9GA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV3G,EAAO0G,EAAM1G,KACbsK,EAAY5D,EAAM4D,UAClBzD,EAASh7S,EAAEi7S,KACX4L,EAAM7L,EAAO6L,IAMbhI,EAAS7D,EAAO6D,OAAS1K,EAAKn4Q,OAAO,CAQvC8iR,IAAK3K,EAAKn4Q,OAAO,CACfogR,QAAS,EACThoJ,OAAQyyJ,EACRp1H,WAAY,IAadp3D,KAAM,SAAcykL,GAClBnjT,KAAKmjT,IAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,IAc7B8D,QAAS,SAAiB1tP,EAAU+sP,GAClC,IAAI/2D,EAGA4zD,EAAMnjT,KAAKmjT,IAGX1qJ,EAAS0qJ,EAAI1qJ,OAAO1R,SAGpBokK,EAAarI,EAAU/7J,SAGvBqkK,EAAkBD,EAAWlkO,MAC7Bw5N,EAAU0C,EAAI1C,QACd3qH,EAAaqtH,EAAIrtH,WAGrB,MAAOs1H,EAAgBttT,OAAS2iT,EAAS,CACnClxD,GACF92F,EAAOx/H,OAAOs2N,GAEhBA,EAAQ92F,EAAOx/H,OAAOsgC,GAAU41C,SAASm3M,GACzC7tJ,EAAOisG,QAGP,IAAK,IAAI/9P,EAAI,EAAGA,EAAImvL,EAAYnvL,IAC9B4oP,EAAQ92F,EAAOtpD,SAASogJ,GACxB92F,EAAOisG,QAETymD,EAAWtoT,OAAO0sP,GAGpB,OADA47D,EAAWzK,SAAqB,EAAVD,EACf0K,KAqBX9mT,EAAE6+S,OAAS,SAAU3pP,EAAU+sP,EAAMnD,GACnC,OAAOD,EAAOn8J,OAAOo8J,GAAK8D,QAAQ1tP,EAAU+sP,IA3GhD,GA8GOrH,EAASiE,WAKZmI,KACA,SAAUzpT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OACpBA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GA+CnB,OA9CA,SAAWlhT,GAET,IAAIsG,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACVwG,EAAezG,EAAMyG,aACrB3C,EAAQ3+S,EAAE0G,IACV28S,EAAM1E,EAAM0E,IACZxB,EAAW7hT,EAAEI,OACEyhT,EAASwB,IAAM,CAchC55R,UAAW,SAAmBk4R,GAC5B,OAAOA,EAAa3B,WAAWj0S,SAASs3S,IAe1C/rS,MAAO,SAAe9R,GACpB,IAAIw6S,EAAaqD,EAAI/rS,MAAM9R,GAC3B,OAAO87S,EAAa5+J,OAAO,CACzBs9J,WAAYA,MAzCpB,GA8COpF,EAASx6S,OAAOijT,QAKnB4D,KACA,SAAU1pT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,QAH3D,CAKG,GAAQ,SAAUoS,IACnB,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV3G,EAAO0G,EAAM1G,KACbwK,EAAQ3+S,EAAE0G,IACVk4S,EAAOD,EAAMC,KACb5D,EAASh7S,EAAEi7S,KAKJD,EAAOgK,KAAO7Q,EAAKn4Q,OAAO,CAWnCq+F,KAAM,SAAc+5B,EAAQ/rI,GAE1B+rI,EAASz4J,KAAKurT,QAAU,IAAI9yJ,EAAO/5B,KAGjB,iBAAPhyG,IACTA,EAAMu2R,EAAKtnS,MAAM+Q,IAInB,IAAI8+R,EAAkB/yJ,EAAOiqJ,UACzB+I,EAAyC,EAAlBD,EAGvB9+R,EAAIg0R,SAAW+K,IACjB/+R,EAAM+rI,EAAOtpD,SAASziF,IAIxBA,EAAI8iI,QAWJ,IARA,IAAIk8J,EAAO1rT,KAAK2rT,MAAQj/R,EAAI5rB,QACxB8qT,EAAO5rT,KAAK6rT,MAAQn/R,EAAI5rB,QAGxBgrT,EAAYJ,EAAKzkO,MACjB8kO,EAAYH,EAAK3kO,MAGZtgF,EAAI,EAAGA,EAAI6kT,EAAiB7kT,IACnCmlT,EAAUnlT,IAAM,WAChBolT,EAAUplT,IAAM,UAElB+kT,EAAKhL,SAAWkL,EAAKlL,SAAW+K,EAGhCzrT,KAAK0kQ,SASPA,MAAO,WAEL,IAAIjsG,EAASz4J,KAAKurT,QAGlB9yJ,EAAOisG,QACPjsG,EAAOx/H,OAAOj5B,KAAK6rT,QAcrB5yR,OAAQ,SAAgBkwR,GAItB,OAHAnpT,KAAKurT,QAAQtyR,OAAOkwR,GAGbnpT,MAgBTmvG,SAAU,SAAkBg6M,GAE1B,IAAI1wJ,EAASz4J,KAAKurT,QAGdS,EAAYvzJ,EAAOtpD,SAASg6M,GAChC1wJ,EAAOisG,QACP,IAAIunD,EAAOxzJ,EAAOtpD,SAASnvG,KAAK2rT,MAAM7qT,QAAQ+B,OAAOmpT,IACrD,OAAOC,MArHb,OA6HIC,MACA,SAAUtqT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,MAAOA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,MAAOA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,MAAOA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,SAHh/B,CAKG,GAAQ,SAAUoS,GACnB,OAAOA,MAKHkN,MACA,SAAUvqT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,KACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,QAH3D,CAKG,GAAQ,SAAUoS,GA+CnB,OA9CA,WAEE,GAA0B,mBAAfxzS,YAAX,CAKA,IAAIpH,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAGlBsJ,EAAYtJ,EAAUpkL,KAGtB2tL,EAAUvJ,EAAUpkL,KAAO,SAAU4tL,GAYvC,GAVIA,aAAsB7gT,cACxB6gT,EAAa,IAAI3gT,WAAW2gT,KAI1BA,aAAsBzS,WAA0C,qBAAtB/a,mBAAqCwtB,aAAsBxtB,mBAAqBwtB,aAAsB5R,YAAc4R,aAAsBxmS,aAAewmS,aAAsBtzS,YAAcszS,aAAsBniN,aAAemiN,aAAsB3R,cAAgB2R,aAAsB1R,gBAC1U0R,EAAa,IAAI3gT,WAAW2gT,EAAW9iN,OAAQ8iN,EAAWz1L,WAAYy1L,EAAWp6M,aAI/Eo6M,aAAsB3gT,WAAY,CAMpC,IAJA,IAAI4gT,EAAuBD,EAAWp6M,WAGlCjrB,EAAQ,GACHtgF,EAAI,EAAGA,EAAI4lT,EAAsB5lT,IACxCsgF,EAAMtgF,IAAM,IAAM2lT,EAAW3lT,IAAM,GAAKA,EAAI,EAAI,EAIlDylT,EAAU7/R,KAAKvsB,KAAMinF,EAAOslO,QAG5BH,EAAUngT,MAAMjM,KAAMnC,YAG1BwuT,EAAQ9rT,UAAYuiT,GA5CtB,GA8CO7D,EAASE,IAAI2D,cAKhB0J,MACA,SAAU5qT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,SAH3D,CAKG,GAAQ,SAAUoS,GA2NnB,OA1NA,SAAW3jT,GAET,IAAI+I,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBoG,EAAShK,EAAMgK,OACf7J,EAASh7S,EAAEi7S,KAGXxwS,EAAI,IAGR,WACE,IAAK,IAAInI,EAAI,EAAGA,EAAI,GAAIA,IACtBmI,EAAEnI,GAAiC,WAA5BrL,EAAKW,IAAIX,EAAK0K,IAAIW,EAAI,IAAoB,GAFrD,GASA,IAAIukT,EAAM7L,EAAO6L,IAAMhC,EAAO7oR,OAAO,CACnCggR,SAAU,WACRrgT,KAAKysT,MAAQ,IAAI3J,EAAUpkL,KAAK,CAAC,WAAY,WAAY,WAAY,aAEvEqnL,gBAAiB,SAAyB72S,EAAG+Q,GAE3C,IAAK,IAAItZ,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAE3B,IAAI+lT,EAAWzsS,EAAStZ,EACpBgmT,EAAaz9S,EAAEw9S,GACnBx9S,EAAEw9S,GAAoD,UAAvCC,GAAc,EAAIA,IAAe,IAA2D,YAAvCA,GAAc,GAAKA,IAAe,GAIxG,IAAI19S,EAAIjP,KAAKysT,MAAMxlO,MACf2lO,EAAa19S,EAAE+Q,EAAS,GACxB4sS,EAAa39S,EAAE+Q,EAAS,GACxB6sS,EAAa59S,EAAE+Q,EAAS,GACxB8sS,EAAa79S,EAAE+Q,EAAS,GACxB+sS,EAAa99S,EAAE+Q,EAAS,GACxBgtS,EAAa/9S,EAAE+Q,EAAS,GACxBitS,EAAah+S,EAAE+Q,EAAS,GACxBktS,EAAaj+S,EAAE+Q,EAAS,GACxBmtS,EAAal+S,EAAE+Q,EAAS,GACxBotS,EAAan+S,EAAE+Q,EAAS,GACxBqtS,EAAcp+S,EAAE+Q,EAAS,IACzBstS,EAAcr+S,EAAE+Q,EAAS,IACzButS,EAAct+S,EAAE+Q,EAAS,IACzBwtS,EAAcv+S,EAAE+Q,EAAS,IACzBytS,EAAcx+S,EAAE+Q,EAAS,IACzB0tS,EAAcz+S,EAAE+Q,EAAS,IAGzBjkB,EAAIiT,EAAE,GACN9S,EAAI8S,EAAE,GACNnM,EAAImM,EAAE,GACN9L,EAAI8L,EAAE,GAGVjT,EAAIwjK,EAAGxjK,EAAGG,EAAG2G,EAAGK,EAAGypT,EAAY,EAAG99S,EAAE,IACpC3L,EAAIq8J,EAAGr8J,EAAGnH,EAAGG,EAAG2G,EAAG+pT,EAAY,GAAI/9S,EAAE,IACrChM,EAAI08J,EAAG18J,EAAGK,EAAGnH,EAAGG,EAAG2wT,EAAY,GAAIh+S,EAAE,IACrC3S,EAAIqjK,EAAGrjK,EAAG2G,EAAGK,EAAGnH,EAAG+wT,EAAY,GAAIj+S,EAAE,IACrC9S,EAAIwjK,EAAGxjK,EAAGG,EAAG2G,EAAGK,EAAG6pT,EAAY,EAAGl+S,EAAE,IACpC3L,EAAIq8J,EAAGr8J,EAAGnH,EAAGG,EAAG2G,EAAGmqT,EAAY,GAAIn+S,EAAE,IACrChM,EAAI08J,EAAG18J,EAAGK,EAAGnH,EAAGG,EAAG+wT,EAAY,GAAIp+S,EAAE,IACrC3S,EAAIqjK,EAAGrjK,EAAG2G,EAAGK,EAAGnH,EAAGmxT,EAAY,GAAIr+S,EAAE,IACrC9S,EAAIwjK,EAAGxjK,EAAGG,EAAG2G,EAAGK,EAAGiqT,EAAY,EAAGt+S,EAAE,IACpC3L,EAAIq8J,EAAGr8J,EAAGnH,EAAGG,EAAG2G,EAAGuqT,EAAY,GAAIv+S,EAAE,IACrChM,EAAI08J,EAAG18J,EAAGK,EAAGnH,EAAGG,EAAGmxT,EAAa,GAAIx+S,EAAE,KACtC3S,EAAIqjK,EAAGrjK,EAAG2G,EAAGK,EAAGnH,EAAGuxT,EAAa,GAAIz+S,EAAE,KACtC9S,EAAIwjK,EAAGxjK,EAAGG,EAAG2G,EAAGK,EAAGqqT,EAAa,EAAG1+S,EAAE,KACrC3L,EAAIq8J,EAAGr8J,EAAGnH,EAAGG,EAAG2G,EAAG2qT,EAAa,GAAI3+S,EAAE,KACtChM,EAAI08J,EAAG18J,EAAGK,EAAGnH,EAAGG,EAAGuxT,EAAa,GAAI5+S,EAAE,KACtC3S,EAAIqjK,EAAGrjK,EAAG2G,EAAGK,EAAGnH,EAAG2xT,EAAa,GAAI7+S,EAAE,KACtC9S,EAAI4xT,EAAG5xT,EAAGG,EAAG2G,EAAGK,EAAG0pT,EAAY,EAAG/9S,EAAE,KACpC3L,EAAIyqT,EAAGzqT,EAAGnH,EAAGG,EAAG2G,EAAGoqT,EAAY,EAAGp+S,EAAE,KACpChM,EAAI8qT,EAAG9qT,EAAGK,EAAGnH,EAAGG,EAAGoxT,EAAa,GAAIz+S,EAAE,KACtC3S,EAAIyxT,EAAGzxT,EAAG2G,EAAGK,EAAGnH,EAAG4wT,EAAY,GAAI99S,EAAE,KACrC9S,EAAI4xT,EAAG5xT,EAAGG,EAAG2G,EAAGK,EAAG8pT,EAAY,EAAGn+S,EAAE,KACpC3L,EAAIyqT,EAAGzqT,EAAGnH,EAAGG,EAAG2G,EAAGwqT,EAAa,EAAGx+S,EAAE,KACrChM,EAAI8qT,EAAG9qT,EAAGK,EAAGnH,EAAGG,EAAGwxT,EAAa,GAAI7+S,EAAE,KACtC3S,EAAIyxT,EAAGzxT,EAAG2G,EAAGK,EAAGnH,EAAGgxT,EAAY,GAAIl+S,EAAE,KACrC9S,EAAI4xT,EAAG5xT,EAAGG,EAAG2G,EAAGK,EAAGkqT,EAAY,EAAGv+S,EAAE,KACpC3L,EAAIyqT,EAAGzqT,EAAGnH,EAAGG,EAAG2G,EAAG4qT,EAAa,EAAG5+S,EAAE,KACrChM,EAAI8qT,EAAG9qT,EAAGK,EAAGnH,EAAGG,EAAG4wT,EAAY,GAAIj+S,EAAE,KACrC3S,EAAIyxT,EAAGzxT,EAAG2G,EAAGK,EAAGnH,EAAGoxT,EAAY,GAAIt+S,EAAE,KACrC9S,EAAI4xT,EAAG5xT,EAAGG,EAAG2G,EAAGK,EAAGsqT,EAAa,EAAG3+S,EAAE,KACrC3L,EAAIyqT,EAAGzqT,EAAGnH,EAAGG,EAAG2G,EAAGgqT,EAAY,EAAGh+S,EAAE,KACpChM,EAAI8qT,EAAG9qT,EAAGK,EAAGnH,EAAGG,EAAGgxT,EAAY,GAAIr+S,EAAE,KACrC3S,EAAIyxT,EAAGzxT,EAAG2G,EAAGK,EAAGnH,EAAGwxT,EAAa,GAAI1+S,EAAE,KACtC9S,EAAI6xT,EAAG7xT,EAAGG,EAAG2G,EAAGK,EAAG8pT,EAAY,EAAGn+S,EAAE,KACpC3L,EAAI0qT,EAAG1qT,EAAGnH,EAAGG,EAAG2G,EAAGsqT,EAAY,GAAIt+S,EAAE,KACrChM,EAAI+qT,EAAG/qT,EAAGK,EAAGnH,EAAGG,EAAGoxT,EAAa,GAAIz+S,EAAE,KACtC3S,EAAI0xT,EAAG1xT,EAAG2G,EAAGK,EAAGnH,EAAG0xT,EAAa,GAAI5+S,EAAE,KACtC9S,EAAI6xT,EAAG7xT,EAAGG,EAAG2G,EAAGK,EAAG0pT,EAAY,EAAG/9S,EAAE,KACpC3L,EAAI0qT,EAAG1qT,EAAGnH,EAAGG,EAAG2G,EAAGkqT,EAAY,GAAIl+S,EAAE,KACrChM,EAAI+qT,EAAG/qT,EAAGK,EAAGnH,EAAGG,EAAGgxT,EAAY,GAAIr+S,EAAE,KACrC3S,EAAI0xT,EAAG1xT,EAAG2G,EAAGK,EAAGnH,EAAGsxT,EAAa,GAAIx+S,EAAE,KACtC9S,EAAI6xT,EAAG7xT,EAAGG,EAAG2G,EAAGK,EAAGsqT,EAAa,EAAG3+S,EAAE,KACrC3L,EAAI0qT,EAAG1qT,EAAGnH,EAAGG,EAAG2G,EAAG8pT,EAAY,GAAI99S,EAAE,KACrChM,EAAI+qT,EAAG/qT,EAAGK,EAAGnH,EAAGG,EAAG4wT,EAAY,GAAIj+S,EAAE,KACrC3S,EAAI0xT,EAAG1xT,EAAG2G,EAAGK,EAAGnH,EAAGkxT,EAAY,GAAIp+S,EAAE,KACrC9S,EAAI6xT,EAAG7xT,EAAGG,EAAG2G,EAAGK,EAAGkqT,EAAY,EAAGv+S,EAAE,KACpC3L,EAAI0qT,EAAG1qT,EAAGnH,EAAGG,EAAG2G,EAAG0qT,EAAa,GAAI1+S,EAAE,KACtChM,EAAI+qT,EAAG/qT,EAAGK,EAAGnH,EAAGG,EAAGwxT,EAAa,GAAI7+S,EAAE,KACtC3S,EAAI0xT,EAAG1xT,EAAG2G,EAAGK,EAAGnH,EAAG8wT,EAAY,GAAIh+S,EAAE,KACrC9S,EAAI8xT,EAAG9xT,EAAGG,EAAG2G,EAAGK,EAAGypT,EAAY,EAAG99S,EAAE,KACpC3L,EAAI2qT,EAAG3qT,EAAGnH,EAAGG,EAAG2G,EAAGqqT,EAAY,GAAIr+S,EAAE,KACrChM,EAAIgrT,EAAGhrT,EAAGK,EAAGnH,EAAGG,EAAGuxT,EAAa,GAAI5+S,EAAE,KACtC3S,EAAI2xT,EAAG3xT,EAAG2G,EAAGK,EAAGnH,EAAGixT,EAAY,GAAIn+S,EAAE,KACrC9S,EAAI8xT,EAAG9xT,EAAGG,EAAG2G,EAAGK,EAAGqqT,EAAa,EAAG1+S,EAAE,KACrC3L,EAAI2qT,EAAG3qT,EAAGnH,EAAGG,EAAG2G,EAAGiqT,EAAY,GAAIj+S,EAAE,KACrChM,EAAIgrT,EAAGhrT,EAAGK,EAAGnH,EAAGG,EAAGmxT,EAAa,GAAIx+S,EAAE,KACtC3S,EAAI2xT,EAAG3xT,EAAG2G,EAAGK,EAAGnH,EAAG6wT,EAAY,GAAI/9S,EAAE,KACrC9S,EAAI8xT,EAAG9xT,EAAGG,EAAG2G,EAAGK,EAAGiqT,EAAY,EAAGt+S,EAAE,KACpC3L,EAAI2qT,EAAG3qT,EAAGnH,EAAGG,EAAG2G,EAAG6qT,EAAa,GAAI7+S,EAAE,KACtChM,EAAIgrT,EAAGhrT,EAAGK,EAAGnH,EAAGG,EAAG+wT,EAAY,GAAIp+S,EAAE,KACrC3S,EAAI2xT,EAAG3xT,EAAG2G,EAAGK,EAAGnH,EAAGyxT,EAAa,GAAI3+S,EAAE,KACtC9S,EAAI8xT,EAAG9xT,EAAGG,EAAG2G,EAAGK,EAAG6pT,EAAY,EAAGl+S,EAAE,KACpC3L,EAAI2qT,EAAG3qT,EAAGnH,EAAGG,EAAG2G,EAAGyqT,EAAa,GAAIz+S,EAAE,KACtChM,EAAIgrT,EAAGhrT,EAAGK,EAAGnH,EAAGG,EAAG2wT,EAAY,GAAIh+S,EAAE,KACrC3S,EAAI2xT,EAAG3xT,EAAG2G,EAAGK,EAAGnH,EAAGqxT,EAAY,GAAIv+S,EAAE,KAGrCG,EAAE,GAAKA,EAAE,GAAKjT,EAAI,EAClBiT,EAAE,GAAKA,EAAE,GAAK9S,EAAI,EAClB8S,EAAE,GAAKA,EAAE,GAAKnM,EAAI,EAClBmM,EAAE,GAAKA,EAAE,GAAK9L,EAAI,GAEpB2gT,YAAa,WAEX,IAAIr7S,EAAOzI,KAAK6uB,MACZg6R,EAAYpgT,EAAKw+E,MACjB8mO,EAAgC,EAAnB/tT,KAAK0oT,YAClBsF,EAA4B,EAAhBvlT,EAAKi4S,SAGrBmI,EAAUmF,IAAc,IAAM,KAAQ,GAAKA,EAAY,GACvD,IAAIC,EAAc3yT,EAAKoC,MAAMqwT,EAAa,YACtCG,EAAcH,EAClBlF,EAAwC,IAA7BmF,EAAY,KAAO,GAAK,IAAqD,UAAzCC,GAAe,EAAIA,IAAgB,IAA6D,YAAzCA,GAAe,GAAKA,IAAgB,GAC1IpF,EAAwC,IAA7BmF,EAAY,KAAO,GAAK,IAAqD,UAAzCE,GAAe,EAAIA,IAAgB,IAA6D,YAAzCA,GAAe,GAAKA,IAAgB,GAC1IzlT,EAAKi4S,SAAoC,GAAxBmI,EAAU/qT,OAAS,GAGpCkC,KAAK4jT,WAOL,IAJA,IAAI99Q,EAAO9lC,KAAKysT,MACZx9S,EAAI62B,EAAKmhD,MAGJtgF,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAE1B,IAAIwnT,EAAMl/S,EAAEtI,GACZsI,EAAEtI,GAA+B,UAAzBwnT,GAAO,EAAIA,IAAQ,IAA6C,YAAzBA,GAAO,GAAKA,IAAQ,GAIrE,OAAOroR,GAEThlC,MAAO,WACL,IAAIA,EAAQooT,EAAOpoT,MAAMyrB,KAAKvsB,MAE9B,OADAc,EAAM2rT,MAAQzsT,KAAKysT,MAAM3rT,QAClBA,KAGX,SAAS0+J,EAAGxjK,EAAGG,EAAG2G,EAAGK,EAAG/H,EAAGkQ,EAAGpO,GAC5B,IAAIwH,EAAI1I,GAAKG,EAAI2G,GAAK3G,EAAIgH,GAAK/H,EAAI8B,EACnC,OAAQwH,GAAK4G,EAAI5G,IAAM,GAAK4G,GAAKnP,EAEnC,SAASyxT,EAAG5xT,EAAGG,EAAG2G,EAAGK,EAAG/H,EAAGkQ,EAAGpO,GAC5B,IAAIwH,EAAI1I,GAAKG,EAAIgH,EAAIL,GAAKK,GAAK/H,EAAI8B,EACnC,OAAQwH,GAAK4G,EAAI5G,IAAM,GAAK4G,GAAKnP,EAEnC,SAAS0xT,EAAG7xT,EAAGG,EAAG2G,EAAGK,EAAG/H,EAAGkQ,EAAGpO,GAC5B,IAAIwH,EAAI1I,GAAKG,EAAI2G,EAAIK,GAAK/H,EAAI8B,EAC9B,OAAQwH,GAAK4G,EAAI5G,IAAM,GAAK4G,GAAKnP,EAEnC,SAAS2xT,EAAG9xT,EAAGG,EAAG2G,EAAGK,EAAG/H,EAAGkQ,EAAGpO,GAC5B,IAAIwH,EAAI1I,GAAK8G,GAAK3G,GAAKgH,IAAM/H,EAAI8B,EACjC,OAAQwH,GAAK4G,EAAI5G,IAAM,GAAK4G,GAAKnP,EAiBnCkI,EAAE6mT,IAAMhC,EAAO3H,cAAc2J,GAgB7B7mT,EAAE+pT,QAAUlF,EAAOE,kBAAkB8B,GAxNvC,CAyNG5vT,MACI2jT,EAASiM,QAKZmD,MACA,SAAUzsT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GAuDnB,OAnDAA,EAAS/rO,KAAKz5D,IAAM,WAClB,IAAIA,EAAMwlS,EAASE,IAAIsF,gBAAgBpkR,SA0BvC,SAASiuR,EAA4BrnO,EAAOhnE,EAAQyiS,EAAWwB,GAC7D,IAAIqK,EAGA7J,EAAK1kT,KAAK8kT,IAGVJ,GACF6J,EAAY7J,EAAGt7S,MAAM,GAGrBpJ,KAAK8kT,SAAM/mT,GAEXwwT,EAAYvuT,KAAKilT,WAEnBf,EAAO/C,aAAaoN,EAAW,GAG/B,IAAK,IAAI5nT,EAAI,EAAGA,EAAI+7S,EAAW/7S,IAC7BsgF,EAAMhnE,EAAStZ,IAAM4nT,EAAU5nT,GAGnC,OA/CA8S,EAAIkrS,UAAYlrS,EAAI4mB,OAAO,CACzB6kR,aAAc,SAAsBj+N,EAAOhnE,GAEzC,IAAIikS,EAASlkT,KAAK6kT,QACdnC,EAAYwB,EAAOxB,UACvB4L,EAA4B/hS,KAAKvsB,KAAMinF,EAAOhnE,EAAQyiS,EAAWwB,GAGjElkT,KAAKilT,WAAah+N,EAAM79E,MAAM6W,EAAQA,EAASyiS,MAGnDjpS,EAAImrS,UAAYnrS,EAAI4mB,OAAO,CACzB6kR,aAAc,SAAsBj+N,EAAOhnE,GAEzC,IAAIikS,EAASlkT,KAAK6kT,QACdnC,EAAYwB,EAAOxB,UAGnByC,EAAYl+N,EAAM79E,MAAM6W,EAAQA,EAASyiS,GAC7C4L,EAA4B/hS,KAAKvsB,KAAMinF,EAAOhnE,EAAQyiS,EAAWwB,GAGjElkT,KAAKilT,WAAaE,KAyBf1rS,EAjDW,GAmDbwlS,EAAS/rO,KAAKz5D,QAKjB+0S,MACA,SAAU5sT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS;;;;;;AA2EnB,OArEAA,EAAS/rO,KAAKu7O,WAAa,WACzB,IAAIA,EAAaxP,EAASE,IAAIsF,gBAAgBpkR,SAC9C,SAASquR,EAAQ3D,GACf,GAA4B,OAAvBA,GAAQ,GAAK,KAAgB,CAEhC,IAAIh8I,EAAKg8I,GAAQ,GAAK,IAClBv8S,EAAKu8S,GAAQ,EAAI,IACjB4D,EAAY,IAAP5D,EACE,MAAPh8I,GAGAA,EAAK,EACM,MAAPvgK,GACFA,EAAK,EACM,MAAPmgT,EACFA,EAAK,IAEHA,KAGFngT,KAGJugK,EAEJg8I,EAAO,EACPA,GAAQh8I,GAAM,GACdg8I,GAAQv8S,GAAM,EACdu8S,GAAQ4D,OAER5D,GAAQ,GAAQ,GAElB,OAAOA,EAET,SAAS6D,EAAWzvN,GAKlB,OAJ2C,KAAtCA,EAAQ,GAAKuvN,EAAQvvN,EAAQ,OAEhCA,EAAQ,GAAKuvN,EAAQvvN,EAAQ,KAExBA,EAET,IAAIwlN,EAAY8J,EAAW9J,UAAY8J,EAAWpuR,OAAO,CACvD6kR,aAAc,SAAsBj+N,EAAOhnE,GAEzC,IAAIikS,EAASlkT,KAAK6kT,QACdnC,EAAYwB,EAAOxB,UACnBgC,EAAK1kT,KAAK8kT,IACV3lN,EAAUn/F,KAAK6uT,SAGfnK,IACFvlN,EAAUn/F,KAAK6uT,SAAWnK,EAAGt7S,MAAM,GAGnCpJ,KAAK8kT,SAAM/mT,GAEb6wT,EAAWzvN,GACX,IAAIovN,EAAYpvN,EAAQ/1F,MAAM,GAC9B86S,EAAO/C,aAAaoN,EAAW,GAG/B,IAAK,IAAI5nT,EAAI,EAAGA,EAAI+7S,EAAW/7S,IAC7BsgF,EAAMhnE,EAAStZ,IAAM4nT,EAAU5nT,MAKrC,OADA8nT,EAAW7J,UAAYD,EAChB8J,EAnEkB,GAqEpBxP,EAAS/rO,KAAKu7O,eAKjBK,MACA,SAAUltT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GAoCnB,OAhCAA,EAAS/rO,KAAK67O,IAAM,WAClB,IAAIA,EAAM9P,EAASE,IAAIsF,gBAAgBpkR,SACnCskR,EAAYoK,EAAIpK,UAAYoK,EAAI1uR,OAAO,CACzC6kR,aAAc,SAAsBj+N,EAAOhnE,GAEzC,IAAIikS,EAASlkT,KAAK6kT,QACdnC,EAAYwB,EAAOxB,UACnBgC,EAAK1kT,KAAK8kT,IACV3lN,EAAUn/F,KAAK6uT,SAGfnK,IACFvlN,EAAUn/F,KAAK6uT,SAAWnK,EAAGt7S,MAAM,GAGnCpJ,KAAK8kT,SAAM/mT,GAEb,IAAIwwT,EAAYpvN,EAAQ/1F,MAAM,GAC9B86S,EAAO/C,aAAaoN,EAAW,GAG/BpvN,EAAQujN,EAAY,GAAKvjN,EAAQujN,EAAY,GAAK,EAAI,EAGtD,IAAK,IAAI/7S,EAAI,EAAGA,EAAI+7S,EAAW/7S,IAC7BsgF,EAAMhnE,EAAStZ,IAAM4nT,EAAU5nT,MAKrC,OADAooT,EAAInK,UAAYD,EACToK,EA9BW,GAgCb9P,EAAS/rO,KAAK67O,QAKjBC,MACA,SAAUptT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,SAHvF,CAKG,GAAQ,SAAUoS,GAkBnB,OAdAA,EAAS/rO,KAAK+7O,IAAM,WAClB,IAAIA,EAAMhQ,EAASE,IAAIsF,gBAAgBpkR,SAWvC,OAVA4uR,EAAItK,UAAYsK,EAAI5uR,OAAO,CACzB6kR,aAAc,SAAsBj+N,EAAOhnE,GACzCjgB,KAAK6kT,QAAQ1D,aAAal6N,EAAOhnE,MAGrCgvS,EAAIrK,UAAYqK,EAAI5uR,OAAO,CACzB6kR,aAAc,SAAsBj+N,EAAOhnE,GACzCjgB,KAAK6kT,QAAQxD,aAAap6N,EAAOhnE,MAG9BgvS,EAZW,GAcbhQ,EAAS/rO,KAAK+7O,QAKjBC,MACA,SAAUttT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GAgCnB,OA5BAA,EAAS/rO,KAAKi8O,IAAM,WAClB,IAAIA,EAAMlQ,EAASE,IAAIsF,gBAAgBpkR,SACnCskR,EAAYwK,EAAIxK,UAAYwK,EAAI9uR,OAAO,CACzC6kR,aAAc,SAAsBj+N,EAAOhnE,GAEzC,IAAIikS,EAASlkT,KAAK6kT,QACdnC,EAAYwB,EAAOxB,UACnBgC,EAAK1kT,KAAK8kT,IACVyJ,EAAYvuT,KAAKovT,WAGjB1K,IACF6J,EAAYvuT,KAAKovT,WAAa1K,EAAGt7S,MAAM,GAGvCpJ,KAAK8kT,SAAM/mT,GAEbmmT,EAAO/C,aAAaoN,EAAW,GAG/B,IAAK,IAAI5nT,EAAI,EAAGA,EAAI+7S,EAAW/7S,IAC7BsgF,EAAMhnE,EAAStZ,IAAM4nT,EAAU5nT,MAKrC,OADAwoT,EAAIvK,UAAYD,EACTwK,EA1BW,GA4BblQ,EAAS/rO,KAAKi8O,QAKjBE,MACA,SAAUztT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,SAHvF,CAKG,GAAQ,SAAUoS,GA6BnB,OAzBAA,EAAShzQ,IAAIqjR,SAAW,CACtBrjR,IAAK,SAAaxjC,EAAMi6S,GAEtB,IAAIoG,EAAergT,EAAKi4S,SACpB4E,EAA6B,EAAZ5C,EAGjB6C,EAAgBD,EAAiBwD,EAAexD,EAGhDiK,EAAczG,EAAevD,EAAgB,EAGjD98S,EAAK+mJ,QACL/mJ,EAAKw+E,MAAMsoO,IAAgB,IAAMhK,GAAiB,GAAKgK,EAAc,EAAI,EACzE9mT,EAAKi4S,UAAY6E,GAEnBG,MAAO,SAAej9S,GAEpB,IAAI88S,EAAsD,IAAtC98S,EAAKw+E,MAAMx+E,EAAKi4S,SAAW,IAAM,GAGrDj4S,EAAKi4S,UAAY6E,IAGdtG,EAAShzQ,IAAIujR,aAKhBC,KACA,SAAU7tT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GAuBnB,OAnBAA,EAAShzQ,IAAIyjR,SAAW,CACtBzjR,IAAK,SAAaxjC,EAAMi6S,GAEtB,IAAI4C,EAA6B,EAAZ5C,EAGjB6C,EAAgBD,EAAiB78S,EAAKi4S,SAAW4E,EAGrD78S,EAAK5F,OAAOo8S,EAASE,IAAI2D,UAAU9+K,OAAOuhL,EAAgB,IAAI1iT,OAAOo8S,EAASE,IAAI2D,UAAU/7J,OAAO,CAACw+J,GAAiB,IAAK,KAE5HG,MAAO,SAAej9S,GAEpB,IAAI88S,EAAsD,IAAtC98S,EAAKw+E,MAAMx+E,EAAKi4S,SAAW,IAAM,GAGrDj4S,EAAKi4S,UAAY6E,IAGdtG,EAAShzQ,IAAIyjR,aAKhBC,MACA,SAAU/tT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GAoBnB,OAhBAA,EAAShzQ,IAAI2jR,SAAW,CACtB3jR,IAAK,SAAaxjC,EAAMi6S,GAEtBj6S,EAAK5F,OAAOo8S,EAASE,IAAI2D,UAAU/7J,OAAO,CAAC,YAAa,IAGxDk4J,EAAShzQ,IAAI4jR,YAAY5jR,IAAIxjC,EAAMi6S,IAErCgD,MAAO,SAAej9S,GAEpBw2S,EAAShzQ,IAAI4jR,YAAYnK,MAAMj9S,GAG/BA,EAAKi4S,aAGFzB,EAAShzQ,IAAI2jR,aAKhBE,MACA,SAAUluT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,SAHvF,CAKG,GAAQ,SAAUoS,GAQnB,OAJAA,EAAShzQ,IAAI8jR,UAAY,CACvB9jR,IAAK,aACLy5Q,MAAO,cAEFzG,EAAShzQ,IAAI8jR,cAKhBC,MACA,SAAUpuT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,SAHvF,CAKG,GAAQ,SAAUoS,GA2BnB,OAvBAA,EAAShzQ,IAAI4jR,YAAc,CACzB5jR,IAAK,SAAaxjC,EAAMi6S,GAEtB,IAAI4C,EAA6B,EAAZ5C,EAGrBj6S,EAAK+mJ,QACL/mJ,EAAKi4S,UAAY4E,GAAkB78S,EAAKi4S,SAAW4E,GAAkBA,IAEvEI,MAAO,SAAej9S,GAEpB,IAAIogT,EAAYpgT,EAAKw+E,MAGjBtgF,EAAI8B,EAAKi4S,SAAW,EACxB,IAAS/5S,EAAI8B,EAAKi4S,SAAW,EAAG/5S,GAAK,EAAGA,IACtC,GAAIkiT,EAAUliT,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,IAAM,CAChD8B,EAAKi4S,SAAW/5S,EAAI,EACpB,SAKDs4S,EAAShzQ,IAAI4jR,gBAKhBI,MACA,SAAUruT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAHnH,CAKG,GAAQ,SAAUoS,GA0HnB,OAzHA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV3G,EAAO0G,EAAM1G,KACbsK,EAAY5D,EAAM4D,UAClBzD,EAASh7S,EAAEi7S,KACX4Q,EAAS7Q,EAAO6Q,OAChB7G,EAAOhK,EAAOgK,KAKd8G,EAAS9Q,EAAO8Q,OAAS3X,EAAKn4Q,OAAO,CAQvC8iR,IAAK3K,EAAKn4Q,OAAO,CACfogR,QAAS,EACThoJ,OAAQy3J,EACRp6H,WAAY,OAadp3D,KAAM,SAAcykL,GAClBnjT,KAAKmjT,IAAMnjT,KAAKmjT,IAAI9iR,OAAO8iR,IAc7B8D,QAAS,SAAiB1tP,EAAU+sP,GAElC,IAAInD,EAAMnjT,KAAKmjT,IAGX8I,EAAO5C,EAAKtiK,OAAOo8J,EAAI1qJ,OAAQl/F,GAG/B4xP,EAAarI,EAAU/7J,SACvBqpK,EAAatN,EAAU/7J,OAAO,CAAC,IAG/BqkK,EAAkBD,EAAWlkO,MAC7BopO,EAAkBD,EAAWnpO,MAC7Bw5N,EAAU0C,EAAI1C,QACd3qH,EAAaqtH,EAAIrtH,WAGrB,MAAOs1H,EAAgBttT,OAAS2iT,EAAS,CACvC,IAAIlxD,EAAQ08D,EAAKhzR,OAAOqtR,GAAMn3M,SAASihN,GACvCnE,EAAKvnD,QAQL,IALA,IAAI4rD,EAAa/gE,EAAMtoK,MACnBspO,EAAmBD,EAAWxyT,OAG9B0yT,EAAejhE,EACV5oP,EAAI,EAAGA,EAAImvL,EAAYnvL,IAAK,CACnC6pT,EAAevE,EAAK98M,SAASqhN,GAC7BvE,EAAKvnD,QAML,IAHA,IAAI+rD,EAAoBD,EAAavpO,MAG5B/0E,EAAI,EAAGA,EAAIq+S,EAAkBr+S,IACpCo+S,EAAWp+S,IAAMu+S,EAAkBv+S,GAGvCi5S,EAAWtoT,OAAO0sP,GAClB8gE,EAAgB,KAGlB,OADAlF,EAAWzK,SAAqB,EAAVD,EACf0K,KAqBX9mT,EAAE8rT,OAAS,SAAU52P,EAAU+sP,EAAMnD,GACnC,OAAOgN,EAAOppK,OAAOo8J,GAAK8D,QAAQ1tP,EAAU+sP,IAtHhD,GAyHOrH,EAASkR,WAKZO,MACA,SAAU9uT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,SAH3K,CAKG,GAAQ,SAAUoS,GA2JnB,OA1JA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACVoF,EAAerF,EAAMqF,aACrBlF,EAASh7S,EAAEi7S,KAGXnwS,EAAI,GACJwhT,EAAK,GACLv1P,EAAI,GASJw1P,EAAevR,EAAOuR,aAAerM,EAAalkR,OAAO,CAC3DggR,SAAU,WAER,IAAI1zR,EAAI3sB,KAAKqwL,KAAKppG,MACdy9N,EAAK1kT,KAAKmjT,IAAIuB,GAGdjpP,EAAIz7D,KAAK6wT,GAAK,CAAClkS,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAIA,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAIA,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAIA,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAG3ItoB,EAAIrE,KAAKk7B,GAAK,CAACvO,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,GAAiBA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,GAAiBA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,GAAiBA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,IAGtQ3sB,KAAKqD,GAAK,EAGV,IAAK,IAAIsD,EAAI,EAAGA,EAAI,EAAGA,IACrBmqT,EAAUvkS,KAAKvsB,MAIjB,IAAS2G,EAAI,EAAGA,EAAI,EAAGA,IACrBtC,EAAEsC,IAAM80D,EAAE90D,EAAI,EAAI,GAIpB,GAAI+9S,EAAI,CAEN,IAAIqM,EAAKrM,EAAGz9N,MACR+pO,EAAOD,EAAG,GACVE,EAAOF,EAAG,GAGVG,EAAiC,UAA3BF,GAAQ,EAAIA,IAAS,IAA+C,YAA3BA,GAAQ,GAAKA,IAAS,GACrEG,EAAiC,UAA3BF,GAAQ,EAAIA,IAAS,IAA+C,YAA3BA,GAAQ,GAAKA,IAAS,GACrEG,EAAKF,IAAO,GAAU,WAALC,EACjBE,EAAKF,GAAM,GAAU,MAALD,EAGpB7sT,EAAE,IAAM6sT,EACR7sT,EAAE,IAAM+sT,EACR/sT,EAAE,IAAM8sT,EACR9sT,EAAE,IAAMgtT,EACRhtT,EAAE,IAAM6sT,EACR7sT,EAAE,IAAM+sT,EACR/sT,EAAE,IAAM8sT,EACR9sT,EAAE,IAAMgtT,EAGR,IAAS1qT,EAAI,EAAGA,EAAI,EAAGA,IACrBmqT,EAAUvkS,KAAKvsB,QAIrB+lT,gBAAiB,SAAyB72S,EAAG+Q,GAE3C,IAAIw7C,EAAIz7D,KAAK6wT,GAGbC,EAAUvkS,KAAKvsB,MAGfmP,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpCtsD,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpCtsD,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpCtsD,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpC,IAAK,IAAI90D,EAAI,EAAGA,EAAI,EAAGA,IAErBwI,EAAExI,GAAiC,UAA3BwI,EAAExI,IAAM,EAAIwI,EAAExI,KAAO,IAA+C,YAA3BwI,EAAExI,IAAM,GAAKwI,EAAExI,KAAO,GAGvEuI,EAAE+Q,EAAStZ,IAAMwI,EAAExI,IAGvB+7S,UAAW,EACXC,OAAQ,IAEV,SAASmO,IAMP,IAJA,IAAIr1P,EAAIz7D,KAAK6wT,GACTxsT,EAAIrE,KAAKk7B,GAGJv0B,EAAI,EAAGA,EAAI,EAAGA,IACrBgqT,EAAGhqT,GAAKtC,EAAEsC,GAIZtC,EAAE,GAAKA,EAAE,GAAK,WAAarE,KAAKqD,GAAK,EACrCgB,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,WAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,WAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChE3wT,KAAKqD,GAAKgB,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,EAGzC,IAAShqT,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,IAAI2qT,EAAK71P,EAAE90D,GAAKtC,EAAEsC,GAGd4qT,EAAU,MAALD,EACLE,EAAKF,IAAO,GAGZG,IAAOF,EAAKA,IAAO,IAAMA,EAAKC,IAAO,IAAMA,EAAKA,EAChDr5C,IAAY,WAALm5C,GAAmBA,EAAK,KAAY,MAALA,GAAmBA,EAAK,GAGlEl2P,EAAEz0D,GAAK8qT,EAAKt5C,EAId18M,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EACjDK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EACjDK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EACjDK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EAWnD/2D,EAAEusT,aAAerM,EAAahD,cAAcqP,GAxJ9C,GA0JO3R,EAAS2R,iBAKZc,MACA,SAAU9vT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,SAH3K,CAKG,GAAQ,SAAUoS,GA4JnB,OA3JA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACVoF,EAAerF,EAAMqF,aACrBlF,EAASh7S,EAAEi7S,KAGXnwS,EAAI,GACJwhT,EAAK,GACLv1P,EAAI,GAKJu2P,EAAStS,EAAOsS,OAASpN,EAAalkR,OAAO,CAC/CggR,SAAU,WAMR,IAJA,IAAI1zR,EAAI3sB,KAAKqwL,KAAKppG,MACdy9N,EAAK1kT,KAAKmjT,IAAIuB,GAGT/9S,EAAI,EAAGA,EAAI,EAAGA,IACrBgmB,EAAEhmB,GAAiC,UAA3BgmB,EAAEhmB,IAAM,EAAIgmB,EAAEhmB,KAAO,IAA+C,YAA3BgmB,EAAEhmB,IAAM,GAAKgmB,EAAEhmB,KAAO,GAIzE,IAAI80D,EAAIz7D,KAAK6wT,GAAK,CAAClkS,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAIA,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAIA,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAIA,EAAE,GAAIA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAG3ItoB,EAAIrE,KAAKk7B,GAAK,CAACvO,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,GAAiBA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,GAAiBA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,GAAiBA,EAAE,IAAM,GAAKA,EAAE,KAAO,GAAW,WAAPA,EAAE,GAAyB,MAAPA,EAAE,IAGtQ3sB,KAAKqD,GAAK,EAGV,IAASsD,EAAI,EAAGA,EAAI,EAAGA,IACrBmqT,EAAUvkS,KAAKvsB,MAIjB,IAAS2G,EAAI,EAAGA,EAAI,EAAGA,IACrBtC,EAAEsC,IAAM80D,EAAE90D,EAAI,EAAI,GAIpB,GAAI+9S,EAAI,CAEN,IAAIqM,EAAKrM,EAAGz9N,MACR+pO,EAAOD,EAAG,GACVE,EAAOF,EAAG,GAGVG,EAAiC,UAA3BF,GAAQ,EAAIA,IAAS,IAA+C,YAA3BA,GAAQ,GAAKA,IAAS,GACrEG,EAAiC,UAA3BF,GAAQ,EAAIA,IAAS,IAA+C,YAA3BA,GAAQ,GAAKA,IAAS,GACrEG,EAAKF,IAAO,GAAU,WAALC,EACjBE,EAAKF,GAAM,GAAU,MAALD,EAGpB7sT,EAAE,IAAM6sT,EACR7sT,EAAE,IAAM+sT,EACR/sT,EAAE,IAAM8sT,EACR9sT,EAAE,IAAMgtT,EACRhtT,EAAE,IAAM6sT,EACR7sT,EAAE,IAAM+sT,EACR/sT,EAAE,IAAM8sT,EACR9sT,EAAE,IAAMgtT,EAGR,IAAS1qT,EAAI,EAAGA,EAAI,EAAGA,IACrBmqT,EAAUvkS,KAAKvsB,QAIrB+lT,gBAAiB,SAAyB72S,EAAG+Q,GAE3C,IAAIw7C,EAAIz7D,KAAK6wT,GAGbC,EAAUvkS,KAAKvsB,MAGfmP,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpCtsD,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpCtsD,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpCtsD,EAAE,GAAKssD,EAAE,GAAKA,EAAE,KAAO,GAAKA,EAAE,IAAM,GACpC,IAAK,IAAI90D,EAAI,EAAGA,EAAI,EAAGA,IAErBwI,EAAExI,GAAiC,UAA3BwI,EAAExI,IAAM,EAAIwI,EAAExI,KAAO,IAA+C,YAA3BwI,EAAExI,IAAM,GAAKwI,EAAExI,KAAO,GAGvEuI,EAAE+Q,EAAStZ,IAAMwI,EAAExI,IAGvB+7S,UAAW,EACXC,OAAQ,IAEV,SAASmO,IAMP,IAJA,IAAIr1P,EAAIz7D,KAAK6wT,GACTxsT,EAAIrE,KAAKk7B,GAGJv0B,EAAI,EAAGA,EAAI,EAAGA,IACrBgqT,EAAGhqT,GAAKtC,EAAEsC,GAIZtC,EAAE,GAAKA,EAAE,GAAK,WAAarE,KAAKqD,GAAK,EACrCgB,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,WAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,WAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChEtsT,EAAE,GAAKA,EAAE,GAAK,YAAcA,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,GAAK,EAChE3wT,KAAKqD,GAAKgB,EAAE,KAAO,EAAIssT,EAAG,KAAO,EAAI,EAAI,EAGzC,IAAShqT,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,IAAI2qT,EAAK71P,EAAE90D,GAAKtC,EAAEsC,GAGd4qT,EAAU,MAALD,EACLE,EAAKF,IAAO,GAGZG,IAAOF,EAAKA,IAAO,IAAMA,EAAKC,IAAO,IAAMA,EAAKA,EAChDr5C,IAAY,WAALm5C,GAAmBA,EAAK,KAAY,MAALA,GAAmBA,EAAK,GAGlEl2P,EAAEz0D,GAAK8qT,EAAKt5C,EAId18M,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EACjDK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EACjDK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EACjDK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,GAAKA,EAAE,KAAO,KAAOA,EAAE,IAAM,GAAKA,EAAE,KAAO,IAAM,EACxEK,EAAE,GAAKL,EAAE,IAAMA,EAAE,IAAM,EAAIA,EAAE,KAAO,IAAMA,EAAE,GAAK,EAWnD/2D,EAAEstT,OAASpN,EAAahD,cAAcoQ,GAzJxC,GA2JO1S,EAAS0S,WAKZC,MACA,SAAUhwT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OACpBA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,QAH3K,CAKG,GAAQ,SAAUoS,GAgHnB,OA/GA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACVoF,EAAerF,EAAMqF,aACrBlF,EAASh7S,EAAEi7S,KAKXuS,EAAMxS,EAAOwS,IAAMtN,EAAalkR,OAAO,CACzCggR,SAAU,WAQR,IANA,IAAI3zR,EAAM1sB,KAAKqwL,KACXmwH,EAAW9zR,EAAIu6D,MACf6qO,EAAcplS,EAAIg0R,SAGlBvxS,EAAInP,KAAK+xT,GAAK,GACTprT,EAAI,EAAGA,EAAI,IAAKA,IACvBwI,EAAExI,GAAKA,EAIAA,EAAI,EAAb,IAAK,IAAWuL,EAAI,EAAGvL,EAAI,IAAKA,IAAK,CACnC,IAAIqrT,EAAerrT,EAAImrT,EACnBG,EAAUzR,EAASwR,IAAiB,KAAO,GAAKA,EAAe,EAAI,EAAI,IAC3E9/S,GAAKA,EAAI/C,EAAExI,GAAKsrT,GAAW,IAG3B,IAAI/0T,EAAIiS,EAAExI,GACVwI,EAAExI,GAAKwI,EAAE+C,GACT/C,EAAE+C,GAAKhV,EAIT8C,KAAK48F,GAAK58F,KAAKgwF,GAAK,GAEtB+1N,gBAAiB,SAAyB72S,EAAG+Q,GAC3C/Q,EAAE+Q,IAAWiyS,EAAsB3lS,KAAKvsB,OAE1CygT,QAAS,EACTkC,OAAQ,IAEV,SAASuP,IAQP,IANA,IAAI/iT,EAAInP,KAAK+xT,GACTprT,EAAI3G,KAAK48F,GACT1qF,EAAIlS,KAAKgwF,GAGTmiO,EAAgB,EACXztT,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1BiC,GAAKA,EAAI,GAAK,IACduL,GAAKA,EAAI/C,EAAExI,IAAM,IAGjB,IAAIzJ,EAAIiS,EAAExI,GACVwI,EAAExI,GAAKwI,EAAE+C,GACT/C,EAAE+C,GAAKhV,EACPi1T,GAAiBhjT,GAAGA,EAAExI,GAAKwI,EAAE+C,IAAM,MAAQ,GAAS,EAAJxN,EAMlD,OAFA1E,KAAK48F,GAAKj2F,EACV3G,KAAKgwF,GAAK99E,EACHigT,EAWT9tT,EAAEwtT,IAAMtN,EAAahD,cAAcsQ,GAKnC,IAAIO,EAAU/S,EAAO+S,QAAUP,EAAIxxR,OAAO,CAMxC8iR,IAAK0O,EAAI1O,IAAI9iR,OAAO,CAClBksF,KAAM,MAER8zL,SAAU,WACRwR,EAAIxR,SAAS9zR,KAAKvsB,MAGlB,IAAK,IAAI2G,EAAI3G,KAAKmjT,IAAI52L,KAAM5lH,EAAI,EAAGA,IACjCurT,EAAsB3lS,KAAKvsB,SAajCqE,EAAE+tT,QAAU7N,EAAahD,cAAc6Q,GA7GzC,GA+GOnT,EAAS4S,QAKZQ,MACA,SAAUzwT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,SAH3D,CAKG,GAAQ,SAAUoS;;;;;;;;AAyMnB,OAhMA,SAAW3jT,GAET,IAAI+I,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBoG,EAAShK,EAAMgK,OACf7J,EAASh7S,EAAEi7S,KAGXgT,EAAMxP,EAAU/7J,OAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,KAClSwrK,EAAMzP,EAAU/7J,OAAO,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,KAClSyrK,EAAM1P,EAAU/7J,OAAO,CAAC,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,IAC7S0rK,EAAM3P,EAAU/7J,OAAO,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,KAC5S2rK,EAAM5P,EAAU/7J,OAAO,CAAC,EAAY,WAAY,WAAY,WAAY,aACxE4rK,EAAM7P,EAAU/7J,OAAO,CAAC,WAAY,WAAY,WAAY,WAAY,IAKxE6rK,EAAYvT,EAAOuT,UAAY1J,EAAO7oR,OAAO,CAC/CggR,SAAU,WACRrgT,KAAKysT,MAAQ3J,EAAU/7J,OAAO,CAAC,WAAY,WAAY,WAAY,UAAY,cAEjFg/J,gBAAiB,SAAyB72S,EAAG+Q,GAE3C,IAAK,IAAItZ,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAE3B,IAAI+lT,EAAWzsS,EAAStZ,EACpBgmT,EAAaz9S,EAAEw9S,GAGnBx9S,EAAEw9S,GAAoD,UAAvCC,GAAc,EAAIA,IAAe,IAA2D,YAAvCA,GAAc,GAAKA,IAAe,GAGxG,IASIkG,EAAIpuS,EAAI2kD,EAAI0pP,EAAI7xL,EAChB69G,EAAIi0E,EAAIC,EAAI/rI,EAAIgsI,EAOhB/1T,EAjBA+R,EAAIjP,KAAKysT,MAAMxlO,MACf/zC,EAAKw/Q,EAAIzrO,MACT9wE,EAAKw8S,EAAI1rO,MACTisO,EAAKZ,EAAIrrO,MACTksO,EAAKZ,EAAItrO,MACT7nE,EAAKozS,EAAIvrO,MACTynF,EAAK+jJ,EAAIxrO,MAKb63J,EAAK+zE,EAAK5jT,EAAE,GACZ8jT,EAAKtuS,EAAKxV,EAAE,GACZ+jT,EAAK5pP,EAAKn6D,EAAE,GACZg4K,EAAK6rI,EAAK7jT,EAAE,GACZgkT,EAAKhyL,EAAKhyH,EAAE,GAGZ,IAAStI,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BzJ,EAAI21T,EAAK3jT,EAAE+Q,EAASizS,EAAGvsT,IAAM,EAE3BzJ,GADEyJ,EAAI,GACDi+B,EAAGngB,EAAI2kD,EAAI0pP,GAAM5/Q,EAAG,GAChBvsC,EAAI,GACRm+B,EAAGrgB,EAAI2kD,EAAI0pP,GAAM5/Q,EAAG,GAChBvsC,EAAI,GACRo+B,EAAGtgB,EAAI2kD,EAAI0pP,GAAM5/Q,EAAG,GAChBvsC,EAAI,GACRysT,EAAG3uS,EAAI2kD,EAAI0pP,GAAM5/Q,EAAG,GAGpBmgR,EAAG5uS,EAAI2kD,EAAI0pP,GAAM5/Q,EAAG,GAE3Bh2C,GAAQ,EACRA,EAAIo2T,EAAKp2T,EAAGkiB,EAAGzY,IACfzJ,EAAIA,EAAI+jI,EAAK,EACb4xL,EAAK5xL,EACLA,EAAK6xL,EACLA,EAAKQ,EAAKlqP,EAAI,IACdA,EAAK3kD,EACLA,EAAKvnB,EACLA,EAAI4hP,EAAK5vO,EAAE+Q,EAASkzS,EAAGxsT,IAAM,EAE3BzJ,GADEyJ,EAAI,GACD0sT,EAAGN,EAAIC,EAAI/rI,GAAM9wK,EAAG,GAChBxP,EAAI,GACRysT,EAAGL,EAAIC,EAAI/rI,GAAM9wK,EAAG,GAChBxP,EAAI,GACRo+B,EAAGguR,EAAIC,EAAI/rI,GAAM9wK,EAAG,GAChBxP,EAAI,GACRm+B,EAAGiuR,EAAIC,EAAI/rI,GAAM9wK,EAAG,GAGpByuB,EAAGmuR,EAAIC,EAAI/rI,GAAM9wK,EAAG,GAE3BjZ,GAAQ,EACRA,EAAIo2T,EAAKp2T,EAAGwxK,EAAG/nK,IACfzJ,EAAIA,EAAI+1T,EAAK,EACbn0E,EAAKm0E,EACLA,EAAKhsI,EACLA,EAAKqsI,EAAKN,EAAI,IACdA,EAAKD,EACLA,EAAK71T,EAGPA,EAAI+R,EAAE,GAAKm6D,EAAK69G,EAAK,EACrBh4K,EAAE,GAAKA,EAAE,GAAK6jT,EAAKG,EAAK,EACxBhkT,EAAE,GAAKA,EAAE,GAAKgyH,EAAK69G,EAAK,EACxB7vO,EAAE,GAAKA,EAAE,GAAK4jT,EAAKE,EAAK,EACxB9jT,EAAE,GAAKA,EAAE,GAAKwV,EAAKuuS,EAAK,EACxB/jT,EAAE,GAAK/R,GAET4mT,YAAa,WAEX,IAAIr7S,EAAOzI,KAAK6uB,MACZg6R,EAAYpgT,EAAKw+E,MACjB8mO,EAAgC,EAAnB/tT,KAAK0oT,YAClBsF,EAA4B,EAAhBvlT,EAAKi4S,SAGrBmI,EAAUmF,IAAc,IAAM,KAAQ,GAAKA,EAAY,GACvDnF,EAAwC,IAA7BmF,EAAY,KAAO,GAAK,IAAmD,UAAvCD,GAAc,EAAIA,IAAe,IAA2D,YAAvCA,GAAc,GAAKA,IAAe,GACtItlT,EAAKi4S,SAAoC,GAAxBmI,EAAU/qT,OAAS,GAGpCkC,KAAK4jT,WAOL,IAJA,IAAI99Q,EAAO9lC,KAAKysT,MACZx9S,EAAI62B,EAAKmhD,MAGJtgF,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAE1B,IAAIwnT,EAAMl/S,EAAEtI,GAGZsI,EAAEtI,GAA+B,UAAzBwnT,GAAO,EAAIA,IAAQ,IAA6C,YAAzBA,GAAO,GAAKA,IAAQ,GAIrE,OAAOroR,GAEThlC,MAAO,WACL,IAAIA,EAAQooT,EAAOpoT,MAAMyrB,KAAKvsB,MAE9B,OADAc,EAAM2rT,MAAQzsT,KAAKysT,MAAM3rT,QAClBA,KAGX,SAAS8jC,EAAGxpC,EAAGQ,EAAG80B,GAChB,OAAOt1B,EAAIQ,EAAI80B,EAEjB,SAASoU,EAAG1pC,EAAGQ,EAAG80B,GAChB,OAAOt1B,EAAIQ,GAAKR,EAAIs1B,EAEtB,SAASqU,EAAG3pC,EAAGQ,EAAG80B,GAChB,OAAQt1B,GAAKQ,GAAK80B,EAEpB,SAAS0iS,EAAGh4T,EAAGQ,EAAG80B,GAChB,OAAOt1B,EAAIs1B,EAAI90B,GAAK80B,EAEtB,SAAS2iS,EAAGj4T,EAAGQ,EAAG80B,GAChB,OAAOt1B,GAAKQ,GAAK80B,GAEnB,SAAS4iS,EAAKl4T,EAAGsJ,GACf,OAAOtJ,GAAKsJ,EAAItJ,IAAM,GAAKsJ,EAiB7BL,EAAEuuT,UAAY1J,EAAO3H,cAAcqR,GAgBnCvuT,EAAEkvT,cAAgBrK,EAAOE,kBAAkBwJ,GA9L7C,CA+LGt3T,MACI2jT,EAAS2T,cAKZY,MACA,SAAU5xT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,SAH3D,CAKG,GAAQ,SAAUoS,GAwHnB,OAvHA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBoG,EAAShK,EAAMgK,OACf7J,EAASh7S,EAAEi7S,KAGX11Q,EAAI,GAKJ6pR,EAAOpU,EAAOoU,KAAOvK,EAAO7oR,OAAO,CACrCggR,SAAU,WACRrgT,KAAKysT,MAAQ,IAAI3J,EAAUpkL,KAAK,CAAC,WAAY,WAAY,WAAY,UAAY,cAEnFqnL,gBAAiB,SAAyB72S,EAAG+Q,GAY3C,IAVA,IAAIhR,EAAIjP,KAAKysT,MAAMxlO,MAGfjrF,EAAIiT,EAAE,GACN9S,EAAI8S,EAAE,GACNnM,EAAImM,EAAE,GACN9L,EAAI8L,EAAE,GACNpE,EAAIoE,EAAE,GAGDtI,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,GAAIA,EAAI,GACNijC,EAAEjjC,GAAqB,EAAhBuI,EAAE+Q,EAAStZ,OACb,CACL,IAAIjC,EAAIklC,EAAEjjC,EAAI,GAAKijC,EAAEjjC,EAAI,GAAKijC,EAAEjjC,EAAI,IAAMijC,EAAEjjC,EAAI,IAChDijC,EAAEjjC,GAAKjC,GAAK,EAAIA,IAAM,GAExB,IAAIxH,GAAKlB,GAAK,EAAIA,IAAM,IAAM6O,EAAI++B,EAAEjjC,GAElCzJ,GADEyJ,EAAI,GACkB,YAAlBxK,EAAI2G,GAAK3G,EAAIgH,GACVwD,EAAI,GACM,YAAbxK,EAAI2G,EAAIK,GACLwD,EAAI,IACPxK,EAAI2G,EAAI3G,EAAIgH,EAAIL,EAAIK,GAAK,YAEvBhH,EAAI2G,EAAIK,GAAK,UAEvB0H,EAAI1H,EACJA,EAAIL,EACJA,EAAI3G,GAAK,GAAKA,IAAM,EACpBA,EAAIH,EACJA,EAAIkB,EAIN+R,EAAE,GAAKA,EAAE,GAAKjT,EAAI,EAClBiT,EAAE,GAAKA,EAAE,GAAK9S,EAAI,EAClB8S,EAAE,GAAKA,EAAE,GAAKnM,EAAI,EAClBmM,EAAE,GAAKA,EAAE,GAAK9L,EAAI,EAClB8L,EAAE,GAAKA,EAAE,GAAKpE,EAAI,GAEpBi5S,YAAa,WAEX,IAAIr7S,EAAOzI,KAAK6uB,MACZg6R,EAAYpgT,EAAKw+E,MACjB8mO,EAAgC,EAAnB/tT,KAAK0oT,YAClBsF,EAA4B,EAAhBvlT,EAAKi4S,SAYrB,OATAmI,EAAUmF,IAAc,IAAM,KAAQ,GAAKA,EAAY,GACvDnF,EAAwC,IAA7BmF,EAAY,KAAO,GAAK,IAAW1yT,KAAKoC,MAAMqwT,EAAa,YACtElF,EAAwC,IAA7BmF,EAAY,KAAO,GAAK,IAAWD,EAC9CtlT,EAAKi4S,SAA8B,EAAnBmI,EAAU/qT,OAG1BkC,KAAK4jT,WAGE5jT,KAAKysT,OAEd3rT,MAAO,WACL,IAAIA,EAAQooT,EAAOpoT,MAAMyrB,KAAKvsB,MAE9B,OADAc,EAAM2rT,MAAQzsT,KAAKysT,MAAM3rT,QAClBA,KAkBXuD,EAAEovT,KAAOvK,EAAO3H,cAAckS,GAgB9BpvT,EAAEqvT,SAAWxK,EAAOE,kBAAkBqK,GArHxC,GAuHOxU,EAASwU,SAKZE,MACA,SAAU/xT,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,SAHvF,CAKG,GAAQ,SAAUoS,GAuDnB,OAtDA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBzD,EAASh7S,EAAEi7S,KACX4Q,EAAS7Q,EAAO6Q,OAKhB0D,EAASvU,EAAOuU,OAAS1D,EAAO7vR,OAAO,CACzCggR,SAAU,WACRrgT,KAAKysT,MAAQ,IAAI3J,EAAUpkL,KAAK,CAAC,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,cAEvHolL,YAAa,WACX,IAAIh+Q,EAAOoqR,EAAOpM,YAAYv3R,KAAKvsB,MAEnC,OADA8lC,EAAK46Q,UAAY,EACV56Q,KAkBXzhC,EAAEuvT,OAAS1D,EAAO3O,cAAcqS,GAgBhCvvT,EAAEwvT,WAAa3D,EAAO9G,kBAAkBwK,GApD1C,GAsDO3U,EAAS2U,WAKZE,MACA,SAAUlyT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,QAH3D,CAKG,GAAQ,SAAUoS,GAgKnB,OA/JA,SAAW3jT,GAET,IAAI+I,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBoG,EAAShK,EAAMgK,OACf7J,EAASh7S,EAAEi7S,KAGXrwS,EAAI,GACJ0d,EAAI,IAGR,WACE,SAASitK,EAAQl1L,GAEf,IADA,IAAIqvT,EAAQz4T,EAAKgD,KAAKoG,GACbq3O,EAAS,EAAGA,GAAUg4E,EAAOh4E,IACpC,KAAMr3O,EAAIq3O,GACR,OAAO,EAGX,OAAO,EAET,SAASi4E,EAAkBtvT,GACzB,OAAuB,YAAfA,GAAS,EAAJA,IAAwB,EAEvC,IAAIA,EAAI,EACJuvT,EAAS,EACb,MAAOA,EAAS,GACVr6H,EAAQl1L,KACNuvT,EAAS,IACXhlT,EAAEglT,GAAUD,EAAkB14T,EAAK6C,IAAIuG,EAAG,MAE5CioB,EAAEsnS,GAAUD,EAAkB14T,EAAK6C,IAAIuG,EAAG,EAAI,IAC9CuvT,KAEFvvT,KAvBJ,GA4BA,IAAIklC,EAAI,GAKJsmR,EAAS7Q,EAAO6Q,OAAShH,EAAO7oR,OAAO,CACzCggR,SAAU,WACRrgT,KAAKysT,MAAQ,IAAI3J,EAAUpkL,KAAKzvH,EAAE7F,MAAM,KAE1C28S,gBAAiB,SAAyB72S,EAAG+Q,GAe3C,IAbA,IAAIhR,EAAIjP,KAAKysT,MAAMxlO,MAGfjrF,EAAIiT,EAAE,GACN9S,EAAI8S,EAAE,GACNnM,EAAImM,EAAE,GACN9L,EAAI8L,EAAE,GACNpE,EAAIoE,EAAE,GACNqI,EAAIrI,EAAE,GACNkgB,EAAIlgB,EAAE,GACNyV,EAAIzV,EAAE,GAGDtI,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,GAAIA,EAAI,GACNijC,EAAEjjC,GAAqB,EAAhBuI,EAAE+Q,EAAStZ,OACb,CACL,IAAIutT,EAAUtqR,EAAEjjC,EAAI,IAChBwtT,GAAUD,GAAW,GAAKA,IAAY,IAAMA,GAAW,GAAKA,IAAY,IAAMA,IAAY,EAC1FE,EAAUxqR,EAAEjjC,EAAI,GAChB0tT,GAAUD,GAAW,GAAKA,IAAY,KAAOA,GAAW,GAAKA,IAAY,IAAMA,IAAY,GAC/FxqR,EAAEjjC,GAAKwtT,EAASvqR,EAAEjjC,EAAI,GAAK0tT,EAASzqR,EAAEjjC,EAAI,IAE5C,IAAIs9K,EAAKp5K,EAAIyM,GAAKzM,EAAIskB,EAClBmlS,EAAMt4T,EAAIG,EAAIH,EAAI8G,EAAI3G,EAAI2G,EAC1ByxT,GAAUv4T,GAAK,GAAKA,IAAM,IAAMA,GAAK,GAAKA,IAAM,KAAOA,GAAK,GAAKA,IAAM,IACvEw4T,GAAU3pT,GAAK,GAAKA,IAAM,IAAMA,GAAK,GAAKA,IAAM,KAAOA,GAAK,EAAIA,IAAM,IACtE0tN,EAAK7zM,EAAI8vS,EAASvwI,EAAKt3J,EAAEhmB,GAAKijC,EAAEjjC,GAChC6xN,EAAK+7F,EAASD,EAClB5vS,EAAIyK,EACJA,EAAI7X,EACJA,EAAIzM,EACJA,EAAI1H,EAAIo1N,EAAK,EACbp1N,EAAIL,EACJA,EAAI3G,EACJA,EAAIH,EACJA,EAAIu8N,EAAKC,EAAK,EAIhBvpN,EAAE,GAAKA,EAAE,GAAKjT,EAAI,EAClBiT,EAAE,GAAKA,EAAE,GAAK9S,EAAI,EAClB8S,EAAE,GAAKA,EAAE,GAAKnM,EAAI,EAClBmM,EAAE,GAAKA,EAAE,GAAK9L,EAAI,EAClB8L,EAAE,GAAKA,EAAE,GAAKpE,EAAI,EAClBoE,EAAE,GAAKA,EAAE,GAAKqI,EAAI,EAClBrI,EAAE,GAAKA,EAAE,GAAKkgB,EAAI,EAClBlgB,EAAE,GAAKA,EAAE,GAAKyV,EAAI,GAEpBo/R,YAAa,WAEX,IAAIr7S,EAAOzI,KAAK6uB,MACZg6R,EAAYpgT,EAAKw+E,MACjB8mO,EAAgC,EAAnB/tT,KAAK0oT,YAClBsF,EAA4B,EAAhBvlT,EAAKi4S,SAYrB,OATAmI,EAAUmF,IAAc,IAAM,KAAQ,GAAKA,EAAY,GACvDnF,EAAwC,IAA7BmF,EAAY,KAAO,GAAK,IAAW1yT,EAAKoC,MAAMqwT,EAAa,YACtElF,EAAwC,IAA7BmF,EAAY,KAAO,GAAK,IAAWD,EAC9CtlT,EAAKi4S,SAA8B,EAAnBmI,EAAU/qT,OAG1BkC,KAAK4jT,WAGE5jT,KAAKysT,OAEd3rT,MAAO,WACL,IAAIA,EAAQooT,EAAOpoT,MAAMyrB,KAAKvsB,MAE9B,OADAc,EAAM2rT,MAAQzsT,KAAKysT,MAAM3rT,QAClBA,KAkBXuD,EAAE6rT,OAAShH,EAAO3H,cAAc2O,GAgBhC7rT,EAAEowT,WAAavL,EAAOE,kBAAkB8G,GA7J1C,CA8JG50T,MACI2jT,EAASiR,WAKZwE,MACA,SAAU9yT,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,QAHvF,CAKG,GAAQ,SAAUoS,GA+RnB,OA9RA,SAAW3jT,GAET,IAAI+I,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClBoG,EAAShK,EAAMgK,OACfyL,EAAQtwT,EAAEuwT,IACVC,EAAUF,EAAMG,KAChBzV,EAASh7S,EAAEi7S,KAGXyV,EAAc,GACdC,EAAa,GACbC,EAAkB,IAGtB,WAIE,IAFA,IAAI75T,EAAI,EACNQ,EAAI,EACGsB,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B63T,EAAY35T,EAAI,EAAIQ,IAAMsB,EAAI,IAAMA,EAAI,GAAK,EAAI,GACjD,IAAIwlM,EAAO9mM,EAAI,EACXs5T,GAAQ,EAAI95T,EAAI,EAAIQ,GAAK,EAC7BR,EAAIsnM,EACJ9mM,EAAIs5T,EAIN,IAAS95T,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAASQ,EAAI,EAAGA,EAAI,EAAGA,IACrBo5T,EAAW55T,EAAI,EAAIQ,GAAKA,GAAK,EAAIR,EAAI,EAAIQ,GAAK,EAAI,EAMtD,IADA,IAAIu5T,EAAO,EACFxuT,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAG3B,IAFA,IAAIyuT,EAAmB,EACnBC,EAAmB,EACdnjT,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,GAAW,EAAPijT,EAAa,CACf,IAAIG,GAAe,GAAKpjT,GAAK,EACzBojT,EAAc,GAChBD,GAAoB,GAAKC,EAEvBF,GAAoB,GAAKE,EAAc,GAKlC,IAAPH,EAEFA,EAAOA,GAAQ,EAAI,IAEnBA,IAAS,EAGbF,EAAgBtuT,GAAKkuT,EAAQ9tK,OAAOquK,EAAkBC,KA1C1D,GA+CA,IAAIvmT,EAAI,IACR,WACE,IAAK,IAAInI,EAAI,EAAGA,EAAI,GAAIA,IACtBmI,EAAEnI,GAAKkuT,EAAQ9tK,UAFnB,GASA,IAAIwuK,EAAOlW,EAAOkW,KAAOrM,EAAO7oR,OAAO,CASrC8iR,IAAK+F,EAAO/F,IAAI9iR,OAAO,CACrBm1R,aAAc,MAEhBnV,SAAU,WAER,IADA,IAAIzgS,EAAQ5f,KAAKygS,OAAS,GACjB95R,EAAI,EAAGA,EAAI,GAAIA,IACtBiZ,EAAMjZ,GAAK,IAAIkuT,EAAQn2L,KAEzB1+H,KAAK0iT,WAAa,KAAO,EAAI1iT,KAAKmjT,IAAIqS,cAAgB,IAExDzP,gBAAiB,SAAyB72S,EAAG+Q,GAM3C,IAJA,IAAIL,EAAQ5f,KAAKygS,OACbg1B,EAAkBz1T,KAAK0iT,UAAY,EAG9B/7S,EAAI,EAAGA,EAAI8uT,EAAiB9uT,IAAK,CAExC,IAAI+uT,EAAMxmT,EAAE+Q,EAAS,EAAItZ,GACrBgvT,EAAOzmT,EAAE+Q,EAAS,EAAItZ,EAAI,GAG9B+uT,EAAgC,UAAzBA,GAAO,EAAIA,IAAQ,IAA6C,YAAzBA,GAAO,GAAKA,IAAQ,GAClEC,EAAmC,UAA3BA,GAAQ,EAAIA,IAAS,IAA+C,YAA3BA,GAAQ,GAAKA,IAAS,GAGvE,IAAIC,EAAOh2S,EAAMjZ,GACjBivT,EAAKC,MAAQF,EACbC,EAAKxpM,KAAOspM,EAId,IAAK,IAAI5oT,EAAQ,EAAGA,EAAQ,GAAIA,IAAS,CAEvC,IAAK,IAAI1R,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAI1B,IAFA,IAAI06T,EAAO,EACTC,EAAO,EACAn6T,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACtBg6T,EAAOh2S,EAAMxkB,EAAI,EAAIQ,GACzBk6T,GAAQF,EAAKC,KACbE,GAAQH,EAAKxpM,IAIf,IAAI4pM,EAAKlnT,EAAE1T,GACX46T,EAAGH,KAAOC,EACVE,EAAG5pM,IAAM2pM,EAEX,IAAS36T,EAAI,EAAGA,EAAI,EAAGA,IAErB,KAAI66T,EAAMnnT,GAAG1T,EAAI,GAAK,GAClB86T,EAAMpnT,GAAG1T,EAAI,GAAK,GAClB+6T,EAASD,EAAIL,KACbO,EAASF,EAAI9pM,IAKjB,IAFI0pM,EAAOG,EAAIJ,MAAQM,GAAU,EAAIC,IAAW,IAC5CL,EAAOE,EAAI7pM,KAAOgqM,GAAU,EAAID,IAAW,IACtCv6T,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACtBg6T,EAAOh2S,EAAMxkB,EAAI,EAAIQ,GACzBg6T,EAAKC,MAAQC,EACbF,EAAKxpM,KAAO2pM,GAKhB,IAAK,IAAIM,EAAY,EAAGA,EAAY,GAAIA,IAAa,CAK/CT,EAAOh2S,EAAMy2S,GAJjB,IAKIC,EAAUV,EAAKC,KACfU,EAAUX,EAAKxpM,IACfoqM,EAAYzB,EAAYsB,GAGxBG,EAAY,IACdV,EAAOQ,GAAWE,EAAYD,IAAY,GAAKC,EAC/CT,EAAOQ,GAAWC,EAAYF,IAAY,GAAKE,IAE7CV,EAAOS,GAAWC,EAAY,GAAKF,IAAY,GAAKE,EACpDT,EAAOO,GAAWE,EAAY,GAAKD,IAAY,GAAKC,GAIxD,IAAIC,EAAU3nT,EAAEkmT,EAAWqB,IAC3BI,EAAQZ,KAAOC,EACfW,EAAQrqM,IAAM2pM,EAIhB,IAAIW,EAAK5nT,EAAE,GACP6nT,EAAS/2S,EAAM,GACnB82S,EAAGb,KAAOc,EAAOd,KACjBa,EAAGtqM,IAAMuqM,EAAOvqM,IAGhB,IAAShxH,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAASQ,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAEtBy6T,EAAYj7T,EAAI,EAAIQ,EACpBg6T,EAAOh2S,EAAMy2S,GADjB,IAEIO,EAAQ9nT,EAAEunT,GACVQ,EAAU/nT,GAAG1T,EAAI,GAAK,EAAI,EAAIQ,GAC9Bk7T,EAAUhoT,GAAG1T,EAAI,GAAK,EAAI,EAAIQ,GAGlCg6T,EAAKC,KAAOe,EAAMf,MAAQgB,EAAQhB,KAAOiB,EAAQjB,KACjDD,EAAKxpM,IAAMwqM,EAAMxqM,KAAOyqM,EAAQzqM,IAAM0qM,EAAQ1qM,IAK9CwpM,EAAOh2S,EAAM,GAAjB,IACIm3S,EAAgB9B,EAAgBnoT,GACpC8oT,EAAKC,MAAQkB,EAAclB,KAC3BD,EAAKxpM,KAAO2qM,EAAc3qM,MAG9B03L,YAAa,WAEX,IAAIr7S,EAAOzI,KAAK6uB,MACZg6R,EAAYpgT,EAAKw+E,MAEjB+mO,GADahuT,KAAK0oT,YACU,EAAhBjgT,EAAKi4S,UACjBsW,EAAiC,GAAjBh3T,KAAK0iT,UAGzBmG,EAAUmF,IAAc,IAAM,GAAO,GAAKA,EAAY,GACtDnF,GAAWvtT,EAAKuiB,MAAMmwS,EAAY,GAAKgJ,GAAiBA,IAAkB,GAAK,IAAM,IACrFvuT,EAAKi4S,SAA8B,EAAnBmI,EAAU/qT,OAG1BkC,KAAK4jT,WASL,IANA,IAAIhkS,EAAQ5f,KAAKygS,OACbw2B,EAAoBj3T,KAAKmjT,IAAIqS,aAAe,EAC5C0B,EAAoBD,EAAoB,EAGxCE,EAAY,GACPxwT,EAAI,EAAGA,EAAIuwT,EAAmBvwT,IAAK,CAE1C,IAAIivT,EAAOh2S,EAAMjZ,GACb2vT,EAAUV,EAAKC,KACfU,EAAUX,EAAKxpM,IAGnBkqM,EAA4C,UAAjCA,GAAW,EAAIA,IAAY,IAAqD,YAAjCA,GAAW,GAAKA,IAAY,GACtFC,EAA4C,UAAjCA,GAAW,EAAIA,IAAY,IAAqD,YAAjCA,GAAW,GAAKA,IAAY,GAGtFY,EAAUvwT,KAAK2vT,GACfY,EAAUvwT,KAAK0vT,GAIjB,OAAO,IAAIxT,EAAUpkL,KAAKy4L,EAAWF,IAEvCn2T,MAAO,WAGL,IAFA,IAAIA,EAAQooT,EAAOpoT,MAAMyrB,KAAKvsB,MAC1B4f,EAAQ9e,EAAM2/R,OAASzgS,KAAKygS,OAAOr3R,MAAM,GACpCzC,EAAI,EAAGA,EAAI,GAAIA,IACtBiZ,EAAMjZ,GAAKiZ,EAAMjZ,GAAG7F,QAEtB,OAAOA,KAkBXuD,EAAEkxT,KAAOrM,EAAO3H,cAAcgU,GAgB9BlxT,EAAE+yT,SAAWlO,EAAOE,kBAAkBmM,GA5RxC,CA6RGj6T,MACI2jT,EAASsW,SAKZ8B,MACA,SAAUz1T,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,SAHnH,CAKG,GAAQ,SAAUoS,GAwDnB,OAvDA,WAEE,IAAI56S,EAAI46S,EACJ0V,EAAQtwT,EAAEuwT,IACVC,EAAUF,EAAMG,KAChBwC,EAAe3C,EAAM7R,UACrBzD,EAASh7S,EAAEi7S,KACXiY,EAASlY,EAAOkY,OAKhBC,EAASnY,EAAOmY,OAASD,EAAOl3R,OAAO,CACzCggR,SAAU,WACRrgT,KAAKysT,MAAQ,IAAI6K,EAAa54L,KAAK,CAAC,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,WAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,WAAa,IAAIm2L,EAAQn2L,KAAK,UAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,eAEzWolL,YAAa,WACX,IAAIh+Q,EAAOyxR,EAAOzT,YAAYv3R,KAAKvsB,MAEnC,OADA8lC,EAAK46Q,UAAY,GACV56Q,KAkBXzhC,EAAEmzT,OAASD,EAAOhW,cAAciW,GAgBhCnzT,EAAEozT,WAAaF,EAAOnO,kBAAkBoO,GArD1C,GAuDOvY,EAASuY,WAKZE,MACA,SAAU91T,EAAQC,EAASgrS,GAEjC,cAIA,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,SAHvF,CAKG,GAAQ,SAAUoS,GAsPnB,OArPA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV+J,EAAShK,EAAMgK,OACfyL,EAAQtwT,EAAEuwT,IACVC,EAAUF,EAAMG,KAChBwC,EAAe3C,EAAM7R,UACrBzD,EAASh7S,EAAEi7S,KACf,SAASqY,IACP,OAAO9C,EAAQ9tK,OAAO96I,MAAM4oT,EAASh3T,WAIvC,IAAI8uB,EAAI,CAACgrS,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,WAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,UAAY,WAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,YAAaA,EAAe,UAAY,WAAaA,EAAe,UAAY,WAAaA,EAAe,UAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,YAAaA,EAAe,WAAY,WAAaA,EAAe,WAAY,aAGxnG/tR,EAAI,IACR,WACE,IAAK,IAAIjjC,EAAI,EAAGA,EAAI,GAAIA,IACtBijC,EAAEjjC,GAAKgxT,KAFX,GASA,IAAIJ,EAASlY,EAAOkY,OAASrO,EAAO7oR,OAAO,CACzCggR,SAAU,WACRrgT,KAAKysT,MAAQ,IAAI6K,EAAa54L,KAAK,CAAC,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,WAAa,IAAIm2L,EAAQn2L,KAAK,UAAY,YAAa,IAAIm2L,EAAQn2L,KAAK,WAAY,cAEzWqnL,gBAAiB,SAAyB72S,EAAG+Q,GA+C3C,IA7CA,IAAIhR,EAAIjP,KAAKysT,MAAMxlO,MACf2wO,EAAK3oT,EAAE,GACP4oT,EAAK5oT,EAAE,GACPg2O,EAAKh2O,EAAE,GACPi2O,EAAKj2O,EAAE,GACP6oT,EAAK7oT,EAAE,GACP8oT,EAAK9oT,EAAE,GACPosD,EAAKpsD,EAAE,GACP+oT,EAAK/oT,EAAE,GACPgpT,EAAML,EAAG/B,KACTqC,EAAMN,EAAGxrM,IACT+rM,EAAMN,EAAGhC,KACTuC,EAAMP,EAAGzrM,IACTisM,EAAMpzE,EAAG4wE,KACTyC,EAAMrzE,EAAG74H,IACTmsM,EAAMrzE,EAAG2wE,KACT2C,EAAMtzE,EAAG94H,IACTqsM,EAAMX,EAAGjC,KACT6C,EAAMZ,EAAG1rM,IACTusM,EAAMZ,EAAGlC,KACT+C,EAAMb,EAAG3rM,IACTysM,EAAMx9P,EAAGw6P,KACTiD,EAAMz9P,EAAG+wD,IACT2sM,EAAMf,EAAGnC,KACTmD,EAAMhB,EAAG5rM,IAGT6sM,EAAKhB,EACLpF,EAAKqF,EACLgB,EAAKf,EACL1zS,EAAK2zS,EACLn0I,EAAKo0I,EACLjvP,EAAKkvP,EACLa,EAAKZ,EACLzF,EAAK0F,EACLY,EAAKX,EACLx3L,EAAKy3L,EACLW,EAAKV,EACLhhR,EAAKihR,EACLnH,EAAKoH,EACL1gD,EAAK2gD,EACLQ,EAAKP,EACL7lR,EAAK8lR,EAGAryT,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAI4yT,EACAC,EAGAC,EAAK7vR,EAAEjjC,GAGX,GAAIA,EAAI,GACN6yT,EAAMC,EAAG5D,KAA2B,EAApB3mT,EAAE+Q,EAAa,EAAJtZ,GAC3B4yT,EAAME,EAAGrtM,IAA8B,EAAxBl9G,EAAE+Q,EAAa,EAAJtZ,EAAQ,OAC7B,CAEL,IAAIutT,EAAUtqR,EAAEjjC,EAAI,IAChB+yT,EAAWxF,EAAQ2B,KACnB8D,EAAWzF,EAAQ9nM,IACnBwtM,GAAWF,IAAa,EAAIC,GAAY,KAAOD,IAAa,EAAIC,GAAY,IAAMD,IAAa,EAC/FG,GAAWF,IAAa,EAAID,GAAY,KAAOC,IAAa,EAAID,GAAY,KAAOC,IAAa,EAAID,GAAY,IAGhHtF,GAAUxqR,EAAEjjC,EAAI,GAChBmzT,GAAW1F,GAAQyB,KACnBkE,GAAW3F,GAAQhoM,IACnB4tM,IAAWF,KAAa,GAAKC,IAAY,KAAOD,IAAY,EAAIC,KAAa,IAAMD,KAAa,EAChGG,IAAWF,KAAa,GAAKD,IAAY,KAAOC,IAAY,EAAID,KAAa,KAAOC,KAAa,EAAID,IAAY,IAGjHI,GAAMtwR,EAAEjjC,EAAI,GACZwzT,GAAOD,GAAIrE,KACXuE,GAAOF,GAAI9tM,IACXiuM,GAAOzwR,EAAEjjC,EAAI,IACb2zT,GAAQD,GAAKxE,KACb0E,GAAQF,GAAKjuM,IACjBmtM,EAAMM,EAAUO,GAChBZ,EAAMI,EAAUO,IAAQZ,IAAQ,EAAIM,IAAY,EAAI,EAAI,GACxDN,GAAYU,GACZT,EAAMA,EAAMQ,IAAWT,IAAQ,EAAIU,KAAY,EAAI,EAAI,GACvDV,GAAYgB,GACZf,EAAMA,EAAMc,IAASf,IAAQ,EAAIgB,KAAU,EAAI,EAAI,GACnDd,EAAG5D,KAAO2D,EACVC,EAAGrtM,IAAMmtM,EAEX,IAAIiB,GAAMpB,EAAKC,GAAMD,EAAK3H,EACtBgJ,GAAMx5L,EAAKtpF,GAAMspF,EAAKk3I,EACtBuiD,GAAOzB,EAAKC,EAAKD,EAAKh1I,EAAKi1I,EAAKj1I,EAChC02I,GAAO9H,EAAKpuS,EAAKouS,EAAKzpP,EAAK3kD,EAAK2kD,EAChCwxP,IAAW3B,IAAO,GAAKpG,GAAM,IAAMoG,GAAM,GAAKpG,IAAO,IAAMoG,GAAM,GAAKpG,IAAO,GAC7EgI,IAAWhI,IAAO,GAAKoG,GAAM,IAAMpG,GAAM,GAAKoG,IAAO,IAAMpG,GAAM,GAAKoG,IAAO,GAC7E6B,IAAW1B,IAAO,GAAKn4L,GAAM,KAAOm4L,IAAO,GAAKn4L,GAAM,KAAOm4L,GAAM,GAAKn4L,IAAO,GAC/E85L,IAAW95L,IAAO,GAAKm4L,GAAM,KAAOn4L,IAAO,GAAKm4L,GAAM,KAAOn4L,GAAM,GAAKm4L,IAAO,GAG/E14I,GAAK/zJ,EAAEhmB,GACPq0T,GAAMt6I,GAAGm1I,KACToF,GAAMv6I,GAAGt0D,IACT8uM,GAAMhoR,EAAK6nR,GACXI,GAAM7B,EAAKwB,IAAWI,KAAQ,EAAIhoR,IAAO,EAAI,EAAI,GASjDkoR,IARAF,GAAMA,GAAMT,GACZU,GAAMA,GAAMX,IAAOU,KAAQ,EAAIT,KAAQ,EAAI,EAAI,GAC/CS,GAAMA,GAAMD,GACZE,GAAMA,GAAMH,IAAOE,KAAQ,EAAID,KAAQ,EAAI,EAAI,GAC/CC,GAAMA,GAAM3B,EACZ4B,GAAMA,GAAM3B,GAAO0B,KAAQ,EAAI3B,IAAQ,EAAI,EAAI,GAGzCsB,GAAUF,IAChBU,GAAMT,GAAUF,IAAQU,KAAQ,EAAIP,KAAY,EAAI,EAAI,GAG5DvB,EAAK7H,EACLv+Q,EAAKilO,EACLs5C,EAAK4H,EACLlhD,EAAKxgO,EACL0hR,EAAKD,EACLzhR,EAAKspF,EACLA,EAAK6xL,EAAKoI,GAAM,EAChB9B,EAAKD,EAAKgC,IAAOl6L,IAAO,EAAI6xL,IAAO,EAAI,EAAI,GAAK,EAChDqG,EAAKl1I,EACL6uI,EAAK1pP,EACL66G,EAAKi1I,EACL9vP,EAAK3kD,EACLy0S,EAAKD,EACLx0S,EAAKouS,EACLA,EAAKqI,GAAME,GAAM,EACjBnC,EAAKkC,GAAME,IAAOxI,IAAO,EAAIqI,KAAQ,EAAI,EAAI,GAAK,EAIpDhD,EAAMN,EAAGxrM,IAAM8rM,EAAMrF,EACrB+E,EAAG/B,KAAOoC,EAAMgB,GAAMf,IAAQ,EAAIrF,IAAO,EAAI,EAAI,GACjDuF,EAAMP,EAAGzrM,IAAMgsM,EAAM3zS,EACrBozS,EAAGhC,KAAOsC,EAAMe,GAAMd,IAAQ,EAAI3zS,IAAO,EAAI,EAAI,GACjD6zS,EAAMrzE,EAAG74H,IAAMksM,EAAMlvP,EACrB67K,EAAG4wE,KAAOwC,EAAMp0I,GAAMq0I,IAAQ,EAAIlvP,IAAO,EAAI,EAAI,GACjDovP,EAAMtzE,EAAG94H,IAAMosM,EAAM1F,EACrB5tE,EAAG2wE,KAAO0C,EAAMY,GAAMX,IAAQ,EAAI1F,IAAO,EAAI,EAAI,GACjD4F,EAAMZ,EAAG1rM,IAAMssM,EAAMz3L,EACrB62L,EAAGjC,KAAO4C,EAAMW,GAAMV,IAAQ,EAAIz3L,IAAO,EAAI,EAAI,GACjD23L,EAAMb,EAAG3rM,IAAMwsM,EAAMjhR,EACrBogR,EAAGlC,KAAO8C,EAAMU,GAAMT,IAAQ,EAAIjhR,IAAO,EAAI,EAAI,GACjDmhR,EAAMz9P,EAAG+wD,IAAM0sM,EAAM3gD,EACrB98M,EAAGw6P,KAAOgD,EAAMpH,GAAMqH,IAAQ,EAAI3gD,IAAO,EAAI,EAAI,GACjD6gD,EAAMhB,EAAG5rM,IAAM4sM,EAAM9lR,EACrB8kR,EAAGnC,KAAOkD,EAAMO,GAAMN,IAAQ,EAAI9lR,IAAO,EAAI,EAAI,IAEnD4wQ,YAAa,WAEX,IAAIr7S,EAAOzI,KAAK6uB,MACZg6R,EAAYpgT,EAAKw+E,MACjB8mO,EAAgC,EAAnB/tT,KAAK0oT,YAClBsF,EAA4B,EAAhBvlT,EAAKi4S,SAGrBmI,EAAUmF,IAAc,IAAM,KAAQ,GAAKA,EAAY,GACvDnF,EAA0C,IAA/BmF,EAAY,MAAQ,IAAM,IAAW1yT,KAAKoC,MAAMqwT,EAAa,YACxElF,EAA0C,IAA/BmF,EAAY,MAAQ,IAAM,IAAWD,EAChDtlT,EAAKi4S,SAA8B,EAAnBmI,EAAU/qT,OAG1BkC,KAAK4jT,WAGL,IAAI99Q,EAAO9lC,KAAKysT,MAAM6O,QAGtB,OAAOx1R,GAEThlC,MAAO,WACL,IAAIA,EAAQooT,EAAOpoT,MAAMyrB,KAAKvsB,MAE9B,OADAc,EAAM2rT,MAAQzsT,KAAKysT,MAAM3rT,QAClBA,GAET4hT,UAAW,KAiBbr+S,EAAEkzT,OAASrO,EAAO3H,cAAcgW,GAgBhClzT,EAAEk3T,WAAarS,EAAOE,kBAAkBmO,GAnP1C,GAqPOtY,EAASsY,WAKZiE,MACA,SAAU55T,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,EAAS84M,GAGtBhwN,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,OAAQA,EAAoB,QAH3K,CAKG,GAAQ,SAAUoS,GA+sBnB,OA9sBA,WAEE,IAAI56S,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV2D,EAAY5D,EAAM4D,UAClB1D,EAAcF,EAAME,YACpBC,EAASh7S,EAAEi7S,KAGXmc,EAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAG5NC,EAAM,CAAC,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAG3LC,EAAa,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrEC,EAAS,CAAC,CACZ90T,EAAK,QACL,UAAY,MACZ,UAAY,QACZ,UAAY,EACZ,WAAY,IACZ,WAAY,QACZ,WAAY,QACZ,WAAY,QACZ,WAAY,IACZ,WAAY,QACZ,WAAY,MACZ,WAAY,QACZ,WAAY,MACZ,WAAY,QACZ,WAAY,EACZ,WAAY,MACZ,UAAW,EACX,UAAY,QACZ,UAAY,MACZ,UAAY,MACZ,WAAY,QACZ,WAAY,IACZ,WAAY,QACZ,WAAY,EACZ,WAAY,QACZ,WAAY,MACZ,WAAY,QACZ,WAAY,QACZ,WAAY,QACZ,WAAY,MACZ,WAAY,IACZ,WAAY,QACZ,EAAK,MACL,UAAY,EACZ,UAAY,QACZ,UAAY,QACZ,WAAY,QACZ,WAAY,MACZ,WAAY,IACZ,WAAY,QACZ,WAAY,QACZ,WAAY,QACZ,WAAY,QACZ,WAAY,MACZ,WAAY,IACZ,WAAY,QACZ,WAAY,MACZ,WAAY,EACZ,UAAW,QACX,UAAY,QACZ,UAAY,QACZ,UAAY,IACZ,WAAY,MACZ,WAAY,QACZ,WAAY,EACZ,WAAY,MACZ,WAAY,MACZ,WAAY,QACZ,WAAY,IACZ,WAAY,QACZ,WAAY,QACZ,WAAY,EACZ,WAAY,MACZ,WAAY,SACX,CACDA,EAAK,WACL,SAAW,MACX,SAAW,OACX,SAAW,WACX,SAAW,WACX,SAAW,WACX,UAAW,WACX,UAAW,GACX,UAAW,OACX,UAAW,WACX,UAAW,WACX,UAAW,OACX,UAAW,OACX,UAAW,EACX,UAAW,MACX,UAAW,WACX,QAAU,WACV,SAAW,OACX,SAAW,GACX,SAAW,WACX,SAAW,WACX,SAAW,WACX,UAAW,OACX,UAAW,WACX,UAAW,OACX,UAAW,EACX,UAAW,MACX,UAAW,WACX,UAAW,WACX,UAAW,OACX,UAAW,WACX,UAAW,MACX,UAAY,EACZ,UAAY,WACZ,UAAY,WACZ,UAAY,WACZ,UAAY,WACZ,UAAY,GACZ,UAAY,OACZ,UAAY,MACZ,UAAY,MACZ,UAAY,OACZ,UAAY,OACZ,UAAY,WACZ,UAAY,OACZ,UAAY,WACZ,UAAY,WACZ,UAAY,WACZ,UAAY,OACZ,UAAY,OACZ,UAAY,WACZ,UAAY,MACZ,UAAY,WACZ,UAAY,WACZ,UAAY,GACZ,UAAY,WACZ,UAAY,WACZ,UAAY,WACZ,UAAY,WACZ,UAAY,OACZ,UAAY,EACZ,UAAY,MACZ,UAAY,WACZ,UAAY,QACX,CACDA,EAAK,IACL,QAAU,EACV,QAAU,SACV,QAAU,MACV,QAAU,MACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,SAAU,MACV,SAAU,SACV,SAAU,SACV,SAAU,MACV,SAAU,EACV,SAAU,IACV,OAAS,SACT,QAAU,SACV,QAAU,EACV,QAAU,SACV,QAAU,SACV,QAAU,MACV,QAAU,MACV,QAAU,IACV,QAAU,EACV,QAAU,IACV,SAAU,SACV,SAAU,MACV,SAAU,MACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAW,SACX,SAAW,MACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,OACV,CACDA,EAAK,WACL,MAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,KACT,OAAS,KACT,OAAS,WACT,MAAQ,WACR,MAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,WACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,QACT,QAAS,WACT,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,EACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,QACV,QAAU,WACV,QAAU,QACV,QAAU,GACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,EACV,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,WACV,QAAU,GACV,QAAU,WACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,KACV,QAAU,WACV,QAAU,QACV,QAAU,SACT,CACDA,EAAK,IACL,KAAQ,SACR,KAAQ,OACR,MAAQ,UACR,MAAQ,UACR,MAAQ,SACR,MAAQ,UACR,MAAQ,OACR,MAAQ,SACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,EACR,MAAQ,SACR,MAAQ,UACR,KAAO,SACP,KAAQ,UACR,MAAQ,IACR,MAAQ,SACR,MAAQ,OACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,EACR,MAAQ,UACR,MAAQ,SACR,MAAQ,UACR,MAAQ,UACR,MAAQ,SACR,MAAQ,OACR,MAAS,OACT,MAAS,IACT,MAAS,UACT,MAAS,UACT,MAAS,SACT,MAAS,UACT,MAAS,UACT,MAAS,SACT,MAAS,UACT,OAAS,UACT,OAAS,SACT,OAAS,UACT,OAAS,OACT,OAAS,UACT,OAAS,EACT,OAAS,SACT,MAAS,UACT,MAAS,SACT,MAAS,SACT,MAAS,UACT,MAAS,UACT,MAAS,SACT,MAAS,IACT,MAAS,UACT,OAAS,OACT,OAAS,UACT,OAAS,EACT,OAAS,UACT,OAAS,SACT,OAAS,OACT,OAAS,UACT,OAAS,WACR,CACDA,EAAK,UACL,IAAO,KACP,IAAO,UACP,IAAO,UACP,KAAO,UACP,KAAO,QACP,KAAO,QACP,KAAO,UACP,KAAO,EACP,KAAO,UACP,KAAO,QACP,KAAO,EACP,KAAO,UACP,KAAO,QACP,KAAO,KACP,KAAO,UACP,IAAM,UACN,IAAO,UACP,IAAO,EACP,IAAO,QACP,KAAO,QACP,KAAO,UACP,KAAO,UACP,KAAO,KACP,KAAO,QACP,KAAO,KACP,KAAO,UACP,KAAO,UACP,KAAO,EACP,KAAO,UACP,KAAO,QACP,KAAO,UACP,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,KACR,KAAQ,QACR,KAAQ,UACR,KAAQ,UACR,KAAQ,QACR,KAAQ,QACR,KAAQ,EACR,KAAQ,EACR,KAAQ,UACR,KAAQ,KACR,KAAQ,UACR,KAAQ,UACR,KAAQ,QACR,KAAQ,EACR,KAAQ,QACR,KAAQ,QACR,KAAQ,UACR,KAAQ,UACR,KAAQ,KACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,KACR,KAAQ,QACR,KAAQ,QACR,KAAQ,EACR,KAAQ,UACR,KAAQ,WACP,CACDA,EAAK,QACL,GAAM,SACN,GAAM,KACN,GAAM,QACN,GAAM,SACN,GAAM,EACN,GAAM,EACN,IAAM,SACN,IAAM,SACN,IAAM,QACN,IAAM,SACN,IAAM,SACN,IAAM,SACN,IAAM,KACN,IAAM,QACN,IAAM,SACN,EAAK,SACL,GAAM,EACN,GAAM,SACN,GAAM,SACN,GAAM,QACN,GAAM,SACN,IAAM,SACN,IAAM,KACN,IAAM,QACN,IAAM,SACN,IAAM,SACN,IAAM,QACN,IAAM,KACN,IAAM,SACN,IAAM,EACN,IAAM,QACN,IAAO,SACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,KACP,IAAO,SACP,IAAO,QACP,IAAO,EACP,IAAO,EACP,IAAO,SACP,IAAO,SACP,IAAO,KACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,EACP,IAAO,SACP,IAAO,QACP,IAAO,KACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,EACP,IAAO,SACP,IAAO,QACP,IAAO,KACP,IAAO,SACP,IAAO,SACN,CACDA,EAAK,UACL,EAAK,OACL,EAAK,UACL,EAAK,GACL,EAAK,OACL,EAAK,UACL,EAAK,UACL,EAAK,KACL,EAAK,UACL,EAAK,UACL,GAAK,OACL,GAAK,UACL,GAAK,KACL,GAAK,EACL,GAAK,UACL,GAAK,OACL,WAAY,KACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,OACZ,WAAY,OACZ,WAAY,GACZ,WAAY,UACZ,WAAY,KACZ,WAAY,OACZ,WAAY,UACZ,WAAY,EACZ,WAAY,UACZ,WAAY,UACZ,WAAY,OACZ,GAAM,OACN,GAAM,UACN,GAAM,GACN,GAAM,KACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,OACN,GAAM,EACN,GAAM,OACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,OACN,GAAM,KACN,GAAM,UACN,WAAY,OACZ,WAAY,KACZ,WAAY,UACZ,WAAY,OACZ,WAAY,GACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,EACZ,WAAY,OACZ,WAAY,KACZ,WAAY,OACZ,WAAY,YAIV+0T,EAAY,CAAC,WAAY,UAAY,SAAY,QAAY,OAAY,KAAY,IAAY,YAKjGC,EAAMzc,EAAOyc,IAAM1c,EAAY/+Q,OAAO,CACxCggR,SAAU,WAOR,IALA,IAAI3zR,EAAM1sB,KAAKqwL,KACXmwH,EAAW9zR,EAAIu6D,MAGf80O,EAAU,GACLp1T,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAIq1T,EAAYP,EAAI90T,GAAK,EACzBo1T,EAAQp1T,GAAK65S,EAASwb,IAAc,KAAO,GAAKA,EAAY,GAAK,EAKnE,IADA,IAAIC,EAAUj8T,KAAKk8T,SAAW,GACrBC,EAAU,EAAGA,EAAU,GAAIA,IAAW,CAE7C,IAAIC,EAASH,EAAQE,GAAW,GAG5BE,EAAWV,EAAWQ,GAG1B,IAASx1T,EAAI,EAAGA,EAAI,GAAIA,IAEtBy1T,EAAOz1T,EAAI,EAAI,IAAMo1T,GAASL,EAAI/0T,GAAK,EAAI01T,GAAY,KAAO,GAAK11T,EAAI,EAGvEy1T,EAAO,GAAKz1T,EAAI,EAAI,KAAOo1T,EAAQ,IAAML,EAAI/0T,EAAI,IAAM,EAAI01T,GAAY,KAAO,GAAK11T,EAAI,EAMzFy1T,EAAO,GAAKA,EAAO,IAAM,EAAIA,EAAO,KAAO,GAC3C,IAASz1T,EAAI,EAAGA,EAAI,EAAGA,IACrBy1T,EAAOz1T,GAAKy1T,EAAOz1T,KAAiB,GAATA,EAAI,GAAS,EAE1Cy1T,EAAO,GAAKA,EAAO,IAAM,EAAIA,EAAO,KAAO,GAI7C,IAAIE,EAAat8T,KAAKu8T,YAAc,GACpC,IAAS51T,EAAI,EAAGA,EAAI,GAAIA,IACtB21T,EAAW31T,GAAKs1T,EAAQ,GAAKt1T,IAGjCw6S,aAAc,SAAsBjyS,EAAG+Q,GACrCjgB,KAAKohT,cAAclyS,EAAG+Q,EAAQjgB,KAAKk8T,WAErC7a,aAAc,SAAsBnyS,EAAG+Q,GACrCjgB,KAAKohT,cAAclyS,EAAG+Q,EAAQjgB,KAAKu8T,cAErCnb,cAAe,SAAuBlyS,EAAG+Q,EAAQg8S,GAE/Cj8T,KAAKw8T,QAAUttT,EAAE+Q,GACjBjgB,KAAKy8T,QAAUvtT,EAAE+Q,EAAS,GAG1By8S,EAAWnwS,KAAKvsB,KAAM,EAAG,WACzB08T,EAAWnwS,KAAKvsB,KAAM,GAAI,OAC1B28T,EAAWpwS,KAAKvsB,KAAM,EAAG,WACzB28T,EAAWpwS,KAAKvsB,KAAM,EAAG,UACzB08T,EAAWnwS,KAAKvsB,KAAM,EAAG,YAGzB,IAAK,IAAI8M,EAAQ,EAAGA,EAAQ,GAAIA,IAAS,CAQvC,IANA,IAAIsvT,EAASH,EAAQnvT,GACjB8vT,EAAS58T,KAAKw8T,QACdK,EAAS78T,KAAKy8T,QAGdnlT,EAAI,EACC3Q,EAAI,EAAGA,EAAI,EAAGA,IACrB2Q,GAAKskT,EAAOj1T,KAAKk2T,EAAST,EAAOz1T,IAAMk1T,EAAUl1T,MAAQ,GAE3D3G,KAAKw8T,QAAUK,EACf78T,KAAKy8T,QAAUG,EAAStlT,EAI1B,IAAIpa,EAAI8C,KAAKw8T,QACbx8T,KAAKw8T,QAAUx8T,KAAKy8T,QACpBz8T,KAAKy8T,QAAUv/T,EAGfw/T,EAAWnwS,KAAKvsB,KAAM,EAAG,YACzB28T,EAAWpwS,KAAKvsB,KAAM,EAAG,UACzB28T,EAAWpwS,KAAKvsB,KAAM,EAAG,WACzB08T,EAAWnwS,KAAKvsB,KAAM,GAAI,OAC1B08T,EAAWnwS,KAAKvsB,KAAM,EAAG,WAGzBkP,EAAE+Q,GAAUjgB,KAAKw8T,QACjBttT,EAAE+Q,EAAS,GAAKjgB,KAAKy8T,SAEvBhc,QAAS,EACTkC,OAAQ,EACRD,UAAW,IAIb,SAASga,EAAWz8S,EAAQosG,GAC1B,IAAInvH,GAAK8C,KAAKw8T,UAAYv8S,EAASjgB,KAAKy8T,SAAWpwM,EACnDrsH,KAAKy8T,SAAWv/T,EAChB8C,KAAKw8T,SAAWt/T,GAAK+iB,EAEvB,SAAS08S,EAAW18S,EAAQosG,GAC1B,IAAInvH,GAAK8C,KAAKy8T,UAAYx8S,EAASjgB,KAAKw8T,SAAWnwM,EACnDrsH,KAAKw8T,SAAWt/T,EAChB8C,KAAKy8T,SAAWv/T,GAAK+iB,EAWvB5b,EAAEy3T,IAAM1c,EAAYmC,cAAcua,GAKlC,IAAIgB,EAAYzd,EAAOyd,UAAY1d,EAAY/+Q,OAAO,CACpDggR,SAAU,WAER,IAAI3zR,EAAM1sB,KAAKqwL,KACXmwH,EAAW9zR,EAAIu6D,MAEnB,GAAwB,IAApBu5N,EAAS1iT,QAAoC,IAApB0iT,EAAS1iT,QAAgB0iT,EAAS1iT,OAAS,EACtE,MAAM,IAAIf,MAAM,iFAIlB,IAAIggU,EAAOvc,EAASp3S,MAAM,EAAG,GACzB4zT,EAAOxc,EAAS1iT,OAAS,EAAI0iT,EAASp3S,MAAM,EAAG,GAAKo3S,EAASp3S,MAAM,EAAG,GACtE6zT,EAAOzc,EAAS1iT,OAAS,EAAI0iT,EAASp3S,MAAM,EAAG,GAAKo3S,EAASp3S,MAAM,EAAG,GAG1EpJ,KAAKk9T,MAAQpB,EAAI1Y,gBAAgBN,EAAU/7J,OAAOg2K,IAClD/8T,KAAKm9T,MAAQrB,EAAI1Y,gBAAgBN,EAAU/7J,OAAOi2K,IAClDh9T,KAAKo9T,MAAQtB,EAAI1Y,gBAAgBN,EAAU/7J,OAAOk2K,KAEpD9b,aAAc,SAAsBjyS,EAAG+Q,GACrCjgB,KAAKk9T,MAAM/b,aAAajyS,EAAG+Q,GAC3BjgB,KAAKm9T,MAAM9b,aAAanyS,EAAG+Q,GAC3BjgB,KAAKo9T,MAAMjc,aAAajyS,EAAG+Q,IAE7BohS,aAAc,SAAsBnyS,EAAG+Q,GACrCjgB,KAAKo9T,MAAM/b,aAAanyS,EAAG+Q,GAC3BjgB,KAAKm9T,MAAMhc,aAAajyS,EAAG+Q,GAC3BjgB,KAAKk9T,MAAM7b,aAAanyS,EAAG+Q,IAE7BwgS,QAAS,EACTkC,OAAQ,EACRD,UAAW,IAWbr+S,EAAEy4T,UAAY1d,EAAYmC,cAAcub,GA5sB1C,GA8sBO7d,EAAS6d,cAKZO,MACA,SAAUz7T,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,SAAWjvS,EAAMkb,GAGblX,EAAOC,QAAoBiX,EAAQ+zR,EAAoB,QAH3D,CAKG,GAAQ,SAAUoS,GAwRnB,OAvRA,SAAWlhT,GAET,IAAIsG,EAAI46S,EACJC,EAAQ76S,EAAE86S,IACV3G,EAAO0G,EAAM1G,KACb8kB,EAAepe,EAAM4D,UAKrB6R,EAAQtwT,EAAEuwT,IAAM,GAKND,EAAMG,KAAOtc,EAAKn4Q,OAAO,CAWrCq+F,KAAM,SAAcm3L,EAAMzpM,GACxBpsH,KAAK61T,KAAOA,EACZ71T,KAAKosH,IAAMA,KA+KIuoM,EAAM7R,UAAYtK,EAAKn4Q,OAAO,CAqB/Cq+F,KAAM,SAAcz3C,EAAOy5N,GACzBz5N,EAAQjnF,KAAKinF,MAAQA,GAAS,GAE5BjnF,KAAK0gT,SADHA,GAAY3iT,EACE2iT,EAEe,EAAfz5N,EAAMnpF,QAY1Bw9T,MAAO,WAOL,IALA,IAAIiC,EAAWv9T,KAAKinF,MAChBu2O,EAAiBD,EAASz/T,OAG1B2/T,EAAW,GACN92T,EAAI,EAAGA,EAAI62T,EAAgB72T,IAAK,CACvC,IAAI+2T,EAAUH,EAAS52T,GACvB82T,EAAS72T,KAAK82T,EAAQ7H,MACtB4H,EAAS72T,KAAK82T,EAAQtxM,KAExB,OAAOkxM,EAAav2K,OAAO02K,EAAUz9T,KAAK0gT,WAW5C5/S,MAAO,WAQL,IAPA,IAAIA,EAAQ03S,EAAK13S,MAAMyrB,KAAKvsB,MAGxBinF,EAAQnmF,EAAMmmF,MAAQjnF,KAAKinF,MAAM79E,MAAM,GAGvCu0T,EAAc12O,EAAMnpF,OACf6I,EAAI,EAAGA,EAAIg3T,EAAah3T,IAC/BsgF,EAAMtgF,GAAKsgF,EAAMtgF,GAAG7F,QAEtB,OAAOA,KAnRb,GAuROm+S,MAKH2e,MACA,SAAUh8T,EAAQ6rS,EAA0BZ,GAElD,aAuBA,SAASa,EAAgChlS,EAAGilS,GAAkB,IAAIxsI,EAAuB,qBAAXvnC,QAA0BlxH,EAAEkxH,OAAO+wB,WAAajiJ,EAAE,cAAe,GAAIy4J,EAAI,OAAQA,EAAKA,EAAG50I,KAAK7jB,IAAI4uB,KAAKtsB,KAAKm2J,GAAK,GAAIhhK,MAAMC,QAAQsI,KAAOy4J,EAAKysI,EAA4BllS,KAAOilS,GAAkBjlS,GAAyB,kBAAbA,EAAE5K,OAAqB,CAAMqjK,IAAIz4J,EAAIy4J,GAAI,IAAIx6J,EAAI,EAAG,OAAO,WAAc,OAAIA,GAAK+B,EAAE5K,OAAe,CAAEunH,MAAM,GAAe,CAAEA,MAAM,EAAOtmH,MAAO2J,EAAE/B,OAAa,MAAM,IAAIs9F,UAAU,yIACjd,SAAS2pM,EAA4BllS,EAAGmlS,GAAU,GAAKnlS,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOolS,EAAkBplS,EAAGmlS,GAAS,IAAInpS,EAAI0nB,OAAO7rB,UAAU6P,SAASmc,KAAK7jB,GAAGU,MAAM,GAAI,GAAiE,MAAnD,WAAN1E,GAAkBgE,EAAEjI,cAAaiE,EAAIgE,EAAEjI,YAAY7F,MAAgB,QAAN8J,GAAqB,QAANA,EAAoBvE,MAAMyK,KAAKlC,GAAc,cAANhE,GAAqB,2CAA2CwpB,KAAKxpB,GAAWopS,EAAkBplS,EAAGmlS,QAAzG,GAC7S,SAASC,EAAkBngR,EAAKhlB,IAAkB,MAAPA,GAAeA,EAAMglB,EAAI7vB,UAAQ6K,EAAMglB,EAAI7vB,QAAQ,IAAK,IAAI6I,EAAI,EAAGg3J,EAAO,IAAIx9J,MAAMwI,GAAMhC,EAAIgC,EAAKhC,IAAKg3J,EAAKh3J,GAAKgnB,EAAIhnB,GAAI,OAAOg3J,EAC5K,SAASytC,wJAA2LA,EAAsB,WAAiC,OAAOvgM,GAAM,IAAI3N,EAAG2N,EAAI,GAAI7N,EAAIovB,OAAO7rB,UAAWmE,EAAI1H,EAAEsvB,eAAgB5jB,EAAI0jB,OAAO0yE,gBAAkB,SAAU5hG,EAAG2N,EAAG7N,GAAKE,EAAE2N,GAAK7N,EAAE+B,OAAU4H,EAAI,mBAAqBizH,OAASA,OAAS,GAAI59H,EAAI2K,EAAEgkJ,UAAY,aAAc7nJ,EAAI6D,EAAEk3T,eAAiB,kBAAmB9uT,EAAIpI,EAAEqnJ,aAAe,gBAAiB,SAASnrD,EAAO3lG,EAAG2N,EAAG7N,GAAK,OAAOovB,OAAO0yE,eAAe5hG,EAAG2N,EAAG,CAAE9L,MAAO/B,EAAG+hG,YAAY,EAAI+6B,cAAc,EAAIsZ,UAAU,IAAOl2I,EAAE2N,GAAM,IAAMg4F,EAAO,GAAI,IAAO,MAAO3lG,GAAK2lG,EAAS,SAAgB3lG,EAAG2N,EAAG7N,GAAK,OAAOE,EAAE2N,GAAK7N,GAAQ,SAASoiH,EAAKliH,EAAG2N,EAAG7N,EAAG0H,GAAK,IAAIiC,EAAIkE,GAAKA,EAAEtK,qBAAqBu9T,EAAYjzT,EAAIizT,EAAW9hU,EAAIowB,OAAO26H,OAAOpgJ,EAAEpG,WAAYuC,EAAI,IAAImrR,EAAQvpR,GAAK,IAAK,OAAOgE,EAAE1M,EAAG,UAAW,CAAE+C,MAAOg/T,EAAiB7gU,EAAGF,EAAG8F,KAAO9G,EAAK,SAASymS,EAASvlS,EAAG2N,EAAG7N,GAAK,IAAM,MAAO,CAAEyU,KAAM,SAAU48F,IAAKnxG,EAAEqvB,KAAK1hB,EAAG7N,IAAQ,MAAOE,GAAK,MAAO,CAAEuU,KAAM,QAAS48F,IAAKnxG,IAAS2N,EAAEu0G,KAAOA,EAAM,IAAI16F,EAAI,iBAAkBlY,EAAI,iBAAkB8K,EAAI,YAAahM,EAAI,YAAa1P,EAAI,GAAI,SAASkiU,KAAe,SAASE,KAAuB,SAASC,KAAgC,IAAIlkT,EAAI,GAAI8oF,EAAO9oF,EAAG/d,GAAG,WAAc,OAAOgE,QAAU,IAAImD,EAAIipB,OAAOsmG,eAAgBhmH,EAAIvJ,GAAKA,EAAEA,EAAE3B,EAAO,MAAOkL,GAAKA,IAAM1P,GAAK0H,EAAE6nB,KAAK7f,EAAG1Q,KAAO+d,EAAIrN,GAAI,IAAIyiB,EAAI8uS,EAA2B19T,UAAYu9T,EAAUv9T,UAAY6rB,OAAO26H,OAAOhtI,GAAI,SAASmkT,EAAsBhhU,GAAK,CAAC,OAAQ,QAAS,UAAUub,SAAQ,SAAU5N,GAAKg4F,EAAO3lG,EAAG2N,GAAG,SAAU3N,GAAK,OAAO8C,KAAKm+T,QAAQtzT,EAAG3N,SAAc,SAASkhU,EAAclhU,EAAG2N,GAAK,SAASi/I,EAAO9sJ,EAAG0L,EAAG/B,EAAG3K,GAAK,IAAI8G,EAAI2/R,EAASvlS,EAAEF,GAAIE,EAAGwL,GAAI,GAAI,UAAY5F,EAAE2O,KAAM,CAAE,IAAI1C,EAAIjM,EAAEurG,IAAK3pF,EAAI3V,EAAEhQ,MAAO,OAAO2lB,GAAK,iBAAmBA,GAAKhgB,EAAE6nB,KAAK7H,EAAG,WAAa7Z,EAAE60N,QAAQh7M,EAAE25S,SAAS5zH,MAAK,SAAUvtM,GAAK4sJ,EAAO,OAAQ5sJ,EAAGyJ,EAAG3K,MAAO,SAAUkB,GAAK4sJ,EAAO,QAAS5sJ,EAAGyJ,EAAG3K,MAAS6O,EAAE60N,QAAQh7M,GAAG+lL,MAAK,SAAUvtM,GAAK6R,EAAEhQ,MAAQ7B,EAAGyJ,EAAEoI,MAAO,SAAU7R,GAAK,OAAO4sJ,EAAO,QAAS5sJ,EAAGyJ,EAAG3K,MAAUA,EAAE8G,EAAEurG,KAAQ,IAAIrxG,EAAG0L,EAAE1I,KAAM,UAAW,CAAEjB,MAAO,SAAe7B,EAAGwH,GAAK,SAAS45T,IAA+B,OAAO,IAAIzzT,GAAE,SAAUA,EAAG7N,GAAK8sJ,EAAO5sJ,EAAGwH,EAAGmG,EAAG7N,MAAU,OAAOA,EAAIA,EAAIA,EAAEytM,KAAK6zH,EAA4BA,GAA8BA,OAAsC,SAASP,EAAiBlzT,EAAG7N,EAAG0H,GAAK,IAAIgE,EAAIgc,EAAG,OAAO,SAAU/d,EAAG3K,GAAK,GAAI0M,IAAM4O,EAAG,MAAM,IAAIva,MAAM,gCAAiC,GAAI2L,IAAM4C,EAAG,CAAE,GAAI,UAAY3E,EAAG,MAAM3K,EAAG,MAAO,CAAE+C,MAAO7B,EAAGmoH,MAAM,GAAQ,IAAK3gH,EAAEqkB,OAASpiB,EAAGjC,EAAE2pG,IAAMryG,IAAK,CAAE,IAAI8G,EAAI4B,EAAE65T,SAAU,GAAIz7T,EAAG,CAAE,IAAIiM,EAAIyvT,EAAoB17T,EAAG4B,GAAI,GAAIqK,EAAG,CAAE,GAAIA,IAAMnT,EAAG,SAAU,OAAOmT,GAAO,GAAI,SAAWrK,EAAEqkB,OAAQrkB,EAAE6mM,KAAO7mM,EAAE+5T,MAAQ/5T,EAAE2pG,SAAS,GAAI,UAAY3pG,EAAEqkB,OAAQ,CAAE,GAAIrgB,IAAMgc,EAAG,MAAMhc,EAAI4C,EAAG5G,EAAE2pG,IAAK3pG,EAAEg6T,kBAAkBh6T,EAAE2pG,SAAa,WAAa3pG,EAAEqkB,QAAUrkB,EAAEinM,OAAO,SAAUjnM,EAAE2pG,KAAM3lG,EAAI4O,EAAG,IAAIyC,EAAI0oR,EAAS53R,EAAG7N,EAAG0H,GAAI,GAAI,WAAaqV,EAAEtI,KAAM,CAAE,GAAI/I,EAAIhE,EAAE2gH,KAAO/5G,EAAIkB,EAAGuN,EAAEs0F,MAAQzyG,EAAG,SAAU,MAAO,CAAEmD,MAAOgb,EAAEs0F,IAAKgX,KAAM3gH,EAAE2gH,MAAU,UAAYtrG,EAAEtI,OAAS/I,EAAI4C,EAAG5G,EAAEqkB,OAAS,QAASrkB,EAAE2pG,IAAMt0F,EAAEs0F,OAAa,SAASmwN,EAAoB3zT,EAAG7N,GAAK,IAAI0H,EAAI1H,EAAE+rB,OAAQrgB,EAAImC,EAAE8/I,SAASjmJ,GAAI,GAAIgE,IAAMxL,EAAG,OAAOF,EAAEuhU,SAAW,KAAM,UAAY75T,GAAKmG,EAAE8/I,SAASg0K,SAAW3hU,EAAE+rB,OAAS,SAAU/rB,EAAEqxG,IAAMnxG,EAAGshU,EAAoB3zT,EAAG7N,GAAI,UAAYA,EAAE+rB,SAAW,WAAarkB,IAAM1H,EAAE+rB,OAAS,QAAS/rB,EAAEqxG,IAAM,IAAIpK,UAAU,oCAAsCv/F,EAAI,aAAc9I,EAAG,IAAI+K,EAAI87R,EAAS/5R,EAAGmC,EAAE8/I,SAAU3tJ,EAAEqxG,KAAM,GAAI,UAAY1nG,EAAE8K,KAAM,OAAOzU,EAAE+rB,OAAS,QAAS/rB,EAAEqxG,IAAM1nG,EAAE0nG,IAAKrxG,EAAEuhU,SAAW,KAAM3iU,EAAG,IAAII,EAAI2K,EAAE0nG,IAAK,OAAOryG,EAAIA,EAAEqpH,MAAQroH,EAAE6N,EAAE+zT,YAAc5iU,EAAE+C,MAAO/B,EAAEs6B,KAAOzsB,EAAEg0T,QAAS,WAAa7hU,EAAE+rB,SAAW/rB,EAAE+rB,OAAS,OAAQ/rB,EAAEqxG,IAAMnxG,GAAIF,EAAEuhU,SAAW,KAAM3iU,GAAKI,GAAKgB,EAAE+rB,OAAS,QAAS/rB,EAAEqxG,IAAM,IAAIpK,UAAU,oCAAqCjnG,EAAEuhU,SAAW,KAAM3iU,GAAM,SAASkjU,EAAa5hU,GAAK,IAAI2N,EAAI,CAAEk0T,OAAQ7hU,EAAE,IAAM,KAAKA,IAAM2N,EAAEm0T,SAAW9hU,EAAE,IAAK,KAAKA,IAAM2N,EAAEo0T,WAAa/hU,EAAE,GAAI2N,EAAEq0T,SAAWhiU,EAAE,IAAK8C,KAAKm/T,WAAWv4T,KAAKiE,GAAM,SAASu0T,EAAcliU,GAAK,IAAI2N,EAAI3N,EAAEmiU,YAAc,GAAIx0T,EAAE4G,KAAO,gBAAiB5G,EAAEwjG,IAAKnxG,EAAEmiU,WAAax0T,EAAK,SAASojR,EAAQ/wR,GAAK8C,KAAKm/T,WAAa,CAAC,CAAEJ,OAAQ,SAAW7hU,EAAEub,QAAQqmT,EAAc9+T,MAAOA,KAAK0kQ,OAAM,GAAO,SAASljQ,EAAOqJ,GAAK,GAAIA,GAAK,KAAOA,EAAG,CAAE,IAAI7N,EAAI6N,EAAE7O,GAAI,GAAIgB,EAAG,OAAOA,EAAEuvB,KAAK1hB,GAAI,GAAI,mBAAqBA,EAAEysB,KAAM,OAAOzsB,EAAG,IAAKtG,MAAMsG,EAAE/M,QAAS,CAAE,IAAI4K,GAAK,EAAG/B,EAAI,SAAS2wB,IAAS,OAAS5uB,EAAImC,EAAE/M,QAAS,GAAI4G,EAAE6nB,KAAK1hB,EAAGnC,GAAI,OAAO4uB,EAAKv4B,MAAQ8L,EAAEnC,GAAI4uB,EAAK+tF,MAAO,EAAI/tF,EAAM,OAAOA,EAAKv4B,MAAQ7B,EAAGo6B,EAAK+tF,MAAO,EAAI/tF,GAAS,OAAO3wB,EAAE2wB,KAAO3wB,GAAO,MAAM,IAAIs9F,iBAAiBp5F,EAAI,oBAAuB,OAAOmzT,EAAkBz9T,UAAY09T,EAA4Bv1T,EAAEymB,EAAG,cAAe,CAAEpwB,MAAOk/T,EAA4BnkM,cAAc,IAAOpxH,EAAEu1T,EAA4B,cAAe,CAAEl/T,MAAOi/T,EAAmBlkM,cAAc,IAAOkkM,EAAkBvrR,YAAcowD,EAAOo7N,EAA4BlvT,EAAG,qBAAsBlE,EAAEy0T,oBAAsB,SAAUpiU,GAAK,IAAI2N,EAAI,mBAAqB3N,GAAKA,EAAEuD,YAAa,QAASoK,IAAMA,IAAMmzT,GAAqB,uBAAyBnzT,EAAE4nC,aAAe5nC,EAAEjQ,QAAWiQ,EAAE0uI,KAAO,SAAUr8I,GAAK,OAAOkvB,OAAOwxN,eAAiBxxN,OAAOwxN,eAAe1gP,EAAG+gU,IAA+B/gU,EAAE84H,UAAYioM,EAA4Bp7N,EAAO3lG,EAAG6R,EAAG,sBAAuB7R,EAAEqD,UAAY6rB,OAAO26H,OAAO53H,GAAIjyB,GAAM2N,EAAE00T,MAAQ,SAAUriU,GAAK,MAAO,CAAEmhU,QAASnhU,IAAQghU,EAAsBE,EAAc79T,WAAYsiG,EAAOu7N,EAAc79T,UAAWuC,GAAG,WAAc,OAAO9C,QAAU6K,EAAEuzT,cAAgBA,EAAevzT,EAAE+nK,MAAQ,SAAU11K,EAAGF,EAAG0H,EAAGgE,EAAG/B,QAAK,IAAWA,IAAMA,EAAIy3O,SAAU,IAAIpiP,EAAI,IAAIoiU,EAAch/M,EAAKliH,EAAGF,EAAG0H,EAAGgE,GAAI/B,GAAI,OAAOkE,EAAEy0T,oBAAoBtiU,GAAKhB,EAAIA,EAAEs7B,OAAOmzK,MAAK,SAAUvtM,GAAK,OAAOA,EAAEmoH,KAAOnoH,EAAE6B,MAAQ/C,EAAEs7B,WAAe4mS,EAAsB/uS,GAAI0zE,EAAO1zE,EAAGpgB,EAAG,aAAc8zF,EAAO1zE,EAAGnzB,GAAG,WAAc,OAAOgE,QAAU6iG,EAAO1zE,EAAG,YAAY,WAAc,MAAO,wBAA0BtkB,EAAEqhB,KAAO,SAAUhvB,GAAK,IAAI2N,EAAIuhB,OAAOlvB,GAAIF,EAAI,GAAI,IAAK,IAAI0H,KAAKmG,EAAG7N,EAAE4J,KAAKlC,GAAI,OAAO1H,EAAE+xJ,UAAW,SAASz3H,IAAS,KAAOt6B,EAAEc,QAAS,CAAE,IAAIZ,EAAIF,EAAE4F,MAAO,GAAI1F,KAAK2N,EAAG,OAAOysB,EAAKv4B,MAAQ7B,EAAGo6B,EAAK+tF,MAAO,EAAI/tF,EAAQ,OAAOA,EAAK+tF,MAAO,EAAI/tF,IAAYzsB,EAAErJ,OAASA,EAAQysR,EAAQ1tR,UAAY,CAAEE,YAAawtR,EAASvpB,MAAO,SAAe75P,GAAK,GAAI7K,KAAKmgH,KAAO,EAAGngH,KAAKs3B,KAAO,EAAGt3B,KAAKurM,KAAOvrM,KAAKy+T,MAAQvhU,EAAG8C,KAAKqlH,MAAO,EAAIrlH,KAAKu+T,SAAW,KAAMv+T,KAAK+oB,OAAS,OAAQ/oB,KAAKquG,IAAMnxG,EAAG8C,KAAKm/T,WAAW1mT,QAAQ2mT,IAAiBv0T,EAAG,IAAK,IAAI7N,KAAKgD,KAAM,MAAQhD,EAAEmN,OAAO,IAAMzF,EAAE6nB,KAAKvsB,KAAMhD,KAAOuH,OAAOvH,EAAEoM,MAAM,MAAQpJ,KAAKhD,GAAKE,IAAO0uM,KAAM,WAAkB5rM,KAAKqlH,MAAO,EAAI,IAAInoH,EAAI8C,KAAKm/T,WAAW,GAAGE,WAAY,GAAI,UAAYniU,EAAEuU,KAAM,MAAMvU,EAAEmxG,IAAK,OAAOruG,KAAK0vC,MAASgvR,kBAAmB,SAA2B7zT,GAAK,GAAI7K,KAAKqlH,KAAM,MAAMx6G,EAAG,IAAI7N,EAAIgD,KAAM,SAASw/T,EAAO96T,EAAGgE,GAAK,OAAO1M,EAAEyV,KAAO,QAASzV,EAAEqyG,IAAMxjG,EAAG7N,EAAEs6B,KAAO5yB,EAAGgE,IAAM1L,EAAE+rB,OAAS,OAAQ/rB,EAAEqxG,IAAMnxG,KAAMwL,EAAK,IAAK,IAAIA,EAAI1I,KAAKm/T,WAAWrhU,OAAS,EAAG4K,GAAK,IAAKA,EAAG,CAAE,IAAI/B,EAAI3G,KAAKm/T,WAAWz2T,GAAI1M,EAAI2K,EAAE04T,WAAY,GAAI,SAAW14T,EAAEo4T,OAAQ,OAAOS,EAAO,OAAQ,GAAI74T,EAAEo4T,QAAU/+T,KAAKmgH,KAAM,CAAE,IAAIr9G,EAAI4B,EAAE6nB,KAAK5lB,EAAG,YAAaoI,EAAIrK,EAAE6nB,KAAK5lB,EAAG,cAAe,GAAI7D,GAAKiM,EAAG,CAAE,GAAI/O,KAAKmgH,KAAOx5G,EAAEq4T,SAAU,OAAOQ,EAAO74T,EAAEq4T,UAAU,GAAK,GAAIh/T,KAAKmgH,KAAOx5G,EAAEs4T,WAAY,OAAOO,EAAO74T,EAAEs4T,iBAAoB,GAAIn8T,GAAK,GAAI9C,KAAKmgH,KAAOx5G,EAAEq4T,SAAU,OAAOQ,EAAO74T,EAAEq4T,UAAU,OAAY,CAAE,IAAKjwT,EAAG,MAAM,IAAIhS,MAAM,0CAA2C,GAAIiD,KAAKmgH,KAAOx5G,EAAEs4T,WAAY,OAAOO,EAAO74T,EAAEs4T,gBAAsBtzH,OAAQ,SAAgBzuM,EAAG2N,GAAK,IAAK,IAAI7N,EAAIgD,KAAKm/T,WAAWrhU,OAAS,EAAGd,GAAK,IAAKA,EAAG,CAAE,IAAI0L,EAAI1I,KAAKm/T,WAAWniU,GAAI,GAAI0L,EAAEq2T,QAAU/+T,KAAKmgH,MAAQz7G,EAAE6nB,KAAK7jB,EAAG,eAAiB1I,KAAKmgH,KAAOz3G,EAAEu2T,WAAY,CAAE,IAAIt4T,EAAI+B,EAAG,OAAW/B,IAAM,UAAYzJ,GAAK,aAAeA,IAAMyJ,EAAEo4T,QAAUl0T,GAAKA,GAAKlE,EAAEs4T,aAAet4T,EAAI,MAAO,IAAI3K,EAAI2K,EAAIA,EAAE04T,WAAa,GAAI,OAAOrjU,EAAEyV,KAAOvU,EAAGlB,EAAEqyG,IAAMxjG,EAAGlE,GAAK3G,KAAK+oB,OAAS,OAAQ/oB,KAAKs3B,KAAO3wB,EAAEs4T,WAAYrjU,GAAKoE,KAAKy6Q,SAASz+Q,IAAOy+Q,SAAU,SAAkBv9Q,EAAG2N,GAAK,GAAI,UAAY3N,EAAEuU,KAAM,MAAMvU,EAAEmxG,IAAK,MAAO,UAAYnxG,EAAEuU,MAAQ,aAAevU,EAAEuU,KAAOzR,KAAKs3B,KAAOp6B,EAAEmxG,IAAM,WAAanxG,EAAEuU,MAAQzR,KAAK0vC,KAAO1vC,KAAKquG,IAAMnxG,EAAEmxG,IAAKruG,KAAK+oB,OAAS,SAAU/oB,KAAKs3B,KAAO,OAAS,WAAap6B,EAAEuU,MAAQ5G,IAAM7K,KAAKs3B,KAAOzsB,GAAIjP,GAAM6jU,OAAQ,SAAgBviU,GAAK,IAAK,IAAI2N,EAAI7K,KAAKm/T,WAAWrhU,OAAS,EAAG+M,GAAK,IAAKA,EAAG,CAAE,IAAI7N,EAAIgD,KAAKm/T,WAAWt0T,GAAI,GAAI7N,EAAEiiU,aAAe/hU,EAAG,OAAO8C,KAAKy6Q,SAASz9Q,EAAEqiU,WAAYriU,EAAEkiU,UAAWE,EAAcpiU,GAAIpB,IAAQ8uM,MAAO,SAAgBxtM,GAAK,IAAK,IAAI2N,EAAI7K,KAAKm/T,WAAWrhU,OAAS,EAAG+M,GAAK,IAAKA,EAAG,CAAE,IAAI7N,EAAIgD,KAAKm/T,WAAWt0T,GAAI,GAAI7N,EAAE+hU,SAAW7hU,EAAG,CAAE,IAAIwH,EAAI1H,EAAEqiU,WAAY,GAAI,UAAY36T,EAAE+M,KAAM,CAAE,IAAI/I,EAAIhE,EAAE2pG,IAAK+wN,EAAcpiU,GAAM,OAAO0L,GAAO,MAAM,IAAI3L,MAAM,0BAA6B2iU,cAAe,SAAuB70T,EAAG7N,EAAG0H,GAAK,OAAO1E,KAAKu+T,SAAW,CAAE5zK,SAAUnpJ,EAAOqJ,GAAI+zT,WAAY5hU,EAAG6hU,QAASn6T,GAAK,SAAW1E,KAAK+oB,SAAW/oB,KAAKquG,IAAMnxG,GAAItB,IAAQiP,EAvBx1RgiS,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OAKpB,IAAI8yB,EAAgB,EAChBC,EAAa,EAKbC,EAA4B,WAC9B,SAASA,EAAaC,GACpB9/T,KAAK+/T,WAAaD,EAAIC,WACtB//T,KAAKggU,UAAYF,EAAIE,UACrBhgU,KAAKigU,KAAOH,EAAIG,KAMlB,IAAI/xB,EAAS2xB,EAAat/T,UAwF1B,OAvFA2tS,EAAOr7R,MAAQ,SAAeuB,GAC5B,IAAIrZ,EACAuE,EAAOU,KACX,OAAOjF,EAAO,GAAIA,EAAK6+H,OAAO+wB,UAAyBygD,IAAsB7xD,MAAK,SAAS8xD,IACzF,IAAIzrL,EAAOsgT,EAAUC,EAAeC,EAAWrmT,EAAGjX,EAClD,OAAOsoM,IAAsBhsF,MAAK,SAAkBksF,GAClD,MAAO,EAAG,OAAQA,EAASnrF,KAAOmrF,EAASh0K,MACzC,KAAK,EACH1X,EAAQ+/S,EACRO,EAAW,KACXC,EAAgB,KAChBC,EAAY,KACZrmT,EAAI,EACN,KAAK,EACH,KAAMA,EAAI3F,EAAItW,QAAS,CACrBwtM,EAASh0K,KAAO,GAChB,MAKF,GAHAx0B,EAAIsR,EAAI2F,GACRqmT,EAAYxgT,EACZA,EAAQtgB,EAAKygU,WAAWngT,GAAO9c,GACzB8c,IAAUggT,EAAa,CAC3Bt0H,EAASh0K,KAAO,GAChB,MAEF,KAAkB,MAAZ4oS,GAAqC,MAAjBC,GAAyBA,GAAiBD,GAAW,CAC7E50H,EAASh0K,KAAO,GAChB,MAGF,OADAg0K,EAASh0K,KAAO,GACT,CAAC4oS,EAAUC,EAAe7gU,EAAK2gU,KAAKG,IAC7C,KAAK,GAGHxgT,EAAQtgB,EAAKygU,WAAWJ,GAAe78T,GACvCo9T,EAAW,KACb,KAAK,GAGCtgT,IAAUggT,GAA0B,MAAZM,IAC1BA,EAAWnmT,GAGTza,EAAK0gU,UAAUpgT,KACjBugT,EAAgBpmT,GAGd6F,IAAUggT,IACZhgT,EAAQ+/S,GAEZ,KAAK,GACH5lT,IACAuxL,EAASh0K,KAAO,EAChB,MACF,KAAK,GACH,KAAkB,MAAZ4oS,GAAqC,MAAjBC,GAAyBA,GAAiBD,GAAW,CAC7E50H,EAASh0K,KAAO,GAChB,MAGF,OADAg0K,EAASh0K,KAAO,GACT,CAAC4oS,EAAUC,EAAe7gU,EAAK2gU,KAAKrgT,IAC7C,KAAK,GACL,IAAK,MACH,OAAO0rL,EAASM,UAEnBP,MACDtwM,GAONmzS,EAAOjiS,MAAQ,SAAemI,EAAKisT,GACjC,IAAK,IAAkE/uH,EAA9DG,EAAYi8F,EAAgC1tS,KAAK6S,MAAMuB,MAAgBk9L,EAAQG,KAAapsF,MAKnG,IAJA,IAI6D0sF,EAJzDuuH,EAAchvH,EAAMvyM,MACtBuf,EAAQgiT,EAAY,GACpBhqS,EAAMgqS,EAAY,GAClBL,EAAOK,EAAY,GACZtuH,EAAa07F,EAAgCuyB,KAAiBluH,EAASC,KAAc3sF,MAAO,CACnG,IAAI90F,EAAMwhL,EAAOhzM,MACW,oBAAjBshU,EAAQ9vS,IACjB8vS,EAAQ9vS,GAAKjS,EAAOgY,EAAKliB,EAAIhL,MAAMkV,EAAOgY,EAAM,MAKjDupS,EAlGuB,GAoGhCj+T,EAAOC,QAAUg+T,GAIXU,MACA,SAAU3+T,EAAQ6rS,EAA0BZ,GAElD,aAC0B,IAAIviS,EAASuiS,EAAoB,OAAO,UAGlEA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OAqBpB,IAAInzR,EAAKmzR,EAAoB,OACzB3pR,EAAO2pR,EAAoB,OAC/BjrS,EAAOC,QAAuB,WAa5B,SAAS2+T,EAAI/3T,GACX,IAAI9B,EACJ3G,KAAKyI,KAAOA,EACZzI,KAAKy2B,IAAM,EAEXz2B,KAAKiuF,QAAU,GACfjuF,KAAKslS,QAAU,GACftlS,KAAKygU,aAAe,GACpBzgU,KAAKoxB,KAAO,GACZ,MAAO,EAAM,CACX,IAAIgmF,EAAYp3G,KAAK0gU,aACjBhuJ,EAAU,GACd,IAAK/rK,EAAI,EAAGA,EAAI,EAAGA,IACjB+rK,GAAW5pK,OAAOC,aAAa/I,KAAKyI,KAAKzI,KAAKy2B,QAEhD,OAAQi8I,GACN,IAAK,OAEH1yK,KAAKixC,MAAQjxC,KAAK0gU,aAClB1gU,KAAKy6E,OAASz6E,KAAK0gU,aACnB1gU,KAAKunB,KAAOvnB,KAAKyI,KAAKzI,KAAKy2B,OAC3Bz2B,KAAK2gU,UAAY3gU,KAAKyI,KAAKzI,KAAKy2B,OAChCz2B,KAAKsnG,kBAAoBtnG,KAAKyI,KAAKzI,KAAKy2B,OACxCz2B,KAAK4gU,aAAe5gU,KAAKyI,KAAKzI,KAAKy2B,OACnCz2B,KAAK6gU,gBAAkB7gU,KAAKyI,KAAKzI,KAAKy2B,OACtC,MACF,IAAK,OACHz2B,KAAKiuF,QAAUjuF,KAAKqgB,KAAK+2F,GACzB,MACF,IAAK,OACH,IAAKzwG,EAAI,EAAGA,EAAIywG,EAAWzwG,IACzB3G,KAAKslS,QAAQ1+R,KAAK5G,KAAKyI,KAAKzI,KAAKy2B,QAEnC,MACF,IAAK,OAIH,OADAz2B,KAAKygU,aAAe,GACZzgU,KAAK2gU,WACX,KAAK,EAKH3gU,KAAKygU,aAAanjQ,QAAUt9D,KAAKqgB,KAAK+2F,GACtC,IAAI0pN,EAAQ,IAAM9gU,KAAKygU,aAAanjQ,QAAQx/D,OAC5C,GAAIgjU,EAAQ,EACV,IAAKn6T,EAAI,EAAGA,EAAIm6T,EAAOn6T,IACrB3G,KAAKygU,aAAanjQ,QAAQ12D,KAAK,KAGnC,MACF,KAAK,EAGH5G,KAAKygU,aAAaM,UAAY/gU,KAAKqgB,KAAK+2F,GAAW,GACnD,MACF,KAAK,EAEHp3G,KAAKygU,aAAa1hS,IAAM/+B,KAAKqgB,KAAK+2F,GAClC,MAEJ,MACF,IAAK,OACH,IAAIhmF,EAAOpxB,KAAKqgB,KAAK+2F,GACjB74E,EAAQnN,EAAKhpB,QAAQ,GACrBskB,EAAM5jB,OAAOC,aAAakD,MAAMnD,OAAQsoB,EAAKhoB,MAAM,EAAGm1B,IAC1Dv+B,KAAKoxB,KAAK1E,GAAO5jB,OAAOC,aAAakD,MAAMnD,OAAQsoB,EAAKhoB,MAAMm1B,EAAQ,IACtE,MACF,IAAK,OAEH,OAAQv+B,KAAK2gU,WACX,KAAK,EACL,KAAK,EACL,KAAK,EACH3gU,KAAKghU,OAAS,EACd,MACF,KAAK,EACL,KAAK,EACHhhU,KAAKghU,OAAS,EACd,MAEJhhU,KAAKihU,gBAAkB,CAAC,EAAG,GAAGrmM,SAAS56H,KAAK2gU,WAC5C,IAAIK,EAAShhU,KAAKghU,QAAUhhU,KAAKihU,gBAAkB,EAAI,GAEvD,OADAjhU,KAAKkhU,eAAiBlhU,KAAKunB,KAAOy5S,EAC1BhhU,KAAKghU,QACX,KAAK,EACHhhU,KAAKmhU,WAAa,aAClB,MACF,KAAK,EACHnhU,KAAKmhU,WAAa,YAClB,MAGJ,YADAnhU,KAAKslS,QAAU,IAAIh7R,EAAOtK,KAAKslS,UAGjC,QAEEtlS,KAAKy2B,KAAO2gF,EAIhB,GAFAp3G,KAAKy2B,KAAO,EAERz2B,KAAKy2B,IAAMz2B,KAAKyI,KAAK3K,OACvB,MAAM,IAAIf,MAAM,mCAnHtByjU,EAAIh3T,OAAS,SAAgB2Y,EAAMshH,GACjC,OAAO/pH,EAAG2oF,SAASlgF,GAAM,SAAUw1F,EAAK/7F,GACtC,IAAIwlT,EAAM,IAAIZ,EAAI5kT,GAClB,OAAOwlT,EAAI53T,QAAO,SAAU63T,GAC1B,OAAO59L,EAAG49L,UAIhBb,EAAI3oT,KAAO,SAAcsK,GACvB,IAAIvG,EAAOlC,EAAG0G,aAAa+B,GAC3B,OAAO,IAAIq+S,EAAI5kT,IA6GjB,IAAIsyR,EAASsyB,EAAIjgU,UA0MjB,OAzMA2tS,EAAO7tR,KAAO,SAAc+sB,GAE1B,IADA,IAAItd,EAAS,IAAI3vB,MAAMitC,GACdzmC,EAAI,EAAGA,EAAIymC,EAAOzmC,IACzBmpB,EAAOnpB,GAAK3G,KAAKyI,KAAKzI,KAAKy2B,OAE7B,OAAO3G,GAETo+Q,EAAOwyB,WAAa,WAClB,IAAI3xJ,EAAK/uK,KAAKyI,KAAKzI,KAAKy2B,QAAU,GAC9BjoB,EAAKxO,KAAKyI,KAAKzI,KAAKy2B,QAAU,GAC9Bk4R,EAAK3uT,KAAKyI,KAAKzI,KAAKy2B,QAAU,EAC9B2sO,EAAKpjQ,KAAKyI,KAAKzI,KAAKy2B,OACxB,OAAOs4I,EAAKvgK,EAAKmgT,EAAKvrD,GAExB8qC,EAAOozB,WAAa,WAClB,IAAIvyJ,EAAK/uK,KAAKyI,KAAKzI,KAAKy2B,QAAU,EAC9BjoB,EAAKxO,KAAKyI,KAAKzI,KAAKy2B,OACxB,OAAOs4I,EAAKvgK,GAEd0/R,EAAOqzB,aAAe,SAAsB99L,GAC1C,IAAI6mE,EAAQtqM,KACZ,OAAOkjB,EAAK+D,QAAQjnB,KAAKslS,SAAS,SAAU3tL,EAAKlvG,GAC/C,GAAIkvG,EACF,MAAMA,EAER,IAAI1mE,EAAQq5J,EAAMr5J,MAChBwpC,EAAS6vH,EAAM7vH,OACb+mP,EAAal3H,EAAM42H,eAAiB,EACpCG,EAAS,IAAI/2T,EAAO2mC,EAAQwpC,EAAS+mP,GACrC1jU,EAAS2K,EAAK3K,OACd24B,EAAM,EACV,SAASm8B,EAAKu7J,EAAIC,EAAIqzG,EAAIC,EAAIC,QACT,IAAfA,IACFA,GAAa,GAEf,IAAI9wT,EAAIvV,KAAKuiB,MAAMozB,EAAQk9K,GAAMszG,GAC7B/8S,EAAIppB,KAAKuiB,MAAM48D,EAAS2zI,GAAMszG,GAC9BE,EAAiBJ,EAAa3wT,EAC9B24F,EAASm4N,EAAaN,EAAS,IAAI/2T,EAAOs3T,EAAiBl9S,GAC3D4U,EAAM,EACNx2B,EAAI,EACR,MAAOw2B,EAAM5U,GAAK+R,EAAM34B,EAAQ,CAC9B,IAAIgyL,EAAMn2J,EAAKhzB,EAAGysE,EAAMyuP,EACxB,OAAQp5T,EAAKguB,MACX,KAAK,EAEH,IAAK9vB,EAAI,EAAGA,EAAIi7T,EAAgBj7T,IAC9B6iG,EAAO1mG,KAAO2F,EAAKguB,KAErB,MACF,KAAK,EAEH,IAAK9vB,EAAI,EAAGA,EAAIi7T,EAAgBj7T,IAC9BmpL,EAAOrnL,EAAKguB,KACZ28C,EAAOzsE,EAAI66T,EAAa,EAAIh4N,EAAO1mG,EAAI0+T,GACvCh4N,EAAO1mG,MAAQgtL,EAAO18G,GAAQ,IAEhC,MACF,KAAK,EAEH,IAAKzsE,EAAI,EAAGA,EAAIi7T,EAAgBj7T,IAC9BmpL,EAAOrnL,EAAKguB,KACZkD,GAAOhzB,EAAIA,EAAI66T,GAAcA,EAC7BK,EAAQvoS,GAAOkwE,GAAQlwE,EAAM,GAAKsoS,EAAiBjoS,EAAM6nS,EAAa76T,EAAI66T,GAC1Eh4N,EAAO1mG,MAAQ++T,EAAQ/xI,GAAQ,IAEjC,MACF,KAAK,EAEH,IAAKnpL,EAAI,EAAGA,EAAIi7T,EAAgBj7T,IAC9BmpL,EAAOrnL,EAAKguB,KACZkD,GAAOhzB,EAAIA,EAAI66T,GAAcA,EAC7BpuP,EAAOzsE,EAAI66T,EAAa,EAAIh4N,EAAO1mG,EAAI0+T,GACvCK,EAAQvoS,GAAOkwE,GAAQlwE,EAAM,GAAKsoS,EAAiBjoS,EAAM6nS,EAAa76T,EAAI66T,GAC1Eh4N,EAAO1mG,MAAQgtL,EAAOx0L,KAAKoC,OAAO01E,EAAOyuP,GAAS,IAAM,IAE1D,MACF,KAAK,EAEH,IAAKl7T,EAAI,EAAGA,EAAIi7T,EAAgBj7T,IAAK,CACnC,IAAIm7T,EAAOC,EACXjyI,EAAOrnL,EAAKguB,KACZkD,GAAOhzB,EAAIA,EAAI66T,GAAcA,EAC7BpuP,EAAOzsE,EAAI66T,EAAa,EAAIh4N,EAAO1mG,EAAI0+T,GAC3B,IAARloS,EACFuoS,EAAQE,EAAY,GAEpBF,EAAQr4N,GAAQlwE,EAAM,GAAKsoS,EAAiBjoS,EAAM6nS,EAAa76T,EAAI66T,GACnEO,EAAYpoS,GAAO6vE,GAAQlwE,EAAM,GAAKsoS,GAAkBjoS,EAAM,GAAK6nS,EAAa76T,EAAI66T,IAEtF,IAAIznT,EAAIq5D,EAAOyuP,EAAQE,EACnBtxF,EAAKn1O,KAAKW,IAAI8d,EAAIq5D,GAClB4uP,EAAK1mU,KAAKW,IAAI8d,EAAI8nT,GAClBI,EAAK3mU,KAAKW,IAAI8d,EAAIgoT,GAEpBD,EADErxF,GAAMuxF,GAAMvxF,GAAMwxF,EACZ7uP,EACC4uP,GAAMC,EACPJ,EAEAE,EAEVv4N,EAAO1mG,MAAQgtL,EAAOgyI,GAAS,IAEjC,MACF,QACE,MAAM,IAAI/kU,MAAM,6BAA+B0L,EAAKguB,EAAM,IAE9D,IAAKkrS,EAAY,CACf,IAAIO,IAAc9zG,EAAK90L,EAAMooS,GAAMzwR,EAAQk9K,GAAMqzG,EAC7CW,EAAY7oS,EAAMsoS,EACtB,IAAKj7T,EAAI,EAAGA,EAAIkK,EAAGlK,IAAK,CACtB,IAAK,IAAIuL,EAAI,EAAGA,EAAIsvT,EAAYtvT,IAAKmvT,EAAOa,KAAe14N,EAAO24N,KAClED,IAAcT,EAAK,GAAKD,GAG5BloS,KAwBJ,OArB8B,IAA1BgxK,EAAMu2H,iBAWRjuQ,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,IAEdA,EAAK,EAAG,EAAG,EAAG,GAAG,GAEZ6wE,EAAG49L,OAGdnzB,EAAOk0B,cAAgB,WAOrB,IANA,IAAIn0O,EAAUjuF,KAAKiuF,QACfnwF,EAASmwF,EAAQnwF,OACjB2iU,EAAezgU,KAAKygU,aAAanjQ,SAAW,GAC5C9wB,EAAM,IAAIliC,EAAOm2T,EAAa3iU,OAASA,GACvC24B,EAAM,EACN3zB,EAAI,EACC6D,EAAI,EAAGA,EAAI7I,EAAQ6I,GAAK,EAAG,CAClC,IAAIysE,EACJ5mC,EAAI/V,KAASw3D,EAAQtnF,GACrB6lC,EAAI/V,KAASw3D,EAAQtnF,EAAI,GACzB6lC,EAAI/V,KAASw3D,EAAQtnF,EAAI,GACzB6lC,EAAI/V,KAAuC,OAA7B28C,EAAOqtP,EAAa39T,MAAgBswE,EAAO,IAE3D,OAAO5mC,GAET0hQ,EAAOm0B,gBAAkB,SAAyBC,EAAWjB,GAC3D,IAAInvT,EAAGmN,EACH2hT,EAAShhU,KAAKghU,OACd/yO,EAAU,KACV+mC,EAAQh1H,KAAKihU,gBACbjhU,KAAKiuF,QAAQnwF,SACfmwF,EAAUjuF,KAAKuiU,kBAAoBviU,KAAKuiU,gBAAkBviU,KAAKoiU,iBAC/DpB,EAAS,EACThsM,GAAQ,GAEV,IAAIvsH,EAAO65T,EAAU75T,MAAQ65T,EACzBxkU,EAAS2K,EAAK3K,OACd+L,EAAQokF,GAAWozO,EACnB16T,EAAIuL,EAAI,EACZ,GAAe,IAAX8uT,EACF,MAAOr6T,EAAI7I,EAAQ,CACjBuhB,EAAI4uE,EAA0B,EAAhBozO,EAAO16T,EAAI,GAASuL,EAClC,IAAIxF,EAAI7C,EAAMwV,KACd5W,EAAK9B,KAAO+F,EACZjE,EAAK9B,KAAO+F,EACZjE,EAAK9B,KAAO+F,EACZjE,EAAK9B,KAAOquH,EAAQnrH,EAAMwV,KAAO,IACjCnN,EAAImN,OAGN,MAAO1Y,EAAI7I,EACTuhB,EAAI4uE,EAA0B,EAAhBozO,EAAO16T,EAAI,GAASuL,EAClCzJ,EAAK9B,KAAOkD,EAAMwV,KAClB5W,EAAK9B,KAAOkD,EAAMwV,KAClB5W,EAAK9B,KAAOkD,EAAMwV,KAClB5W,EAAK9B,KAAOquH,EAAQnrH,EAAMwV,KAAO,IACjCnN,EAAImN,GAIV6uR,EAAO1kS,OAAS,SAAgBi6H,GAC9B,IAAIynE,EAASlrM,KACTwsC,EAAM,IAAIliC,EAAOtK,KAAKixC,MAAQjxC,KAAKy6E,OAAS,GAChD,OAAOz6E,KAAKuhU,cAAa,SAAUF,GAEjC,OADAn2H,EAAOm3H,gBAAgB71R,EAAK60R,GACrB59L,EAAGj3F,OAGPg0R,EAlUqB,IAuUxBgC,MACA,SAAU5gU,EAAQ6rS,EAA0BZ,GAElD,aAC0B,IAAItiS,EAAUsiS,EAAoB,OAK5DA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpB,IAGIngR,EAHA88E,EAASqjM,EAAoB,OAC7BviS,EAASk/F,EAAOl/F,OAChBm4T,EAAQ,GAEZ,IAAK/1S,KAAO88E,EACLA,EAAOl9E,eAAeI,IACf,eAARA,GAAgC,WAARA,IAC5B+1S,EAAM/1S,GAAO88E,EAAO98E,IAEtB,IAAIg2S,EAAQD,EAAMn4T,OAAS,GAC3B,IAAKoiB,KAAOpiB,EACLA,EAAOgiB,eAAeI,IACf,gBAARA,GAAiC,oBAARA,IAC7Bg2S,EAAMh2S,GAAOpiB,EAAOoiB,IAiCtB,GA/BA+1S,EAAMn4T,OAAO/J,UAAY+J,EAAO/J,UAC3BmiU,EAAM93T,MAAQ83T,EAAM93T,OAASe,WAAWf,OAC3C83T,EAAM93T,KAAO,SAAU7L,EAAOs3H,EAAkBv4H,GAC9C,GAAqB,kBAAViB,EACT,MAAM,IAAIklG,UAAU,yEAA2EllG,GAEjG,GAAIA,GAAiC,qBAAjBA,EAAMjB,OACxB,MAAM,IAAImmG,UAAU,yHAA2HllG,GAEjJ,OAAOuL,EAAOvL,EAAOs3H,EAAkBv4H,KAGtC4kU,EAAMz3T,QACTy3T,EAAMz3T,MAAQ,SAAUsT,EAAMhS,EAAMuf,GAClC,GAAoB,kBAATvN,EACT,MAAM,IAAI0lF,UAAU,oEAAsE1lF,GAE5F,GAAIA,EAAO,GAAKA,GAAQ,GAAK,GAAK,IAChC,MAAM,IAAI/d,WAAW,cAAgB+d,EAAO,kCAE9C,IAAIzT,EAAMR,EAAOiU,GAQjB,OAPKhS,GAAwB,IAAhBA,EAAKzO,OAEa,kBAAbguB,EAChBhhB,EAAIyB,KAAKA,EAAMuf,GAEfhhB,EAAIyB,KAAKA,GAJTzB,EAAIyB,KAAK,GAMJzB,KAGN23T,EAAME,iBACT,IACEF,EAAME,iBAAmBp4T,EAAQq4T,QAAQ,UAAUD,iBACnD,MAAO93T,IAKN43T,EAAMlsN,YACTksN,EAAMlsN,UAAY,CAChBssN,WAAYJ,EAAMxsM,YAEhBwsM,EAAME,mBACRF,EAAMlsN,UAAUusN,kBAAoBL,EAAME,mBAG9C/gU,EAAOC,QAAU4gU,GAIXM,MACA,SAAUnhU,EAAQ6rS,EAA0BZ,GAElD,aAeA,SAASj0H,EAAQ3uE,EAAQ+4N,GACvB,IAAI92S,EAAOE,OAAOF,KAAK+9E,GACvB,GAAI79E,OAAOysJ,sBAAuB,CAChC,IAAI66F,EAAUtnP,OAAOysJ,sBAAsB5uE,GAC3C+4N,IAAmBtvD,EAAUA,EAAQngN,QAAO,SAAUu3D,GACpD,OAAO1+F,OAAOsmH,yBAAyBzoC,EAAQ6gB,GAAK/rB,eACjD7yE,EAAKtlB,KAAKqF,MAAMigB,EAAMwnP,GAE7B,OAAOxnP,EAET,SAAS4sJ,EAAcr3K,GACrB,IAAK,IAAIkF,EAAI,EAAGA,EAAI9I,UAAUC,OAAQ6I,IAAK,CACzC,IAAIqzG,EAAS,MAAQn8G,UAAU8I,GAAK9I,UAAU8I,GAAK,GACnDA,EAAI,EAAIiyK,EAAQxsJ,OAAO4tF,IAAS,GAAIvhG,SAAQ,SAAUiU,GACpDqvL,EAAgBt6M,EAAQirB,EAAKstF,EAAOttF,OACjCN,OAAO2sJ,0BAA4B3sJ,OAAO4sJ,iBAAiBv3K,EAAQ2qB,OAAO2sJ,0BAA0B/+D,IAAW4+D,EAAQxsJ,OAAO4tF,IAASvhG,SAAQ,SAAUiU,GAC5JN,OAAO0yE,eAAer9F,EAAQirB,EAAKN,OAAOsmH,yBAAyB14B,EAAQttF,OAG/E,OAAOjrB,EAET,SAASs6M,EAAgBtvL,EAAKC,EAAK3tB,GAYjC,OAXA2tB,EAAM+oR,EAAe/oR,GACjBA,KAAOD,EACTL,OAAO0yE,eAAeryE,EAAKC,EAAK,CAC9B3tB,MAAOA,EACPggG,YAAY,EACZ+6B,cAAc,EACdsZ,UAAU,IAGZ3mH,EAAIC,GAAO3tB,EAEN0tB,EAET,SAASw2S,EAAgBnvI,EAAUjc,GACjC,KAAMic,aAAoBjc,GACxB,MAAM,IAAI5zE,UAAU,qCAGxB,SAASuxM,EAAkB/zS,EAAQonC,GACjC,IAAK,IAAIliC,EAAI,EAAGA,EAAIkiC,EAAM/qC,OAAQ6I,IAAK,CACrC,IAAIwsI,EAAatqG,EAAMliC,GACvBwsI,EAAWp0C,WAAao0C,EAAWp0C,aAAc,EACjDo0C,EAAWrZ,cAAe,EACtB,UAAWqZ,IAAYA,EAAWC,UAAW,GACjDhnH,OAAO0yE,eAAer9F,EAAQg0S,EAAetiK,EAAWzmH,KAAMymH,IAGlE,SAASuiK,EAAa79H,EAAa89H,EAAYC,GAM7C,OALID,GAAYH,EAAkB39H,EAAYt3K,UAAWo1S,GACrDC,GAAaJ,EAAkB39H,EAAa+9H,GAChDxpR,OAAO0yE,eAAe+4E,EAAa,YAAa,CAC9CzkC,UAAU,IAELykC,EAET,SAAS49H,EAAepnM,GACtB,IAAI3hF,EAAMmpR,EAAaxnM,EAAK,UAC5B,MAAsB,kBAAR3hF,EAAmBA,EAAM5jB,OAAO4jB,GAEhD,SAASmpR,EAAahsS,EAAOq5T,GAC3B,GAAqB,kBAAVr5T,GAAgC,OAAVA,EAAgB,OAAOA,EACxD,IAAIs5T,EAAOt5T,EAAM+vH,OAAO+qG,aACxB,QAAa5mO,IAATolU,EAAoB,CACtB,IAAIzkU,EAAMykU,EAAK52S,KAAK1iB,EAAOq5T,GAAQ,WACnC,GAAmB,kBAARxkU,EAAkB,OAAOA,EACpC,MAAM,IAAIulG,UAAU,gDAEtB,OAAiB,WAATi/N,EAAoBp6T,OAASklB,QAAQnkB,GAjF/CgjS,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OAwEpB,IAAIkB,EAAWlB,EAAoB,OACjCviS,EAASyjS,EAASzjS,OAChB6mS,EAAYtE,EAAoB,OAClCtyK,EAAU42K,EAAU52K,QAClB6oM,EAAS7oM,GAAWA,EAAQ6oM,QAAU,UAC1C,SAASC,EAAWlpN,EAAK14G,EAAQwe,GAC/B3V,EAAO/J,UAAU0kB,KAAKsH,KAAK4tF,EAAK14G,EAAQwe,GAE1Cre,EAAOC,QAAuB,WAC5B,SAASyhU,IACPL,EAAgBjjU,KAAMsjU,GACtBtjU,KAAK+gH,KAAO,KACZ/gH,KAAKu5G,KAAO,KACZv5G,KAAKlC,OAAS,EA8JhB,OA5JA43S,EAAa4tB,EAAY,CAAC,CACxB52S,IAAK,OACL3tB,MAAO,SAAc2N,GACnB,IAAIyR,EAAQ,CACV1V,KAAMiE,EACN4qB,KAAM,MAEJt3B,KAAKlC,OAAS,EAAGkC,KAAKu5G,KAAKjiF,KAAOnZ,EAAWne,KAAK+gH,KAAO5iG,EAC7Dne,KAAKu5G,KAAOp7F,IACVne,KAAKlC,SAER,CACD4uB,IAAK,UACL3tB,MAAO,SAAiB2N,GACtB,IAAIyR,EAAQ,CACV1V,KAAMiE,EACN4qB,KAAMt3B,KAAK+gH,MAEO,IAAhB/gH,KAAKlC,SAAckC,KAAKu5G,KAAOp7F,GACnCne,KAAK+gH,KAAO5iG,IACVne,KAAKlC,SAER,CACD4uB,IAAK,QACL3tB,MAAO,WACL,GAAoB,IAAhBiB,KAAKlC,OAAT,CACA,IAAI0uC,EAAMxsC,KAAK+gH,KAAKt4G,KAGpB,OAFoB,IAAhBzI,KAAKlC,OAAckC,KAAK+gH,KAAO/gH,KAAKu5G,KAAO,KAAUv5G,KAAK+gH,KAAO/gH,KAAK+gH,KAAKzpF,OAC7Et3B,KAAKlC,OACA0uC,KAER,CACD9f,IAAK,QACL3tB,MAAO,WACLiB,KAAK+gH,KAAO/gH,KAAKu5G,KAAO,KACxBv5G,KAAKlC,OAAS,IAEf,CACD4uB,IAAK,OACL3tB,MAAO,SAAcuM,GACnB,GAAoB,IAAhBtL,KAAKlC,OAAc,MAAO,GAC9B,IAAIic,EAAI/Z,KAAK+gH,KACTv0E,EAAM,GAAKzyB,EAAEtR,KACjB,MAAOsR,EAAIA,EAAEud,KAAMkV,GAAOlhC,EAAIyO,EAAEtR,KAChC,OAAO+jC,IAER,CACD9f,IAAK,SACL3tB,MAAO,SAAgB2F,GACrB,GAAoB,IAAhB1E,KAAKlC,OAAc,OAAOwM,EAAOW,MAAM,GAC3C,IAAIuhC,EAAMliC,EAAOY,YAAYxG,IAAM,GAC/BqV,EAAI/Z,KAAK+gH,KACTp6G,EAAI,EACR,MAAOoT,EACLspT,EAAWtpT,EAAEtR,KAAM+jC,EAAK7lC,GACxBA,GAAKoT,EAAEtR,KAAK3K,OACZic,EAAIA,EAAEud,KAER,OAAOkV,IAIR,CACD9f,IAAK,UACL3tB,MAAO,SAAiB2F,EAAG6+T,GACzB,IAAI/2R,EAYJ,OAXI9nC,EAAI1E,KAAK+gH,KAAKt4G,KAAK3K,QAErB0uC,EAAMxsC,KAAK+gH,KAAKt4G,KAAKW,MAAM,EAAG1E,GAC9B1E,KAAK+gH,KAAKt4G,KAAOzI,KAAK+gH,KAAKt4G,KAAKW,MAAM1E,IAGtC8nC,EAFS9nC,IAAM1E,KAAK+gH,KAAKt4G,KAAK3K,OAExBkC,KAAKyd,QAGL8lT,EAAavjU,KAAKwjU,WAAW9+T,GAAK1E,KAAKyjU,WAAW/+T,GAEnD8nC,IAER,CACD9f,IAAK,QACL3tB,MAAO,WACL,OAAOiB,KAAK+gH,KAAKt4G,OAIlB,CACDikB,IAAK,aACL3tB,MAAO,SAAoB2F,GACzB,IAAIqV,EAAI/Z,KAAK+gH,KACTj+G,EAAI,EACJ0pC,EAAMzyB,EAAEtR,KACZ/D,GAAK8nC,EAAI1uC,OACT,MAAOic,EAAIA,EAAEud,KAAM,CACjB,IAAIljB,EAAM2F,EAAEtR,KACR46H,EAAK3+H,EAAI0P,EAAItW,OAASsW,EAAItW,OAAS4G,EAGvC,GAFI2+H,IAAOjvH,EAAItW,OAAQ0uC,GAAOp4B,EAASo4B,GAAOp4B,EAAIhL,MAAM,EAAG1E,GAC3DA,GAAK2+H,EACK,IAAN3+H,EAAS,CACP2+H,IAAOjvH,EAAItW,UACXgF,EACEiX,EAAEud,KAAMt3B,KAAK+gH,KAAOhnG,EAAEud,KAAUt3B,KAAK+gH,KAAO/gH,KAAKu5G,KAAO,OAE5Dv5G,KAAK+gH,KAAOhnG,EACZA,EAAEtR,KAAO2L,EAAIhL,MAAMi6H,IAErB,QAEAvgI,EAGJ,OADA9C,KAAKlC,QAAUgF,EACR0pC,IAIR,CACD9f,IAAK,aACL3tB,MAAO,SAAoB2F,GACzB,IAAI8nC,EAAMliC,EAAOY,YAAYxG,GACzBqV,EAAI/Z,KAAK+gH,KACTj+G,EAAI,EACRiX,EAAEtR,KAAKwc,KAAKunB,GACZ9nC,GAAKqV,EAAEtR,KAAK3K,OACZ,MAAOic,EAAIA,EAAEud,KAAM,CACjB,IAAIxsB,EAAMiP,EAAEtR,KACR46H,EAAK3+H,EAAIoG,EAAIhN,OAASgN,EAAIhN,OAAS4G,EAGvC,GAFAoG,EAAIma,KAAKunB,EAAKA,EAAI1uC,OAAS4G,EAAG,EAAG2+H,GACjC3+H,GAAK2+H,EACK,IAAN3+H,EAAS,CACP2+H,IAAOv4H,EAAIhN,UACXgF,EACEiX,EAAEud,KAAMt3B,KAAK+gH,KAAOhnG,EAAEud,KAAUt3B,KAAK+gH,KAAO/gH,KAAKu5G,KAAO,OAE5Dv5G,KAAK+gH,KAAOhnG,EACZA,EAAEtR,KAAOqC,EAAI1B,MAAMi6H,IAErB,QAEAvgI,EAGJ,OADA9C,KAAKlC,QAAUgF,EACR0pC,IAIR,CACD9f,IAAK02S,EACLrkU,MAAO,SAAeqqD,EAAGvtC,GACvB,OAAO0+G,EAAQv6H,KAAM84K,EAAcA,EAAc,GAAIj9J,GAAU,GAAI,CAEjE+nG,MAAO,EAEP8/M,eAAe,SAIdJ,EAnKqB,IAwKxBK,MACA,SAAU/hU,EAAQC,EAASgrS,GAEjC,aAGAA,EAAoB,OAEpB,IAAIrjM,EAASqjM,EAAoB,OAC7BviS,EAASk/F,EAAOl/F,OAGpB,SAASs5T,EAAUzpN,EAAKxyF,GACtB,IAAK,IAAI+E,KAAOytF,EACdxyF,EAAI+E,GAAOytF,EAAIztF,GAUnB,SAASm3S,EAAWx1N,EAAKgoB,EAAkBv4H,GACzC,OAAOwM,EAAO+jG,EAAKgoB,EAAkBv4H,GARnCwM,EAAOM,MAAQN,EAAOW,OAASX,EAAOY,aAAeZ,EAAOyvH,gBAC9Dn4H,EAAOC,QAAU2nG,GAGjBo6N,EAAUp6N,EAAQ3nG,GAClBA,EAAQyI,OAASu5T,GAOnBD,EAAUt5T,EAAQu5T,GAClBA,EAAWj5T,KAAO,SAAUyjG,EAAKgoB,EAAkBv4H,GACjD,GAAmB,kBAARuwG,EACT,MAAM,IAAIpK,UAAU,iCAEtB,OAAO35F,EAAO+jG,EAAKgoB,EAAkBv4H,IAEvC+lU,EAAW54T,MAAQ,SAAUsT,EAAMhS,EAAMuf,GACvC,GAAoB,kBAATvN,EACT,MAAM,IAAI0lF,UAAU,6BAEtB,IAAIn5F,EAAMR,EAAOiU,GAUjB,YATaxgB,IAATwO,EACsB,kBAAbuf,EACThhB,EAAIyB,KAAKA,EAAMuf,GAEfhhB,EAAIyB,KAAKA,GAGXzB,EAAIyB,KAAK,GAEJzB,GAET+4T,EAAW34T,YAAc,SAAUqT,GACjC,GAAoB,kBAATA,EACT,MAAM,IAAI0lF,UAAU,6BAEtB,OAAO35F,EAAOiU,IAEhBslT,EAAW9pM,gBAAkB,SAAUx7G,GACrC,GAAoB,kBAATA,EACT,MAAM,IAAI0lF,UAAU,6BAEtB,OAAOuF,EAAOutB,WAAWx4G,KAKrBulT,MACA,SAAUliU,EAAQ6rS,EAA0BZ,GAElD,aAGAA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpB,IAAI5lR,EAAU4lR,EAAoB,OAC9BkB,EAAWlB,EAAoB,OACjCk3B,EAAWh2B,EAASg2B,SAGlBC,EAAU,GAGVC,EAAU,EAIVC,EAAYF,EAAUC,EAItBE,EAA6B,OAAWH,EAGxCI,EAAuB,GAAKF,EAG5BG,EAAeD,EAAuB,EAMtCE,EAAc,EAGdC,EAAoB,GAAKN,EAGzBO,EAAYD,EAAoB,EAMhCE,EAAsB,OAAWR,EACjCS,EAAsB,MAAST,EAG/BU,EAAqBF,EAAsBC,EAI3CE,EAAyBD,EACzBE,EAAyB,GAYzBC,EAAiBF,EAAyBC,EAG1CE,EAAmB,GAAKT,EACxB96D,EAA2B,WAC7B,SAASA,EAAY/gQ,GACnB,IAAI8sB,EAAwC,oBAAtB9sB,EAAKszH,cAAqD,oBAAftzH,EAAKW,MACtE,GAAImsB,GAAY9sB,aAAgBkD,WAAY,CAE1C,IAAIq5T,EACJ,GAAIzvS,EACFv1B,KAAK2iP,UAAYl6O,EAAK+sB,aAAa,GACnCx1B,KAAK0iP,WAAaj6O,EAAK+sB,aAAa,GACpCwvS,EAAqBv8T,EAAK+sB,aAAa,GACvC/sB,EAAOA,EAAKW,MAAM,QACb,CACL,IAAIsC,EAAO,IAAI2tS,SAAS5wS,EAAK+gG,QAC7BxpG,KAAK2iP,UAAYj3O,EAAK2yS,UAAU,GAAG,GACnCr+S,KAAK0iP,WAAah3O,EAAK2yS,UAAU,GAAG,GACpC2mB,EAAqBt5T,EAAK2yS,UAAU,GAAG,GACvC51S,EAAOA,EAAKgoG,SAAS,IAIvBhoG,EAAOwe,EAAQxe,EAAM,IAAIkD,WAAWq5T,IACpCv8T,EAAOwe,EAAQxe,EAAM,IAAIkD,WAAWq5T,IAGpCjB,EAASt7T,GACTzI,KAAKyI,KAAO,IAAI0hG,YAAY1hG,EAAK+gG,YAC5B,CAEL,IAAI36E,EAAQpmB,EACZzI,KAAKyI,KAAOomB,EAAMpmB,KAClBzI,KAAK2iP,UAAY9zN,EAAM8zN,UACvB3iP,KAAK0iP,WAAa7zN,EAAM6zN,YAG5B,IAAIwrD,EAAS1kC,EAAYjpQ,UA8BzB,OA7BA2tS,EAAOr7N,IAAM,SAAaymD,GACxB,IAAI/6F,EACJ,OAAI+6F,EAAY,GAAKA,EAAY,QACxBt5H,KAAK0iP,WAEVppH,EAAY,OAAUA,EAAY,OAAUA,GAAa,OAI3D/6F,GAASv+B,KAAKyI,KAAK6wH,GAAa2qM,IAAYK,IAAgBhrM,EAAYkrM,GACjExkU,KAAKyI,KAAK81B,IAEf+6F,GAAa,OAKf/6F,GAASv+B,KAAKyI,KAAKg8T,GAAuBnrM,EAAY,OAAU2qM,KAAaK,IAAgBhrM,EAAYkrM,GAClGxkU,KAAKyI,KAAK81B,IAEf+6F,EAAYt5H,KAAK2iP,WAEnBpkN,EAAQv+B,KAAKyI,KAAKq8T,EAAiBX,GAA8B7qM,GAAa0qM,IAC9EzlS,EAAQv+B,KAAKyI,KAAK81B,GAAS+6F,GAAa2qM,EAAUI,IAClD9lS,GAASA,GAAS+lS,IAAgBhrM,EAAYkrM,GACvCxkU,KAAKyI,KAAK81B,IAEZv+B,KAAKyI,KAAKzI,KAAKyI,KAAK3K,OAASinU,IAE/Bv7D,EAhEsB,GAkE/B5nQ,EAAOC,QAAU2nQ,GAIXy7D,MACA,SAAUrjU,EAAQ6rS,EAA0BZ,GAElD,aAGAA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpB,IAAIq4B,EAA0E,KAA5D,IAAIv5T,WAAW,IAAIw+F,YAAY,CAAC,YAAaX,QAAQ,GACnEmuB,EAAO,SAAcx7H,EAAGuI,EAAGsK,GAC7B,IAAIrI,EAAIxK,EAAEuI,GACVvI,EAAEuI,GAAKvI,EAAE6S,GACT7S,EAAE6S,GAAKrI,GAELyzH,EAAS,SAAgB9wB,GAE3B,IADA,IAAI3gG,EAAM2gG,EAAMxrG,OACP6I,EAAI,EAAGA,EAAIgC,EAAKhC,GAAK,EAC5BgxH,EAAKruB,EAAO3iG,EAAGA,EAAI,GACnBgxH,EAAKruB,EAAO3iG,EAAI,EAAGA,EAAI,IAGvBo9T,EAAW,SAAkBz6N,GAC3B47N,GACF9qM,EAAO9wB,IAGX1nG,EAAOC,QAAU,CACfkiU,SAAUA,IAKNoB,MACA,SAAUvjU,EAAQ6rS,EAA0BZ,GAElD,aAGA,IAAIu4B,EAAWv4B,EAAoB,OACnCjrS,EAAOC,QAAUujU,GAIXC,MACA,SAAUzjU,EAAQ6rS,EAA0BZ,GAElD,aACuBjrS,EAASirS,EAAoBy4B,IAAI1jU,GAGxDirS,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpB,IAAIu4B,EAAW,SAAkBG,EAAKn5D,EAAKhxQ,EAAGQ,EAAGigB,GAG/C,IAAI2pT,EAAc,CAChBC,UAAW,CAAC,IAAK,IAAK,KACtBC,aAAc,CAAC,IAAK,IAAK,KACzBC,KAAM,CAAC,EAAG,IAAK,KACfC,WAAY,CAAC,IAAK,IAAK,KACvBC,MAAO,CAAC,IAAK,IAAK,KAClBC,MAAO,CAAC,IAAK,IAAK,KAClBC,OAAQ,CAAC,IAAK,IAAK,KACnBC,MAAO,CAAC,EAAG,EAAG,GACdC,eAAgB,CAAC,IAAK,IAAK,KAC3Br0E,KAAM,CAAC,EAAG,EAAG,KACbs0E,WAAY,CAAC,IAAK,GAAI,KACtBC,MAAO,CAAC,IAAK,GAAI,IACjBC,UAAW,CAAC,IAAK,IAAK,KACtBC,UAAW,CAAC,GAAI,IAAK,KACrBC,WAAY,CAAC,IAAK,IAAK,GACvBC,UAAW,CAAC,IAAK,IAAK,IACtBC,MAAO,CAAC,IAAK,IAAK,IAClBC,eAAgB,CAAC,IAAK,IAAK,KAC3BC,SAAU,CAAC,IAAK,IAAK,KACrBC,QAAS,CAAC,IAAK,GAAI,IACnBC,KAAM,CAAC,EAAG,IAAK,KACfC,SAAU,CAAC,EAAG,EAAG,KACjBC,SAAU,CAAC,EAAG,IAAK,KACnBC,cAAe,CAAC,IAAK,IAAK,IAC1BC,SAAU,CAAC,IAAK,IAAK,KACrBC,SAAU,CAAC,IAAK,IAAK,KACrBC,UAAW,CAAC,EAAG,IAAK,GACpBC,UAAW,CAAC,IAAK,IAAK,KACtBC,YAAa,CAAC,IAAK,EAAG,KACtBC,eAAgB,CAAC,GAAI,IAAK,IAC1BC,WAAY,CAAC,IAAK,IAAK,GACvBC,WAAY,CAAC,IAAK,GAAI,KACtBC,QAAS,CAAC,IAAK,EAAG,GAClBC,WAAY,CAAC,IAAK,IAAK,KACvBC,aAAc,CAAC,IAAK,IAAK,KACzBC,cAAe,CAAC,GAAI,GAAI,KACxBC,cAAe,CAAC,GAAI,GAAI,IACxBC,cAAe,CAAC,GAAI,GAAI,IACxBC,cAAe,CAAC,EAAG,IAAK,KACxBC,WAAY,CAAC,IAAK,EAAG,KACrBC,SAAU,CAAC,IAAK,GAAI,KACpBC,YAAa,CAAC,EAAG,IAAK,KACtBC,QAAS,CAAC,IAAK,IAAK,KACpBC,QAAS,CAAC,IAAK,IAAK,KACpBC,WAAY,CAAC,GAAI,IAAK,KACtBC,UAAW,CAAC,IAAK,GAAI,IACrBC,YAAa,CAAC,IAAK,IAAK,KACxBC,YAAa,CAAC,GAAI,IAAK,IACvBC,QAAS,CAAC,IAAK,EAAG,KAClBC,UAAW,CAAC,IAAK,IAAK,KACtBC,WAAY,CAAC,IAAK,IAAK,KACvBC,KAAM,CAAC,IAAK,IAAK,GACjBC,UAAW,CAAC,IAAK,IAAK,IACtBC,KAAM,CAAC,IAAK,IAAK,KACjBC,KAAM,CAAC,IAAK,IAAK,KACjBj3E,MAAO,CAAC,EAAG,IAAK,GAChBk3E,YAAa,CAAC,IAAK,IAAK,IACxBC,SAAU,CAAC,IAAK,IAAK,KACrBC,QAAS,CAAC,IAAK,IAAK,KACpBC,UAAW,CAAC,IAAK,GAAI,IACrBC,OAAQ,CAAC,GAAI,EAAG,KAChBC,MAAO,CAAC,IAAK,IAAK,KAClBC,MAAO,CAAC,IAAK,IAAK,KAClBC,SAAU,CAAC,IAAK,IAAK,KACrBC,cAAe,CAAC,IAAK,IAAK,KAC1BC,UAAW,CAAC,IAAK,IAAK,GACtBC,aAAc,CAAC,IAAK,IAAK,KACzBC,UAAW,CAAC,IAAK,IAAK,KACtBC,WAAY,CAAC,IAAK,IAAK,KACvBC,UAAW,CAAC,IAAK,IAAK,KACtBC,qBAAsB,CAAC,IAAK,IAAK,KACjCC,UAAW,CAAC,IAAK,IAAK,KACtBC,UAAW,CAAC,IAAK,IAAK,KACtBC,WAAY,CAAC,IAAK,IAAK,KACvBC,UAAW,CAAC,IAAK,IAAK,KACtBC,YAAa,CAAC,IAAK,IAAK,KACxBC,cAAe,CAAC,GAAI,IAAK,KACzBC,aAAc,CAAC,IAAK,IAAK,KACzBC,eAAgB,CAAC,IAAK,IAAK,KAC3BC,eAAgB,CAAC,IAAK,IAAK,KAC3BC,eAAgB,CAAC,IAAK,IAAK,KAC3BC,YAAa,CAAC,IAAK,IAAK,KACxBC,KAAM,CAAC,EAAG,IAAK,GACfC,UAAW,CAAC,GAAI,IAAK,IACrBC,MAAO,CAAC,IAAK,IAAK,KAClBC,QAAS,CAAC,IAAK,EAAG,KAClBC,OAAQ,CAAC,IAAK,EAAG,GACjBC,iBAAkB,CAAC,IAAK,IAAK,KAC7BC,WAAY,CAAC,EAAG,EAAG,KACnBC,aAAc,CAAC,IAAK,GAAI,KACxBC,aAAc,CAAC,IAAK,IAAK,KACzBC,eAAgB,CAAC,GAAI,IAAK,KAC1BC,gBAAiB,CAAC,IAAK,IAAK,KAC5BC,kBAAmB,CAAC,EAAG,IAAK,KAC5BC,gBAAiB,CAAC,GAAI,IAAK,KAC3BC,gBAAiB,CAAC,IAAK,GAAI,KAC3BC,aAAc,CAAC,GAAI,GAAI,KACvBC,UAAW,CAAC,IAAK,IAAK,KACtBC,UAAW,CAAC,IAAK,IAAK,KACtBC,SAAU,CAAC,IAAK,IAAK,KACrBC,YAAa,CAAC,IAAK,IAAK,KACxBC,KAAM,CAAC,EAAG,EAAG,KACbC,QAAS,CAAC,IAAK,IAAK,KACpBC,MAAO,CAAC,IAAK,IAAK,GAClBC,UAAW,CAAC,IAAK,IAAK,IACtBC,OAAQ,CAAC,IAAK,IAAK,GACnBC,UAAW,CAAC,IAAK,GAAI,GACrBC,OAAQ,CAAC,IAAK,IAAK,KACnBC,cAAe,CAAC,IAAK,IAAK,KAC1BC,UAAW,CAAC,IAAK,IAAK,KACtBC,cAAe,CAAC,IAAK,IAAK,KAC1BC,cAAe,CAAC,IAAK,IAAK,KAC1BC,WAAY,CAAC,IAAK,IAAK,KACvBC,UAAW,CAAC,IAAK,IAAK,KACtBC,KAAM,CAAC,IAAK,IAAK,IACjBC,KAAM,CAAC,IAAK,IAAK,KACjBC,KAAM,CAAC,IAAK,IAAK,KACjBC,WAAY,CAAC,IAAK,IAAK,KACvBC,OAAQ,CAAC,IAAK,EAAG,KACjBC,cAAe,CAAC,IAAK,GAAI,KACzBh7E,IAAK,CAAC,IAAK,EAAG,GACdi7E,UAAW,CAAC,IAAK,IAAK,KACtBC,UAAW,CAAC,GAAI,IAAK,KACrBC,YAAa,CAAC,IAAK,GAAI,IACvBC,OAAQ,CAAC,IAAK,IAAK,KACnBC,WAAY,CAAC,IAAK,IAAK,IACvBC,SAAU,CAAC,GAAI,IAAK,IACpBC,SAAU,CAAC,IAAK,IAAK,KACrBC,OAAQ,CAAC,IAAK,GAAI,IAClBC,OAAQ,CAAC,IAAK,IAAK,KACnBC,QAAS,CAAC,IAAK,IAAK,KACpBC,UAAW,CAAC,IAAK,GAAI,KACrBC,UAAW,CAAC,IAAK,IAAK,KACtBC,UAAW,CAAC,IAAK,IAAK,KACtBC,KAAM,CAAC,IAAK,IAAK,KACjBC,YAAa,CAAC,EAAG,IAAK,KACtBC,UAAW,CAAC,GAAI,IAAK,KACrBj6L,IAAK,CAAC,IAAK,IAAK,KAChBk6L,KAAM,CAAC,EAAG,IAAK,KACfC,QAAS,CAAC,IAAK,IAAK,KACpBC,OAAQ,CAAC,IAAK,GAAI,IAClBC,UAAW,CAAC,GAAI,IAAK,KACrBC,OAAQ,CAAC,IAAK,IAAK,KACnBC,MAAO,CAAC,IAAK,IAAK,KAClBC,MAAO,CAAC,IAAK,IAAK,KAClBC,WAAY,CAAC,IAAK,IAAK,KACvBC,OAAQ,CAAC,IAAK,IAAK,IAEjBC,EAAgB,CAClBxI,MAAO,CAACR,EAAYQ,MAAO,GAC3BqI,MAAO,CAAC7I,EAAY6I,MAAO,GAC3BI,YAAa,CAACjJ,EAAYQ,MAAO,IAE/B0I,EAAW,CACb99S,KAAM,GACNw+J,IAAK,GACLx5D,GAAI,GACJ6R,GAAI,GACJknM,KAAM,GACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,OAAQ,KACRC,KAAM,KACNC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,KAAM,KACNC,KAAM,IACNC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,IAAK,IACLC,OAAQ,IACRC,KAAM,IACNC,IAAK,IACL/rT,KAAM,IACNgsT,KAAM,IACNC,MAAO,IACP/3I,IAAK,IACLg4I,IAAK,IACLC,IAAK,IACLC,KAAM,IACNrpJ,IAAK,IACLspJ,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,MAAO,IACP1xJ,MAAO,IACP2xJ,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNvmR,IAAK,IACLwmR,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACN99M,MAAO,IACP+9M,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNrzU,OAAQ,IACRszU,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,KAAM,IACNC,IAAK,IACLC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,QAAS,IACTl2J,GAAI,IACJm2J,IAAK,IACLC,MAAO,IACPC,IAAK,IACLC,QAAS,IACTC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPxiN,MAAO,IACPyiN,KAAM,IACNltM,MAAO,IACPjuE,MAAO,IACP6nE,QAAS,IACT48D,KAAM,IACN22I,IAAK,IACLlyM,MAAO,IACPmyM,KAAM,IACN32D,MAAO,IACP42D,OAAQ,IACRC,GAAI,IACJC,GAAI,IACJviL,GAAI,IACJwiL,QAAS,IACThhL,GAAI,IACJihL,IAAK,IACLC,OAAQ,IACRC,MAAO,IACPhjN,IAAK,IACLijN,QAAS,IACTlgJ,IAAK,IACLmgJ,IAAK,IACL9zM,IAAK,IACL+zM,MAAO,IACPC,SAAU,IACVC,MAAO,IACP3hJ,IAAK,IACL4hJ,KAAM,KACNC,OAAQ,KACRC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,OAAQ,KACR3lK,MAAO,KACP4lK,KAAM,KACNC,MAAO,KACPC,QAAS,KACTC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,MAAO,KACPC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,KACR3vM,KAAM,KACN4vM,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,KAAM,KACNC,MAAO,KACPC,GAAI,KACJh9U,KAAM,KACN6mG,IAAK,KACL/9F,MAAO,KACPm0U,OAAQ,KACRC,MAAO,KACPzrS,KAAM,KACN0rS,MAAO,KACPC,IAAK,KACL99I,IAAK,KACLhB,GAAI,KACJn7G,IAAK,KACLklG,IAAK,KACLgmE,IAAK,KACLgvF,OAAQ,KACRC,IAAK,KACLC,KAAM,KACNC,MAAO,KACPC,GAAI,KACJC,MAAO,KACPC,GAAI,KACJC,GAAI,KACJ59M,IAAK,KACL69M,IAAK,KACLC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,MAAO,KACPC,OAAQ,KACRC,KAAM,KACNC,KAAM,KACNC,MAAO,KACPC,MAAO,KACPC,OAAQ,KACRC,OAAQ,KACRC,KAAM,KACNC,KAAM,KACNC,IAAK,KACLC,OAAQ,KACRC,MAAO,KACPC,OAAQ,KACRC,MAAO,MAELC,EAAgB,CAClB9tU,EAAG,EACHrS,EAAG,EACHqI,EAAG,EACHvB,EAAG,EACHmM,EAAG,EACHyV,EAAG,EACHtL,EAAG,EACH5M,EAAG,EACH0C,EAAG,EACHF,EAAG,EACHZ,EAAG,EACH3P,EAAG,EACH0Q,EAAG,EACH7D,EAAG,EACHwD,EAAG,EACH5R,EAAG,EACHiU,EAAG,EACHzE,EAAG,EACHmN,EAAG,EACH6W,EAAG,GAED0rT,EAAY,CACdC,IAAI,EACJC,IAAI,EACJ5uF,IAAI,EACJyV,IAAI,GAEFo5E,EAAa,CACf,MAAS,CACP/3C,SAAS,EACTzsF,aAASh6M,GAEX,WAAc,CACZymS,SAAS,EACTzsF,QAAS,UACTv2M,OAAQ,CACN,OAAU,SACV,SAAY,SACZ,QAAW,YAGf,KAAQ,CACNgjS,SAAS,EACTzsF,QAASy2H,EAAcxI,OAEzB,OAAU,CACRxhC,SAAS,EACTzsF,QAAS,QAEX,aAAc,CACZysF,SAAS,EACTzsF,QAASy2H,EAAcxI,OAEzB,eAAgB,CACdxhC,SAAS,EACTzsF,QAAS,GAEX,iBAAkB,CAChBysF,SAAS,EACTzsF,QAAS,GAEX,eAAgB,CACdysF,SAAS,EACTzsF,QAAS,GAEX,YAAa,CACXysF,SAAS,EACTzsF,QAAS,UACTv2M,OAAQ,CACN,QAAW,UACX,QAAW,YAGf,YAAa,CACXgjS,SAAS,EACTzsF,QAAS,UACTv2M,OAAQ,CACN,QAAW,UACX,QAAW,YAGf,eAAgB,CACdgjS,SAAS,EACTzsF,QAAS,GAEX,mBAAoB,CAClBysF,SAAS,EACTzsF,QAAS,IAEX,oBAAqB,CACnBysF,SAAS,EACTzsF,QAAS,GAEX,oBAAqB,CACnBysF,SAAS,EACTzsF,QAAS,GAEX,kBAAmB,CACjBysF,SAAS,EACTzsF,QAAS,QACTv2M,OAAQ,CACN,MAAS,QACT,MAAS,QACT,MAAS,UAGb,iBAAkB,CAChBgjS,SAAS,EACTzsF,QAAS,OACTv2M,OAAQ,CACN,KAAQ,OACR,MAAS,QACT,OAAU,WAGd,YAAa,CACXgjS,SAAS,EACTzsF,QAAS,GACTv2M,OAAQ,CACN,WAAY,EACZ,UAAW,GACX,MAAS,GACT,OAAU,GACV,MAAS,GACT,UAAW,GACX,WAAY,KAGhB,cAAe,CACbgjS,SAAS,EACTzsF,QAAS,cAEX,cAAe,CACbysF,SAAS,EACTzsF,QAAS,SACTv2M,OAAQ,CACN,IAAO,OACP,IAAO,OACP,IAAO,OACP,IAAO,OACP,KAAQ,OACR,OAAU,OACV,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,OAAU,SACV,QAAW,WAGf,aAAc,CACZgjS,SAAS,EACTzsF,QAAS,SACTv2M,OAAQ,CACN,OAAU,SACV,QAAW,SACX,OAAU,WAGd,cAAe,CACbgjS,SAAS,EACTzsF,QAAS,QACTv2M,OAAQ,CACN,MAAS,QACT,OAAU,SACV,IAAO,QAGX,UAAa,CACXgjS,SAAS,EACTzsF,QAAS,MACTv2M,OAAQ,CACN,IAAO,MACP,IAAO,QAGX,oBAAqB,CACnBgjS,SAAS,EACTzsF,QAAS,WACTv2M,OAAQ,CACN,KAAQ,WACR,SAAY,WACZ,cAAe,cACf,mBAAoB,cACpB,OAAU,SACV,QAAW,UACX,aAAc,aACd,kBAAmB,aACnB,YAAe,cACf,WAAc,aACd,QAAW,UACX,aAAgB,iBAGpB,qBAAsB,CACpBgjS,SAAS,EACTzsF,aAASh6M,EACTyD,OAAQ,CACN,KAAQ,WACR,SAAY,WACZ,cAAe,cACf,mBAAoB,cACpB,OAAU,SACV,QAAW,UACX,aAAc,aACd,kBAAmB,aACnB,YAAe,cACf,WAAc,aACd,QAAW,UACX,aAAgB,iBAGpB,iBAAkB,CAChBgjS,SAAS,EACTzsF,QAAS,WACTv2M,OAAQ,CACN,SAAY,WACZ,IAAO,MACP,MAAS,UAGb,eAAgB,CACdgjS,SAAS,EACTzsF,QAAS,EACTv2M,OAAQ,CACNg7U,OAAQ,IAGZ,iBAAkB,CAChBh4C,SAAS,EACTzsF,QAAS,EACTv2M,OAAQ,CACNg7U,OAAQ,IAGZ,kBAAmB,CACjBh4C,SAAS,EACTzsF,QAAS,OACTv2M,OAAQ,CACN,KAAQ,OACR,UAAa,YACb,SAAY,WACZ,eAAgB,iBAGpB,YAAa,CACXgjS,SAAS,EACTzsF,QAAS,UACT7iC,IAAK,cACL1zK,OAAQ,CACN,SAAY,WACZ,QAAW,UACX,IAAO,WACP,WAAY,WACZ,WAAY,WACZ,OAAU,YAGd,eAAgB,CACdgjS,SAAS,EACTzsF,QAAS,QAEX,aAAc,CACZysF,SAAS,EACTzsF,QAAS,QAEX,aAAc,CACZysF,SAAS,EACTzsF,QAAS,QAEX,QAAW,CACTysF,SAAS,EACTzsF,QAAS,GAEX,UAAa,CACXysF,SAAS,EACTzsF,QAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAE3B,QAAW,CACTysF,SAAS,EACTzsF,QAAS,SACTv2M,OAAQ,CACN,KAAQ,OACR,OAAU,SACV,MAAS,WAGb,YAAa,CACXgjS,SAAS,EACTzsF,QAAS,QAEX,KAAQ,CACNysF,SAAS,EACTzsF,QAAS,QAEX,SAAY,CACVysF,SAAS,EACTzsF,QAAS,SACTv2M,OAAQ,CACN,OAAU,SACV,OAAU,SACV,QAAW,aAIjB,SAASi7U,EAAcv3Q,GACrB,IAAIiwG,EAAQ,IAAI,aAgChB,OA/BAA,EAAMv6K,KAAO,KAAO2qU,EAAImX,aAAenX,EAAImX,aAAe,GAAK,GAC/DvnK,EAAMwnK,UAAYpX,EAAIjmR,MACtB61H,EAAMynK,KAAOrX,EAAIjmR,IAAI,CACnBtZ,KAAM,UACN62S,QAAS,OACTC,SAAU,EACVC,KAAM73Q,EACN83Q,MAAO,CACL7tU,EAAG,eACHsyE,GAAI,YACJiG,GAAG,EACH/6D,GAAG,GAELswT,UAAW9nK,EAAMwnK,YAEnBxnK,EAAMynK,KAAK55T,MAAM,IACjBmyJ,EAAM+nK,YAAc3X,EAAI4X,KACxBhoK,EAAMioK,UAAY7X,EAAIz/B,KACtBu3C,GAAWz2U,KAAKuuK,GAChBowJ,EAAI4X,KAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAC3B5X,EAAIz/B,KAAO,CACT70P,MAAOs0R,EAAIz/B,KAAK70P,MAChBwpC,OAAQ8qP,EAAIz/B,KAAKrrN,OACjBz3D,MAAO,SAAeva,GACpB0sK,EAAMynK,KAAK55T,MAAMva,IAEnBmuQ,MAAO,GACP0mE,SAAU,GACVC,YAAa,GACbC,SAAU,IAELroK,EAET,SAASsoK,EAAYtoK,GACnB,GAAIA,IAAUkoK,GAAWz6U,MACvB,KAAM,qBAEJwpB,OAAOF,KAAKq5S,EAAIz/B,KAAKlvB,OAAO94Q,SAC9Bq3K,EAAMwnK,UAAUl0U,KAAKi1U,KAAOnY,EAAIz/B,KAAKlvB,OAEnCxqP,OAAOF,KAAKq5S,EAAIz/B,KAAKw3C,UAAUx/U,SACjCq3K,EAAMwnK,UAAUl0U,KAAKk1U,QAAUpY,EAAIz/B,KAAKw3C,UAEtClxT,OAAOF,KAAKq5S,EAAIz/B,KAAKy3C,aAAaz/U,SACpCq3K,EAAMwnK,UAAUl0U,KAAKm1U,UAAYrY,EAAIz/B,KAAKy3C,aAExCnxT,OAAOF,KAAKq5S,EAAIz/B,KAAK03C,UAAU1/U,SACjCq3K,EAAMwnK,UAAUl0U,KAAKk/E,QAAU49O,EAAIz/B,KAAK03C,UAE1CroK,EAAMwnK,UAAUrmT,MAChB6+I,EAAMynK,KAAKtmT,MACXivS,EAAI4X,KAAOhoK,EAAM+nK,YACjB3X,EAAIz/B,KAAO3wH,EAAMioK,UAEnB,SAASS,EAAe1oK,GACtBowJ,EAAIz/B,KAAKw3C,SAASnoK,EAAMv6K,MAAQu6K,EAAMynK,KACtCrX,EAAIuY,WAAW,IAAM3oK,EAAMv6K,KAAO,OAEpC,SAASmjV,EAAa5oK,EAAOgzG,GAC3B,IAAIvtR,EAAO,KAAO2qU,EAAIyY,YAAczY,EAAIyY,YAAc,GAAK,GACvDC,EAAS1Y,EAAIjmR,IAAI,CACnBtZ,KAAM,YACN8f,GAAI,EACJo4R,GAAI,EACJjxM,GAAI,SACJkxM,MAAO,CACLhvU,EAAG,aACHisD,EAAG+5G,EAAMynK,KACTwB,GAAIj2D,EAAO,CAAC,EAAG,EAAG,GAAK,CAAC,EAAG,EAAG,MAGlC81D,EAAO3nT,MACPivS,EAAIz/B,KAAKy3C,YAAY3iV,GAAQqjV,EAC7B1Y,EAAIuY,WAAW,IAAMljV,EAAO,OAE9B,SAASyjV,EAAiBlpK,EAAOssJ,EAAIC,EAAI58T,GACvC,IAAI+lR,EAAU,IAAI,aAKlB,OAJAA,EAAQ11G,MAAQA,EAChB01G,EAAQ42C,GAAKA,EACb52C,EAAQ62C,GAAKA,EACb72C,EAAQ/lR,OAASA,GAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACpC+lR,EAET,SAASyzD,EAAczzD,EAAS4C,GAC9B,IAAI7yR,EAAO,KAAO2qU,EAAIgZ,eAAiBhZ,EAAIgZ,eAAiB,GAAK,GAC7Dj/R,EAAMimR,EAAIjmR,IAAI,CAChBtZ,KAAM,UACNw4S,YAAa,EACbC,UAAW,EACXC,WAAY,EACZ3B,KAAM,CAAC,EAAG,EAAGlyD,EAAQ42C,GAAI52C,EAAQ62C,IACjCid,MAAO9zD,EAAQ42C,GACfmd,MAAO/zD,EAAQ62C,GACf/7T,OAAQk5U,EAAetZ,EAAI4X,KAAMtyD,EAAQ/lR,QACzCm4U,UAAW,CACT6B,QAAS,CAAC,MAAO,OAAQ,SAAU,SAAU,UAC7CnB,QAAS,WACP,IAAI7oL,EAAO,GAEX,OADAA,EAAK+1H,EAAQ11G,MAAMv6K,MAAQiwR,EAAQ11G,MAAMynK,KAClC9nL,EAHA,MAObx1G,EAAIt8B,MAAM,IAAM6nQ,EAAQ11G,MAAMv6K,KAAO,OACrC0kD,EAAIhpB,MACJivS,EAAIz/B,KAAK03C,SAAS5iV,GAAQ0kD,EACtBmuO,GACF83C,EAAIuY,WAAW,eACfvY,EAAIuY,WAAW,IAAMljV,EAAO,UAE5B2qU,EAAIuY,WAAW,eACfvY,EAAIuY,WAAW,IAAMljV,EAAO,SAGhC,SAASmkV,EAAaj/S,EAAMvhB,GACrBgnT,EAAIz/B,KAAKlvB,MAAM92O,EAAKkV,MACvBuwR,EAAIz/B,KAAKlvB,MAAM92O,EAAKkV,IAAMlV,EAAKwf,OAEjCimR,EAAIuY,WAAW,MAAMA,WAAW,IAAMh+S,EAAKkV,GAAK,IAAMz2B,EAAO,OAE/D,SAASygU,EAAiBhjV,EAAGG,EAAG2G,EAAGK,EAAG0H,EAAGyM,GACvCiuT,EAAIuY,WAAWxmC,EAAet7S,GAAK,IAAMs7S,EAAen7S,GAAK,IAAMm7S,GAAgBx0S,GAAK,IAAMw0S,GAAgBn0S,GAAK,IAAMm0S,EAAezsS,GAAK,IAAMysS,EAAehgS,GAAK,OAEzK,SAAS2nU,EAAe1yU,EAAMkhR,GAC5B,IAAIv6M,EAAO3mE,GAAQkhR,EAAS,EAAIA,EAAS,EAAIlhR,EAAO,EAAI,EACxDg5T,EAAIuY,WAAW5qQ,EAAO,OAExB,SAASgsQ,EAAcC,GACrB5Z,EAAIuY,WAAW,IAAMqB,EAAQ,QAE/B,SAASC,IACP7Z,EAAIuY,WAAW,MAEjB,SAASuB,EAAa3/T,GACc,eAA9BA,EAAM,GAAGjf,YAAY7F,MACvB2qU,EAAI+Z,YAAY5/T,EAAM,IACtB4+T,EAAc5+T,EAAM,IAAI,IAExB6lT,EAAI/wH,UAAU90L,EAAM,GAAIA,EAAM,IAGlC,SAAS6/T,EAAe7/T,GACY,eAA9BA,EAAM,GAAGjf,YAAY7F,MACvB2qU,EAAIia,cAAc9/T,EAAM,IACxB4+T,EAAc5+T,EAAM,IAAI,IAExB6lT,EAAIka,YAAY//T,EAAM,GAAIA,EAAM,IAGpC,SAASggU,EAActkV,EAAGQ,EAAGiV,EAAG6T,EAAGsG,GACjC,IAAIs0B,EAAMimR,EAAIjmR,IAAI,CAChBtZ,KAAM,QACN62S,QAAS,OACT8C,KAAM,CAACvkV,EAAGQ,EAAGiV,EAAG6T,GAChBk7T,OAAQ,CAAC,EAAG,EAAG,GACfvxU,EAAG,CACDc,EAAG,MACH0wU,IAAK,IAAI/2U,OAAOkiB,MAGpBs0B,EAAIhpB,MACJ6M,GAAMv8B,KAAK04C,GAEb,SAASwgS,EAASx2S,GAChB,IAAIy2S,EAAU,SAAiBxvT,EAAK9e,EAAM1S,EAAO0kB,GAC/CzjB,KAAKyjB,MAAQA,EACbzjB,KAAK22Q,SAAWpmP,EAChBvwB,KAAKs9R,UAAYv+R,EACjBiB,KAAKoyQ,SAAW3gQ,EAChBzR,KAAKskK,WAAal4I,OAAO26H,OAAO,MAChC/mJ,KAAK61K,WAAa,GAClB71K,KAAKwxK,WAAa,KAClBxxK,KAAKg1C,GAAK,GACVh1C,KAAK43Q,YAAc,GACnB53Q,KAAKgyK,UAAY,IAEnB+tK,EAAQx/U,UAAU40F,aAAe,SAAUlJ,GACzC,OAAgC,MAAzBjsF,KAAKskK,WAAWr4E,GAAgBjsF,KAAKskK,WAAWr4E,GAAQ,MAEjE8zP,EAAQx/U,UAAUy/U,eAAiB,SAAUhrS,GAC3C,IAAIllB,EAAS,KAcb,OAbA,SAAUmwT,EAAUx1U,GAClB,IAAIqlB,GAGkB,IAAlBrlB,EAAK2nQ,SAAgB,CACnB3nQ,EAAKuqC,KAAOA,IACdllB,EAASrlB,GAEX,IAAK,IAAI9D,EAAI,EAAGA,EAAI8D,EAAKorK,WAAW/3K,OAAQ6I,IAC1Cs5U,EAAUx1U,EAAKorK,WAAWlvK,KAThC,CAYG3G,MACI8vB,GAETiwT,EAAQx/U,UAAUw0F,qBAAuB,SAAUxkE,GACjD,IAAIT,EAAS,GAWb,OAVA,SAAUmwT,EAAUx1U,GAClB,GAAsB,IAAlBA,EAAK2nQ,SAAgB,CACnB3nQ,EAAKksQ,WAAapmP,GACpBT,EAAOlpB,KAAK6D,GAEd,IAAK,IAAI9D,EAAI,EAAGA,EAAI8D,EAAKorK,WAAW/3K,OAAQ6I,IAC1Cs5U,EAAUx1U,EAAKorK,WAAWlvK,KANhC,CASG3G,MACI8vB,GAET,IACEA,EACAi3I,EAFEy/F,EAAS,IAAI05E,GAAa52S,EAAIzY,QAGhCpN,GAAQ,EACNw8T,EAAY,SAASA,IACvB,IAAInrL,EAAMiS,EACV,GAAIjS,EAAO0xG,EAAO3zP,MAAM,mBAAmB,GAAO,CAEhD,IAAIpI,EAAO,IAAIs1U,EAAQjrL,EAAK,GAAI,EAAG,KAAMrxI,GACzC,MAAOqxI,EAAO0xG,EAAO3zP,MAAM,wDAAwD,GAAO,CAExF,IAAIo5E,EAAO6oE,EAAK,GACd/1J,EAAQohV,EAAerrL,EAAK,IAAMA,EAAK,IAAM,IAC1CrqJ,EAAK65J,WAAWr4E,IASnBm0P,GAAgB,kCAAoCn0P,EAAO,KAC3DxoE,GAAQ,IATRhZ,EAAK65J,WAAWr4E,GAAQltF,EACX,OAATktF,IACFxhF,EAAKuqC,GAAKj2C,GAEC,UAATktF,IACFxhF,EAAKunK,UAAYjzK,EAAMwM,MAAM,OAOnC,GAAIi7P,EAAO3zP,MAAM,MAAO,CAEtB,MAAOk0J,EAAQk5K,IACbx1U,EAAKorK,WAAWjvK,KAAKmgK,GACrBA,EAAMyK,WAAa/mK,EACnBA,EAAKmtQ,aAAkC,IAAnB7wG,EAAMqrG,UAAqC,IAAnBrrG,EAAMqrG,SAAiBrrG,EAAMu2H,UAAYv2H,EAAM6wG,YAE7F,OAAI9iH,EAAO0xG,EAAO3zP,MAAM,sBAAsB,KAExCiiJ,EAAK,KAAOrqJ,EAAKksQ,WAGnBypE,GAAgB,wCAA0C31U,EAAKksQ,SAAW,gBAAkB7hH,EAAK,GAAK,KACtGrxI,GAAQ,GAHDhZ,IAOT21U,GAAgB,wCAA0C31U,EAAKksQ,SAAW,mBAC1ElzP,GAAQ,EACDhZ,GAEJ,GAAI+7P,EAAO3zP,MAAM,QAEtB,OAAOpI,EAEP21U,GAAgB,sCAAwC31U,EAAKksQ,SAAW,KACxElzP,GAAQ,MAEL,IAAIqxI,EAAO0xG,EAAO3zP,MAAM,oBAE7B,OAAO,IAAIktU,EAAQ,KAAM,EAAGjrL,EAAMrxI,GAC7B,GAAIqxI,EAAO0xG,EAAO3zP,MAAM,mBAE7B,OAAO,IAAIktU,EAAQ,KAAM,EAAGjrL,EAAMrxI,GAC7B,GAAIqxI,EAAO0xG,EAAO3zP,MAAM,4BAE7B,OAAO,IAAIktU,EAAQ,KAAM,GAAIjrL,EAAMrxI,GAC9B,GAAIqxI,EAAO0xG,EAAO3zP,MAAM,+BAA+B,GAE5D,OAAO,IAAIktU,EAAQ,iBAAkB,EAAGjrL,EAAK,GAAIrxI,GAC5C,GAAIqxI,EAAO0xG,EAAO3zP,MAAM,YAAY,GAEzC,OAAO,IAAIktU,EAAQ,QAAS,EAAGI,EAAerrL,EAAK,IAAKrxI,KAG5D,MAAOsjJ,EAAQk5K,IACU,IAAnBl5K,EAAMqrG,UAAmBtiP,GAEC,IAAnBi3I,EAAMqrG,UAAqC,IAAnBrrG,EAAMqrG,UAA6C,KAA3BrrG,EAAMu2H,UAAUzsQ,SACzEuvT,GAAgB,wDAFhBtwT,EAASi3I,EAQb,OAHIy/F,EAAO65E,YACTD,GAAgB,2BAEXtwT,EAGT,SAASqwT,EAAe/rU,GACtB,OAAOA,EAAIhK,QAAQ,uDAAuD,SAAUqR,EAAI6kU,EAAI9oU,EAAIC,GAC9F,OAAI6oU,EACKx3U,OAAOC,aAAa2K,SAAS4sU,EAAI,KAC/B9oU,EACF1O,OAAOC,aAAa2K,SAAS8D,EAAI,KAC/BC,GAAMi3T,EAASj3T,GACjB3O,OAAOC,aAAa2lU,EAASj3T,IAE7BgE,KAIb,SAAS62O,EAAW50O,GAClB,IAAIo3I,EAAMhlI,EA+BV,OA9BApS,GAAOA,GAAO,IAAImT,QACdikI,EAAO0wK,EAAY9nT,IACrBoS,EAAS,CAACglI,EAAK1rJ,QAAS,IACf0rJ,EAAOp3I,EAAI7K,MAAM,6EAC1BiiJ,EAAK,GAAKphJ,SAASohJ,EAAK,IACxBA,EAAK,GAAKphJ,SAASohJ,EAAK,IACxBA,EAAK,GAAKphJ,SAASohJ,EAAK,IACxBA,EAAK,GAAK71J,WAAW61J,EAAK,IACtBA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,IAAM,IAChEhlI,EAAS,CAACglI,EAAK1rJ,MAAM,EAAG,GAAI0rJ,EAAK,OAE1BA,EAAOp3I,EAAI7K,MAAM,4DAC1BiiJ,EAAK,GAAKphJ,SAASohJ,EAAK,IACxBA,EAAK,GAAKphJ,SAASohJ,EAAK,IACxBA,EAAK,GAAKphJ,SAASohJ,EAAK,IACpBA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAAK,MAC9ChlI,EAAS,CAACglI,EAAK1rJ,MAAM,EAAG,GAAI,MAErB0rJ,EAAOp3I,EAAI7K,MAAM,kEAC1BiiJ,EAAK,GAAK,KAAO71J,WAAW61J,EAAK,IACjCA,EAAK,GAAK,KAAO71J,WAAW61J,EAAK,IACjCA,EAAK,GAAK,KAAO71J,WAAW61J,EAAK,IAC7BA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAAK,MAC9ChlI,EAAS,CAACglI,EAAK1rJ,MAAM,EAAG,GAAI,MAErB0rJ,EAAOp3I,EAAI7K,MAAM,gDAC1Bid,EAAS,CAAC,CAACpc,SAASohJ,EAAK,GAAI,IAAKphJ,SAASohJ,EAAK,GAAI,IAAKphJ,SAASohJ,EAAK,GAAI,KAAM,IACxEA,EAAOp3I,EAAI7K,MAAM,yCAC1Bid,EAAS,CAAC,CAAC,GAAOpc,SAASohJ,EAAK,GAAI,IAAK,GAAOphJ,SAASohJ,EAAK,GAAI,IAAK,GAAOphJ,SAASohJ,EAAK,GAAI,KAAM,IAEjGyrL,GAAgBA,GAAczwT,EAAQpS,GAAOoS,EAEtD,SAAS0wT,EAAe9gU,EAAOmkP,EAAS48E,GACtC,IAAIC,EAAWhhU,EAAM,GAAGtW,QACtBu3U,EAAajhU,EAAM,GAAKmkP,EAC1B,GAAI48E,EAAQ,CACV,IAAK,IAAI95U,EAAI,EAAGA,EAAI+Y,EAAM5hB,OAAQ6I,IAChC+5U,EAAS/5U,IAAMg6U,EAEjB,MAAO,CAACD,EAAU,GAElB,MAAO,CAACA,EAAUC,GAGtB,SAAS9B,IACP,SAAS38U,EAASlG,EAAGG,GACnB,MAAO,CAACH,EAAE,GAAKG,EAAE,GAAKH,EAAE,GAAKG,EAAE,GAAIH,EAAE,GAAKG,EAAE,GAAKH,EAAE,GAAKG,EAAE,GAAIH,EAAE,GAAKG,EAAE,GAAKH,EAAE,GAAKG,EAAE,GAAIH,EAAE,GAAKG,EAAE,GAAKH,EAAE,GAAKG,EAAE,GAAIH,EAAE,GAAKG,EAAE,GAAKH,EAAE,GAAKG,EAAE,GAAKH,EAAE,GAAIA,EAAE,GAAKG,EAAE,GAAKH,EAAE,GAAKG,EAAE,GAAKH,EAAE,IAGtL,IADA,IAAI8zB,EAASjyB,UAAU,GACd8I,EAAI,EAAGA,EAAI9I,UAAUC,OAAQ6I,IACpCmpB,EAAS5tB,EAAS4tB,EAAQjyB,UAAU8I,IAEtC,OAAOmpB,EAET,SAAS8wT,EAAe7mU,EAAG/K,GACzB,MAAO,CAACA,EAAE,GAAK+K,EAAE,GAAK/K,EAAE,GAAK+K,EAAE,GAAK/K,EAAE,GAAIA,EAAE,GAAK+K,EAAE,GAAK/K,EAAE,GAAK+K,EAAE,GAAK/K,EAAE,IAE1E,SAAS6xU,IAEP,IADA,IAAIC,EAAMvb,EAAI4X,KACLx2U,EAAI02U,GAAWv/U,OAAS,EAAG6I,GAAK,EAAGA,IAC1Cm6U,EAAMjC,EAAexB,GAAW12U,GAAGu2U,YAAa4D,GAElD,OAAOA,EAET,SAASC,IACP,OAAO,IAAIC,IAAW9xU,EAAE,EAAG,GAAGkK,EAAEmsT,EAAIz/B,KAAK70P,MAAO,GAAG73B,EAAEmsT,EAAIz/B,KAAK70P,MAAOs0R,EAAIz/B,KAAKrrN,QAAQrhE,EAAE,EAAGmsT,EAAIz/B,KAAKrrN,QAAQw3B,UAAUgvO,EAAcJ,MAAoBK,iBAE1J,SAASD,EAAcjyU,GACrB,IAAIiH,EAAKjH,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAChC,MAAO,CAACA,EAAE,GAAKiH,GAAKjH,EAAE,GAAKiH,GAAKjH,EAAE,GAAKiH,EAAIjH,EAAE,GAAKiH,GAAKjH,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAMiH,GAAKjH,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAMiH,GAExH,SAASkrU,EAAenyU,GACtB,IAAIsxU,EAAKhpC,EAAetoS,EAAE,IACxBwI,EAAK8/R,EAAetoS,EAAE,IACtByI,EAAK6/R,EAAetoS,EAAE,IACtB41K,EAAK0yH,EAAetoS,EAAE,IACtBoyU,EAAK9pC,EAAetoS,EAAE,IACtBqyU,EAAK/pC,EAAetoS,EAAE,IACxB,GAAIsyU,EAAWhB,EAAK17J,EAAKptK,EAAKC,EAAI,GAChC,MAAO,CAAC6oU,EAAI9oU,EAAIC,EAAImtK,EAAIw8J,EAAIC,GAGhC,SAASE,EAAcC,GACrB,IAAIxlV,EAAIwlV,EAAM,IAAM,EAClBrlV,EAAIqlV,EAAM,IAAM,EAChB1+U,EAAI0+U,EAAM,IAAM,EAClB,GAAIC,EAAQzlV,EAAG,IAAMylV,EAAQtlV,EAAG,GAC9B,MAAO,GACF,GAAIslV,EAAQzlV,EAAG,GACpB,MAAO,EAAE8G,EAAI3G,GAEb,IAAIgH,EAAIhH,EAAIA,EAAI,EAAIH,EAAI8G,EACxB,OAAIw+U,EAAWn+U,EAAG,IAAMA,EAAI,EACnB,GAAGhH,EAAIb,KAAKgD,KAAK6E,KAAO,EAAInH,KAAMG,EAAIb,KAAKgD,KAAK6E,KAAO,EAAInH,IACzDylV,EAAQt+U,EAAG,GACb,EAAEhH,GAAK,EAAIH,IAEX,GAIb,SAAS0lV,EAAcxkV,EAAGskV,GACxB,OAAQA,EAAM,IAAM,IAAMA,EAAM,IAAM,GAAKtkV,GAAKskV,EAAM,IAAM,GAAKtkV,EAAIA,GAAKskV,EAAM,IAAM,GAAKtkV,EAAIA,EAAIA,EAErG,SAASukV,EAAQtmV,EAAQmkD,GACvB,OAAOhkD,KAAKW,IAAId,EAASmkD,GAAO,MAElC,SAASgiS,EAAWnmV,EAAQmkD,GAC1B,OAAOhkD,KAAKW,IAAId,EAASmkD,IAAQ,MAEnC,SAASg4P,EAAe5yS,GACtB,OAAOA,GAAK,MAAQA,EAAI,KAAOpJ,KAAKwR,MAAU,IAAJpI,GAAW,IAAM,EAE7D,SAASi9U,EAAYj1U,GACnB,MAAoB,kBAANA,GAAwB,OAANA,GAAkC,kBAAbA,EAAE5O,OAEzD,SAAS8jV,EAAcl1U,GACrB,IAEEooJ,EAFE0xG,EAAS,IAAI05E,IAAcxzU,GAAK,IAAImkB,QACtCf,EAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAE3B,MAAOglI,EAAO0xG,EAAO3zP,MAAM,gCAAgC,GAAO,CAChE,IAAIs9D,EAAO2kF,EAAK,GACdmJ,EAAO,GACP4jL,EAAU,IAAI3B,GAAaprL,EAAK,GAAGjkI,QACnCixT,OAAQ,EACV,MAAOA,EAAQD,EAAQE,cACrB9jL,EAAKr3J,KAAKonB,OAAO8zT,IACjBD,EAAQG,iBAEV,GAAa,WAAT7xQ,GAAqC,IAAhB8tF,EAAKngK,OAC5BgyB,EAAS+uT,EAAe/uT,EAAQ,CAACmuI,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,UAC9E,GAAa,cAAT9tF,GAAwC,IAAhB8tF,EAAKngK,OACtCgyB,EAAS+uT,EAAe/uT,EAAQ,CAAC,EAAG,EAAG,EAAG,EAAGmuI,EAAK,GAAIA,EAAK,UACtD,GAAa,cAAT9tF,GAAwC,IAAhB8tF,EAAKngK,OACtCgyB,EAAS+uT,EAAe/uT,EAAQ,CAAC,EAAG,EAAG,EAAG,EAAGmuI,EAAK,GAAI,SACjD,GAAa,UAAT9tF,GAAoC,IAAhB8tF,EAAKngK,OAClCgyB,EAAS+uT,EAAe/uT,EAAQ,CAACmuI,EAAK,GAAI,EAAG,EAAGA,EAAK,GAAI,EAAG,SACvD,GAAa,UAAT9tF,GAAoC,IAAhB8tF,EAAKngK,OAClCgyB,EAAS+uT,EAAe/uT,EAAQ,CAACmuI,EAAK,GAAI,EAAG,EAAGA,EAAK,GAAI,EAAG,SACvD,GAAa,WAAT9tF,GAAqC,IAAhB8tF,EAAKngK,OAAc,CACjD,IAAI9B,EAAIiiK,EAAK,GAAK3iK,KAAKiqI,GAAK,IAC5Bz1G,EAAS+uT,EAAe/uT,EAAQ,CAAC,EAAG,EAAG,EAAG,EAAGmuI,EAAK,GAAIA,EAAK,IAAK,CAAC3iK,KAAKyK,IAAI/J,GAAIV,KAAK0K,IAAIhK,IAAKV,KAAK0K,IAAIhK,GAAIV,KAAKyK,IAAI/J,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAIiiK,EAAK,IAAKA,EAAK,UACrJ,GAAa,WAAT9tF,GAAqC,IAAhB8tF,EAAKngK,OAAc,CACjD,IAAIwF,EAAK26J,EAAK,GAAK3iK,KAAKiqI,GAAK,IAC7Bz1G,EAAS+uT,EAAe/uT,EAAQ,CAACx0B,KAAKyK,IAAIzC,GAAKhI,KAAK0K,IAAI1C,IAAMhI,KAAK0K,IAAI1C,GAAKhI,KAAKyK,IAAIzC,GAAK,EAAG,SACxF,GAAa,UAAT6sE,GAAoC,IAAhB8tF,EAAKngK,OAAc,CAChD,IAAImkV,EAAMhkL,EAAK,GAAK3iK,KAAKiqI,GAAK,IAC9Bz1G,EAAS+uT,EAAe/uT,EAAQ,CAAC,EAAG,EAAGx0B,KAAKu4I,IAAIouM,GAAM,EAAG,EAAG,QACvD,IAAa,UAAT9xQ,GAAoC,IAAhB8tF,EAAKngK,OAIlC,OAHA,IAAIokV,EAAMjkL,EAAK,GAAK3iK,KAAKiqI,GAAK,IAC9Bz1G,EAAS+uT,EAAe/uT,EAAQ,CAAC,EAAGx0B,KAAKu4I,IAAIquM,GAAM,EAAG,EAAG,EAAG,IAI9D17E,EAAOw7E,iBAET,IAAIx7E,EAAO65E,WAGX,OAAOvwT,EAET,SAASqyT,EAAiBC,EAAaC,EAAYC,EAAaC,EAAWC,EAAYC,GACrF,IAAI3tL,GAAQstL,GAAe,IAAIvxT,OAAOhe,MAAM,gEAAkE,GAC5G6vU,EAAY5tL,EAAK,IAAMA,EAAK,IAAM,OAClC6tL,EAAS7tL,EAAK,IAAM,MACpB8tL,EAAS9tL,EAAK,IAAM,MACpB+tL,EAASR,EAAaE,EACtBO,EAASR,EAAcE,EACvB/gB,EAAK,CACH,IAAO,EACP,IAAO,GACP,IAAO,GACPkhB,IAAWF,GAAa,GAC1B/gB,EAAK,CACH,IAAO,EACP,IAAO,GACP,IAAO,GACPkhB,IAAWH,GAAa,GAM5B,MALkB,UAAdC,EACFI,EAASD,EAASvnV,KAAK4Z,IAAI2tU,EAAQC,GACZ,SAAdJ,IACTI,EAASD,EAASvnV,KAAK2Z,IAAI4tU,EAAQC,IAE9B,CAACD,EAAQ,EAAG,EAAGC,EAAQrhB,GAAM4gB,EAAaE,EAAYM,GAASnhB,GAAM4gB,EAAcE,EAAaM,IAEzG,SAASC,EAAer2U,GACtB,IAAIojB,EAAS1D,OAAO26H,OAAO,MAC3Br6I,GAAKA,GAAK,IAAImkB,OAAOtlB,MAAM,KAC3B,IAAK,IAAI5E,EAAI,EAAGA,EAAI+F,EAAE5O,OAAQ6I,IAAK,CACjC,IAAI+lB,GAAOhgB,EAAE/F,GAAG4E,MAAM,KAAK,IAAM,IAAIslB,OACnC9xB,GAAS2N,EAAE/F,GAAG4E,MAAM,KAAK,IAAM,IAAIslB,OACjCnE,IACFoD,EAAOpD,GAAO3tB,GAclB,GAXI+wB,EAAO,YACJA,EAAO,kBACVA,EAAO,gBAAkBA,EAAO,WAE7BA,EAAO,gBACVA,EAAO,cAAgBA,EAAO,WAE3BA,EAAO,gBACVA,EAAO,cAAgBA,EAAO,YAG9BA,EAAO,QAAS,CAOlB,IANA,IAAIk0O,EAAa,KACf/vD,EAAW,KACXkwD,EAAY,SACZ1/C,EAAa,SACby/C,EAAc,SACZn7N,EAAQjZ,EAAO,QAAQvkB,MAAM,OACxBqxF,EAAK,EAAGA,EAAK7zD,EAAMjrC,OAAQ8+F,IAClC,OAAQ7zD,EAAM6zD,IACZ,IAAK,SACH,MACF,IAAK,SACL,IAAK,UACHunK,EAAYp7N,EAAM6zD,GAClB,MACF,IAAK,aACHsnK,EAAcn7N,EAAM6zD,GACpB,MACF,IAAK,OACL,IAAK,SACL,IAAK,UACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH6nH,EAAa17K,EAAM6zD,GACnB,MACF,QACOq3G,EAGE+vD,EAGHA,GAAc,IAAMj7N,EAAM6zD,GAF1BonK,EAAaj7N,EAAM6zD,GAHrBq3G,EAAWlrK,EAAM6zD,GAAIrxF,MAAM,KAAK,GAQlC,MAGDukB,EAAO,gBACVA,EAAO,cAAgBq0O,GAEpBr0O,EAAO,kBACVA,EAAO,gBAAkBo0O,GAEtBp0O,EAAO,iBACVA,EAAO,eAAiB20L,GAErB30L,EAAO,eACVA,EAAO,aAAemkL,GAEnBnkL,EAAO,iBACVA,EAAO,eAAiBk0O,GAG5B,OAAOl0O,EAET,SAASkzT,EAAct2U,GAMrB,IALA,IAIEooJ,EAJE/rH,EAAQr8B,EAAEnB,MAAM,aAClB8pK,EAAM,GACN4tK,EAAU,GACVhjB,EAAO,GAEAt5T,EAAI,EAAGA,EAAIoiC,EAAMjrC,OAAQ6I,IAChC,GAAImuJ,EAAO/rH,EAAMpiC,GAAGkM,MAAM,yBACxBwiK,EAAIzuK,KAAKkuJ,EAAK,SACT,GAAIA,EAAO/rH,EAAMpiC,GAAGkM,MAAM,yBAC/BowU,EAAQr8U,KAAKkuJ,EAAK,SACb,GAAIA,EAAO/rH,EAAMpiC,GAAGkM,MAAM,sBAC/BotT,EAAKr5T,KAAKkuJ,EAAK,SACV,GAAiB,MAAb/rH,EAAMpiC,GACf,OAGJ,MAAO,CACLs5T,KAAMA,EACN5qJ,IAAKA,EACL4tK,QAASA,EACTC,YAA0B,IAAb7tK,EAAIv3K,OAAkC,IAAjBmlV,EAAQnlV,OAAemiU,EAAKniU,QAGlE,SAASqlV,EAAgBz2U,GACvB,IAEEirQ,EAFEnR,EAAS,IAAI05E,GAAaxzU,EAAEmkB,QAC9B+2Q,EAAQ,GAEV,MAAOjwB,EAAOnR,EAAO3zP,MAAM,qCAAqC,GAG9D,IAFA,IAAIuwU,EAAYzrE,EAAK,GAAGpsQ,MAAM,YAC5B2pK,EAAM6tK,EAAeprE,EAAK,IACnBhxQ,EAAI,EAAGA,EAAIy8U,EAAUtlV,OAAQ6I,IAAK,CACzC,IAAI08U,EAAWL,EAAcI,EAAUz8U,IACnC08U,GACFz7C,EAAMhhS,KAAK,CACTy8U,SAAUA,EACVnuK,IAAKA,IAKb,OAAO0yH,EAET,SAAS07C,EAAgBC,EAAMF,GAC7B,GAAsB,IAAlBE,EAAKnxE,SACP,OAAO,EAET,IAAK,IAAIzrQ,EAAI,EAAGA,EAAI08U,EAASpjB,KAAKniU,OAAQ6I,IACxC,GAAI08U,EAASpjB,KAAKt5T,KAAO48U,EAAK5sE,SAC5B,OAAO,EAGX,IAAK,IAAI50I,EAAM,EAAGA,EAAMshN,EAAShuK,IAAIv3K,OAAQikI,IAC3C,GAAIshN,EAAShuK,IAAItzC,KAASwhN,EAAKvuS,GAC7B,OAAO,EAGX,IAAK,IAAIktF,EAAM,EAAGA,EAAMmhN,EAASJ,QAAQnlV,OAAQokI,IAC/C,IAAuD,IAAnDqhN,EAAKvxK,UAAU5pK,QAAQi7U,EAASJ,QAAQ/gN,IAC1C,OAAO,EAGX,OAAO,EAET,SAASshN,EAASD,GAGhB,IAFA,IAAIzzT,EAAS1D,OAAO26H,OAAO,MACvB08L,EAAgBr3T,OAAO26H,OAAO,MACzBpgJ,EAAI,EAAGA,EAAI+8U,GAAW5lV,OAAQ6I,IAAK,CAC1C,IAAIgxQ,EAAO+rE,GAAW/8U,GACtB,GAAI28U,EAAgBC,EAAM5rE,EAAK0rE,UAC7B,IAAK,IAAI32T,KAAOirP,EAAKziG,IACbuuK,EAAc/2T,GAAOirP,EAAK0rE,SAASH,cACvCpzT,EAAOpD,GAAOirP,EAAKziG,IAAIxoJ,GACvB+2T,EAAc/2T,GAAOirP,EAAK0rE,SAASH,aAK3C,OAAOpzT,EAET,SAAS6zT,EAAcC,EAAQC,GAC7B,OAAOD,EAAO/gV,OAAOghV,EAAOz6U,MAAMw6U,EAAO9lV,SAE3C,SAASgmV,EAAUhkT,EAAMvhB,GACvB,OAAOjjB,KAAK4Z,IAAI4qB,EAAKikT,UAAWjkT,EAAKolC,KAAK,IAAMplC,EAAKolC,KAAK8+Q,OAASlkT,EAAK66G,OAAS,IAAMp8H,EAAO,IAEhG,SAAS0lU,EAAWnkT,EAAMvhB,GACxB,OAAOjjB,KAAK2Z,IAAI6qB,EAAKokT,WAAYpkT,EAAKolC,KAAK,IAAMplC,EAAKolC,KAAKi/Q,OAASrkT,EAAK66G,OAAS,IAAMp8H,EAAO,IAEjG,SAAS6lU,EAAWtkT,EAAMvhB,GACxB,OAAQuhB,EAAKukT,SAAW,IAAOvkT,EAAKikT,SAAWjkT,EAAKokT,YAAc3lU,EAAO,IAE3E,SAAS+lU,EAAYxkT,EAAMvhB,EAAM6oQ,EAAU3pQ,GACzC,IAAI8mU,EAAKC,EACT,OAAQp9D,GACN,IAAK,SACHm9D,EAAM,GAAMH,EAAWtkT,EAAMvhB,GAC7B,MACF,IAAK,UACHgmU,EAAM,IAAON,EAAWnkT,EAAMvhB,GAAQulU,EAAUhkT,EAAMvhB,IACtD,MACF,IAAK,aACL,IAAK,kBACHgmU,EAAMN,EAAWnkT,EAAMvhB,GACvB,MACF,IAAK,aACL,IAAK,OACL,IAAK,WACHgmU,EAAM,EACN,MACF,IAAK,eACHA,EAAM,GAAMT,EAAUhkT,EAAMvhB,GAC5B,MACF,IAAK,UACHgmU,EAAM,GAAMT,EAAUhkT,EAAMvhB,GAC5B,MACF,IAAK,cACL,IAAK,mBACHgmU,EAAMT,EAAUhkT,EAAMvhB,GACtB,MACF,QACEgmU,EAAM,EACN,MAEJ,OAAQ9mU,GACN,IAAK,WACH+mU,EAAM,EACN,MACF,IAAK,QACHA,EAAM,GAAMjmU,EACZ,MACF,IAAK,MACHimU,GAAO,GAAMjmU,EACb,MACF,QACEimU,EAAM/mU,EACN,MAEJ,OAAO8mU,EAAMC,EAEf,SAASC,EAAW3kT,EAAMvhB,EAAM6S,GAK9B,IAJA,IAAI20C,EAAUjmC,EAAKl2B,OAAO,GAAKwnB,GAC7B2H,EAAMgtC,EAAQ,GACdtvC,EAAMsvC,EAAQ,GACdt9D,EAAO,GACA9B,EAAI,EAAGA,EAAIoyB,EAAIj7B,OAAQ6I,IAAK,CACnC,IAAI+9U,EAAU5kT,EAAK4kT,QAAU5kT,EAAK4kT,QAAQhxU,SAASqlB,EAAIpyB,GAAI,KAAO,CAACyqB,EAAKxoB,WAAWjC,IACnF8B,EAAK7B,KAAK,CACRu4U,MAAOpmT,EAAIpyB,GACX+9U,QAASA,EACTzzS,MAAOxa,EAAI9vB,GAAGg+U,aAAepmU,EAAO,IACpCqmU,QAASnuT,EAAI9vB,GAAGi+U,QAAUrmU,EAAO,IACjCsmU,QAASpuT,EAAI9vB,GAAGk+U,QAAUtmU,EAAO,IACjCumU,SAAUruT,EAAI9vB,GAAGm+U,SAAWvmU,EAAO,IACnCwmU,SAAUtuT,EAAI9vB,GAAGo+U,SAAWxmU,EAAO,MAGvC,OAAO9V,EAET,SAASu8U,GAAiBv4T,EAAKw4T,GAC7B,OAAQx4T,EAAIkqP,UACV,IAAK,MACH,OAAO,IAAIuuE,GAAWz4T,EAAKw4T,GAC7B,IAAK,SACH,OAAO,IAAIE,GAAc14T,EAAKw4T,GAChC,IAAK,IACH,OAAO,IAAIG,GAAa34T,EAAKw4T,GAC/B,IAAK,IACH,OAAO,IAAII,GAAY54T,EAAKw4T,GAC9B,IAAK,MACH,OAAO,IAAIK,GAAW74T,EAAKw4T,GAC7B,IAAK,QACH,OAAO,IAAIM,GAAa94T,EAAKw4T,GAC/B,IAAK,OACH,OAAO,IAAIO,GAAY/4T,EAAKw4T,GAC9B,IAAK,SACH,OAAO,IAAIQ,GAAch5T,EAAKw4T,GAChC,IAAK,UACH,OAAO,IAAIS,GAAej5T,EAAKw4T,GACjC,IAAK,OACH,OAAO,IAAIU,GAAYl5T,EAAKw4T,GAC9B,IAAK,WACH,OAAO,IAAIW,GAAgBn5T,EAAKw4T,GAClC,IAAK,UACH,OAAO,IAAIY,GAAep5T,EAAKw4T,GACjC,IAAK,OACH,OAAO,IAAIa,GAAYr5T,EAAKw4T,GAC9B,IAAK,OACH,OAAO,IAAIc,GAAYt5T,EAAKw4T,GAC9B,IAAK,QACH,OAAO,IAAIe,GAAav5T,EAAKw4T,GAC/B,IAAK,WACH,OAAO,IAAIgB,GAAgBx5T,EAAKw4T,GAClC,IAAK,QACL,IAAK,iBACH,OAAO,IAAIiB,GAAgBz5T,EAAKw4T,GAClC,QACE,OAAO,IAAIkB,GAAQ15T,EAAKw4T,IAG9B,IAAI/E,GAAe,SAAsB9rU,GACvCpU,KAAK6S,MAAQ,SAAUjW,EAAK24I,GAC1B,IAAIuf,EAAO1gJ,EAAIvB,MAAMjW,GACrB,GAAKk4J,GAAuB,IAAfA,EAAKv2H,MAIlB,OADAnqB,EAAMA,EAAI04F,UAAUgoD,EAAK,GAAGh3J,QACrBy3I,EAAMuf,EAAOA,EAAK,IAE3B90J,KAAKgiV,eAAiB,WACpB,OAAOhiV,KAAK6S,MAAM,sBAEpB7S,KAAKomV,WAAa,WAChB,OAAOpmV,KAAK6S,MAAM,aAEpB7S,KAAKqmV,gBAAkB,WACrB,OAAOrmV,KAAK6S,MAAM,oCAEpB7S,KAAK+hV,YAAc,WACjB,OAAO/hV,KAAK6S,MAAM,iFAEpB7S,KAAKqgV,SAAW,WACd,OAAOrgV,KAAK6S,MAAM,cAGlByzU,GAAgB,SAAuBC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,GAO5E,IANA,IAAIC,EAAY,EAAI1iN,GAChB2iN,EAAY,CAACT,GAAM,EAAIA,EAAM,EAAIE,EAAK,EAAIF,EAAM,EAAIE,EAAM,EAAIE,EAAY,EAAIF,EAAVF,EAAgB,EAAII,EAAME,GAC9FI,EAAY,CAACT,GAAM,EAAIA,EAAM,EAAIE,EAAK,EAAIF,EAAM,EAAIE,EAAM,EAAIE,EAAY,EAAIF,EAAVF,EAAgB,EAAII,EAAME,GAC9FI,EAAc,EAAE,EAAIX,EAAM,EAAIE,EAAK,EAAIF,EAAM,GAAKE,EAAM,EAAIE,GAAM,EAAIJ,EAAM,EAAIE,EAAM,EAAIE,EAAM,EAAIE,GACpGM,EAAc,EAAE,EAAIX,EAAM,EAAIE,EAAK,EAAIF,EAAM,GAAKE,EAAM,EAAIE,GAAM,EAAIJ,EAAM,EAAIE,EAAM,EAAIE,EAAM,EAAIE,GACpGM,EAAY,CAAC,GACRzgV,EAAI,EAAGA,GAAKogV,EAAWpgV,IAAK,CACnC,IAAIzJ,GAAKyJ,EAAI,IAAOogV,EAChBtlB,EAAKigB,EAAcxkV,EAAGgqV,GAAeH,EACvCrlB,EAAKggB,EAAcxkV,EAAGiqV,GAAeJ,EACrCv6U,EAAIlR,KAAKgD,KAAKmjU,EAAKA,EAAKC,EAAKA,GAC/B0lB,EAAUzgV,GAAKygV,EAAUzgV,EAAI,GAAK6F,EAEpCxM,KAAKqnV,YAAcD,EAAUL,GAC7B/mV,KAAKsnV,WAAa,CAACf,EAAKC,EAAK/E,EAAQ8E,EAAKE,IAAQhF,EAAQ+E,EAAKE,GAAOprV,KAAK07J,MAAM4vL,EAAMF,EAAKC,EAAMF,GAAOnrV,KAAK07J,MAAM0vL,EAAMF,EAAKC,EAAMF,IACrIvmV,KAAKunV,SAAW,CAACV,EAAKC,EAAKrF,EAAQkF,EAAKE,IAAQpF,EAAQmF,EAAKE,GAAOxrV,KAAK07J,MAAM4vL,EAAMF,EAAKC,EAAMF,GAAOnrV,KAAK07J,MAAM8vL,EAAMF,EAAKC,EAAMF,IACnI3mV,KAAKkhV,eAAiB,WACpB,IAAIpsL,EACA0yL,EAAO9F,EAAc,EAAGsF,GAC1B7C,EAAOzC,EAAc,EAAGuF,GACxBQ,EAAO/F,EAAc,EAAGsF,GACxBhD,EAAOtC,EAAc,EAAGuF,GACtBO,EAAOC,IACT3yL,EAAO2yL,EACPA,EAAOD,EACPA,EAAO1yL,GAELqvL,EAAOH,IACTlvL,EAAOkvL,EACPA,EAAOG,EACPA,EAAOrvL,GAGT,IADA,IAAI4yL,EAASnG,EAAc2F,GAClBvkN,EAAM,EAAGA,EAAM+kN,EAAO5pV,OAAQ6kI,IACrC,GAAI+kN,EAAO/kN,IAAQ,GAAK+kN,EAAO/kN,IAAQ,EAAG,CACxC,IAAIypE,EAAKs1I,EAAcgG,EAAO/kN,GAAMqkN,GAChC56I,EAAKo7I,IACPA,EAAOp7I,GAELA,EAAKq7I,IACPA,EAAOr7I,GAKb,IADA,IAAIu7I,EAASpG,EAAc4F,GAClB5jN,EAAM,EAAGA,EAAMokN,EAAO7pV,OAAQylI,IACrC,GAAIokN,EAAOpkN,IAAQ,GAAKokN,EAAOpkN,IAAQ,EAAG,CACxC,IAAIqkN,EAAKlG,EAAciG,EAAOpkN,GAAM0jN,GAChCW,EAAKzD,IACPA,EAAOyD,GAELA,EAAK5D,IACPA,EAAO4D,GAIb,MAAO,CAACJ,EAAMrD,EAAMsD,EAAMzD,IAE5BhkV,KAAK6nV,iBAAmB,SAAUr7U,GAChC,GAAIi1U,EAAQj1U,EAAG,GACb,OAAOxM,KAAKsnV,WAEd,GAAI7F,EAAQj1U,EAAGxM,KAAKqnV,aAClB,OAAOrnV,KAAKunV,SAEd,KAAI/6U,EAAI,GAAKA,EAAIxM,KAAKqnV,aAGtB,IAAK,IAAI7jN,EAAM,EAAGA,GAAOujN,EAAWvjN,IAAO,CACzC,IAAIN,EAAKkkN,EAAU5jN,EAAM,GACvBL,EAAKikN,EAAU5jN,GACjB,GAAIN,GAAM12H,GAAKA,GAAK22H,EAAI,CACtB,IAAIrvC,GAAM0vC,GAAOL,EAAK32H,IAAM22H,EAAKD,IAAO6jN,EACtCe,EAAMpG,EAAc5tP,EAAIkzP,GACxBe,EAAMrG,EAAc5tP,EAAImzP,GACxBe,EAAMtG,EAAc5tP,EAAIozP,GACxBe,EAAMvG,EAAc5tP,EAAIqzP,GAC1B,MAAO,CAACW,EAAKC,EAAKzsV,KAAK07J,MAAMixL,EAAKD,QAKtCE,GAAc,SAAqB3B,EAAKC,EAAKK,EAAKC,GACpD9mV,KAAKqnV,YAAc/rV,KAAKgD,MAAMuoV,EAAMN,IAAQM,EAAMN,IAAQO,EAAMN,IAAQM,EAAMN,IAC9ExmV,KAAKsnV,WAAa,CAACf,EAAKC,EAAKlrV,KAAK07J,MAAM8vL,EAAMN,EAAKK,EAAMN,IACzDvmV,KAAKunV,SAAW,CAACV,EAAKC,EAAKxrV,KAAK07J,MAAM8vL,EAAMN,EAAKK,EAAMN,IACvDvmV,KAAKkhV,eAAiB,WACpB,MAAO,CAAC5lV,KAAK2Z,IAAIjV,KAAKsnV,WAAW,GAAItnV,KAAKunV,SAAS,IAAKjsV,KAAK2Z,IAAIjV,KAAKsnV,WAAW,GAAItnV,KAAKunV,SAAS,IAAKjsV,KAAK4Z,IAAIlV,KAAKsnV,WAAW,GAAItnV,KAAKunV,SAAS,IAAKjsV,KAAK4Z,IAAIlV,KAAKsnV,WAAW,GAAItnV,KAAKunV,SAAS,MAErMvnV,KAAK6nV,iBAAmB,SAAUr7U,GAChC,GAAIA,GAAK,GAAKA,GAAKxM,KAAKqnV,YAAa,CACnC,IAAIrqV,EAAIwP,EAAIxM,KAAKqnV,aAAe,EAC9Bc,EAAMnoV,KAAKsnV,WAAW,GAAKtqV,GAAKgD,KAAKunV,SAAS,GAAKvnV,KAAKsnV,WAAW,IACnEc,EAAMpoV,KAAKsnV,WAAW,GAAKtqV,GAAKgD,KAAKunV,SAAS,GAAKvnV,KAAKsnV,WAAW,IACrE,MAAO,CAACa,EAAKC,EAAKpoV,KAAKsnV,WAAW,OAIpCtG,GAAW,SAASA,IACtBhhV,KAAKqoV,aAAe,GACpBroV,KAAKsoV,aAAe,GACpBtoV,KAAKsnV,WAAa,KAClBtnV,KAAKunV,SAAW,KAChBvnV,KAAKqnV,YAAc,EACnB,IAIEkB,EACAC,EACAC,EANE/7D,EAAS,EACXC,EAAS,EACT+7D,EAAQ,EACRC,EAAQ,EAIV3oV,KAAK4oV,KAAO,SAAUxtV,EAAGQ,GAGvB,OAFA8wR,EAASg8D,EAAQttV,EACjBuxR,EAASg8D,EAAQ/sV,EACV,MAEToE,KAAKouF,KAAO,SAAUhzF,EAAGQ,GACvB,IAAIimJ,EAAU,IAAIqmM,GAAYQ,EAAOC,EAAOvtV,EAAGQ,GAG/C,OAFA8sV,EAAQttV,EACRutV,EAAQ/sV,EACDimJ,GAET7hJ,KAAKwhV,MAAQ,SAAUiF,EAAKC,EAAKC,EAAKC,EAAKxrV,EAAGQ,GAC5C,IAAIimJ,EAAU,IAAIykM,GAAcoC,EAAOC,EAAOlC,EAAKC,EAAKC,EAAKC,EAAKxrV,EAAGQ,GAGrE,OAFA8sV,EAAQttV,EACRutV,EAAQ/sV,EACDimJ,GAET7hJ,KAAK+rB,MAAQ,WACX,IAAI81H,EAAU,IAAIqmM,GAAYQ,EAAOC,EAAOj8D,EAAQC,GAGpD,OAFA+7D,EAAQh8D,EACRi8D,EAAQh8D,EACD9qI,GAET7hJ,KAAK6oV,WAAa,SAAUpgV,GAC1BzI,KAAKqoV,aAAazhV,KAAK6B,GACvB,IAAIo5I,EAAU7hJ,KAAKyI,EAAK,IAAIwD,MAAMjM,KAAMyI,EAAKW,MAAM,IAC/Cy4I,IACFA,EAAQgc,SAAWp1J,EAAK,GACxBo5I,EAAQic,OAASr1J,EAAK,GACtBzI,KAAKsnV,WAAatnV,KAAKsnV,YAAczlM,EAAQylM,WAC7CtnV,KAAKunV,SAAW1lM,EAAQ0lM,SACxBvnV,KAAKsoV,aAAa1hV,KAAKi7I,GACvB7hJ,KAAKqnV,aAAexlM,EAAQwlM,cAGhCrnV,KAAKkP,EAAI,SAAU9T,EAAGQ,GAGpB,OAFAoE,KAAK6oV,WAAW,CAAC,QAAQ,GAAM,EAAMztV,EAAGQ,IACxC2sV,EAAU,IACHvoV,MAETA,KAAKgP,EAAI,SAAU5T,EAAGQ,GACpB,OAAOoE,KAAKkP,EAAEw5U,EAAQttV,EAAGutV,EAAQ/sV,IAEnCoE,KAAK6Z,EAAI7Z,KAAK0wB,EAAI,WAGhB,OAFA1wB,KAAK6oV,WAAW,CAAC,SAAS,GAAM,IAChCN,EAAU,IACHvoV,MAETA,KAAKoZ,EAAI,SAAUhe,EAAGQ,GAGpB,OAFAoE,KAAK6oV,WAAW,CAAC,QAAQ,GAAM,EAAMztV,EAAGQ,IACxC2sV,EAAU,IACHvoV,MAETA,KAAKwM,EAAI,SAAUpR,EAAGQ,GACpB,OAAOoE,KAAKoZ,EAAEsvU,EAAQttV,EAAGutV,EAAQ/sV,IAEnCoE,KAAKiP,EAAI,SAAU7T,GACjB,OAAO4E,KAAKoZ,EAAEhe,EAAGutV,IAEnB3oV,KAAK0kB,EAAI,SAAUtpB,GACjB,OAAO4E,KAAKoZ,EAAEsvU,EAAQttV,EAAGutV,IAE3B3oV,KAAKmR,EAAI,SAAUvV,GACjB,OAAOoE,KAAKoZ,EAAEsvU,EAAO9sV,IAEvBoE,KAAK0M,EAAI,SAAU9Q,GACjB,OAAOoE,KAAKoZ,EAAEsvU,EAAOC,EAAQ/sV,IAE/BoE,KAAKqE,EAAI,SAAUoiV,EAAKC,EAAKC,EAAKC,EAAKxrV,EAAGQ,GAKxC,OAJAoE,KAAK6oV,WAAW,CAAC,SAAS,GAAM,EAAMpC,EAAKC,EAAKC,EAAKC,EAAKxrV,EAAGQ,IAC7D2sV,EAAU,IACVC,EAAY7B,EACZ8B,EAAY7B,EACL5mV,MAETA,KAAK8C,EAAI,SAAU2jV,EAAKC,EAAKC,EAAKC,EAAKxrV,EAAGQ,GACxC,OAAOoE,KAAKqE,EAAEqkV,EAAQjC,EAAKkC,EAAQjC,EAAKgC,EAAQ/B,EAAKgC,EAAQ/B,EAAK8B,EAAQttV,EAAGutV,EAAQ/sV,IAEvFoE,KAAKmP,EAAI,SAAUs3U,EAAKC,EAAKtrV,EAAGQ,GAC9B,OAAOoE,KAAKqE,EAAEqkV,GAAqB,MAAZH,EAAkBG,EAAQF,EAAY,GAAIG,GAAqB,MAAZJ,EAAkBI,EAAQF,EAAY,GAAIhC,EAAKC,EAAKtrV,EAAGQ,IAEnIoE,KAAKsL,EAAI,SAAUm7U,EAAKC,EAAKtrV,EAAGQ,GAC9B,OAAOoE,KAAKqE,EAAEqkV,GAAqB,MAAZH,EAAkBG,EAAQF,EAAY,GAAIG,GAAqB,MAAZJ,EAAkBI,EAAQF,EAAY,GAAIC,EAAQjC,EAAKkC,EAAQjC,EAAKgC,EAAQttV,EAAGutV,EAAQ/sV,IAEnKoE,KAAKoO,EAAI,SAAUivP,EAAIC,EAAIliQ,EAAGQ,GAC5B,IAAI6qV,EAAMiC,EAAQ,EAAI,GAAKrrF,EAAKqrF,GAC9BhC,EAAMiC,EAAQ,EAAI,GAAKrrF,EAAKqrF,GAC5BhC,EAAMvrV,EAAI,EAAI,GAAKiiQ,EAAKjiQ,GACxBwrV,EAAMhrV,EAAI,EAAI,GAAK0hQ,EAAK1hQ,GAK1B,OAJAoE,KAAK6oV,WAAW,CAAC,SAAS,GAAM,EAAMpC,EAAKC,EAAKC,EAAKC,EAAKxrV,EAAGQ,IAC7D2sV,EAAU,IACVC,EAAYnrF,EACZorF,EAAYnrF,EACLt9P,MAETA,KAAKvB,EAAI,SAAUgoV,EAAKC,EAAKtrV,EAAGQ,GAC9B,OAAOoE,KAAKoO,EAAEs6U,EAAQjC,EAAKkC,EAAQjC,EAAKgC,EAAQttV,EAAGutV,EAAQ/sV,IAE7DoE,KAAK8O,EAAI,SAAU1T,EAAGQ,GACpB,OAAOoE,KAAKoO,EAAEs6U,GAAqB,MAAZH,EAAkBG,EAAQF,EAAY,GAAIG,GAAqB,MAAZJ,EAAkBI,EAAQF,EAAY,GAAIrtV,EAAGQ,IAEzHoE,KAAK9C,EAAI,SAAU9B,EAAGQ,GACpB,OAAOoE,KAAKoO,EAAEs6U,GAAqB,MAAZH,EAAkBG,EAAQF,EAAY,GAAIG,GAAqB,MAAZJ,EAAkBI,EAAQF,EAAY,GAAIC,EAAQttV,EAAGutV,EAAQ/sV,IAEzIoE,KAAKqO,EAAI,SAAUsvP,EAAIC,EAAIz0O,EAAI2/T,EAAIpvU,EAAIte,EAAGQ,GACxC,GAAI6lV,EAAQ9jF,EAAI,IAAM8jF,EAAQ7jF,EAAI,GAChC59P,KAAK6oV,WAAW,CAAC,QAAQ,GAAM,EAAMztV,EAAGQ,QACnC,CACLutB,GAAW7tB,KAAKiqI,GAAK,IACrBo4H,EAAKriQ,KAAKW,IAAI0hQ,GACdC,EAAKtiQ,KAAKW,IAAI2hQ,GACdkrF,EAAK,IAAMA,EACXpvU,EAAK,IAAMA,EACX,IAAImrH,EAAKvpI,KAAKyK,IAAIojB,IAAOu/T,EAAQttV,GAAK,EAAIE,KAAK0K,IAAImjB,IAAOw/T,EAAQ/sV,GAAK,EACrEwwK,EAAK9wK,KAAKyK,IAAIojB,IAAOw/T,EAAQ/sV,GAAK,EAAIN,KAAK0K,IAAImjB,IAAOu/T,EAAQttV,GAAK,EACnEw8U,EAAS/yM,EAAKA,GAAM84H,EAAKA,GAAMvxF,EAAKA,GAAMwxF,EAAKA,GAC7Cg6E,EAAS,IACXj6E,GAAMriQ,KAAKgD,KAAKs5U,GAChBh6E,GAAMtiQ,KAAKgD,KAAKs5U,IAElB,IAAI56U,EAAI1B,KAAKgD,KAAKhD,KAAK4Z,IAAI,EAAGyoP,EAAKA,EAAKC,EAAKA,EAAKD,EAAKA,EAAKvxF,EAAKA,EAAKwxF,EAAKA,EAAK/4H,EAAKA,IAAO84H,EAAKA,EAAKvxF,EAAKA,EAAKwxF,EAAKA,EAAK/4H,EAAKA,IAC7HytB,GAAMw2L,IAAOpvU,GAAM,EAAI,GAAK1c,EAAI2gQ,EAAKvxF,EAAKwxF,EAC1CtxF,GAAMw8K,IAAOpvU,EAAK,GAAK,GAAK1c,EAAI4gQ,EAAK/4H,EAAK84H,EACxCN,EAAK/hQ,KAAKyK,IAAIojB,GAAMmpI,EAAKh3J,KAAK0K,IAAImjB,GAAMmjJ,GAAMo8K,EAAQttV,GAAK,EAC7DkiQ,EAAKhiQ,KAAK0K,IAAImjB,GAAMmpI,EAAKh3J,KAAKyK,IAAIojB,GAAMmjJ,GAAMq8K,EAAQ/sV,GAAK,EAC3DmtV,EAAMztV,KAAK07J,OAAOoV,EAAKE,GAAMsxF,GAAK/4H,EAAKytB,GAAMqrG,GAC7CqrF,EAAM1tV,KAAK07J,QAAQoV,EAAKE,GAAMsxF,IAAM/4H,EAAKytB,GAAMqrG,GACtC,IAAPjkP,GAAYsvU,EAAMD,EAAM,EAC1BC,GAAO,EAAI1tV,KAAKiqI,GACA,IAAP7rH,GAAYsvU,EAAMD,EAAM,IACjCC,GAAO,EAAI1tV,KAAKiqI,IAGlB,IADA,IAAI0jN,EAAQ3tV,KAAKuiB,KAAKviB,KAAKW,IAAI+sV,EAAMD,IAAQztV,KAAKiqI,GAAKlB,KAC9C19H,EAAI,EAAGA,EAAIsiV,EAAOtiV,IAAK,CAC9B,IAAIuiV,EAAMH,EAAMpiV,GAAKqiV,EAAMD,GAAOE,EAChCE,EAAMJ,GAAOpiV,EAAI,IAAMqiV,EAAMD,GAAOE,EACpC/rV,EAAI,EAAI,EAAI5B,KAAKu4I,KAAKs1M,EAAMD,GAAO,GACjCzC,EAAMppF,EAAK/hQ,KAAKyK,IAAIojB,GAAMw0O,GAAMriQ,KAAKyK,IAAImjV,GAAOhsV,EAAI5B,KAAK0K,IAAIkjV,IAAQ5tV,KAAK0K,IAAImjB,GAAMy0O,GAAMtiQ,KAAK0K,IAAIkjV,GAAOhsV,EAAI5B,KAAKyK,IAAImjV,IACzHxC,EAAMppF,EAAKhiQ,KAAK0K,IAAImjB,GAAMw0O,GAAMriQ,KAAKyK,IAAImjV,GAAOhsV,EAAI5B,KAAK0K,IAAIkjV,IAAQ5tV,KAAKyK,IAAIojB,GAAMy0O,GAAMtiQ,KAAK0K,IAAIkjV,GAAOhsV,EAAI5B,KAAKyK,IAAImjV,IACvHvC,EAAMtpF,EAAK/hQ,KAAKyK,IAAIojB,GAAMw0O,GAAMriQ,KAAKyK,IAAIojV,GAAOjsV,EAAI5B,KAAK0K,IAAImjV,IAAQ7tV,KAAK0K,IAAImjB,GAAMy0O,GAAMtiQ,KAAK0K,IAAImjV,GAAOjsV,EAAI5B,KAAKyK,IAAIojV,IACvHvC,EAAMtpF,EAAKhiQ,KAAK0K,IAAImjB,GAAMw0O,GAAMriQ,KAAKyK,IAAIojV,GAAOjsV,EAAI5B,KAAK0K,IAAImjV,IAAQ7tV,KAAKyK,IAAIojB,GAAMy0O,GAAMtiQ,KAAK0K,IAAImjV,GAAOjsV,EAAI5B,KAAKyK,IAAIojV,IACvHv8D,EAAOvvB,EAAK/hQ,KAAKyK,IAAIojB,GAAMw0O,EAAKriQ,KAAKyK,IAAIojV,GAAO7tV,KAAK0K,IAAImjB,GAAMy0O,EAAKtiQ,KAAK0K,IAAImjV,GAC7Et8D,EAAOvvB,EAAKhiQ,KAAK0K,IAAImjB,GAAMw0O,EAAKriQ,KAAKyK,IAAIojV,GAAO7tV,KAAKyK,IAAIojB,GAAMy0O,EAAKtiQ,KAAK0K,IAAImjV,GAC/EnpV,KAAK6oV,WAAW,CAAC,QAAe,IAANliV,EAASA,IAAMsiV,EAAQ,EAAGxC,EAAKC,EAAKC,EAAKC,EAAKh6D,EAAMC,KAIlF,OADA07D,EAAU,IACHvoV,MAETA,KAAKhE,EAAI,SAAU2hQ,EAAIC,EAAIz0O,EAAI2/T,EAAIpvU,EAAIte,EAAGQ,GACxC,OAAOoE,KAAKqO,EAAEsvP,EAAIC,EAAIz0O,EAAI2/T,EAAIpvU,EAAIgvU,EAAQttV,EAAGutV,EAAQ/sV,IAEvDoE,KAAKmiB,KAAO,SAAUhf,GACpB,IAAIimV,EACFrqV,EACA+1J,EACA0xG,EAAS,IAAI05E,IAAc/8U,GAAK,IAAI0tB,QACtC,MAAOu4T,EAAU5iF,EAAO3zP,MAAM,2BAA4B,CACxD2zP,EAAOw7E,iBACP,IAAIxgV,EAAS,GACb,MAAOzC,EAAQq9U,EAAUgN,EAAU5nV,EAAO1D,QAAU0oQ,EAAO3zP,MAAM,SAAW2zP,EAAOu7E,cACjFv7E,EAAOw7E,iBACHxgV,EAAO1D,SAAWq+U,EAAciN,KAClCppV,KAAKopV,GAASn9U,MAAMjM,KAAMwB,GAC1BA,EAAS,GACO,MAAZ4nV,EACFA,EAAU,IACW,MAAZA,IACTA,EAAU,MAGd5nV,EAAOoF,KAAKonB,OAAOjvB,IAErB,GAAIyC,EAAO1D,SAAWq+U,EAAciN,GAIlC,YADAhJ,GAAgB,oBAAsBgJ,EAAU,SAAW5nV,EAAO1D,OAAS,YAF3EkC,KAAKopV,GAASn9U,MAAMjM,KAAMwB,GAS9B,OAHIszJ,EAAO0xG,EAAO65E,aAChBD,GAAgB,8BAAgCtrL,GAE3C90J,MAETA,KAAKkhV,eAAiB,WACpB,IAAIh8Q,EAAO,CAACjnE,IAAUA,KAAWA,KAAWA,KAC5C,SAASorV,EAAUC,GACbA,EAAM,GAAKpkR,EAAK,KAClBA,EAAK,GAAKokR,EAAM,IAEdA,EAAM,GAAKpkR,EAAK,KAClBA,EAAK,GAAKokR,EAAM,IAEdA,EAAM,GAAKpkR,EAAK,KAClBA,EAAK,GAAKokR,EAAM,IAEdA,EAAM,GAAKpkR,EAAK,KAClBA,EAAK,GAAKokR,EAAM,IAGpB,IAAK,IAAI3iV,EAAI,EAAGA,EAAI3G,KAAKsoV,aAAaxqV,OAAQ6I,IAC5C0iV,EAAUrpV,KAAKsoV,aAAa3hV,GAAGu6U,kBAcjC,OAZIh8Q,EAAK,KAAOjnE,MACdinE,EAAK,GAAK,GAERA,EAAK,KAAOjnE,MACdinE,EAAK,GAAK,GAERA,EAAK,MAAQjnE,MACfinE,EAAK,GAAK,GAERA,EAAK,MAAQjnE,MACfinE,EAAK,GAAK,GAELA,GAETllE,KAAK6nV,iBAAmB,SAAUr7U,GAChC,GAAIA,GAAK,GAAKA,GAAKxM,KAAKqnV,YAAa,CAEnC,IADA,IAAIvyL,EACKnuJ,EAAI,EAAGA,EAAI3G,KAAKsoV,aAAaxqV,OAAQ6I,IAAK,CACjD,GAAImuJ,EAAO90J,KAAKsoV,aAAa3hV,GAAGkhV,iBAAiBr7U,GAC/C,OAAOsoJ,EAETtoJ,GAAKxM,KAAKsoV,aAAa3hV,GAAG0gV,YAE5B,OAAOrnV,KAAKunV,WAGhBvnV,KAAKiyG,UAAY,SAAUjjG,GACzBhP,KAAKsoV,aAAe,GACpBtoV,KAAKsnV,WAAa,KAClBtnV,KAAKunV,SAAW,KAChBvnV,KAAKqnV,YAAc,EACnB,IAAK,IAAI1gV,EAAI,EAAGA,EAAI3G,KAAKqoV,aAAavqV,OAAQ6I,IAAK,CAEjD,IADA,IAAI8B,EAAOzI,KAAKqoV,aAAa5qU,QACpBvL,EAAI,EAAGA,EAAIzJ,EAAK3K,OAAQoU,GAAK,EAAG,CACvC,IAAI6H,EAAI6mU,EAAe,CAACn4U,EAAKyJ,GAAIzJ,EAAKyJ,EAAI,IAAKlD,GAC/CvG,EAAKyJ,GAAK6H,EAAE,GACZtR,EAAKyJ,EAAI,GAAK6H,EAAE,GAElB/Z,KAAK6oV,WAAWpgV,GAElB,OAAOzI,MAETA,KAAKupV,WAAa,SAAU1rF,GAC1B,IAAK,IAAIl3P,EAAI,EAAGA,EAAIk3P,EAAMwqF,aAAavqV,OAAQ6I,IAC7C3G,KAAK6oV,WAAWhrF,EAAMwqF,aAAa1hV,GAAGyC,SAExC,OAAOpJ,MAETA,KAAKc,MAAQ,WACX,OAAO,IAAIkgV,GAAWuI,WAAWvpV,OAEnCA,KAAKwpV,iBAAmB,WACtB,IAAK,IAAI7iV,EAAI,EAAGA,EAAI3G,KAAKqoV,aAAavqV,OAAQ6I,IAAK,CACjD,IAAIyiV,EAAUppV,KAAKqoV,aAAa1hV,GAAG,GACjCnF,EAASxB,KAAKqoV,aAAa1hV,GAAGyC,MAAM,GACtC,OAAQggV,GACN,IAAK,OACH7jB,EAAIh7C,OAAO/oR,EAAO,GAAIA,EAAO,IAC7B,MACF,IAAK,OACH+jU,EAAI/6C,OAAOhpR,EAAO,GAAIA,EAAO,IAC7B,MACF,IAAK,QACH+jU,EAAI56C,cAAcnpR,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAChF,MACF,IAAK,QACH+jU,EAAI76C,YACJ,SAIR1qR,KAAKypV,YAAc,WAGjB,IAFA,IAAIC,EAAW,GACb7rF,EAAQ,IAAImjF,EACLr6U,EAAI,EAAGA,EAAI3G,KAAKqoV,aAAavqV,OAAQ6I,IAAK,CACjD,IAAI8B,EAAOzI,KAAKqoV,aAAa1hV,GAC3ByiV,EAAUppV,KAAKqoV,aAAa1hV,GAAG,GACjB,SAAZyiV,GAA4B,IAANziV,IACxB+iV,EAAS9iV,KAAKi3P,GACdA,EAAQ,IAAImjF,GAEdnjF,EAAMgrF,WAAWpgV,GAGnB,OADAihV,EAAS9iV,KAAKi3P,GACP6rF,GAET1pV,KAAK2pV,WAAa,WAGhB,IAFA,IAAIC,EAAU,GACZF,EAAW1pV,KAAKypV,cACT9iV,EAAI,EAAGA,EAAI+iV,EAAS5rV,OAAQ6I,IAAK,CAGxC,IAFA,IAAIkjV,EAAUH,EAAS/iV,GACrBmjV,EAAiB,GACV53U,EAAI,EAAGA,EAAI23U,EAAQvB,aAAaxqV,OAAQoU,IAAK,CACpD,IAAI2vI,EAAUgoM,EAAQvB,aAAap2U,GACnC,GAAIovU,EAAWz/L,EAAQwlM,YAAa,IAAY,IAANn1U,GAAWA,IAAM23U,EAAQvB,aAAaxqV,OAAS,EAAG,CAC1F,GAAI+jJ,EAAQgc,SAAU,CACpB,IAAIksL,EAAcloM,EAAQgmM,iBAAiB,GACzCmC,EAAgBF,EAAelnV,MAC7BonV,IACFD,EAAY,GAAK,IAAOC,EAAc,GAAKD,EAAY,KAEzDD,EAAeljV,KAAKmjV,GAEtB,GAAIloM,EAAQic,OAAQ,CAClB,IAAImsL,EAAYpoM,EAAQgmM,iBAAiBhmM,EAAQwlM,aACjDyC,EAAeljV,KAAKqjV,KAI1BL,EAAUA,EAAQ/mV,OAAOinV,GAE3B,OAAOF,IAGPzD,GAAU,SAAiB15T,EAAKw4T,GAClC,IAAIiF,EAAa99T,OAAO26H,OAAO,MAC3BojM,EAAgB,KACpBnqV,KAAKpF,KAAO6xB,EAAIkqP,SAChB32Q,KAAKoqV,eAAiB39T,IAAQ2/O,IAAQ3/O,EAAI+kJ,WAC1CxxK,KAAKilV,SAAWA,IAAcjlV,KAAKoqV,eAA0D,KAAzCpF,GAAiBv4T,EAAI+kJ,WAAY,OACrFxxK,KAAKM,MAAQN,KAAKilV,SAAWjlV,KAAKilV,SAAS3kV,MAAMuC,OAAO4pB,GAAO,CAACA,GAChEzsB,KAAKqkC,MAAQ0+S,EAA2C,oBAArBt2T,EAAI0oE,cAA+B1oE,EAAI0oE,aAAa,UACvFn1F,KAAKk1K,IAAMm1K,GAASt0P,iBAAiBtpE,GAAO+2T,EAAS/2T,GACrDzsB,KAAKsqV,gBAAkB,GACvBtqV,KAAKisF,KAAO,SAAUv/D,GACpB,GAAgC,oBAArBD,EAAI0oE,aACb,OAAO1oE,EAAI0oE,aAAazoE,IAG5B1sB,KAAKuqV,WAAa,SAAUxrV,GAC1B,IAAI+1J,GAAQ/1J,GAAS,IAAI8T,MAAM,iFAAmF,GAC9G+I,EAAOk5I,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,GAC/C9/G,EAAK8/G,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,GAC7C,GAAI9/G,EAAI,CACN,IAAKp5B,EAAM,CACT,IAAI4uU,EAASp+E,EAAI4zE,eAAehrS,GAChC,GAAIw1S,EACF,OAAoC,IAAhCxqV,KAAKM,MAAM8H,QAAQoiV,GACdA,OAEPpK,GAAgB,iDAAmDprS,EAAK,KAK9E,GAAIy1S,GAAkB,CACpB,IAAIC,EAAOC,GAAc/uU,GACzB,IAAK8uU,EAAM,CACTA,EAAOD,GAAiB7uU,GACnB+lU,EAAY+I,KACfA,EAAO,CAACA,IAEV,IAAK,IAAI/jV,EAAI,EAAGA,EAAI+jV,EAAK5sV,OAAQ6I,IACR,kBAAZ+jV,EAAK/jV,KACd+jV,EAAK/jV,GAAKm5U,EAAS4K,EAAK/jV,KAG5BgkV,GAAc/uU,GAAQ8uU,EAExB,IAAK,IAAIhgM,EAAM,EAAGA,EAAMggM,EAAK5sV,OAAQ4sJ,IAAO,CAC1C,IAAIkgM,EAAUF,EAAKhgM,GAAKs1L,eAAehrS,GACvC,GAAI41S,EACF,OAAqC,IAAjC5qV,KAAKM,MAAM8H,QAAQwiV,GACdA,OAEPxK,GAAgB,iDAAmDxkU,EAAO,IAAMo5B,EAAK,SAQjGh1C,KAAK6qV,aAAe,SAAU9rV,EAAO+7I,EAAMgwM,EAASC,GAClD,MAAa,MAATjwM,EACK77I,WAAWF,GAAS,KAAOgsV,GAAyB,MAAXD,EAAkBA,EAAU9qV,KAAKgrV,eAC/D,OAATlwM,GAA0B,OAATA,EACnB/7I,EAAQ,CACb,GAAM,EACN,GAAM,IACN+7I,IAASiwM,EAAaD,EAAU9qV,KAAK6yE,IAAI,cAEpC9zE,EAAQ,CACb,GAAI,EACJ,GAAM,EACN,GAAM,GAAK,GACX,GAAM,GAAK,KACX,GAAM,GAAK,KACX,GAAM,GACN,GAAM,IACN+7I,IAGN96I,KAAKirV,cAAgB,SAAUlsV,EAAO+rV,EAAS/yI,EAASgzI,GACtD,IACEG,EACApJ,EAFEt7E,EAAS,IAAI05E,IAAcnhV,GAAS,IAAI8xB,QAG5C,MAA8C,kBAAlCq6T,EAAQ1kF,EAAOu7E,gBAA6E,kBAAtCD,EAAQt7E,EAAO6/E,oBAAoC7/E,EAAO65E,WAGrHtoI,EAFE/3M,KAAK6qV,aAAaK,EAAOpJ,EAAOgJ,EAASC,IAIpD/qV,KAAKmrV,kBAAoB,SAAUpsV,EAAO+rV,EAASM,GACjD,IAEEF,EACApJ,EAHEt7E,EAAS,IAAI05E,IAAcnhV,GAAS,IAAI8xB,QAC1Cf,EAAS,GAGX,MAAiD,kBAAlCo7T,EAAQ1kF,EAAOu7E,gBAA6E,kBAAtCD,EAAQt7E,EAAO6/E,mBAClFv2T,EAAOlpB,KAAK5G,KAAK6qV,aAAaK,EAAOpJ,EAAOgJ,IAC5CtkF,EAAOw7E,iBAET,IAAIoJ,IAAU5kF,EAAO65E,WAGrB,OAAOvwT,GAET9vB,KAAKqrV,UAAY,SAAU3+T,EAAKo+T,EAAS/yI,GACvC,OAAO/3M,KAAKirV,cAAcjrV,KAAKisF,KAAKv/D,GAAMo+T,EAAS/yI,IAErD/3M,KAAKsrV,cAAgB,SAAU5+T,EAAKo+T,GAClC,OAAO9qV,KAAKmrV,kBAAkBnrV,KAAKisF,KAAKv/D,GAAMo+T,IAEhD9qV,KAAKurV,OAAS,SAAU7+T,GACtB,OAAO1sB,KAAKuqV,WAAWvqV,KAAKisF,KAAKv/D,KAEnC1sB,KAAKwrV,cAAgB,SAAU9+T,GAC7B,IAEEooI,EAFE0xG,EAAS,IAAI05E,IAAclgV,KAAKisF,KAAKv/D,IAAQ,IAAImE,QACnDf,EAAS,GAEX,MAAOglI,EAAO0xG,EAAOu7E,cACnBjyT,EAAOlpB,KAAKonB,OAAO8mI,IACnB0xG,EAAOw7E,iBAGT,OADAlyT,EAAOrM,MAAQ+iP,EAAO65E,WACfvwT,GAET9vB,KAAKyrV,WAAa,SAAU/+T,EAAKqrL,GAC/B,IAAI2zI,EAAU1rV,KAAKwrV,cAAc9+T,GACjC,OAAuB,IAAnBg/T,EAAQ5tV,QAAgB4tV,EAAQ,IAAM,GAAKA,EAAQ,IAAM,EACpDA,EAEF3zI,GAET/3M,KAAK2rV,WAAa,SAAUj/T,EAAKqrL,GAC/B,IAAIh5M,EAAQiB,KAAKisF,KAAKv/D,GAClB85O,EAAS,IAAI05E,IAAcnhV,GAAS,IAAI8xB,QAGxC11B,EAASqrQ,EAAOu7E,cACpB,OAAK5mV,GAGDqrQ,EAAO3zP,MAAM,OACf1X,GAAU,KAERqrQ,EAAO65E,WACFtoI,EAEFz8M,KAAK4Z,IAAI,EAAG5Z,KAAK2Z,IAAI,EAAG9Z,KARtB48M,GAUX/3M,KAAK4rV,YAAc,SAAUl6R,GAC3B,IAAK,IAAI/qD,EAAI,EAAGA,EAAI9I,UAAUC,OAAQ6I,IACpC,GAAoB,MAAhB9I,UAAU8I,IAAc9I,UAAU8I,KAAO9I,UAAU8I,GACrD,OAAO9I,UAAU8I,GAGrB,OAAO9I,UAAUA,UAAUC,OAAS,IAEtCkC,KAAK6yE,IAAM,SAAUnmD,GACnB,QAAwB3uB,IAApBmsV,EAAWx9T,GACb,OAAOw9T,EAAWx9T,GAKpB,IAHA,IACE3tB,EACA+wB,EAFE+7T,EAAUtP,EAAW7vT,IAAQ,GAGxB/lB,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,OAAQA,GACN,KAAK,EACS,cAAR+lB,IAEF3tB,EAAQiB,KAAKk1K,IAAI22K,EAAQ32K,KAAOxoJ,IAElC,MACF,KAAK,EACH3tB,EAAQiB,KAAKqkC,MAAM3X,GACnB,MACF,KAAK,EACH3tB,EAAQiB,KAAKisF,KAAKv/D,GAClB,MAEJ,GAAc,YAAV3tB,IACF+wB,EAAS9vB,KAAKilV,SAAWjlV,KAAKilV,SAASpyQ,IAAInmD,GAAOm/T,EAAQ9zI,QAC5C,MAAVjoL,GACF,OAAOo6T,EAAWx9T,GAAOoD,EAG7B,GAAsB,MAAlB+7T,EAAQrqV,SACVsuB,EAAS+7T,EAAQrqV,OAAOzC,GACV,MAAV+wB,GACF,OAAOo6T,EAAWx9T,GAAOoD,EAG7B,GAAa,MAAT/wB,EAAe,CACjB,IAAIw5H,OAAS,EACb,OAAQ7rG,GACN,IAAK,YACHoD,EAAS9vB,KAAKirV,cAAclsV,EAAOiB,KAAKilV,SAAWjlV,KAAKilV,SAASpyQ,IAAInmD,GAAOm/T,EAAQ9zI,aAASh6M,GAAW,GACxG,MACF,IAAK,iBACH+xB,EAAS9vB,KAAKirV,cAAclsV,EAAOiB,KAAK6yE,IAAI,cAC5C,MACF,IAAK,cACH/iD,EAAS/wB,QAAShB,EAClB,MACF,IAAK,UACL,IAAK,iBACL,IAAK,eACL,IAAK,eACHw6H,EAASt5H,WAAWF,GACfwF,MAAMg0H,KACTzoG,EAASx0B,KAAK4Z,IAAI,EAAG5Z,KAAK2Z,IAAI,EAAGsjH,KAEnC,MACF,IAAK,YACHzoG,EAAS8xT,EAAc7iV,GACvB,MACF,IAAK,mBACH,GAAc,SAAVA,EACF+wB,EAAS,QACJ,GAAIyoG,EAASv4H,KAAKmrV,kBAAkBpsV,EAAOiB,KAAKgrV,eAAe,GAAO,CAG3E,IAFA,IAAIhnP,EAAM,EACRvgF,GAAQ,EACDvR,EAAI,EAAGA,EAAIqmH,EAAOz6H,OAAQoU,IAC7BqmH,EAAOrmH,GAAK,IACduR,GAAQ,GAEVugF,GAAOu0B,EAAOrmH,GAEXuR,IACC80G,EAAOz6H,OAAS,IAAM,IACxBy6H,EAASA,EAAO11H,OAAO01H,IAEzBzoG,EAAiB,IAARk0E,EAAY,GAAKu0B,GAG9B,MACF,IAAK,QAEDzoG,EADY,SAAV/wB,GAA8B,gBAAVA,EACb,OAEAuzP,EAAWvzP,GAEtB,MACF,IAAK,OACL,IAAK,SACH,GAAc,SAAVA,GAA8B,gBAAVA,EACtB+wB,EAAS,YACJ,GAAc,iBAAV/wB,EACT+wB,EAAS9vB,KAAK6yE,IAAI,aACb,IAAI0lD,EAAS+5H,EAAWvzP,GAC7B,OAAOw5H,EACF,GAAIA,GAAUx5H,GAAS,IAAIwM,MAAM,KAAM,CAC5C,IAAI0+F,EAASjqG,KAAKuqV,WAAWhyN,EAAO,IAClCuzN,EAAgBx5F,EAAW/5H,EAAO,IAElCzoG,EADY,MAAVm6E,EACO6hP,EACoB,mBAApB7hP,EAAO0sK,UAAqD,mBAApB1sK,EAAO0sK,SAC/C,IAAIo1E,GAAgB9hP,EAAQ,KAAM6hP,GACd,YAApB7hP,EAAO0sK,SACP,IAAIq1E,GAAe/hP,EAAQ,KAAM6hP,GAEjCA,GAGb,MACF,IAAK,aAEDh8T,EADY,SAAV/wB,GAA8B,gBAAVA,EACb,OACU,iBAAVA,EACAiB,KAAK6yE,IAAI,SAETy/K,EAAWvzP,GAEtB,MACF,IAAK,eACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,OAED+wB,EADY,SAAV/wB,EACO,OAEAiB,KAAKuqV,WAAWxrV,GAE3B,MACF,IAAK,eACHw5H,EAASv4H,KAAKirV,cAAclsV,EAAOiB,KAAKgrV,eAC1B,MAAVzyN,GAAkBA,GAAU,IAC9BzoG,EAASyoG,GAEX,MACF,IAAK,oBACHA,EAASt5H,WAAWF,GACN,MAAVw5H,GAAkBA,GAAU,IAC9BzoG,EAASyoG,GAEX,MACF,IAAK,eACL,IAAK,iBACHzoG,EAAS9vB,KAAKirV,cAAclsV,EAAOiB,KAAKgrV,eACxC,MACF,IAAK,oBAEH,GADAl7T,EAAS9vB,KAAKirV,cAAclsV,EAAOiB,KAAKgrV,eAC1B,MAAVl7T,GACEA,EAAS,EAGX,IADA,IAAIm8T,EAAYjsV,KAAK6yE,IAAI,oBAChBmd,EAAK,EAAGA,EAAKi8P,EAAUnuV,OAAQkyF,IACtClgE,GAAUm8T,EAAUj8P,GAI1B,MAEJ,GAAc,MAAVlgE,EACF,OAAOo6T,EAAWx9T,GAAOoD,GAI/B,OAAOo6T,EAAWx9T,GAAOm/T,EAAQrnD,SAAWxkS,KAAKilV,SAAWjlV,KAAKilV,SAASpyQ,IAAInmD,GAAOm/T,EAAQ9zI,SAE/F/3M,KAAKksV,YAAc,WACjB,GAAqB,MAAjB/B,EACF,OAAOA,EAGT,IADA,IAAI/6K,EAAW,GACNzoK,EAAI,EAAGA,EAAI8lB,EAAIopJ,WAAW/3K,OAAQ6I,IAAK,CAC9C,IAAIogK,EAAQt6I,EAAIopJ,WAAWlvK,GACtBogK,EAAMtjJ,QAA2D,IAAlDzjB,KAAKsqV,gBAAgBliV,QAAQ2+J,EAAM4vG,WACrDvnG,EAASxoK,KAAKo+U,GAAiBj+K,EAAO/mK,OAG1C,OAAOmqV,EAAgB/6K,GAEzBpvK,KAAKmsV,gBAAkB,WACrB,OAAOnsV,KAAKilV,SAAWjlV,KAAKilV,SAASmH,YAAcC,IAErDrsV,KAAKssV,iBAAmB,WACtB,OAAOtsV,KAAKilV,SAAWjlV,KAAKilV,SAASsH,aAAeC,IAEtDxsV,KAAKysV,kBAAoB,WACvB,OAAOnxV,KAAKgD,KAAK,GAAM0B,KAAKmsV,kBAAoBnsV,KAAKmsV,kBAAoB,GAAMnsV,KAAKssV,mBAAqBtsV,KAAKssV,qBAEhHtsV,KAAKosV,UAAY,WACf,OAAOpsV,KAAKmsV,mBAEdnsV,KAAKusV,WAAa,WAChB,OAAOvsV,KAAKssV,oBAEdtsV,KAAKgrV,YAAc,WACjB,OAAO1vV,KAAKgD,KAAK,GAAM0B,KAAKosV,YAAcpsV,KAAKosV,YAAc,GAAMpsV,KAAKusV,aAAevsV,KAAKusV,eAE9FvsV,KAAKkhV,eAAiB,WACpB,IAAIrjF,EAAQ79P,KAAK0sV,mBACjB,OAAO7uF,EAAMqjF,mBAGbyL,GAAkB,SAAyBlgU,EAAKw4T,GAClDkB,GAAQ55T,KAAKvsB,KAAMysB,EAAKw4T,GACxBjlV,KAAKiyG,UAAY,WACfszN,EAAItzN,UAAUhmG,MAAMs5T,EAAKvlU,KAAK4sV,sBAEhC5sV,KAAKmoR,KAAO,WACV,GAA8B,SAA1BnoR,KAAK6yE,IAAI,aAAyB,CACpC,IAAIg6Q,EAAW,IAAIC,GAAgB9sV,KAAK6yE,IAAI,aAAc,MAE1D,OADAg6Q,EAASE,QAAQ/sV,KAAKkhV,mBACf,IAGXlhV,KAAKqsH,KAAO,WACV,GAAyB,SAArBrsH,KAAK6yE,IAAI,QAAoB,CAC/B,IAAIw5C,EAAO,IAAI2gO,GAAYhtV,KAAK6yE,IAAI,QAAS,MAE7C,OADAw5C,EAAK0gO,QAAQ/sV,KAAKkhV,mBACX,IAGXlhV,KAAKitV,QAAU,SAAUC,EAAQzM,GAC/B,IAAI58E,EAAU7jQ,KAAK6yE,IAAI,WACrBtmE,EAAOvM,KAAK6yE,IAAI,QAChBysQ,EAAct/U,KAAK6yE,IAAI,gBACzB,OAAIq6Q,EACK1e,EAAcH,MAEV,SAAT9hU,GAAmBs3P,GAAWy7E,EAC5B/yU,aAAgBw/U,IAAmBx/U,aAAgBy/U,GAC9Cz/U,EAAK4gV,SAASntV,KAAKkhV,iBAAkB5B,EAAcz7E,EAASqpF,EAAQzM,GAEtED,EAAej0U,EAAM+yU,EAAcz7E,EAAS48E,QAJrD,GAOFzgV,KAAKotV,UAAY,SAAUF,EAAQzM,GACjC,IAAI58E,EAAU7jQ,KAAK6yE,IAAI,WACrB46M,EAASztR,KAAK6yE,IAAI,UAClB2sQ,EAAgBx/U,KAAK6yE,IAAI,kBAC3B,IAAIq6Q,IAAUzL,EAAQzhV,KAAK6yE,IAAI,gBAAiB,GAGhD,MAAe,SAAX46M,GAAqB5pB,GAAW27E,EAC9B/xD,aAAkBs+D,IAAmBt+D,aAAkBu+D,GAClDv+D,EAAO0/D,SAASntV,KAAKkhV,iBAAkB1B,EAAgB37E,EAASqpF,EAAQzM,GAE1ED,EAAe/yD,EAAQ+xD,EAAgB37E,EAAS48E,QAJzD,IAQA4M,GAAqB,SAA4B5gU,EAAKw4T,GACxD0H,GAAgBpgU,KAAKvsB,KAAMysB,EAAKw4T,GAChCjlV,KAAKsqV,gBAAkB,CAAC,MAAO,IAAK,IAAK,MAAO,QAAS,OAAQ,SAAU,UAAW,OAAQ,WAAY,UAAW,OAAQ,QAC7HtqV,KAAK0sV,iBAAmB,WAGtB,IAFA,IAAI7uF,EAAQ,IAAImjF,GACd5xK,EAAWpvK,KAAKksV,cACTvlV,EAAI,EAAGA,EAAIyoK,EAAStxK,OAAQ6I,IACnC,GAAmC,SAA/ByoK,EAASzoK,GAAGksE,IAAI,YAC0B,oBAAjCu8F,EAASzoK,GAAG+lV,iBAAiC,CACtD,IAAIY,EAAal+K,EAASzoK,GAAG+lV,mBAAmB5rV,QACH,oBAAlCsuK,EAASzoK,GAAGimV,mBACrBU,EAAWr7O,UAAUm9D,EAASzoK,GAAGimV,qBAEnC/uF,EAAM0rF,WAAW+D,GAIvB,OAAOzvF,GAET79P,KAAKutV,aAAe,SAAUL,EAAQzM,GAEpC,IADA,IAAIrxK,EAAWpvK,KAAKksV,cACXvlV,EAAI,EAAGA,EAAIyoK,EAAStxK,OAAQ6I,IACA,SAA/ByoK,EAASzoK,GAAGksE,IAAI,YACwB,oBAA/Bu8F,EAASzoK,GAAG6mV,gBACrBp+K,EAASzoK,GAAG6mV,eAAeN,EAAQzM,KAMzCgN,GAAmB,SAA0BhhU,EAAKw4T,GACpDoI,GAAmB9gU,KAAKvsB,KAAMysB,EAAKw4T,GACnCjlV,KAAK0tV,YAAc,SAAUR,EAAQzM,GACnCzgV,KAAKiyG,YACL,IAEEkjE,EAFEw4K,EAAU3tV,KAAKmoR,OACjBylE,EAAS5tV,KAAKqsH,QAEXrsH,KAAK6yE,IAAI,WAAa,GAAK86Q,GAAWC,KAAYV,IACrD/3K,EAAQsnK,EAAcsE,MAExB/gV,KAAKutV,aAAaL,EAAQzM,GACtBtrK,IACFsoK,EAAYtoK,GACZowJ,EAAI+Z,YAAYt/U,KAAK6yE,IAAI,YACzBgrQ,EAAe1oK,MAIjB+vK,GAAa,SAAoBz4T,EAAKw4T,GACxCwI,GAAiBlhU,KAAKvsB,KAAMysB,EAAKw4T,GACjC,IAAI7pV,EAAI4E,KAAKqrV,UAAU,IAAKrrV,KAAKosV,YAAa,GAC5CxwV,EAAIoE,KAAKqrV,UAAU,IAAKrrV,KAAKusV,aAAc,GAC3CxlL,EAAQ/mK,KAAKurV,OAAO,SAAWvrV,KAAKurV,OAAO,cACzCxkL,IACFA,EAAQi+K,GAAiBj+K,EAAO/mK,OAElCA,KAAKksV,YAAc,WACjB,OAAOnlL,EAAQ,CAACA,GAAS,IAE3B/mK,KAAKwtV,eAAiB,SAAUN,EAAQzM,GACtClb,EAAItyJ,OACJjzK,KAAK0tV,YAAYR,EAAQzM,GACzBlb,EAAIn9C,WAENpoR,KAAK4sV,kBAAoB,WACvB,OAAO/N,EAAe7+U,KAAK6yE,IAAI,aAAc,CAAC,EAAG,EAAG,EAAG,EAAGz3E,EAAGQ,MAG7DupV,GAAgB,SAAuB14T,EAAKw4T,GAC9CwI,GAAiBlhU,KAAKvsB,KAAMysB,EAAKw4T,GACjC,IAAIh0S,EAAQjxC,KAAKqrV,UAAU,QAASrrV,KAAKmsV,kBAAmBnsV,KAAKmsV,mBAC/D1xQ,EAASz6E,KAAKqrV,UAAU,SAAUrrV,KAAKssV,mBAAoBtsV,KAAKssV,oBAC9DrH,aAAoBC,KACtBj0S,EAAQg0S,EAASoG,UAAU,QAASpG,EAASkH,kBAAmBl7S,GAChEwpC,EAASwqQ,EAASoG,UAAU,SAAUpG,EAASqH,mBAAoB7xQ,IAErE,IAAI2nQ,GAAepiV,KAAKisF,KAAK,wBAA0B,IAAIp7D,OACzD66T,EAAU1rV,KAAKyrV,WAAW,UAAW,CAAC,EAAG,EAAGx6S,EAAOwpC,IACrDz6E,KAAKosV,UAAY,WACf,OAAOV,EAAQ,IAEjB1rV,KAAKusV,WAAa,WAChB,OAAOb,EAAQ,IAEjB1rV,KAAKwtV,eAAiB,SAAUN,EAAQzM,GACtClb,EAAItyJ,OACJjzK,KAAK0tV,YAAYR,EAAQzM,GACzBlb,EAAIn9C,WAENpoR,KAAK4sV,kBAAoB,WACvB,OAAO/N,EAAesD,EAAiBC,EAAanxS,EAAOwpC,EAAQixQ,EAAQ,GAAIA,EAAQ,IAAK,CAAC,EAAG,EAAG,EAAG,GAAIA,EAAQ,IAAKA,EAAQ,OAG/HtG,GAAe,SAAsB34T,EAAKw4T,GAC5CwI,GAAiBlhU,KAAKvsB,KAAMysB,EAAKw4T,GACjCjlV,KAAKwtV,eAAiB,SAAUN,EAAQzM,GACtClb,EAAItyJ,QACAjzK,KAAKo7F,MAAS8xP,GAAWzM,GAC3BzgV,KAAK6tV,UAEP7tV,KAAK0tV,YAAYR,EAAQzM,GACzBlb,EAAIn9C,WAENpoR,KAAK4sV,kBAAoB,WACvB,OAAO5sV,KAAK6yE,IAAI,eAGhBwyQ,GAAc,SAAqB54T,EAAKw4T,GACtCA,GAAYA,EAAS6I,QACvB9H,GAAaz5T,KAAKvsB,KAAMysB,EAAKw4T,GAC7BjlV,KAAKsqV,gBAAkB,CAAC,WAAY,QAAS,QAAS,iBAAkB,MAExElF,GAAa74T,KAAKvsB,KAAMysB,EAAKw4T,GAE/BjlV,KAAKo7F,KAAOp7F,KAAKisF,KAAK,SAAWjsF,KAAKisF,KAAK,cAC3CjsF,KAAK6tV,QAAU,WACb,GAAI7tV,KAAKo7F,KAAKvoF,MAAM,mCAAqC7S,KAAKksV,cAAcpuV,OAAQ,CAClF,IAAIonE,EAAOllE,KAAK0sV,mBAAmBz6O,UAAU4uO,KAAmBK,iBAChExB,EAAcx6Q,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIllE,KAAKo7F,SAIzDkqP,GAAa,SAAoB74T,EAAKw4T,GACxCwI,GAAiBlhU,KAAKvsB,KAAMysB,EAAKw4T,GACjC,IAAIh0S,EAAQjxC,KAAKqrV,UAAU,QAASrrV,KAAKmsV,kBAAmBnsV,KAAKmsV,mBAC/D1xQ,EAASz6E,KAAKqrV,UAAU,SAAUrrV,KAAKssV,mBAAoBtsV,KAAKssV,oBAChElxV,EAAI4E,KAAKqrV,UAAU,IAAKrrV,KAAKmsV,kBAAmB,GAChDvwV,EAAIoE,KAAKqrV,UAAU,IAAKrrV,KAAKssV,mBAAoB,GAC/CrH,aAAoBC,KACtBj0S,EAAQg0S,EAASoG,UAAU,QAASpG,EAASkH,kBAAmBl7S,GAChEwpC,EAASwqQ,EAASoG,UAAU,SAAUpG,EAASqH,mBAAoB7xQ,IAErE,IAAI2nQ,EAAcpiV,KAAKisF,KAAK,uBAC1By/P,EAAU1rV,KAAKyrV,WAAW,UAAW,CAAC,EAAG,EAAGx6S,EAAOwpC,IACjDz6E,KAAKoqV,gBAAkB2D,KACzB3yV,EAAIQ,EAAI,EACRq1C,EAAQo7S,GACR5xQ,EAAS+xQ,GACTpK,EAAc2L,IAEhB/tV,KAAKosV,UAAY,WACf,OAAOV,EAAQ,IAEjB1rV,KAAKusV,WAAa,WAChB,OAAOb,EAAQ,IAEjB1rV,KAAKwtV,eAAiB,SAAUN,EAAQzM,GACtClb,EAAItyJ,OACyB,WAAzBjzK,KAAK6yE,IAAI,eACX,IAAImuQ,IAAW9xU,EAAE9T,EAAGQ,GAAGwd,EAAEhe,EAAI61C,EAAOr1C,GAAGwd,EAAEhe,EAAI61C,EAAOr1C,EAAI6+E,GAAQrhE,EAAEhe,EAAGQ,EAAI6+E,GAAQ5gE,IAAIo4F,UAAUjyG,KAAK6yE,IAAI,cAAc22Q,mBACtHjkB,EAAIp9C,QAENnoR,KAAK0tV,YAAYR,EAAQzM,GACzBlb,EAAIn9C,WAENpoR,KAAK4sV,kBAAoB,WACvB,OAAO/N,EAAe7+U,KAAK6yE,IAAI,aAAc,CAAC,EAAG,EAAG,EAAG,EAAGz3E,EAAGQ,GAAIumV,EAAiBC,EAAanxS,EAAOwpC,EAAQixQ,EAAQ,GAAIA,EAAQ,IAAK,CAAC,EAAG,EAAG,EAAG,GAAIA,EAAQ,IAAKA,EAAQ,OAG1KnG,GAAe,SAAsB94T,EAAKw4T,GAC5C0H,GAAgBpgU,KAAKvsB,KAAMysB,EAAKw4T,GAChC,IAKE9xK,EALE/3E,EAAO4yP,GAAchuV,KAAKisF,KAAK,SAAWjsF,KAAKisF,KAAK,eAAiB,IACvE7wF,EAAI4E,KAAKqrV,UAAU,IAAKrrV,KAAKosV,YAAa,GAC1CxwV,EAAIoE,KAAKqrV,UAAU,IAAKrrV,KAAKusV,aAAc,GAC3Ct7S,EAAQjxC,KAAKqrV,UAAU,QAASrrV,KAAKosV,YAAa,QAClD3xQ,EAASz6E,KAAKqrV,UAAU,SAAUrrV,KAAKusV,aAAc,QAEvD,IACEp5K,EAAQoyJ,EAAI0oB,UAAU7yP,GACtB,MAAOvwF,GACPu1U,GAAgB,uCAAyChlP,EAAO,eAE9D+3E,IACY,SAAVliI,GAA+B,SAAXwpC,EACtBxpC,EAAQwpC,EAAS04F,EAAMliI,MAAQkiI,EAAM14F,OACjB,SAAXA,GAA+B,SAAVxpC,EAC9BwpC,EAASxpC,EAAQkiI,EAAM14F,OAAS04F,EAAMliI,MACnB,SAAVA,GAA+B,SAAXwpC,IAC7BxpC,EAAQkiI,EAAMliI,MACdwpC,EAAS04F,EAAM14F,UAGL,SAAVxpC,GAAoBA,EAAQ,KAC9BA,EAAQ,IAEK,SAAXwpC,GAAqBA,EAAS,KAChCA,EAAS,GAEXz6E,KAAK4sV,kBAAoB,WACvB,OAAO5sV,KAAK6yE,IAAI,cAElB7yE,KAAK0sV,iBAAmB,WACtB,OAAO,IAAI1L,IAAW9xU,EAAE9T,EAAGQ,GAAGwd,EAAEhe,EAAI61C,EAAOr1C,GAAGsT,EAAE9T,EAAI61C,EAAOr1C,EAAI6+E,GAAQrhE,EAAEhe,EAAGQ,EAAI6+E,IAElFz6E,KAAKwtV,eAAiB,SAAUN,EAAQzM,GACP,WAA3BzgV,KAAK6yE,IAAI,eAA+BsgG,IAG5CoyJ,EAAItyJ,OACJjzK,KAAKiyG,YACwB,WAAzBjyG,KAAK6yE,IAAI,aACX0yP,EAAIjmF,KAAKlkP,EAAGQ,EAAGq1C,EAAOwpC,GAAQ0tM,OAEhCnoR,KAAKmoR,OACLnoR,KAAKqsH,OACLk5M,EAAI19C,UAAUzsR,EAAGQ,GACjB2pU,EAAItzN,UAAUhmG,MAAMs5T,EAAK4c,EAAiBniV,KAAKisF,KAAK,uBAAwBh7C,EAAOwpC,EAAQ04F,EAAQA,EAAMliI,MAAQA,EAAOkiI,EAAQA,EAAM14F,OAASA,IAC1IyyQ,GAIH3nB,EAAIjmF,KAAK,EAAG,EAAGnsE,EAAMliI,MAAOkiI,EAAM14F,QAClC4kQ,EAAa7Q,EAAcH,OAAO9hU,SAJlCg5T,EAAI+Z,YAAYt/U,KAAK6yE,IAAI,YACzB0yP,EAAIpyJ,MAAMA,EAAO,EAAG,IAKtBoyJ,EAAIn9C,aAGJ4jE,GAAiB,SAASA,EAAev/T,EAAKw4T,EAAUtxE,GAC1D05E,GAAmB9gU,KAAKvsB,KAAMysB,EAAKw4T,GACnCjlV,KAAKs/C,IAAM,WACT,IAAIA,EAAMt/C,KAAKurV,OAAO,SAAWvrV,KAAKurV,OAAO,cAC7C,GAAIjsS,GAAOA,EAAIq3N,WAAalqP,EAAIkqP,SAC9B,OAAO,IAAIq1E,EAAe1sS,EAAK2lS,EAAUtxE,IAE3CpnP,KAAKvsB,MACP,IAAIkuV,EAAQluV,KAAKisF,KACjBjsF,KAAKisF,KAAO,SAAUv/D,GACpB,IAAIu/D,EAAOiiQ,EAAM3hU,KAAKvsB,KAAM0sB,GAC5B,OAAY,MAARu/D,GAAwB,SAARv/D,GAA0B,eAARA,EAC7Bu/D,EAEFjsF,KAAKs/C,IAAMt/C,KAAKs/C,IAAI2sC,KAAKv/D,GAAO,MAEzC,IAAIyhU,EAAenuV,KAAKksV,YACxBlsV,KAAKksV,YAAc,WACjB,IAAI98K,EAAW++K,EAAa5hU,KAAKvsB,MACjC,OAAIovK,EAAStxK,OAAS,EACbsxK,EAEFpvK,KAAKs/C,IAAMt/C,KAAKs/C,IAAI4sS,cAAgB,IAE7ClsV,KAAKmtV,SAAW,SAAUiB,EAAMC,EAAUnB,EAAQzM,GAChD,IAAI6N,EAAiD,mBAA9BtuV,KAAKisF,KAAK,gBAC/BsiQ,EAAwD,sBAArCvuV,KAAKisF,KAAK,uBAC7B7wF,EAAI4E,KAAKqrV,UAAU,IAAKiD,EAAmB,EAAItuV,KAAKmsV,kBAAmB,GACvEvwV,EAAIoE,KAAKqrV,UAAU,IAAKiD,EAAmB,EAAItuV,KAAKssV,mBAAoB,GACxEr7S,EAAQjxC,KAAKqrV,UAAU,QAASiD,EAAmB,EAAItuV,KAAKmsV,kBAAmB,GAC/E1xQ,EAASz6E,KAAKqrV,UAAU,SAAUiD,EAAmB,EAAItuV,KAAKssV,mBAAoB,GAChFiC,IAAqBD,GAEvBlzV,GAAKA,EAAIgzV,EAAK,KAAOA,EAAK,GAAKA,EAAK,KAAO,EAC3CxyV,GAAKA,EAAIwyV,EAAK,KAAOA,EAAK,GAAKA,EAAK,KAAO,EAC3Cn9S,EAAQA,GAASm9S,EAAK,GAAKA,EAAK,KAAO,EACvC3zQ,EAASA,GAAU2zQ,EAAK,GAAKA,EAAK,KAAO,IAC/BG,GAAoBD,IAC9BlzV,EAAIgzV,EAAK,GAAKhzV,GAAKgzV,EAAK,GAAKA,EAAK,IAClCxyV,EAAIwyV,EAAK,GAAKxyV,GAAKwyV,EAAK,GAAKA,EAAK,IAClCn9S,GAAiBm9S,EAAK,GAAKA,EAAK,GAChC3zQ,GAAmB2zQ,EAAK,GAAKA,EAAK,IAEpC,IAAI1C,EAAU1rV,KAAKyrV,WAAW,UAAW,CAAC,EAAG,EAAGx6S,EAAOwpC,IACrD2nQ,GAAepiV,KAAKisF,KAAK,wBAA0B,IAAIp7D,OACvD29T,EAAoB3P,EAAesD,EAAiBC,EAAanxS,EAAOwpC,EAAQixQ,EAAQ,GAAIA,EAAQ,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAIA,EAAQ,IAAKA,EAAQ,KAC/I5mV,EAAS88U,EAAc5hV,KAAKisF,KAAK,qBAKnC,GAJIsiQ,IACFzpV,EAAS+5U,EAAe,CAACuP,EAAK,GAAKA,EAAK,GAAI,EAAG,EAAGA,EAAK,GAAKA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAAKtpV,IAE1FA,EAAS+5U,EAAe/5U,EAAQ,CAAC,EAAG,EAAG,EAAG,EAAG1J,EAAGQ,KAC3CkJ,EAASq8U,EAAer8U,MAAa0pV,EAAoBrN,EAAeqN,MAAwBv9S,EAAQqmQ,EAAermQ,MAAYwpC,EAAS68N,EAAe78N,IAAU,CACxK,IAAI06F,EAAQsnK,EAAc,CAAC,EAAG,EAAGxrS,EAAOwpC,IAIxC,OAHA8qP,EAAItzN,UAAUhmG,MAAMs5T,EAAKipB,GACzBxuV,KAAKutV,aAAaL,EAAQzM,GAC1BhD,EAAYtoK,GACL,CAACkpK,EAAiBlpK,EAAOlkI,EAAOwpC,EAAQ31E,GAASupV,GAExD,OAAO16E,EAAW,CAACA,EAAS,GAAIA,EAAS,GAAK06E,QAAYtwV,GAG9DiC,KAAKosV,UAAY,WACf,IAAIkC,EAAiD,mBAA9BtuV,KAAKisF,KAAK,gBAC/Bh7C,EAAQjxC,KAAKqrV,UAAU,QAASiD,EAAmB,EAAItuV,KAAKmsV,kBAAmB,GACjF,OAAOnsV,KAAKyrV,WAAW,UAAW,CAAC,EAAG,EAAGx6S,EAAO,IAAI,IAEtDjxC,KAAKusV,WAAa,WAChB,IAAI+B,EAAiD,mBAA9BtuV,KAAKisF,KAAK,gBAC/BxR,EAASz6E,KAAKqrV,UAAU,SAAUiD,EAAmB,EAAItuV,KAAKssV,mBAAoB,GACpF,OAAOtsV,KAAKyrV,WAAW,UAAW,CAAC,EAAG,EAAG,EAAGhxQ,IAAS,KAGrDsxQ,GAAkB,SAASA,EAAgBt/T,EAAKw4T,EAAUtxE,GAC5DwyE,GAAQ55T,KAAKvsB,KAAMysB,EAAKw4T,GACxBjlV,KAAKsqV,gBAAkB,CAAC,QACxBtqV,KAAKs/C,IAAM,WACT,IAAIA,EAAMt/C,KAAKurV,OAAO,SAAWvrV,KAAKurV,OAAO,cAC7C,GAAIjsS,GAAOA,EAAIq3N,WAAalqP,EAAIkqP,SAC9B,OAAO,IAAIo1E,EAAgBzsS,EAAK2lS,EAAUtxE,IAE5CpnP,KAAKvsB,MACP,IAAIkuV,EAAQluV,KAAKisF,KACjBjsF,KAAKisF,KAAO,SAAUv/D,GACpB,IAAIu/D,EAAOiiQ,EAAM3hU,KAAKvsB,KAAM0sB,GAC5B,OAAY,MAARu/D,GAAwB,SAARv/D,GAA0B,eAARA,EAC7Bu/D,EAEFjsF,KAAKs/C,IAAMt/C,KAAKs/C,IAAI2sC,KAAKv/D,GAAO,MAEzC,IAAIyhU,EAAenuV,KAAKksV,YACxBlsV,KAAKksV,YAAc,WACjB,IAAI98K,EAAW++K,EAAa5hU,KAAKvsB,MACjC,OAAIovK,EAAStxK,OAAS,EACbsxK,EAEFpvK,KAAKs/C,IAAMt/C,KAAKs/C,IAAI4sS,cAAgB,IAE7ClsV,KAAKmtV,SAAW,SAAUiB,EAAMC,EAAUnB,EAAQzM,GAChD,IAAIrxK,EAAWpvK,KAAKksV,cACpB,GAAwB,IAApB98K,EAAStxK,OAAb,CAGA,GAAwB,IAApBsxK,EAAStxK,OAAc,CACzB,IAAIipK,EAAQqI,EAAS,GACnBq/K,EAAY1nL,EAAMl0F,IAAI,cACxB,GAAkB,SAAd47Q,EACF,OAEF,OAAOjO,EAAeiO,EAAW1nL,EAAMl0F,IAAI,gBAAkBw7Q,EAAU5N,GAEzE,IAGEv4J,EACArjD,EACAytB,EACA8Z,EACAE,EACAy0G,EARE2tE,EAA2C,mBAA/B1uV,KAAKisF,KAAK,iBACxBnnF,EAAS88U,EAAc5hV,KAAKisF,KAAK,sBACjCi5K,EAASllQ,KAAKisF,KAAK,gBAOnB0iQ,EAAS,EACTC,EAAU,EACVC,EAAS,EAIX,GAHIH,IACF5pV,EAAS+5U,EAAe,CAACuP,EAAK,GAAKA,EAAK,GAAI,EAAG,EAAGA,EAAK,GAAKA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAAKtpV,IAEtFA,EAASq8U,EAAer8U,GAAS,CACnC,GAAkB,mBAAd9E,KAAKpF,KACPiqI,EAAK7kI,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKosV,YAAa,GAC5D95L,EAAKtyJ,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKosV,YAAasC,EAAY,EAAI1uV,KAAKosV,aACjFhgL,EAAKpsK,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKusV,aAAc,GAC7DjgL,EAAKtsK,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKusV,aAAc,OACxD,CACLj6L,EAAKtyJ,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKosV,YAAasC,EAAY,GAAM,GAAM1uV,KAAKosV,aACzF9/K,EAAKtsK,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKusV,aAAcmC,EAAY,GAAM,GAAM1uV,KAAKusV,cAC1FxrE,EAAK/gR,KAAKqrV,UAAU,IAAKqD,EAAY,EAAI1uV,KAAKgrV,cAAe0D,EAAY,GAAM,GAAM1uV,KAAKgrV,eAC1FnmN,EAAK7kI,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKosV,YAAa95L,GAC5D8Z,EAAKpsK,KAAKqrV,UAAU,KAAMqD,EAAY,EAAI1uV,KAAKusV,aAAcjgL,GACzDy0G,EAAK,GACPq/D,GAAgB,qCAElB,IAAIj9U,EAAI7H,KAAKgD,KAAKhD,KAAK6C,IAAIm0J,EAAKztB,EAAI,GAAKvpI,KAAK6C,IAAImuK,EAAKF,EAAI,IACzD6gH,EAAa,EACX9pR,EAAI49Q,IAENkM,EAAalM,EAAK59Q,EAClB0hI,EAAKytB,GAAMztB,EAAKytB,GAAM26H,EACtB7gH,EAAKE,GAAMF,EAAKE,GAAM2gH,GAExBlM,EAAKzlR,KAAK4Z,IAAI6rQ,EAAI59Q,EAAI8pR,EAAa,UAErC,GAAe,YAAX/nB,GAAmC,WAAXA,EAAqB,CAC/C,IAAIlnQ,EAAMijV,EAAcn8U,GACtBgqV,EAAUlO,EAAe,CAACwN,EAAK,GAAIA,EAAK,IAAKpwV,GAC7C+wV,EAAUnO,EAAe,CAACwN,EAAK,GAAIA,EAAK,IAAKpwV,GAC7CgxV,EAAUpO,EAAe,CAACwN,EAAK,GAAIA,EAAK,IAAKpwV,GAC7CixV,EAAUrO,EAAe,CAACwN,EAAK,GAAIA,EAAK,IAAKpwV,GAC7B,mBAAdgC,KAAKpF,MAEP+zV,EAASrzV,KAAK4Z,KAAK45U,EAAQ,GAAKx8L,IAAOA,EAAKztB,IAAOiqN,EAAQ,GAAKxiL,IAAOA,EAAKF,IAAM2iL,EAAQ,GAAKz8L,IAAOA,EAAKztB,IAAOkqN,EAAQ,GAAKziL,IAAOA,EAAKF,IAAM4iL,EAAQ,GAAK18L,IAAOA,EAAKztB,IAAOmqN,EAAQ,GAAK1iL,IAAOA,EAAKF,IAAM6iL,EAAQ,GAAK38L,IAAOA,EAAKztB,IAAOoqN,EAAQ,GAAK3iL,IAAOA,EAAKF,KAAQ9wK,KAAK6C,IAAIm0J,EAAKztB,EAAI,GAAKvpI,KAAK6C,IAAImuK,EAAKF,EAAI,IAC1TwiL,EAAUtzV,KAAK4Z,KAAK45U,EAAQ,GAAKjqN,IAAOA,EAAKytB,IAAOw8L,EAAQ,GAAK1iL,IAAOA,EAAKE,IAAMyiL,EAAQ,GAAKlqN,IAAOA,EAAKytB,IAAOy8L,EAAQ,GAAK3iL,IAAOA,EAAKE,IAAM0iL,EAAQ,GAAKnqN,IAAOA,EAAKytB,IAAO08L,EAAQ,GAAK5iL,IAAOA,EAAKE,IAAM2iL,EAAQ,GAAKpqN,IAAOA,EAAKytB,IAAO28L,EAAQ,GAAK7iL,IAAOA,EAAKE,KAAQhxK,KAAK6C,IAAIm0J,EAAKztB,EAAI,GAAKvpI,KAAK6C,IAAImuK,EAAKF,EAAI,KAE3TuiL,EAASrzV,KAAKgD,KAAKhD,KAAK4Z,IAAI5Z,KAAK6C,IAAI2wV,EAAQ,GAAKx8L,EAAI,GAAKh3J,KAAK6C,IAAI2wV,EAAQ,GAAKxiL,EAAI,GAAIhxK,KAAK6C,IAAI4wV,EAAQ,GAAKz8L,EAAI,GAAKh3J,KAAK6C,IAAI4wV,EAAQ,GAAKziL,EAAI,GAAIhxK,KAAK6C,IAAI6wV,EAAQ,GAAK18L,EAAI,GAAKh3J,KAAK6C,IAAI6wV,EAAQ,GAAK1iL,EAAI,GAAIhxK,KAAK6C,IAAI8wV,EAAQ,GAAK38L,EAAI,GAAKh3J,KAAK6C,IAAI8wV,EAAQ,GAAK3iL,EAAI,KAAOy0G,EAAK,EAE1R4tE,EAASrzV,KAAKuiB,KAAK8wU,EAAS,IAC5BC,EAAUtzV,KAAKuiB,KAAK+wU,EAAU,IAC9BC,EAASD,EAAU,EAAID,EAGvBzmK,EADgB,mBAAdloL,KAAKpF,KACA2qU,EAAIznE,eAAej5H,EAAK+pN,GAAWt8L,EAAKztB,GAAKunC,EAAKwiL,GAAWtiL,EAAKF,GAAK9Z,EAAKq8L,GAAUr8L,EAAKztB,GAAKynC,EAAKqiL,GAAUriL,EAAKF,IAEpHm5J,EAAI3mE,eAAe/5H,EAAIunC,EAAI,EAAG9Z,EAAIga,EAAIy0G,EAAK4tE,EAAS5tE,GAE7D,IAAK,IAAIr8Q,EAAI,EAAGA,EAAImqV,EAAQnqV,IAG1B,IAFA,IAAIub,EAAS,EACXivU,EAAqB,YAAXhqF,IAAyBxgQ,EAAIkqV,GAAW,IAAM,EACjDjoV,EAAI,EAAGA,EAAIyoK,EAAStxK,OAAQ6I,IAAK,CACxC,IAAIwoV,EAAS//K,EAAS8/K,EAAUvoV,EAAIyoK,EAAStxK,OAAS,EAAI6I,GACxDyoV,EAAaD,EAAOt8Q,IAAI,cACP,SAAfu8Q,IACFA,EAAa5gB,EAAcC,aAE7B2gB,EAAa5O,EAAe4O,EAAYD,EAAOt8Q,IAAI,gBAAkBw7Q,EAAU5N,GAC/ExgU,EAAS3kB,KAAK4Z,IAAI+K,EAAQivU,EAAUC,EAAOxD,WAAW,SAAU,GAAK,EAAIwD,EAAOxD,WAAW,SAAU,IAC3F,IAANhlV,GAAoC,IAAzByoV,EAAW,GAAGtxV,SAC3BoqL,EAAKmnK,YAAc,cAEX,IAAN1oV,GAAWsZ,EAAS,GACtBioK,EAAK0jB,MAAMlnM,EAAI,GAAKmqV,EAAQO,EAAW,GAAIA,EAAW,IAExDlnK,EAAK0jB,MAAMlnM,EAAIub,IAAW0uU,EAASC,EAAU,GAAIQ,EAAW,GAAIA,EAAW,IACvEzoV,IAAMyoK,EAAStxK,OAAS,GAAKmiB,EAAS,GACxCioK,EAAK0jB,MAAMlnM,EAAI,GAAKmqV,EAAQO,EAAW,GAAIA,EAAW,IAK5D,OADAlnK,EAAKonK,aAAarjV,MAAMi8K,EAAMpjL,GACvB,CAACojL,EAAM,GAEd,OAAOyrF,EAAW,CAACA,EAAS,GAAIA,EAAS,GAAK06E,QAAYtwV,KAI5DwxV,GAAoB,SAA2B9iU,EAAKw4T,GACtD0H,GAAgBpgU,KAAKvsB,KAAMysB,EAAKw4T,GAChCjlV,KAAKwvV,UAAY,EACjBxvV,KAAK0sV,iBAAmB,WACtB,OAAO1sV,KAAK69P,OAEd79P,KAAK4sV,kBAAoB,WACvB,OAAO5sV,KAAK6yE,IAAI,cAElB7yE,KAAKwtV,eAAiB,SAAUN,EAAQzM,GACtC,GAA+B,WAA3BzgV,KAAK6yE,IAAI,eAA+B7yE,KAAK69P,MAAjD,CAMA,GAHA0nE,EAAItyJ,OACJjzK,KAAKiyG,YACLjyG,KAAKmoR,OACA+kE,EAoFHltV,KAAK69P,MAAM2rF,mBACXnK,EAAa7Q,EAAcH,OAC3B9I,EAAIh5T,KAAKvM,KAAK6yE,IAAI,kBAtFP,CACX,IACEsiG,EADEy4K,EAAS5tV,KAAKqsH,OAEduhO,IACFz4K,EAAQsnK,EAAcsE,MAExB,IAAI2I,EAAW1pV,KAAK69P,MAAM4rF,cACxBl9U,EAAOvM,KAAKitV,QAAQC,EAAQzM,GAC5BhzD,EAASztR,KAAKotV,UAAUF,EAAQzM,GAChC/2D,EAAY1pR,KAAK6yE,IAAI,gBACrB26M,EAAUxtR,KAAK6yE,IAAI,kBACrB,GAAItmE,GAAQkhR,EAAQ,CAIlB,GAHIlhR,GACF8yU,EAAa9yU,GAEXkhR,EAAQ,CACV,IAAK,IAAIv7Q,EAAI,EAAGA,EAAIw3U,EAAS5rV,OAAQoU,IACnC,GAAIuvU,EAAQiI,EAASx3U,GAAGm1U,YAAa,KAClB,WAAZ75D,GAAoC,UAAZA,IAAwB9D,EAAY,GAC3DggE,EAASx3U,GAAGo1U,YAAcoC,EAASx3U,GAAGo1U,WAAWxpV,OAAS,EAAG,CAC/D,IAAI2xV,EAAM/F,EAASx3U,GAAGo1U,WAAW,GAC/BoI,EAAMhG,EAASx3U,GAAGo1U,WAAW,GAC/BjI,EAAa5xD,GACG,WAAZD,EACF+3C,EAAIjmF,KAAKmwG,EAAM,GAAM/lE,EAAWgmE,EAAM,GAAMhmE,EAAWA,EAAWA,GAC7C,UAAZ8D,GACT+3C,EAAIoqB,OAAOF,EAAKC,EAAK,GAAMhmE,GAE7B67C,EAAIh5T,OAKZ,IAAIqjV,EAAY5vV,KAAK6yE,IAAI,oBACvBg9Q,EAAa7vV,KAAK6yE,IAAI,qBACxB,GAAIyuQ,EAAWthV,KAAKwvV,UAAW,GAAI,CACjC,IAAK,IAAIruN,EAAM,EAAGA,EAAMyuN,EAAU9xV,OAAQqjI,IACxCyuN,EAAUzuN,IAAQnhI,KAAKwvV,UAEzBK,GAAc7vV,KAAKwvV,UAErBjQ,EAAe9xD,GACf83C,EAAI77C,UAAUA,GAAWomE,WAAW9vV,KAAK6yE,IAAI,sBAAsB82M,SAAS3pR,KAAK6yE,IAAI,oBAAoB26M,QAAQA,GAASpgJ,KAAKwiN,EAAW,CACxIG,MAAOF,IAGX,IAAK,IAAIvuN,EAAM,EAAGA,EAAMooN,EAAS5rV,OAAQwjI,IACnCooN,EAASpoN,GAAK+lN,YAAc,GAC9BqC,EAASpoN,GAAKkoN,mBAGdj9U,GAAQkhR,EACV83C,EAAIyqB,cAAchwV,KAAK6yE,IAAI,cAClBtmE,EACTg5T,EAAIh5T,KAAKvM,KAAK6yE,IAAI,cACT46M,GACT83C,EAAI93C,SAGR,IAAIwiE,EAAcjwV,KAAK6yE,IAAI,gBACzBq9Q,EAAYlwV,KAAK6yE,IAAI,cACrBs9Q,EAAYnwV,KAAK6yE,IAAI,cACvB,GAAoB,SAAhBo9Q,GAAwC,SAAdC,GAAsC,SAAdC,EAAsB,CAC1E,IAAIC,EAAapwV,KAAK69P,MAAM8rF,aAC5B,GAAoB,SAAhBsG,EAAwB,CAC1B,IAAII,EAAS,IAAIC,GAAcL,EAAa,MAC5CI,EAAOE,YAAW,EAAO9P,EAAQ2P,EAAW,GAAI1mE,GAElD,GAAkB,SAAdwmE,EACF,IAAK,IAAIvpV,EAAI,EAAGA,EAAIypV,EAAWtyV,OAAS,EAAG6I,IAAK,CAC9C,IAAI6pV,EAAU,IAAIF,GAAcJ,EAAW,MAC3CM,EAAQD,YAAW,EAAO9P,EAAQ2P,EAAWzpV,GAAI+iR,GAGrD,GAAkB,SAAdymE,EAAsB,CACxB,IAAIM,EAAW,IAAIH,GAAcH,EAAW,MAC5CM,EAASF,YAAW,EAAO9P,EAAQ2P,EAAWA,EAAWtyV,OAAS,GAAI4rR,IAGtEv0G,IACFsoK,EAAYtoK,GACZ0oK,EAAe1oK,IAOnBowJ,EAAIn9C,aAGJo9D,GAAc,SAAqB/4T,EAAKw4T,GAC1CsK,GAAkBhjU,KAAKvsB,KAAMysB,EAAKw4T,GAClC,IAAI7pV,EAAI4E,KAAKqrV,UAAU,IAAKrrV,KAAKosV,YAAa,GAC5CxwV,EAAIoE,KAAKqrV,UAAU,IAAKrrV,KAAKusV,aAAc,GAC3C17U,EAAI7Q,KAAKqrV,UAAU,QAASrrV,KAAKosV,YAAa,GAC9C1nU,EAAI1kB,KAAKqrV,UAAU,SAAUrrV,KAAKusV,aAAc,GAChD5uF,EAAK39P,KAAKqrV,UAAU,KAAMrrV,KAAKosV,aAC/BxuF,EAAK59P,KAAKqrV,UAAU,KAAMrrV,KAAKusV,mBACtBxuV,IAAP4/P,QAA2B5/P,IAAP6/P,EACtBD,EAAKC,EAAK,OACM7/P,IAAP4/P,QAA2B5/P,IAAP6/P,EAC7BD,EAAKC,OACW7/P,IAAP4/P,QAA2B5/P,IAAP6/P,IAC7BA,EAAKD,GAEH9sP,EAAI,GAAK6T,EAAI,EACXi5O,GAAMC,GACRD,EAAKriQ,KAAK2Z,IAAI0oP,EAAI,GAAM9sP,GACxB+sP,EAAKtiQ,KAAK2Z,IAAI2oP,EAAI,GAAMl5O,GACxB1kB,KAAK69P,OAAQ,IAAImjF,IAAW9xU,EAAE9T,EAAIuiQ,EAAI/hQ,GAAGwd,EAAEhe,EAAIyV,EAAI8sP,EAAI/hQ,GAAGyS,EAAEsvP,EAAIC,EAAI,EAAG,EAAG,EAAGxiQ,EAAIyV,EAAGjV,EAAIgiQ,GAAIxkP,EAAEhe,EAAIyV,EAAGjV,EAAI8oB,EAAIk5O,GAAIvvP,EAAEsvP,EAAIC,EAAI,EAAG,EAAG,EAAGxiQ,EAAIyV,EAAI8sP,EAAI/hQ,EAAI8oB,GAAGtL,EAAEhe,EAAIuiQ,EAAI/hQ,EAAI8oB,GAAGrW,EAAEsvP,EAAIC,EAAI,EAAG,EAAG,EAAGxiQ,EAAGQ,EAAI8oB,EAAIk5O,GAAIxkP,EAAEhe,EAAGQ,EAAIgiQ,GAAIvvP,EAAEsvP,EAAIC,EAAI,EAAG,EAAG,EAAGxiQ,EAAIuiQ,EAAI/hQ,GAAGie,KAErP7Z,KAAK69P,OAAQ,IAAImjF,IAAW9xU,EAAE9T,EAAGQ,GAAGwd,EAAEhe,EAAIyV,EAAGjV,GAAGwd,EAAEhe,EAAIyV,EAAGjV,EAAI8oB,GAAGtL,EAAEhe,EAAGQ,EAAI8oB,GAAG7K,IAG9E7Z,KAAK69P,MAAQ,IAAImjF,IAGjByE,GAAgB,SAAuBh5T,EAAKw4T,GAC9CsK,GAAkBhjU,KAAKvsB,KAAMysB,EAAKw4T,GAClC,IAAI5nF,EAAKr9P,KAAKqrV,UAAU,KAAMrrV,KAAKosV,YAAa,GAC9C9uF,EAAKt9P,KAAKqrV,UAAU,KAAMrrV,KAAKusV,aAAc,GAC7CvvV,EAAIgD,KAAKqrV,UAAU,IAAKrrV,KAAKgrV,cAAe,GAE5ChrV,KAAK69P,MADH7gQ,EAAI,GACO,IAAIgkV,IAAW9xU,EAAEmuP,EAAKrgQ,EAAGsgQ,GAAIjvP,EAAErR,EAAGA,EAAG,EAAG,EAAG,EAAGqgQ,EAAKrgQ,EAAGsgQ,GAAIjvP,EAAErR,EAAGA,EAAG,EAAG,EAAG,EAAGqgQ,EAAKrgQ,EAAGsgQ,GAAIzjP,IAEvF,IAAImnU,IAGjB0E,GAAiB,SAAwBj5T,EAAKw4T,GAChDsK,GAAkBhjU,KAAKvsB,KAAMysB,EAAKw4T,GAClC,IAAI5nF,EAAKr9P,KAAKqrV,UAAU,KAAMrrV,KAAKosV,YAAa,GAC9C9uF,EAAKt9P,KAAKqrV,UAAU,KAAMrrV,KAAKusV,aAAc,GAC7C5uF,EAAK39P,KAAKqrV,UAAU,KAAMrrV,KAAKosV,YAAa,GAC5CxuF,EAAK59P,KAAKqrV,UAAU,KAAMrrV,KAAKusV,aAAc,GAE7CvsV,KAAK69P,MADHF,EAAK,GAAKC,EAAK,GACJ,IAAIojF,IAAW9xU,EAAEmuP,EAAKM,EAAIL,GAAIjvP,EAAEsvP,EAAIC,EAAI,EAAG,EAAG,EAAGP,EAAKM,EAAIL,GAAIjvP,EAAEsvP,EAAIC,EAAI,EAAG,EAAG,EAAGP,EAAKM,EAAIL,GAAIzjP,IAE9F,IAAImnU,IAGjB2E,GAAc,SAAqBl5T,EAAKw4T,GAC1CsK,GAAkBhjU,KAAKvsB,KAAMysB,EAAKw4T,GAClC,IAAIpgN,EAAK7kI,KAAKqrV,UAAU,KAAMrrV,KAAKosV,YAAa,GAC9ChgL,EAAKpsK,KAAKqrV,UAAU,KAAMrrV,KAAKusV,aAAc,GAC7Cj6L,EAAKtyJ,KAAKqrV,UAAU,KAAMrrV,KAAKosV,YAAa,GAC5C9/K,EAAKtsK,KAAKqrV,UAAU,KAAMrrV,KAAKusV,aAAc,GAC/CvsV,KAAK69P,OAAQ,IAAImjF,IAAW9xU,EAAE21H,EAAIunC,GAAIhzJ,EAAEk5I,EAAIga,IAE1Cs5K,GAAkB,SAAyBn5T,EAAKw4T,GAClDsK,GAAkBhjU,KAAKvsB,KAAMysB,EAAKw4T,GAClC,IAAIyL,EAAS1wV,KAAKwrV,cAAc,UAChCxrV,KAAK69P,MAAQ,IAAImjF,GACjB,IAAK,IAAIr6U,EAAI,EAAGA,EAAI+pV,EAAO5yV,OAAS,EAAG6I,GAAK,EAChC,IAANA,EACF3G,KAAK69P,MAAM3uP,EAAEwhV,EAAO/pV,GAAI+pV,EAAO/pV,EAAI,IAEnC3G,KAAK69P,MAAMzkP,EAAEs3U,EAAO/pV,GAAI+pV,EAAO/pV,EAAI,IAGnC+pV,EAAOjtU,OACT28T,GAAgB,qCAAuCsQ,EAAOjtU,OAE5DitU,EAAO5yV,OAAS,IAAM,GACxBsiV,GAAgB,kDAGhByF,GAAiB,SAAwBp5T,EAAKw4T,GAChDsK,GAAkBhjU,KAAKvsB,KAAMysB,EAAKw4T,GAClC,IAAIyL,EAAS1wV,KAAKwrV,cAAc,UAChCxrV,KAAK69P,MAAQ,IAAImjF,GACjB,IAAK,IAAIr6U,EAAI,EAAGA,EAAI+pV,EAAO5yV,OAAS,EAAG6I,GAAK,EAChC,IAANA,EACF3G,KAAK69P,MAAM3uP,EAAEwhV,EAAO/pV,GAAI+pV,EAAO/pV,EAAI,IAEnC3G,KAAK69P,MAAMzkP,EAAEs3U,EAAO/pV,GAAI+pV,EAAO/pV,EAAI,IAGvC3G,KAAK69P,MAAMhkP,IACP62U,EAAOjtU,OACT28T,GAAgB,qCAAuCsQ,EAAOjtU,OAE5DitU,EAAO5yV,OAAS,IAAM,GACxBsiV,GAAgB,iDAGhB0F,GAAc,SAAqBr5T,EAAKw4T,GAC1CsK,GAAkBhjU,KAAKvsB,KAAMysB,EAAKw4T,GAClCjlV,KAAK69P,OAAQ,IAAImjF,IAAW7+T,KAAKniB,KAAKisF,KAAK,MAC3C,IAAI0kQ,EAAa3wV,KAAKqrV,UAAU,aAAcrrV,KAAKgrV,eACnDhrV,KAAK2wV,WAAaA,EAAa,EAAIA,OAAa5yV,EAChDiC,KAAKwvV,eAAgCzxV,IAApBiC,KAAK2wV,WAA2B3wV,KAAK69P,MAAMwpF,YAAcrnV,KAAK2wV,WAAa,GAE1FL,GAAgB,SAAuB7jU,EAAKw4T,GAC9CoI,GAAmB9gU,KAAKvsB,KAAMysB,EAAKw4T,GACnC,IAAIh0S,EAAQjxC,KAAKqrV,UAAU,cAAerrV,KAAKmsV,kBAAmB,GAChE1xQ,EAASz6E,KAAKqrV,UAAU,eAAgBrrV,KAAKssV,mBAAoB,GACjEZ,EAAU1rV,KAAKyrV,WAAW,UAAW,CAAC,EAAG,EAAGx6S,EAAOwpC,IACrDz6E,KAAKosV,UAAY,WACf,OAAOV,EAAQ,IAEjB1rV,KAAKusV,WAAa,WAChB,OAAOb,EAAQ,IAEjB1rV,KAAKuwV,WAAa,SAAUrD,EAAQzM,EAAQmQ,EAAUC,GACpDtrB,EAAItyJ,OACJ,IAAI69K,EAAS9wV,KAAKisF,KAAK,UACrBiyC,EAAQl+H,KAAKisF,KAAK,eAClBk1G,EAAoB,SAAX2vJ,EAAoBF,EAAS,IAAM3xV,WAAW6xV,IAAW,GAAKx1V,KAAKiqI,GAAK,IACjFoV,EAAkB,mBAAVzc,EAA6B,EAAI2yN,EAC3CtrB,EAAItzN,UAAU32G,KAAKyK,IAAIo7L,GAAUxmD,EAAOr/I,KAAK0K,IAAIm7L,GAAUxmD,GAAQr/I,KAAK0K,IAAIm7L,GAAUxmD,EAAOr/I,KAAKyK,IAAIo7L,GAAUxmD,EAAOi2M,EAAS,GAAIA,EAAS,IAC7I,IAQIz7K,EARA47K,EAAO/wV,KAAKqrV,UAAU,OAAQrrV,KAAKosV,YAAa,GAClD4E,EAAOhxV,KAAKqrV,UAAU,OAAQrrV,KAAKusV,aAAc,GACjDiC,EAAoBrM,EAAiBniV,KAAKisF,KAAK,uBAAwBh7C,EAAOwpC,EAAQixQ,EAAQ,GAAIA,EAAQ,GAAI,IACnF,WAAzB1rV,KAAK6yE,IAAI,aACX0yP,EAAIjmF,KAAKkvG,EAAkB,IAAM9C,EAAQ,GAAKA,EAAQ,GAAK,EAAIqF,GAAQ9/S,EAAQ,EAAGu9S,EAAkB,IAAM9C,EAAQ,GAAKA,EAAQ,GAAK,EAAIsF,GAAQv2Q,EAAS,EAAGxpC,EAAOwpC,GAAQ0tM,OAE7Ko9C,EAAItzN,UAAUhmG,MAAMs5T,EAAKipB,GACzBjpB,EAAI19C,WAAWkpE,GAAOC,GAElBhxV,KAAK6yE,IAAI,WAAa,IAAMq6Q,IAC9B/3K,EAAQsnK,EAAcsE,MAExB/gV,KAAKutV,aAAaL,EAAQzM,GACtBtrK,IACFsoK,EAAYtoK,GACZowJ,EAAI+Z,YAAYt/U,KAAK6yE,IAAI,YACzBgrQ,EAAe1oK,IAEjBowJ,EAAIn9C,YAGJ0kE,GAAkB,SAAyBrgU,EAAKw4T,GAClDoI,GAAmB9gU,KAAKvsB,KAAMysB,EAAKw4T,GACnCjlV,KAAK+sV,QAAU,SAAUqB,GACvB,IAAIj5K,EAAQsnK,EAAcsE,KAC1Bxb,EAAItyJ,OAC+B,sBAA/BjzK,KAAKisF,KAAK,kBACZs5O,EAAItzN,UAAUm8O,EAAK,GAAKA,EAAK,GAAI,EAAG,EAAGA,EAAK,GAAKA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE1EpuV,KAAKmoR,OACLnoR,KAAKutV,cAAa,GAAM,GACxBhoB,EAAIn9C,UACJq1D,EAAYtoK,GACZ4oK,EAAa5oK,GAAO,KAGpB63K,GAAc,SAAqBvgU,EAAKw4T,GAC1CoI,GAAmB9gU,KAAKvsB,KAAMysB,EAAKw4T,GACnCjlV,KAAK+sV,QAAU,SAAUqB,GACvB,IAEIhzV,EAAGQ,EAAGiV,EAAG6T,EAFTywJ,EAAQsnK,EAAcsE,KAC1Bxb,EAAItyJ,OAE2B,mBAA3BjzK,KAAKisF,KAAK,cACZ7wF,EAAI4E,KAAKqrV,UAAU,IAAKrrV,KAAKosV,aAAc,IAAOgC,EAAK,GAAKA,EAAK,IAAMA,EAAK,IAC5ExyV,EAAIoE,KAAKqrV,UAAU,IAAKrrV,KAAKusV,cAAe,IAAO6B,EAAK,GAAKA,EAAK,IAAMA,EAAK,IAC7Ev9U,EAAI7Q,KAAKqrV,UAAU,QAASrrV,KAAKosV,YAAa,KAAOgC,EAAK,GAAKA,EAAK,KACpE1pU,EAAI1kB,KAAKqrV,UAAU,SAAUrrV,KAAKusV,aAAc,KAAO6B,EAAK,GAAKA,EAAK,OAEtEhzV,EAAI4E,KAAKqrV,UAAU,IAAKrrV,KAAKosV,aAAc,KAAQgC,EAAK,GAAKA,EAAK,IAAMA,EAAK,GAC7ExyV,EAAIoE,KAAKqrV,UAAU,IAAKrrV,KAAKusV,cAAe,KAAQ6B,EAAK,GAAKA,EAAK,IAAMA,EAAK,GAC9Ev9U,EAAI7Q,KAAKqrV,UAAU,QAASrrV,KAAKosV,YAAa,MAAQgC,EAAK,GAAKA,EAAK,IACrE1pU,EAAI1kB,KAAKqrV,UAAU,SAAUrrV,KAAKusV,aAAc,MAAQ6B,EAAK,GAAKA,EAAK,KAEzE7oB,EAAIjmF,KAAKlkP,EAAGQ,EAAGiV,EAAG6T,GAAGyjQ,OACiB,sBAAlCnoR,KAAKisF,KAAK,qBACZs5O,EAAItzN,UAAUm8O,EAAK,GAAKA,EAAK,GAAI,EAAG,EAAGA,EAAK,GAAKA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE1EpuV,KAAKmoR,OACLnoR,KAAKutV,cAAa,GAAO,GACzBhoB,EAAIn9C,UACJq1D,EAAYtoK,GACZ4oK,EAAa5oK,GAAO,KAGpB87K,GAAuB,SAA8BxkU,EAAKw4T,GAC5D0H,GAAgBpgU,KAAKvsB,KAAMysB,EAAKw4T,GAChCjlV,KAAKsqV,gBAAkB,CAAC,QAAS,QAAS,iBAAkB,KAC5DtqV,KAAK8tV,QAAS,EACd9tV,KAAK0sV,iBAAmB,WAEtB,IADA,IAAI7uF,EAAQ,IAAImjF,GACPr6U,EAAI,EAAGA,EAAI3G,KAAKkxV,KAAKpzV,OAAQ6I,IAAK,CACzC,IAAI8vB,EAAMz2B,KAAKkxV,KAAKvqV,GACpB,IAAK8vB,EAAI+f,OAAQ,CACf,IAAI26S,EAAM16T,EAAI26T,OAAS91V,KAAK0K,IAAIywB,EAAI0qK,QAClCkwJ,GAAO56T,EAAI26T,OAAS91V,KAAKyK,IAAI0wB,EAAI0qK,QACjCmwJ,EAAM76T,EAAI86T,QAAUj2V,KAAK0K,IAAIywB,EAAI0qK,QACjCojJ,GAAO9tT,EAAI86T,QAAUj2V,KAAKyK,IAAI0wB,EAAI0qK,QAClCqwJ,EAAM/6T,EAAIwa,MAAQ31C,KAAKyK,IAAI0wB,EAAI0qK,QAC/BqjJ,EAAM/tT,EAAIwa,MAAQ31C,KAAK0K,IAAIywB,EAAI0qK,QACjC08D,EAAM3uP,EAAEunB,EAAIr7B,EAAI+1V,EAAK16T,EAAI76B,EAAIy1V,GAAKj4U,EAAEqd,EAAIr7B,EAAI+1V,EAAMK,EAAK/6T,EAAI76B,EAAIy1V,EAAM7M,GAAKt1U,EAAEunB,EAAIr7B,EAAIk2V,EAAME,EAAK/6T,EAAI76B,EAAI2oV,EAAMC,GAAKprU,EAAEqd,EAAIr7B,EAAIk2V,EAAK76T,EAAI76B,EAAI2oV,IAG7I,OAAO1mF,GAET79P,KAAKyxV,mBAAqB,SAAUvE,EAAQzM,IACtCzgV,KAAKo7F,MAAS8xP,GAAWzM,GAC3BzgV,KAAK6tV,UAE6B,cAAhC7tV,KAAK6yE,IAAI,oBACX7yE,KAAK0xV,SAAS,IAAO1xV,KAAK2xV,MAAMpzU,MAAO,KAAQve,KAAK2xV,MAAMpzU,KAAM2uU,EAAQzM,GAEtC,aAAhCzgV,KAAK6yE,IAAI,oBACX7yE,KAAK0xV,SAAS,IAAO1xV,KAAK2xV,MAAMpzU,KAAMulU,EAAU9jV,KAAK2xV,MAAM7xT,KAAM9/B,KAAK2xV,MAAMpzU,MAAQ,KAAQve,KAAK2xV,MAAMpzU,KAAM2uU,EAAQzM,GAEvH,IAAIl0U,EAAOvM,KAAKitV,QAAQC,EAAQzM,GAC9BhzD,EAASztR,KAAKotV,UAAUF,EAAQzM,GAChCoQ,EAAc7wV,KAAK6yE,IAAI,gBACrB7yE,KAAK2xV,MAAMC,WACRnkE,EAIHojE,GAAiC,IAAlB7wV,KAAK2xV,MAAMpzU,MAH1BkvQ,EAASlhR,EACTskV,EAAgC,IAAlB7wV,KAAK2xV,MAAMpzU,OAM7B,IADA,IAAI6wJ,EAAWpvK,KAAKksV,cACXvlV,EAAI,EAAGA,EAAIyoK,EAAStxK,OAAQ6I,IAAK,CACxC,IAAIkrV,EAAYziL,EAASzoK,GACzB,OAAQkrV,EAAUj3V,MAChB,IAAK,QACL,IAAK,WACL,IAAK,IAC8B,SAA7Bi3V,EAAUh/Q,IAAI,YAChBg/Q,EAAUJ,mBAAmBvE,EAAQzM,GAEvC,MACF,IAAK,QACL,IAAK,iBACH,GAA+B,WAA3BzgV,KAAK6yE,IAAI,cACX,SAEF,GAAItmE,GAAQkhR,GAAUy/D,EAAQ,CACxB3gV,GACF8yU,EAAa9yU,GAEXkhR,GAAUojE,IACZtR,EAAe9xD,GACf83C,EAAI77C,UAAUmnE,GAAaf,WAAW9vV,KAAK6yE,IAAI,sBAAsB82M,SAAS3pR,KAAK6yE,IAAI,oBAAoB26M,QAAQxtR,KAAK6yE,IAAI,mBAAmBu6D,KAAKptI,KAAK6yE,IAAI,oBAAqB,CAChLk9Q,MAAO/vV,KAAK6yE,IAAI,wBAGpBksQ,EAAa/+U,KAAK2xV,MAAM7xT,KAAM9/B,KAAK2xV,MAAMpzU,MACzC0gU,IAAiB1yU,IAAQkhR,GACzB,IAAK,IAAIv7Q,EAAI,EAAGukB,EAAMo7T,EAAUX,KAAMh/U,EAAIukB,EAAI34B,OAAQoU,IACpD,IAAKukB,EAAIvkB,GAAGskC,QAAU8qS,EAAW7qT,EAAIvkB,GAAG++B,MAAO,GAAI,CACjD,IAAIlrC,EAAMzK,KAAKyK,IAAI0wB,EAAIvkB,GAAGivL,QACxBn7L,EAAM1K,KAAK0K,IAAIywB,EAAIvkB,GAAGivL,QACtBj4B,EAAOlpK,KAAK2xV,MAAMG,YAAc,IAAO,EACzC9S,EAAiBj5U,EAAM0wB,EAAIvkB,GAAGyoI,MAAO30I,EAAMywB,EAAIvkB,GAAGyoI,MAAO50I,EAAMmjK,EAAOljK,EAAKA,EAAMkjK,EAAOnjK,EAAK0wB,EAAIvkB,GAAG9W,EAAGq7B,EAAIvkB,GAAGtW,GAC9GsjV,EAAczoT,EAAIvkB,GAAGitU,OAGzBC,IAEF,OAG8B,iBAAhCp/U,KAAK6yE,IAAI,oBACX7yE,KAAK0xV,SAAS,IAAO1xV,KAAK2xV,MAAMpzU,KAAM,IAAOulU,EAAU9jV,KAAK2xV,MAAM7xT,KAAM9/B,KAAK2xV,MAAMpzU,MAAQ0lU,EAAWjkV,KAAK2xV,MAAM7xT,KAAM9/B,KAAK2xV,MAAMpzU,OAAQ2uU,EAAQzM,IAGtJzgV,KAAK0xV,SAAW,SAAUhoE,EAAWqoE,EAAc7E,EAAQzM,GACzD,IAAIl0U,EAAOvM,KAAKitV,QAAQC,EAAQzM,GAC9BhzD,EAASztR,KAAKotV,UAAUF,EAAQzM,GAC9Bl0U,GACF8yU,EAAa9yU,GAEXkhR,IACF8xD,EAAe9xD,GACf83C,EAAI77C,UAAU1pR,KAAK6yE,IAAI,iBAAiBi9Q,WAAW9vV,KAAK6yE,IAAI,sBAAsB82M,SAAS3pR,KAAK6yE,IAAI,oBAAoB26M,QAAQxtR,KAAK6yE,IAAI,mBAAmBu6D,KAAKptI,KAAK6yE,IAAI,oBAAqB,CAC7Lk9Q,MAAO/vV,KAAK6yE,IAAI,wBAGpB,IAAK,IAAI3gE,EAAI,EAAGukB,EAAMz2B,KAAKkxV,KAAMh/U,EAAIukB,EAAI34B,OAAQoU,IAC/C,IAAKukB,EAAIvkB,GAAGskC,QAAU8qS,EAAW7qT,EAAIvkB,GAAG++B,MAAO,GAAI,CACjD,IAAIkgT,GAAOY,EAAeroE,EAAY,GAAKpuR,KAAK0K,IAAIywB,EAAIvkB,GAAGivL,QACzDkwJ,IAAQU,EAAeroE,EAAY,GAAKpuR,KAAKyK,IAAI0wB,EAAIvkB,GAAGivL,QACxDmwJ,GAAOS,EAAeroE,EAAY,GAAKpuR,KAAK0K,IAAIywB,EAAIvkB,GAAGivL,QACvDojJ,IAAQwN,EAAeroE,EAAY,GAAKpuR,KAAKyK,IAAI0wB,EAAIvkB,GAAGivL,QACxDqwJ,EAAM/6T,EAAIvkB,GAAG++B,MAAQ31C,KAAKyK,IAAI0wB,EAAIvkB,GAAGivL,QACrCqjJ,EAAM/tT,EAAIvkB,GAAG++B,MAAQ31C,KAAK0K,IAAIywB,EAAIvkB,GAAGivL,SACvC,IAAI6/I,IAAW9xU,EAAEunB,EAAIvkB,GAAG9W,EAAI+1V,EAAK16T,EAAIvkB,GAAGtW,EAAIy1V,GAAKj4U,EAAEqd,EAAIvkB,GAAG9W,EAAI+1V,EAAMK,EAAK/6T,EAAIvkB,GAAGtW,EAAIy1V,EAAM7M,GAAKprU,EAAEqd,EAAIvkB,GAAG9W,EAAIk2V,EAAME,EAAK/6T,EAAIvkB,GAAGtW,EAAI2oV,EAAMC,GAAKprU,EAAEqd,EAAIvkB,GAAG9W,EAAIk2V,EAAK76T,EAAIvkB,GAAGtW,EAAI2oV,GAAK1qU,IAAI2vU,mBAC/Kj9U,GAAQkhR,EACV83C,EAAIyqB,gBACKzjV,EACTg5T,EAAIh5T,OACKkhR,GACT83C,EAAI93C,YAMVy4D,GAAkB,SAAyBz5T,EAAKw4T,GAClDjlV,KAAKpF,KAAO6xB,EAAIkqP,SAChB32Q,KAAK43Q,YAAcnrP,EAAI6wQ,WAErB0oD,GAAe,SAAsBv5T,EAAKw4T,GAC5CgM,GAAqB1kU,KAAKvsB,KAAMysB,EAAKw4T,IAEnCgB,GAAkB,SAAyBx5T,EAAKw4T,GAElD,IAA4BnwL,EAC5B,GAFAm8L,GAAqB1kU,KAAKvsB,KAAMysB,EAAKw4T,IAEhCnwL,EAAO90J,KAAKisF,KAAK,UAA4B,KAAhB6oE,EAAKjkI,OAAe,CACpD,IAAImhU,EAAchyV,KAAKqrV,UAAU,aAAcrrV,KAAKgrV,eACpDhrV,KAAKiyV,YAAa,IAAIjR,IAAW7+T,KAAK2yI,GACtC90J,KAAK2wV,WAAaqB,EAAc,EAAIA,EAAchyV,KAAKiyV,WAAW5K,YAClErnV,KAAKkyV,UAAYlyV,KAAKiyV,WAAW5K,YAAcrnV,KAAK2wV,gBAC/C,IAAK77L,EAAO90J,KAAKurV,OAAO,SAAWvrV,KAAKurV,OAAO,gBAAoC,SAAlBz2L,EAAK6hH,SAAqB,CAChG,IAAIw7E,EAAW,IAAIrM,GAAYhxL,EAAM90J,MACrCA,KAAKiyV,WAAaE,EAASt0F,MAAM/8P,QAAQmxG,UAAUkgP,EAASt/Q,IAAI,cAChE7yE,KAAK2wV,WAAa3wV,KAAK4rV,YAAYuG,EAASxB,WAAY3wV,KAAKiyV,WAAW5K,aACxErnV,KAAKkyV,UAAYlyV,KAAKiyV,WAAW5K,YAAcrnV,KAAK2wV,aAGpD5K,GAAc,SAAqBt5T,EAAKw4T,GAC1CgM,GAAqB1kU,KAAKvsB,KAAMysB,EAAKw4T,GACrCjlV,KAAKsqV,gBAAkB,CAAC,WAAY,QAAS,QAAS,iBAAkB,KACxE,SAAW8H,GACT,IAIEC,EACAC,EALEC,EAAgB,GAClBC,EAAgB/lU,EAAImrP,YACpB66E,EAAY,GACZC,EAAe,GAGfC,EAAW,EACXC,EAAW,EACb,SAASC,IACP,GAAIH,EAAa50V,OAYf,IAXA,IAAIg+E,EAAO42Q,EAAaA,EAAa50V,OAAS,GAC1C+9E,EAAQ62Q,EAAa,GACrBzhT,EAAQ6qC,EAAK1gF,EAAI0gF,EAAK7qC,MAAQ4qC,EAAMzgF,EACpC03V,EAAW,CACb,SAAY,EACZ,UAAa,GACb,OAAU,EACV,SAAY,EACZ,UAAa,GACb,OAAU,GACVT,EAAgBC,GAAoBrhT,GAAS,EACtCtqC,EAAI,EAAGA,EAAI+rV,EAAa50V,OAAQ6I,IACvC+rV,EAAa/rV,GAAGvL,GAAK03V,EAGzBJ,EAAe,GAEjB,SAASK,EAAat8T,EAAK34B,EAAQk1V,GACjC,IAAIC,EAAYx8T,EAAI,GAClBy8T,EAAWz8T,EAAIA,EAAI34B,OAAS,GAC5B4uR,EAASumE,EAAU73V,EACnBwxR,EAAOsmE,EAAS93V,EAAI83V,EAASjiT,MAC/B,GAAI+hT,EAAkB,CACpB,IAAIG,EAAYr1V,GAAU8uR,EAAOF,GACjC,GAAIymE,EAAY,GAAKA,EAAYl1V,IAC/B,IAAK,IAAIiU,EAAI,EAAGA,EAAIukB,EAAI34B,OAAQoU,IAC9BukB,EAAIvkB,GAAG9W,EAAIsxR,EAASymE,GAAa18T,EAAIvkB,GAAG9W,EAAIsxR,GAC5Cj2P,EAAIvkB,GAAGyoI,OAASw4M,EAChB18T,EAAIvkB,GAAG++B,OAASkiT,OAIpB,GAAI18T,EAAI34B,QAAU,EAEhB,IADA,IAAIs1V,GAAat1V,GAAU8uR,EAAOF,KAAYj2P,EAAI34B,OAAS,GAClDu1V,EAAM,EAAGA,EAAM58T,EAAI34B,OAAQu1V,IAClC58T,EAAI48T,GAAKj4V,GAAKi4V,EAAMD,EAI1BT,GAAY70V,GAAU8uR,EAAOF,GAE/B,SAASuzD,EAAUqT,EAAaC,GAC9BD,EAAYlnJ,GAAKu3I,EAAc2P,EAAYhI,cAAc,IAAKgI,EAAYlH,aAAcmH,EAAaA,EAAWnnJ,GAAGhjM,MAAMmqV,EAAWrC,KAAKpzV,QAAU,IACnJw1V,EAAY1L,GAAKjE,EAAc2P,EAAYhI,cAAc,IAAKgI,EAAY/G,cAAegH,EAAaA,EAAW3L,GAAGx+U,MAAMmqV,EAAWrC,KAAKpzV,QAAU,IACpJw1V,EAAYtL,IAAMrE,EAAc2P,EAAYhI,cAAc,KAAMgI,EAAYlH,aAAcmH,EAAaA,EAAWvL,IAAI5+U,MAAMmqV,EAAWrC,KAAKpzV,QAAU,IACtJw1V,EAAYrL,IAAMtE,EAAc2P,EAAYhI,cAAc,KAAMgI,EAAY/G,cAAegH,EAAaA,EAAWtL,IAAI7+U,MAAMmqV,EAAWrC,KAAKpzV,QAAU,IACvJw1V,EAAYE,KAAO7P,EAAc2P,EAAY9H,cAAc,UAAW+H,EAAaA,EAAWC,KAAKpqV,MAAMmqV,EAAWrC,KAAKpzV,QAAU,IACnIw1V,EAAYG,QAAUH,EAAY1H,YAAY0H,EAAYE,KAAKF,EAAYE,KAAK11V,OAAS,GAAIy1V,GAAcA,EAAWE,QAAS,GACtG,aAArBH,EAAY14V,OACd04V,EAAY1L,GAAK,IAEnB,IAAI8L,EAAc,CACd5B,YAAY,EACZF,UAAU,GAEZ+B,EAAiBC,GAAaN,EAAYzgR,IAAI,eAAmD,SAAnCygR,EAAYzgR,IAAI,eAA6D,WAAlCygR,EAAYzgR,IAAI,cAA4B6gR,GACvJ,IACEnuB,EAAIzlS,KAAK6zT,GACT,MAAO9oV,GACPu1U,GAAgB,qCAAuCuT,EAAiB,eAE1EL,EAAYpC,KAAO,GACnBoC,EAAYtlN,OAAS,EACrBslN,EAAY3B,MAAQ,CAClB7xT,KAAMylS,EAAIosB,MACVpzU,KAAM+0U,EAAYzgR,IAAI,aACtBi/Q,WAAY4B,EAAY5B,WACxBF,SAAU8B,EAAY9B,UAExB,IAAIiC,EAAaP,EAAYjI,UAAU,aAAciI,EAAYlH,iBAAaruV,GAC5Ei1V,EAAwD,qBAArCM,EAAYrnQ,KAAK,gBACpC2+K,EAAc0oF,EAAYzgR,IAAI,gBAC9B4uL,EAAgB6xF,EAAYzgR,IAAI,kBAChCihR,EAAaR,EAAYzgR,IAAI,eAC7BkhR,EAAgBT,EAAYzgR,IAAI,aAChCu0M,EAAWk9D,EAAYgP,EAAY3B,MAAM7xT,KAAMwzT,EAAY3B,MAAMpzU,KAAM+0U,EAAYzgR,IAAI,uBAAyBygR,EAAYzgR,IAAI,qBAAsBygR,EAAYzgR,IAAI,mBAC/I,aAArBygR,EAAY14V,OACdi4V,IACAF,EAAWC,EAAW,GAGxB,IADA,IAAIxjL,EAAWkkL,EAAYpH,cAClBvlV,EAAI,EAAGA,EAAIyoK,EAAStxK,OAAQ6I,IAAK,CACxC,IAAIkrV,EAAYziL,EAASzoK,GACzB,OAAQkrV,EAAUj3V,MAChB,IAAK,QACL,IAAK,WACL,IAAK,IACHqlV,EAAU4R,EAAWyB,GACrB,MACF,IAAK,QACL,IAAK,iBACH,IAAIU,EAAUnC,EAAUj6E,YACtBq8E,EAAeD,EACf/sQ,OAAQ,EACV4qQ,EAAUF,MAAQ2B,EAAY3B,MAC9BE,EAAUX,KAAO,GACjBsB,EAAgBA,EAAc1lP,UAAUknP,EAAQl2V,QACX,aAAjCw1V,EAAYzgR,IAAI,aAClBohR,EAAeA,EAAa7pV,QAAQ,QAAS,MAE7C6pV,EAAeA,EAAa7pV,QAAQ,SAAU,KAC1CmoV,EAAc1/U,MAAM,cACtBohV,EAAeA,EAAa7pV,QAAQ,QAAS,KAE3CooV,EAAc3/U,MAAM,aACtBohV,EAAeA,EAAa7pV,QAAQ,QAAS,MAGjDmoV,GAAiByB,EAEf/sQ,EADkB,IAAhB2jL,EACM,CAACqpF,GAEDA,EAAa1oV,MAAM,QAE7B,IAAK,IAAIsF,EAAI,EAAGA,EAAIo2E,EAAMnpF,OAAQ+S,IAAK,CAErC,IADA,IAAI4lB,EAAMguT,EAAW6O,EAAY3B,MAAM7xT,KAAMwzT,EAAY3B,MAAMpzU,KAAM0oE,EAAMp2E,IAClEqB,EAAI,EAAGA,EAAIukB,EAAI34B,OAAQoU,IAAK,CACnC,IAAIqsB,EAAQ+0T,EAAYtlN,OACtBkmN,EAAQZ,EAAYlnJ,GAAG7tK,GACvB41T,EAAQb,EAAY1L,GAAGrpT,GACvB61T,EAASd,EAAYtL,IAAIzpT,GACzB81T,EAASf,EAAYrL,IAAI1pT,GACzB+1T,EAAUhB,EAAYE,KAAKj1T,GAC3Bg2T,IAAqB,IAAN1jV,GAAiB,IAANqB,QACdnU,IAAVm2V,IACFK,GAAa,EACb1B,IACAF,EAAWuB,QAECn2V,IAAVo2V,IACFI,GAAa,EACb1B,IACAD,EAAWuB,QAEEp2V,IAAXq2V,IACFG,GAAa,EACb5B,GAAYyB,QAECr2V,IAAXs2V,IACFE,GAAa,EACb3B,GAAYyB,QAEEt2V,IAAZu2V,GAAiD,IAAxBhB,EAAYG,UACvCc,GAAa,GAEf,IAAIv1I,EAAW,CACbmgI,MAAO1oT,EAAIvkB,GAAGitU,MACdh+I,OAAQ7lM,KAAKiqI,GAAK,IAAM+tN,EAAY1H,YAAY0I,EAAShB,EAAYG,SACrEr4V,EAAGu3V,EAAWl8T,EAAIvkB,GAAG0yU,QACrBhpV,EAAGg3V,EAAWxrE,EAAW3wP,EAAIvkB,GAAG2yU,QAChC5zS,MAAOxa,EAAIvkB,GAAG++B,MACdmgT,OAAQtN,EAAUwP,EAAY3B,MAAM7xT,KAAMwzT,EAAY3B,MAAMpzU,MAC5DgzU,QAAStN,EAAWqP,EAAY3B,MAAM7xT,KAAMwzT,EAAY3B,MAAMpzU,MAC9Do8H,MAAO,EACPnkG,QAAQ,EACR+9S,WAAYA,GAEd7B,EAAa9rV,KAAKo4M,GAClB6yI,EAAUX,KAAKtqV,KAAKo4M,GACpBs0I,EAAYpC,KAAKtqV,KAAKo4M,GACtBs0I,EAAYtlN,QAAUv3G,EAAIvkB,GAAGwyU,QAAQ5mV,OACT,IAAxB40V,EAAa50V,SACfu0V,EAAgByB,EAChBxB,EAAmByB,GAErBpB,GAAYl8T,EAAIvkB,GAAG4yU,SAAWrjF,EAC9BmxF,GAAYn8T,EAAIvkB,GAAG6yU,SAEJ,MAAb99P,EAAMp2E,KACR8hV,GAAY/nF,GAGhB,MACF,QACE4nF,EAAgBA,EAAc1lP,UAAU+kP,EAAUj6E,YAAY95Q,SASpE,GANI+1V,GAAcP,EAAYpC,KAAKpzV,QACjCi1V,EAAaO,EAAYpC,KAAM2C,EAAYb,GAEpB,aAArBM,EAAY14V,MAA4C,SAArB04V,EAAY14V,MACjDi4V,IAEuB,aAArBS,EAAY14V,KAAqB,CACnC63V,EAAU7rV,KAAK0sV,GACf,IAAIrB,EAAaqB,EAAYrB,WACzBA,IACFU,EAAWV,EAAW1K,SAAS,GAC/BqL,EAAWX,EAAW1K,SAAS,IAG/BgM,IACFA,EAAWrC,KAAOqC,EAAWrC,KAAKruV,OAAOywV,EAAYpC,MACrDqC,EAAWvlN,QAAUslN,EAAYtlN,QAGrC,SAASwmN,EAAWlB,GAClB,IAAIrB,EAAaqB,EAAYrB,WAC3BtB,EAAa2C,EAAY3C,WACzBuB,EAAYoB,EAAYpB,UAC1B,GAAID,EAEF,IADA,IAAIwC,EAAanB,EAAYjI,UAAU,cAAesF,EAAY,GACzDz+U,EAAI,EAAGA,EAAIohV,EAAYpC,KAAKpzV,OAAQoU,IAAK,CAChD,IAAIwiV,EAAWD,EAAanB,EAAYpC,KAAKh/U,GAAG9W,EAAI,GAAMk4V,EAAYpC,KAAKh/U,GAAG++B,MAC9E,GAAIyjT,EAAW/D,GAAc+D,EAAW,EACtCpB,EAAYpC,KAAKh/U,GAAGskC,QAAS,MACxB,CACL,IAAIm+S,EAAc1C,EAAWpK,iBAAiB6M,EAAWxC,GACrD5Q,EAAW4Q,EAAW,KACxBoB,EAAYpC,KAAKh/U,GAAGyoI,OAASu3M,EAC7BoB,EAAYpC,KAAKh/U,GAAG++B,OAASihT,GAE/BoB,EAAYpC,KAAKh/U,GAAG9W,EAAIu5V,EAAY,GAAK,GAAMrB,EAAYpC,KAAKh/U,GAAG++B,MAAQ31C,KAAKyK,IAAI4uV,EAAY,IAAMrB,EAAYpC,KAAKh/U,GAAGtW,EAAIN,KAAK0K,IAAI2uV,EAAY,IACnJrB,EAAYpC,KAAKh/U,GAAGtW,EAAI+4V,EAAY,GAAK,GAAMrB,EAAYpC,KAAKh/U,GAAG++B,MAAQ31C,KAAK0K,IAAI2uV,EAAY,IAAMrB,EAAYpC,KAAKh/U,GAAGtW,EAAIN,KAAKyK,IAAI4uV,EAAY,IACnJrB,EAAYpC,KAAKh/U,GAAGivL,OAASwzJ,EAAY,GAAKrB,EAAYpC,KAAKh/U,GAAGivL,OAClEmyJ,EAAYpC,KAAKh/U,GAAGqiV,YAAa,QAIrC,IAAK,IAAIK,EAAM,EAAGA,EAAMtB,EAAYpC,KAAKpzV,OAAQ82V,IAC/CtB,EAAYpC,KAAK0D,GAAKp+S,QAAS,EAIrCypS,EAAUmS,EAAgB,MAC1B,IAAK,IAAIzrV,EAAI,EAAGA,EAAI8rV,EAAU30V,OAAQ6I,IACpC6tV,EAAW/B,EAAU9rV,IA7OzB,CA+OG3G,MACHA,KAAK4sV,kBAAoB,WACvB,OAAO5sV,KAAK6yE,IAAI,cAElB7yE,KAAKwtV,eAAiB,SAAUN,EAAQzM,GACtClb,EAAItyJ,OACJjzK,KAAKiyG,YACLjyG,KAAKmoR,OACL,IACEhzG,EADEy4K,EAAS5tV,KAAKqsH,OAEduhO,IACFz4K,EAAQsnK,EAAcsE,MAExB/gV,KAAKyxV,mBAAmBvE,EAAQzM,GAC5BtrK,IACFsoK,EAAYtoK,GACZ0oK,EAAe1oK,IAEjBowJ,EAAIn9C,YAGRvsQ,EAAUA,GAAW,GACrB,IAAIg5U,GAASh5U,EAAQi5U,SAAW,EAAI,IAElCzI,IAAiBxwU,EAAQo1B,OAASs0R,EAAIz/B,KAAK70P,OAAS4jT,GACpDrI,IAAkB3wU,EAAQ4+D,QAAU8qP,EAAIz/B,KAAKrrN,QAAUo6Q,GACvD9G,GAAsBlyU,EAAQkyU,qBAAuB,KAErD1D,GAASxuU,EAAQwuU,QAAgC,qBAAf0K,YAA8B3oF,aAAe2oF,YAA0C,oBAArBh/P,iBACpGqqP,GAAkBvkU,EAAQukU,gBAC1BwT,GAAe/3U,EAAQ+3U,aACvB5F,GAAgBnyU,EAAQmyU,cACxBzN,GAAgB1kU,EAAQ0kU,cACxBkK,GAAmB5uU,EAAQ4uU,iBAC3BpmN,GAAY/oI,KAAKuiB,KAAKviB,KAAK4Z,IAAI,EAAG2G,EAAQwoH,aAAe,EACzDg5M,GAAa,GACbsN,GAAgB,GAChBxnT,GAAQ,GACRugT,GAAa,GA+Ff,GA9F+B,oBAApBtD,KACTA,GAAkB,SAAyBhsU,QAClBrW,WAAZylB,SAAiD,oBAAjBA,QAAQ0mB,MACjD1mB,QAAQ0mB,KAAK91B,KAIS,oBAAjBw/U,KACTA,GAAe,SAAsB9gS,EAAQ4K,EAAM19B,EAAQ0zT,GAEzD,GAAIh2R,GAAQ19B,EAAQ,CAClB,GAAIulS,EAAIyvB,iBAAiB1oU,eAAewmC,EAAS,eAC/C,OAAOA,EAAS,cACX,GAAIyyQ,EAAIyvB,iBAAiB1oU,eAAewmC,EAAS,WAEtD,OADA4gS,EAAY9B,UAAW,EAChB9+R,EAAS,UACX,GAAIyyQ,EAAIyvB,iBAAiB1oU,eAAewmC,EAAS,SAEtD,OADA4gS,EAAY5B,YAAa,EAClBh/R,EAAS,QACX,GAAIyyQ,EAAIyvB,iBAAiB1oU,eAAewmC,GAG7C,OAFA4gS,EAAY9B,UAAW,EACvB8B,EAAY5B,YAAa,EAClBh/R,EAGX,GAAI4K,IAAS19B,EAAQ,CACnB,GAAIulS,EAAIyvB,iBAAiB1oU,eAAewmC,EAAS,SAC/C,OAAOA,EAAS,QACX,GAAIyyQ,EAAIyvB,iBAAiB1oU,eAAewmC,GAE7C,OADA4gS,EAAY9B,UAAW,EAChB9+R,EAGX,IAAK4K,GAAQ19B,EAAQ,CACnB,GAAIulS,EAAIyvB,iBAAiB1oU,eAAewmC,EAAS,WAC/C,OAAOA,EAAS,UACX,GAAIyyQ,EAAIyvB,iBAAiB1oU,eAAewmC,GAE7C,OADA4gS,EAAY5B,YAAa,EAClBh/R,EAGX,IAAK4K,IAAS19B,GACRulS,EAAIyvB,iBAAiB1oU,eAAewmC,GACtC,OAAOA,EAIX,GAAIA,EAAOjgD,MAAM,uBAAwB,CACvC,GAAI6qD,GAAQ19B,EACV,MAAO,mBAET,GAAI09B,IAAS19B,EACX,MAAO,aAET,IAAK09B,GAAQ19B,EACX,MAAO,eAET,IAAK09B,IAAS19B,EACZ,MAAO,mBAEJ,GAAI8yB,EAAOjgD,MAAM,2BAA4B,CAClD,GAAI6qD,GAAQ19B,EACV,MAAO,sBAET,GAAI09B,IAAS19B,EACX,MAAO,eAET,IAAK09B,GAAQ19B,EACX,MAAO,kBAET,IAAK09B,IAAS19B,EACZ,MAAO,cAEJ,CACL,GADS8yB,EAAOjgD,MAAM,4BAClB6qD,GAAQ19B,EACV,MAAO,wBAET,GAAI09B,IAAS19B,EACX,MAAO,iBAET,IAAK09B,GAAQ19B,EACX,MAAO,oBAET,IAAK09B,IAAS19B,EACZ,MAAO,eAKc,oBAAlBguT,KACTA,GAAgB,SAAuB5yP,GACrC,OAAOA,EAAKhxF,QAAQ,OAAQ,MAGH,oBAAlBm2U,GACTA,GAAgB,UAEhB,IAAK,IAAI7gU,MAAS8uT,EAAe,CAC/B,IAAIkS,GAAWH,GAAc/R,EAAc9uT,KAC3C8uT,EAAc9uT,IAAO,GAAKghU,GAAS,GACnClS,EAAc9uT,IAAO,GAAKghU,GAAS,GASvC,GANgC,oBAArB+J,KACTA,GAAmB,MAEF,kBAARr+E,IACTA,EAAM0zE,EAAS1zE,IAEbA,EAAK,CAEP,IADA,IAAIrpO,GAASqpO,EAAIr3K,qBAAqB,SAC7BpuF,GAAI,EAAGA,GAAIo8B,GAAOjlC,OAAQ6I,KACjC+8U,GAAaA,GAAW7gV,OAAOsgV,EAAgBpgT,GAAOp8B,IAAGixQ,cAE3D,IAAI2rE,GAAOyB,GAAiB54E,EAAK,MACjC,GAAmC,oBAAxBm3E,GAAKiK,eAA+B,CACzC3xU,EAAQwuU,SAAWA,IACrBjK,GAAgB,sFAElB,IAAI6U,GAAiB1vB,EAAI2vB,WACzB3vB,EAAItyJ,OAAO40G,UAAUzsR,GAAK,EAAGQ,GAAK,GAAG++I,MAAMk6M,IAC3CtR,GAAKiK,iBACL,IAAK,IAAI97J,GAAM,EAAGA,GAAMvuJ,GAAMrlC,OAAQ4zL,KACpC6zI,EAAIz/B,KAAKqvD,YAAYvuV,KAAKu8B,GAAMuuJ,KAElC6zI,EAAIn9C,UACJm9C,EAAI2vB,WAAaD,QAEjB7U,GAAgB,sDAAyDh0E,EAAIuK,eAG/EypE,GAAgB,uDAGPx+U,GAAoC,qBAAnBA,EAAOC,UACnCD,EAAOC,QAAUujU,IAKbgwB,MACA,SAAUjpD,EAAyBtqS,EAASgrS,GAElD,aACA,IAAIwoD,EAAY,IACc/qV,EAASuiS,EAAoB,OAAO,UAGlEzgR,OAAO0yE,eAAej9F,EAAS,aAAc,CAC3C9C,OAAO,IAET8C,EAAQ,gBAAa,EACrBgrS,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,MACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpBA,EAAoB,OACpB,IAAIyoD,EAAUC,EAAuB1oD,EAAoB,QACrDtqR,EAAQgzU,EAAuB1oD,EAAoB,QACnD2oD,EAAYD,EAAuB1oD,EAAoB,QACvD4oD,EAAWF,EAAuB1oD,EAAoB,QACtD6oD,EAAU7oD,EAAoB,MAC9B8oD,EAAaJ,EAAuB1oD,EAAoB,QACxD+oD,EAASL,EAAuB1oD,EAAoB,QACxD,SAAS0oD,EAAuB9oU,GAAO,OAAOA,GAAOA,EAAIgpK,WAAahpK,EAAM,CAAEijJ,QAASjjJ,GACvF,IAAI/S,EAAKmzR,EAAoB,OAC7B,SAASo2B,EAAgBnvI,EAAUjc,GACjC,KAAMic,aAAoBjc,GACxB,MAAM,IAAI5zE,UAAU,qCAGxB,SAASuxM,EAAkB/zS,EAAQonC,GACjC,IAAK,IAAIliC,EAAI,EAAGA,EAAIkiC,EAAM/qC,OAAQ6I,IAAK,CACrC,IAAIwsI,EAAatqG,EAAMliC,GACvBwsI,EAAWp0C,WAAao0C,EAAWp0C,aAAc,EACjDo0C,EAAWrZ,cAAe,EACtB,UAAWqZ,IAAYA,EAAWC,UAAW,GACjDhnH,OAAO0yE,eAAer9F,EAAQ0xI,EAAWzmH,IAAKymH,IAGlD,SAASuiK,EAAa79H,EAAa89H,EAAYC,GAG7C,OAFID,GAAYH,EAAkB39H,EAAYt3K,UAAWo1S,GACrDC,GAAaJ,EAAkB39H,EAAa+9H,GACzC/9H,EAET,SAASkkC,EAAgBtvL,EAAKC,EAAK3tB,GAWjC,OAVI2tB,KAAOD,EACTL,OAAO0yE,eAAeryE,EAAKC,EAAK,CAC9B3tB,MAAOA,EACPggG,YAAY,EACZ+6B,cAAc,EACdsZ,UAAU,IAGZ3mH,EAAIC,GAAO3tB,EAEN0tB,EAET,SAASmsJ,EAAQ3uE,EAAQ+4N,GACvB,IAAI92S,EAAOE,OAAOF,KAAK+9E,GACvB,GAAI79E,OAAOysJ,sBAAuB,CAChC,IAAI66F,EAAUtnP,OAAOysJ,sBAAsB5uE,GACvC+4N,IAAgBtvD,EAAUA,EAAQngN,QAAO,SAAUu3D,GACrD,OAAO1+F,OAAOsmH,yBAAyBzoC,EAAQ6gB,GAAK/rB,eAEtD7yE,EAAKtlB,KAAKqF,MAAMigB,EAAMwnP,GAExB,OAAOxnP,EAET,SAAS2pU,EAAep0V,GACtB,IAAK,IAAIkF,EAAI,EAAGA,EAAI9I,UAAUC,OAAQ6I,IAAK,CACzC,IAAIqzG,EAAyB,MAAhBn8G,UAAU8I,GAAa9I,UAAU8I,GAAK,GAC/CA,EAAI,EACNiyK,EAAQxsJ,OAAO4tF,IAAS,GAAMvhG,SAAQ,SAAUiU,GAC9CqvL,EAAgBt6M,EAAQirB,EAAKstF,EAAOttF,OAE7BN,OAAO2sJ,0BAChB3sJ,OAAO4sJ,iBAAiBv3K,EAAQ2qB,OAAO2sJ,0BAA0B/+D,IAEjE4+D,EAAQxsJ,OAAO4tF,IAASvhG,SAAQ,SAAUiU,GACxCN,OAAO0yE,eAAer9F,EAAQirB,EAAKN,OAAOsmH,yBAAyB14B,EAAQttF,OAIjF,OAAOjrB,EAET,SAASq0V,EAAUzlD,EAAUC,GAC3B,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrsM,UAAU,sDAEtBosM,EAAS9vS,UAAY6rB,OAAO26H,OAAOupJ,GAAcA,EAAW/vS,UAAW,CACrEE,YAAa,CACX1B,MAAOsxS,EACPj9J,UAAU,EACVtZ,cAAc,KAGdw2K,GAAYC,EAAgBF,EAAUC,GAE5C,SAASylD,EAAgBrtV,GAIvB,OAHAqtV,EAAkB3pU,OAAOwxN,eAAiBxxN,OAAOsmG,eAAiB,SAAyBhqH,GACzF,OAAOA,EAAEstH,WAAa5pG,OAAOsmG,eAAehqH,IAEvCqtV,EAAgBrtV,GAEzB,SAAS6nS,EAAgB7nS,EAAGqR,GAK1B,OAJAw2R,EAAkBnkR,OAAOwxN,gBAAkB,SAAyBl1O,EAAGqR,GAErE,OADArR,EAAEstH,UAAYj8G,EACPrR,GAEF6nS,EAAgB7nS,EAAGqR,GAE5B,SAASi8U,IACP,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUrvM,KAAM,OAAO,EACnC,GAAqB,oBAAVsvM,MAAsB,OAAO,EACxC,IAEE,OADA9mV,KAAK9O,UAAU6P,SAASmc,KAAK0pU,QAAQC,UAAU7mV,KAAM,IAAI,iBAClD,EACP,MAAOxE,GACP,OAAO,GAGX,SAASirS,EAAuBx2S,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIy2S,eAAe,6DAE3B,OAAOz2S,EAET,SAAS82V,EAA2B92V,EAAMitB,GACxC,OAAIA,GAAyB,kBAATA,GAAqC,oBAATA,EAGzCupR,EAAuBx2S,GAFrBitB,EAIX,SAAS8pU,EAAaC,GACpB,IAAIC,EAA4BP,IAChC,OAAO,WACL,IACElmU,EADE0mU,EAAQT,EAAgBO,GAE5B,GAAIC,EAA2B,CAC7B,IAAIE,EAAYV,EAAgB/1V,MAAMS,YACtCqvB,EAASmmU,QAAQC,UAAUM,EAAO34V,UAAW44V,QAE7C3mU,EAAS0mU,EAAMvqV,MAAMjM,KAAMnC,WAE7B,OAAOu4V,EAA2Bp2V,KAAM8vB,IAG5C,SAASunL,EAAe1pL,EAAKhnB,GAC3B,OAAO+vV,EAAgB/oU,IAAQgpU,EAAsBhpU,EAAKhnB,IAAMinS,EAA4BjgR,EAAKhnB,IAAMiwV,IAEzG,SAASjqJ,EAAmBh/K,GAC1B,OAAOkpU,EAAmBlpU,IAAQmpU,EAAiBnpU,IAAQigR,EAA4BjgR,IAAQopU,IAEjG,SAASF,EAAmBlpU,GAC1B,GAAIxtB,MAAMC,QAAQutB,GAAM,OAAOmgR,EAAkBngR,GAEnD,SAAS+oU,EAAgB/oU,GACvB,GAAIxtB,MAAMC,QAAQutB,GAAM,OAAOA,EAEjC,SAASmpU,EAAiBE,GACxB,GAAsB,qBAAXp9N,QAA0BA,OAAO+wB,YAAYv+H,OAAO4qU,GAAO,OAAO72V,MAAMyK,KAAKosV,GAE1F,SAASL,EAAsBhpU,EAAKhnB,GAClC,GAAsB,qBAAXizH,QAA4BA,OAAO+wB,YAAYv+H,OAAOuB,GAAjE,CACA,IAAIktG,EAAO,GACP71B,GAAK,EACL9kB,GAAK,EACLk2F,OAAKr4K,EACT,IACE,IAAK,IAAiCunD,EAA7Bs3C,EAAKjvE,EAAIisG,OAAO+wB,cAAmB3lD,GAAM1/C,EAAKs3C,EAAGtlE,QAAQ+tF,MAAOrgB,GAAK,EAE5E,GADA61B,EAAKj0H,KAAK0+C,EAAGvmD,OACT4H,GAAKk0H,EAAK/8H,SAAW6I,EAAG,MAE9B,MAAOgxG,GACPz3B,GAAK,EACLk2F,EAAKz+D,EACL,QACA,IACO3S,GAAsB,MAAhBpI,EAAG,WAAmBA,EAAG,YACpC,QACA,GAAI1c,EAAI,MAAMk2F,GAGlB,OAAOv7C,GAET,SAAS+yK,EAA4BllS,EAAGmlS,GACtC,GAAKnlS,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOolS,EAAkBplS,EAAGmlS,GACvD,IAAInpS,EAAI0nB,OAAO7rB,UAAU6P,SAASmc,KAAK7jB,GAAGU,MAAM,GAAI,GAEpD,MADU,WAAN1E,GAAkBgE,EAAEjI,cAAaiE,EAAIgE,EAAEjI,YAAY7F,MAC7C,QAAN8J,GAAqB,QAANA,EAAoBvE,MAAMyK,KAAKlC,GACxC,cAANhE,GAAqB,2CAA2CwpB,KAAKxpB,GAAWopS,EAAkBplS,EAAGmlS,QAAzG,GAEF,SAASC,EAAkBngR,EAAKhlB,IACnB,MAAPA,GAAeA,EAAMglB,EAAI7vB,UAAQ6K,EAAMglB,EAAI7vB,QAC/C,IAAK,IAAI6I,EAAI,EAAGg3J,EAAO,IAAIx9J,MAAMwI,GAAMhC,EAAIgC,EAAKhC,IAAKg3J,EAAKh3J,GAAKgnB,EAAIhnB,GACnE,OAAOg3J,EAET,SAASo5L,IACP,MAAM,IAAI9yP,UAAU,wIAEtB,SAAS2yP,IACP,MAAM,IAAI3yP,UAAU,6IAEtB,SAASytG,EAA2BhpM,EAAGilS,GACrC,IAAIxsI,EACJ,GAAsB,qBAAXvnC,QAAgD,MAAtBlxH,EAAEkxH,OAAO+wB,UAAmB,CAC/D,GAAIxqJ,MAAMC,QAAQsI,KAAOy4J,EAAKysI,EAA4BllS,KAAOilS,GAAkBjlS,GAAyB,kBAAbA,EAAE5K,OAAqB,CAChHqjK,IAAIz4J,EAAIy4J,GACZ,IAAIx6J,EAAI,EACJysC,EAAI,aACR,MAAO,CACL9nC,EAAG8nC,EACH1uC,EAAG,WACD,OAAIiC,GAAK+B,EAAE5K,OAAe,CACxBunH,MAAM,GAED,CACLA,MAAM,EACNtmH,MAAO2J,EAAE/B,OAGbkE,EAAG,SAAWosV,GACZ,MAAMA,GAER3/U,EAAG87B,GAGP,MAAM,IAAI6wD,UAAU,yIAEtB,IAEE0T,EAFEu/O,GAAmB,EACrBC,GAAS,EAEX,MAAO,CACL7rV,EAAG,WACD61J,EAAKz4J,EAAEkxH,OAAO+wB,aAEhBjmJ,EAAG,WACD,IAAIqrB,EAAOoxI,EAAG7pI,OAEd,OADA4/T,EAAmBnnU,EAAKs1F,KACjBt1F,GAETllB,EAAG,SAAWusV,GACZD,GAAS,EACTx/O,EAAMy/O,GAER9/U,EAAG,WACD,IACO4/U,GAAiC,MAAb/1L,EAAGw9J,QAAgBx9J,EAAGw9J,SAC/C,QACA,GAAIw4B,EAAQ,MAAMx/O,KAS1B,IAAI0/O,EAAoC,WACtC,SAASA,IACPp0B,EAAgBjjU,KAAMq3V,GAQxB,OANA3hD,EAAa2hD,EAAsB,CAAC,CAClC3qU,IAAK,WACL3tB,MAAO,WACL,MAAM,IAAIhC,MAAM,yCAGbs6V,EAV+B,GAYpCC,EAAuB,WACzB,SAASA,IACP,IAAIz7U,EAAUhe,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAClFolU,EAAgBjjU,KAAMs3V,GACtBt3V,KAAKu3V,OAAS,GAEdv3V,KAAKw3V,OAAmC,mBAAnB37U,EAAQ27U,QAAuB37U,EAAQ27U,OA8D9D,OA5DA9hD,EAAa4hD,EAAS,CAAC,CACrB5qU,IAAK,MACL3tB,MAAO,SAAa2tB,EAAK/a,GACvB,OAAO3R,KAAKu3V,OAAO7qU,GAAO/a,IAE3B,CACD+a,IAAK,MACL3tB,MAAO,SAAa2tB,GAClB,OAAO1sB,KAAKu3V,OAAO7qU,KAEpB,CACDA,IAAK,WACL3tB,MAAO,WACL,IAAIurM,EAAQtqM,KAGRy3V,EAAarrU,OAAOF,KAAKlsB,KAAKu3V,QAAQv2U,MAAK,SAAUhlB,EAAGG,GAC1D,OAAOmuM,EAAMotJ,aAAa17V,EAAGG,MAE3B0S,EAAM,CAAC,MACX,GAAI7O,KAAKw3V,QAAUC,EAAW35V,OAAS,EAAG,CACxC,IAAI+9E,EAAQ47Q,EAAW,GACrB37Q,EAAO27Q,EAAWA,EAAW35V,OAAS,GACxC+Q,EAAIjI,KAAK,aAAa/D,OAAO80V,EAAUx+M,QAAQ,CAACn5I,KAAK43V,YAAY/7Q,GAAQ77E,KAAK43V,YAAY97Q,OAE5FjtE,EAAIjI,KAAK,MAAM/D,OAAO7C,KAAK63V,YAAa,OACxC,IACEvmJ,EADEG,EAAYC,EAA2B+lJ,GAE3C,IACE,IAAKhmJ,EAAUnmM,MAAOgmM,EAAQG,EAAU/sM,KAAK2gH,MAAO,CAClD,IAAI34F,EAAM4kL,EAAMvyM,MAChB8P,EAAIjI,KAAK,OAAO/D,OAAO80V,EAAUx+M,QAAQn5I,KAAK43V,YAAYlrU,IAAO,KAAK7pB,OAAO80V,EAAUx+M,QAAQn5I,KAAKu3V,OAAO7qU,OAE7G,MAAOirF,GACP85F,EAAU5mM,EAAE8sG,GACZ,QACA85F,EAAUn6L,IAIZ,OAFAzI,EAAIjI,KAAK,KACTiI,EAAIjI,KAAK,MACFiI,EAAIxO,KAAK,QAEjB,CACDqsB,IAAK,eACL3tB,MAAO,WAEL,MAAM,IAAIhC,MAAM,uCAEjB,CACD2vB,IAAK,YACL3tB,MAAO,WACL,MAAM,IAAIhC,MAAM,uCAEjB,CACD2vB,IAAK,cACL3tB,MAAO,WAEL,MAAM,IAAIhC,MAAM,yCAGbu6V,EApEkB,GAsEvBrrT,EAAM,SAAa73B,EAAKtW,GAC1B,OAAQqC,MAAMrC,EAAS,GAAGuC,KAAK,KAAO+T,GAAKhL,OAAOtL,IAEhDg6V,EAAc,oBACdC,EAAY,CACd,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,OACN,IAAK,MACL,IAAK,OAGHC,EAAY,SAAmBC,GACjC,IAAIzrV,EAAIyrV,EAAKn6V,OACb,GAAQ,EAAJ0O,EACF,MAAM,IAAIzP,MAAM,8BAEhB,IAAK,IAAI4J,EAAI,EAAG2vB,EAAM9pB,EAAI,EAAG7F,EAAI2vB,EAAK3vB,GAAK,EAAG,CAC5C,IAAI3K,EAAIi8V,EAAKtxV,GACbsxV,EAAKtxV,GAAKsxV,EAAKtxV,EAAI,GACnBsxV,EAAKtxV,EAAI,GAAK3K,EAGlB,OAAOi8V,GAELN,EAAyB,WAC3B,SAASA,IACP10B,EAAgBjjU,KAAM23V,GAiFxB,OA/EAjiD,EAAaiiD,EAAW,KAAM,CAAC,CAC7BjrU,IAAK,UACL3tB,MAAO,SAAiBkrG,GACtB,IAAIiuP,EAAYr6V,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,KAGpF,GAAsB,kBAAXosG,EACT,MAAO,IAAIpnG,OAAOonG,GACb,GAAIA,aAAkBnhG,OAAQ,CAInC,IAHA,IAUIqvV,EAVA/xP,EAAS6D,EAETmuP,GAAY,EACPzxV,EAAI,EAAG2vB,EAAM8vE,EAAOtoG,OAAQ6I,EAAI2vB,EAAK3vB,IAC5C,GAAIy/F,EAAOx9F,WAAWjC,GAAK,IAAM,CAC/ByxV,GAAY,EACZ,MAoBJ,OAdED,EADEC,EACaJ,EAAU1tV,EAAOM,KAAK,SAAS/H,OAAOujG,GAAS,YAE/C97F,EAAOM,KAAKw7F,EAAO3D,UAAW,SAI7C2D,EADE8xP,EACOA,EAAUC,GAAc/nV,SAAS,UAEjC+nV,EAAa/nV,SAAS,UAGjCg2F,EAASA,EAAOh8F,QAAQ0tV,GAAa,SAAUh1V,GAC7C,OAAOi1V,EAAUj1V,MAEZ,IAAID,OAAOujG,EAAQ,KACrB,GAAI97F,EAAOirB,SAAS00E,GACzB,MAAO,IAAIpnG,OAAOonG,EAAO75F,SAAS,OAAQ,KACrC,GAAI65F,aAAkBotP,GAAwBptP,aAAkBqtP,EACrE,OAAOrtP,EAAO75F,WACT,GAAI65F,aAAkB56F,KAAM,CACjC,IAAIgpV,EAAU,KAAKx1V,OAAOopC,EAAIg+D,EAAOspI,iBAAkB,IAAMtnM,EAAIg+D,EAAOupI,cAAgB,EAAG,GAAKvnM,EAAIg+D,EAAOwpI,aAAc,GAAKxnM,EAAIg+D,EAAO0pI,cAAe,GAAK1nM,EAAIg+D,EAAO2pI,gBAAiB,GAAK3nM,EAAIg+D,EAAO4pI,gBAAiB,GAAK,IAS/N,OAPIqkH,IACFG,EAAUH,EAAU5tV,EAAOM,KAAKytV,EAAS,UAAUjoV,SAAS,UAE5DioV,EAAUA,EAAQjuV,QAAQ0tV,GAAa,SAAUh1V,GAC/C,OAAOi1V,EAAUj1V,OAGd,IAAID,OAAOw1V,EAAS,KACtB,GAAIl4V,MAAMC,QAAQ6pG,GAAS,CAChC,IAAIm2D,EAAQn2D,EAAO7lG,KAAI,SAAUyG,GAC/B,OAAO8sV,EAAUx+M,QAAQtuI,EAAGqtV,MAC3B73V,KAAK,KACR,MAAO,IAAIwC,OAAOu9J,EAAO,KACpB,GAAiC,oBAA7B,GAAGhwJ,SAASmc,KAAK09E,GAA+B,CACzD,IAAIp7F,EAAM,CAAC,MACX,IAAK,IAAI6d,KAAOu9E,EAAQ,CACtB,IAAIt4F,EAAMs4F,EAAOv9E,GACjB7d,EAAIjI,KAAK,IAAI/D,OAAO6pB,EAAK,KAAK7pB,OAAO80V,EAAUx+M,QAAQxnI,EAAKumV,KAG9D,OADArpV,EAAIjI,KAAK,MACFiI,EAAIxO,KAAK,MACX,MAAsB,kBAAX4pG,EACT0tP,EAAUx8V,OAAO8uG,GAEjB,GAAGpnG,OAAOonG,KAGpB,CACDv9E,IAAK,SACL3tB,MAAO,SAAgB2F,GACrB,GAAIA,GAAK,MAAQA,EAAI,KACnB,OAAOpJ,KAAKwR,MAAU,IAAJpI,GAAW,IAE/B,MAAM,IAAI3H,MAAM,uBAAuB8F,OAAO6B,QAG3CizV,EAnFoB,GAqFzBW,EAA4B,SAAUC,GACxCzC,EAAUwC,EAAcC,GACxB,IAAI1pF,EAASwnF,EAAaiC,GAC1B,SAASA,EAAaztU,EAAUmqB,GAC9B,IAAIs1J,EACA7hM,EAAO5K,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAU/E,OATAolU,EAAgBjjU,KAAMs4V,GACtBhuJ,EAAQukE,EAAOtiP,KAAKvsB,MACpBsqM,EAAMz/K,SAAWA,EACjBy/K,EAAMt1J,GAAKA,EACXs1J,EAAM7hM,KAAOA,EACb6hM,EAAMkuJ,IAAM,EACZluJ,EAAM3iG,SAAW2iG,EAAMz/K,SAAS88E,WAAa2iG,EAAM7hM,KAAKgwV,OACxDnuJ,EAAM06H,mBAAqB,EAC3B16H,EAAM9gG,OAAS,GACR8gG,EA2DT,OAzDAorG,EAAa4iD,EAAc,CAAC,CAC1B5rU,IAAK,QACL3tB,MAAO,SAAeuyG,GAUpB,GATKhnG,EAAOirB,SAAS+7E,KACnBA,EAAQhnG,EAAOM,KAAK0mG,EAAQ,KAAM,WAEpCtxG,KAAKglU,oBAAsB1zN,EAAMxzG,OACT,MAApBkC,KAAKyI,KAAKiwV,SACZ14V,KAAKyI,KAAKiwV,OAAS,GAErB14V,KAAKwpG,OAAO5iG,KAAK0qG,GACjBtxG,KAAKyI,KAAKiwV,QAAUpnP,EAAMxzG,OACtBkC,KAAK2nG,SACP,OAAO3nG,KAAKyI,KAAKgwV,OAAS,gBAG7B,CACD/rU,IAAK,MACL3tB,MAAO,SAAauyG,GAIlB,OAHIA,GACFtxG,KAAKgjB,MAAMsuF,GAENtxG,KAAKmvG,aAEb,CACDziF,IAAK,WACL3tB,MAAO,WACLiB,KAAKigB,OAASjgB,KAAK6qB,SAAS8tU,QAC5B,IAAIT,EAAYl4V,KAAK6qB,SAAS+tU,UAAY54V,KAAK6qB,SAAS+tU,UAAUC,aAAa74V,KAAKg1C,GAAIh1C,KAAKw4V,KAAO,KAChGx4V,KAAKwpG,OAAO1rG,SACdkC,KAAKwpG,OAASl/F,EAAOzH,OAAO7C,KAAKwpG,QAC7BxpG,KAAK2nG,WACP3nG,KAAKwpG,OAASjnF,EAAMmtJ,QAAQopL,YAAY94V,KAAKwpG,SAE3C0uP,IACFl4V,KAAKwpG,OAAS0uP,EAAUl4V,KAAKwpG,SAE/BxpG,KAAKyI,KAAKiwV,OAAS14V,KAAKwpG,OAAO1rG,QAEjCkC,KAAK6qB,SAAS3J,OAAO,GAAGre,OAAO7C,KAAKg1C,GAAI,KAAKnyC,OAAO7C,KAAKw4V,IAAK,SAC9Dx4V,KAAK6qB,SAAS3J,OAAOy2U,EAAUx+M,QAAQn5I,KAAKyI,KAAMyvV,IAC9Cl4V,KAAKwpG,OAAO1rG,SACdkC,KAAK6qB,SAAS3J,OAAO,UACrBlhB,KAAK6qB,SAAS3J,OAAOlhB,KAAKwpG,QAC1BxpG,KAAKwpG,OAAS,GAEdxpG,KAAK6qB,SAAS3J,OAAO,gBAEvBlhB,KAAK6qB,SAAS3J,OAAO,UACrBlhB,KAAK6qB,SAASkuU,QAAQ/4V,QAEvB,CACD0sB,IAAK,WACL3tB,MAAO,WACL,MAAO,GAAG8D,OAAO7C,KAAKg1C,GAAI,KAAKnyC,OAAO7C,KAAKw4V,IAAK,UAG7CF,EA1EuB,CA2E9BjB,GAME2B,EAAkB,CACpB1lR,IAAK,GACLF,KAAM,GACNG,OAAQ,GACRF,MAAO,IAEL4lR,EAAQ,CACV,MAAO,CAAC,QAAS,SACjB,MAAO,CAAC,QAAS,SACjBvgL,GAAI,CAAC,QAAS,SACdwgL,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACd9c,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,OAAQ,QACb8c,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,IAAK,CAAC,KAAM,QACZC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACd91G,GAAI,CAAC,QAAS,SACd+1G,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,IAAK,CAAC,OAAQ,SACdC,IAAK,CAAC,QAAS,QACfC,IAAK,CAAC,OAAQ,SACdC,IAAK,CAAC,OAAQ,QACdC,IAAK,CAAC,OAAQ,QACdC,KAAM,CAAC,QAAS,SAChBC,KAAM,CAAC,QAAS,SAChBC,KAAM,CAAC,QAAS,SAChBC,KAAM,CAAC,OAAQ,SACfC,KAAM,CAAC,MAAO,QACdC,UAAW,CAAC,OAAQ,KACpBC,MAAO,CAAC,IAAO,KACfC,MAAO,CAAC,IAAO,MACfC,OAAQ,CAAC,IAAO,KAChBC,QAAS,CAAC,IAAO,OAEfC,EAAuB,WACzB,SAASA,EAAQjxU,GACf,IAAIhP,EAAUhe,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAClFolU,EAAgBjjU,KAAM87V,GACtB97V,KAAK6qB,SAAWA,EAChB7qB,KAAKue,KAAO1C,EAAQ0C,MAAQ,SAC5Bve,KAAKm0M,OAASt4L,EAAQs4L,QAAU,WAEF,kBAAnBt4L,EAAQq7D,OACjBl3E,KAAKizE,QAAU,CACbK,IAAKz3D,EAAQq7D,OACb9D,KAAMv3D,EAAQq7D,OACd3D,OAAQ13D,EAAQq7D,OAChB7D,MAAOx3D,EAAQq7D,QAGjBl3E,KAAKizE,QAAUp3D,EAAQo3D,SAAW+lR,EAGpC,IAAIz/K,EAAap5K,MAAMC,QAAQJ,KAAKue,MAAQve,KAAKue,KAAO06U,EAAMj5V,KAAKue,KAAKjN,eACxEtR,KAAKixC,MAAQsoI,EAA2B,aAAhBv5K,KAAKm0M,OAAwB,EAAI,GACzDn0M,KAAKy6E,OAAS8+F,EAA2B,aAAhBv5K,KAAKm0M,OAAwB,EAAI,GAC1Dn0M,KAAKggB,QAAUhgB,KAAK6qB,SAASy0B,MAE7Bt/C,KAAK28U,UAAY38U,KAAK6qB,SAASy0B,IAAI,CACjCw/R,QAAS,CAAC,MAAO,OAAQ,SAAU,SAAU,YAG/C9+U,KAAK+7V,WAAa/7V,KAAK6qB,SAASy0B,IAAI,CAClCtZ,KAAM,OACNkiD,OAAQloF,KAAK6qB,SAASmxU,MAAMvzV,KAAKwzV,MACjCC,SAAU,CAAC,EAAG,EAAGl8V,KAAKixC,MAAOjxC,KAAKy6E,QAClC0hR,SAAUn8V,KAAKggB,QACfi9T,UAAWj9U,KAAK28U,YAElB38U,KAAKo8V,SAAW,GA+DlB,OA5DA1mD,EAAaomD,EAAS,CAAC,CACrBpvU,IAAK,OACL3tB,MAAO,WACL,OAAOiB,KAAKy6E,OAASz6E,KAAKizE,QAAQM,SAEnC,CACD7mD,IAAK,QACL3tB,MAAO,SAAeuyG,GACpB,OAAOtxG,KAAKggB,QAAQgD,MAAMsuF,KAE3B,CACD5kF,IAAK,MACL3tB,MAAO,WAGL,OAFAiB,KAAK+7V,WAAWzlU,MAChBt2B,KAAK28U,UAAUrmT,MACRt2B,KAAKggB,QAAQsW,QAErB,CACD5J,IAAK,QACLmmD,IAAK,WACH,IAAIpqE,EAAOzI,KAAK28U,UAAUl0U,KAC1B,OAAoB,MAAbA,EAAKi1U,KAAej1U,EAAKi1U,KAAOj1U,EAAKi1U,KAAO,KAEpD,CACDhxT,IAAK,WACLmmD,IAAK,WACH,IAAIpqE,EAAOzI,KAAK28U,UAAUl0U,KAC1B,OAAuB,MAAhBA,EAAKk1U,QAAkBl1U,EAAKk1U,QAAUl1U,EAAKk1U,QAAU,KAE7D,CACDjxT,IAAK,cACLmmD,IAAK,WACH,IAAIpqE,EAAOzI,KAAK28U,UAAUl0U,KAC1B,OAAyB,MAAlBA,EAAKm1U,UAAoBn1U,EAAKm1U,UAAYn1U,EAAKm1U,UAAY,KAEnE,CACDlxT,IAAK,WACLmmD,IAAK,WACH,IAAIpqE,EAAOzI,KAAK28U,UAAUl0U,KAC1B,OAAuB,MAAhBA,EAAKk/E,QAAkBl/E,EAAKk/E,QAAUl/E,EAAKk/E,QAAU,KAE7D,CACDj7D,IAAK,cACLmmD,IAAK,WACH,IAAIpqE,EAAOzI,KAAK28U,UAAUl0U,KAC1B,OAAOA,EAAK4zV,aAAe5zV,EAAK4zV,WAAa,MAE9C,CACD3vU,IAAK,cACLmmD,IAAK,WACH,IAAIpqE,EAAOzI,KAAK+7V,WAAWtzV,KAC3B,OAAsB,MAAfA,EAAK6zV,OAAiB7zV,EAAK6zV,OAAS7zV,EAAK6zV,OAAS,KAE1D,CACD5vU,IAAK,sBACLmmD,IAAK,WACH,IAAIpqE,EAAOzI,KAAK+7V,WAAWtzV,KAC3B,OAA6B,MAAtBA,EAAK8zV,cAAwB9zV,EAAK8zV,cAAgB9zV,EAAK8zV,cAAgBv8V,KAAK6qB,SAAS2xU,oCAGzFV,EAlGkB,GAoGvBW,EAA2B,SAAUC,GACvC5G,EAAU2G,EAAaC,GACvB,IAAI7tF,EAASwnF,EAAaoG,GAC1B,SAASA,IAEP,OADAx5B,EAAgBjjU,KAAMy8V,GACf5tF,EAAO5iQ,MAAMjM,KAAMnC,WAkB5B,OAhBA63S,EAAa+mD,EAAa,CAAC,CACzB/vU,IAAK,eACL3tB,MAAO,SAAsB/C,EAAGG,GAC9B,OAAOH,EAAE0vM,cAAcvvM,KAExB,CACDuwB,IAAK,YACL3tB,MAAO,WACL,MAAO,UAER,CACD2tB,IAAK,cACL3tB,MAAO,SAAqBsgB,GAC1B,OAAO,IAAIvW,OAAOuW,OAGfo9U,EAvBsB,CAwB7BnF,GAQF,SAASqF,EAAQ59V,EAAO69V,GACtB,GAAI79V,EAAQ69V,EAAW,GAAI,OAAO,EAClC,IAAIC,EAAa,EACbC,EAAWF,EAAW9+V,OAAS,EACnC,MAAO++V,GAAcC,EAAU,CAC7B,IAAIC,EAAczhW,KAAKoC,OAAOm/V,EAAaC,GAAY,GAEnDE,EAA2B,EAAdD,EAEjB,GAAIh+V,GAAS69V,EAAWI,IAAej+V,GAAS69V,EAAWI,EAAa,GACtE,OAAO,EAELj+V,EAAQ69V,EAAWI,EAAa,GAElCH,EAAaE,EAAc,EAG3BD,EAAWC,EAAc,EAG7B,OAAO,EAQT,IAAIE,EAAyB,CAAC,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAA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AQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KA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GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAK,EAE7D,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAG7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE5C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC9C,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE5D,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,E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AAQ,QACR,MAAQ,QACR,KAAQ,MACR,KAAQ,KACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,MAAQ,QACR,MAAQ,QACR,KAAQ,QACR,KAAQ,MACR,KAAQ,QACR,KAAQ,MACR,KAAQ,QACR,KAAQ,KACR,MAAQ,QACR,MAAQ,QACR,KAAQ,KACR,KAAQ,MACR,MAAQ,QACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,MAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,UACR,KAAQ,KACR,KAAQ,KACR,MAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,MAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,MACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,UACR,KAAQ,QACR,KAAQ,QACR,KAAQ,MACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,MACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,SACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,MACR,KAAQ,MACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,UACR,KAAQ,KACR,KAAQ,UACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,MACR,K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EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,IACpnyCC,GAAY,EAAC,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GACj0HC,GAAO,CAAC,GAAI,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,GAAI,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,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CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,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MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,M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EAAE,EAAE,KAAK+sB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKlyD,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGtX,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAInK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK26B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GA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GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,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E,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAGp4E,EAAGq4E,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAGr4E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AAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,O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","file":"js/chunk-7ba104c4.a04e9668.js","sourcesContent":["import { factory } from '../../utils/factory.js';\nvar name = 'acos';\nvar dependencies = ['typed', 'config', 'Complex'];\nexport var createAcos = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n Complex\n } = _ref;\n /**\n * Calculate the inverse cosine of a value.\n *\n * To avoid confusion with the matrix arccosine, this function does not\n * apply to matrices.\n *\n * Syntax:\n *\n * math.acos(x)\n *\n * Examples:\n *\n * math.acos(0.5) // returns number 1.0471975511965979\n * math.acos(math.cos(1.5)) // returns number 1.5\n *\n * math.acos(2) // returns Complex 0 + 1.3169578969248166 i\n *\n * See also:\n *\n * cos, atan, asin\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} The arc cosine of x\n */\n return typed(name, {\n number: function number(x) {\n if (x >= -1 && x <= 1 || config.predictable) {\n return Math.acos(x);\n } else {\n return new Complex(x, 0).acos();\n }\n },\n Complex: function Complex(x) {\n return x.acos();\n },\n BigNumber: function BigNumber(x) {\n return x.acos();\n }\n });\n});","import { factory } from '../../utils/factory.js';\nvar name = 'equalText';\nvar dependencies = ['typed', 'compareText', 'isZero'];\nexport var createEqualText = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n compareText,\n isZero\n } = _ref;\n /**\n * Check equality of two strings. Comparison is case sensitive.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.equalText(x, y)\n *\n * Examples:\n *\n * math.equalText('Hello', 'Hello') // returns true\n * math.equalText('a', 'A') // returns false\n * math.equal('2e3', '2000') // returns true\n * math.equalText('2e3', '2000') // returns false\n *\n * math.equalText('B', ['A', 'B', 'C']) // returns [false, true, false]\n *\n * See also:\n *\n * equal, compareText, compare, compareNatural\n *\n * @param {string | Array | DenseMatrix} x First string to compare\n * @param {string | Array | DenseMatrix} y Second string to compare\n * @return {number | Array | DenseMatrix} Returns true if the values are equal, and false if not.\n */\n return typed(name, {\n 'any, any': function anyAny(x, y) {\n return isZero(compareText(x, y));\n }\n });\n});","import { cbrt, expm1, isInteger, log10, log1p, log2, sign, toFixed } from '../../utils/number.js';\nvar n1 = 'number';\nvar n2 = 'number, number';\nexport function absNumber(a) {\n return Math.abs(a);\n}\nabsNumber.signature = n1;\nexport function addNumber(a, b) {\n return a + b;\n}\naddNumber.signature = n2;\nexport function subtractNumber(a, b) {\n return a - b;\n}\nsubtractNumber.signature = n2;\nexport function multiplyNumber(a, b) {\n return a * b;\n}\nmultiplyNumber.signature = n2;\nexport function divideNumber(a, b) {\n return a / b;\n}\ndivideNumber.signature = n2;\nexport function unaryMinusNumber(x) {\n return -x;\n}\nunaryMinusNumber.signature = n1;\nexport function unaryPlusNumber(x) {\n return x;\n}\nunaryPlusNumber.signature = n1;\nexport function cbrtNumber(x) {\n return cbrt(x);\n}\ncbrtNumber.signature = n1;\nexport function cubeNumber(x) {\n return x * x * x;\n}\ncubeNumber.signature = n1;\nexport function expNumber(x) {\n return Math.exp(x);\n}\nexpNumber.signature = n1;\nexport function expm1Number(x) {\n return expm1(x);\n}\nexpm1Number.signature = n1;\n\n/**\n * Calculate gcd for numbers\n * @param {number} a\n * @param {number} b\n * @returns {number} Returns the greatest common denominator of a and b\n */\nexport function gcdNumber(a, b) {\n if (!isInteger(a) || !isInteger(b)) {\n throw new Error('Parameters in function gcd must be integer numbers');\n }\n\n // https://en.wikipedia.org/wiki/Euclidean_algorithm\n var r;\n while (b !== 0) {\n r = a % b;\n a = b;\n b = r;\n }\n return a < 0 ? -a : a;\n}\ngcdNumber.signature = n2;\n\n/**\n * Calculate lcm for two numbers\n * @param {number} a\n * @param {number} b\n * @returns {number} Returns the least common multiple of a and b\n */\nexport function lcmNumber(a, b) {\n if (!isInteger(a) || !isInteger(b)) {\n throw new Error('Parameters in function lcm must be integer numbers');\n }\n if (a === 0 || b === 0) {\n return 0;\n }\n\n // https://en.wikipedia.org/wiki/Euclidean_algorithm\n // evaluate lcm here inline to reduce overhead\n var t;\n var prod = a * b;\n while (b !== 0) {\n t = b;\n b = a % t;\n a = t;\n }\n return Math.abs(prod / a);\n}\nlcmNumber.signature = n2;\n\n/**\n * Calculate the logarithm of a value, optionally to a given base.\n * @param {number} x\n * @param {number | null | undefined} base\n * @return {number}\n */\nexport function logNumber(x, y) {\n if (y) {\n return Math.log(x) / Math.log(y);\n }\n return Math.log(x);\n}\n\n/**\n * Calculate the 10-base logarithm of a number\n * @param {number} x\n * @return {number}\n */\nexport function log10Number(x) {\n return log10(x);\n}\nlog10Number.signature = n1;\n\n/**\n * Calculate the 2-base logarithm of a number\n * @param {number} x\n * @return {number}\n */\nexport function log2Number(x) {\n return log2(x);\n}\nlog2Number.signature = n1;\n\n/**\n * Calculate the natural logarithm of a `number+1`\n * @param {number} x\n * @returns {number}\n */\nexport function log1pNumber(x) {\n return log1p(x);\n}\nlog1pNumber.signature = n1;\n\n/**\n * Calculate the modulus of two numbers\n * @param {number} x\n * @param {number} y\n * @returns {number} res\n * @private\n */\nexport function modNumber(x, y) {\n // We don't use JavaScript's % operator here as this doesn't work\n // correctly for x < 0 and x === 0\n // see https://en.wikipedia.org/wiki/Modulo_operation\n return y === 0 ? x : x - y * Math.floor(x / y);\n}\nmodNumber.signature = n2;\n\n/**\n * Calculate the nth root of a, solve x^root == a\n * http://rosettacode.org/wiki/Nth_root#JavaScript\n * @param {number} a\n * @param {number} [2] root\n * @private\n */\nexport function nthRootNumber(a) {\n var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var inv = root < 0;\n if (inv) {\n root = -root;\n }\n if (root === 0) {\n throw new Error('Root must be non-zero');\n }\n if (a < 0 && Math.abs(root) % 2 !== 1) {\n throw new Error('Root must be odd when a is negative.');\n }\n\n // edge cases zero and infinity\n if (a === 0) {\n return inv ? Infinity : 0;\n }\n if (!isFinite(a)) {\n return inv ? 0 : a;\n }\n var x = Math.pow(Math.abs(a), 1 / root);\n // If a < 0, we require that root is an odd integer,\n // so (-1) ^ (1/root) = -1\n x = a < 0 ? -x : x;\n return inv ? 1 / x : x;\n\n // Very nice algorithm, but fails with nthRoot(-2, 3).\n // Newton's method has some well-known problems at times:\n // https://en.wikipedia.org/wiki/Newton%27s_method#Failure_analysis\n /*\n let x = 1 // Initial guess\n let xPrev = 1\n let i = 0\n const iMax = 10000\n do {\n const delta = (a / Math.pow(x, root - 1) - x) / root\n xPrev = x\n x = x + delta\n i++\n }\n while (xPrev !== x && i < iMax)\n if (xPrev !== x) {\n throw new Error('Function nthRoot failed to converge')\n }\n return inv ? 1 / x : x\n */\n}\n\nexport function signNumber(x) {\n return sign(x);\n}\nsignNumber.signature = n1;\nexport function sqrtNumber(x) {\n return Math.sqrt(x);\n}\nsqrtNumber.signature = n1;\nexport function squareNumber(x) {\n return x * x;\n}\nsquareNumber.signature = n1;\n\n/**\n * Calculate xgcd for two numbers\n * @param {number} a\n * @param {number} b\n * @return {number} result\n * @private\n */\nexport function xgcdNumber(a, b) {\n // source: https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm\n var t; // used to swap two variables\n var q; // quotient\n var r; // remainder\n var x = 0;\n var lastx = 1;\n var y = 1;\n var lasty = 0;\n if (!isInteger(a) || !isInteger(b)) {\n throw new Error('Parameters in function xgcd must be integer numbers');\n }\n while (b) {\n q = Math.floor(a / b);\n r = a - q * b;\n t = x;\n x = lastx - q * x;\n lastx = t;\n t = y;\n y = lasty - q * y;\n lasty = t;\n a = b;\n b = r;\n }\n var res;\n if (a < 0) {\n res = [-a, -lastx, -lasty];\n } else {\n res = [a, a ? lastx : 0, lasty];\n }\n return res;\n}\nxgcdNumber.signature = n2;\n\n/**\n * Calculates the power of x to y, x^y, for two numbers.\n * @param {number} x\n * @param {number} y\n * @return {number} res\n */\nexport function powNumber(x, y) {\n // x^Infinity === 0 if -1 < x < 1\n // A real number 0 is returned instead of complex(0)\n if (x * x < 1 && y === Infinity || x * x > 1 && y === -Infinity) {\n return 0;\n }\n return Math.pow(x, y);\n}\npowNumber.signature = n2;\n\n/**\n * round a number to the given number of decimals, or to zero if decimals is\n * not provided\n * @param {number} value\n * @param {number} decimals number of decimals, between 0 and 15 (0 by default)\n * @return {number} roundedValue\n */\nexport function roundNumber(value) {\n var decimals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (!isInteger(decimals) || decimals < 0 || decimals > 15) {\n throw new Error('Number of decimals in function round must be an integer from 0 to 15 inclusive');\n }\n return parseFloat(toFixed(value, decimals));\n}\n\n/**\n * Calculate the norm of a number, the absolute value.\n * @param {number} x\n * @return {number}\n */\nexport function normNumber(x) {\n return Math.abs(x);\n}\nnormNumber.signature = n1;","import { factory } from '../../utils/factory.js';\nexport var createCompareUnits = /* #__PURE__ */factory('compareUnits', ['typed'], _ref => {\n var {\n typed\n } = _ref;\n return {\n 'Unit, Unit': typed.referToSelf(self => (x, y) => {\n if (!x.equalBase(y)) {\n throw new Error('Cannot compare units with different base');\n }\n return typed.find(self, [x.valueType(), y.valueType()])(x.value, y.value);\n })\n };\n});","import { factory } from '../../utils/factory.js';\nimport { typeOf as _typeOf } from '../../utils/is.js';\nvar name = 'typeOf';\nvar dependencies = ['typed'];\nexport var createTypeOf = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Determine the type of an entity.\n *\n * Syntax:\n *\n * math.typeOf(x)\n *\n * Examples:\n *\n * // This list is intended to include all relevant types, for testing\n * // purposes:\n * math.typeOf(3.5) // returns 'number'\n * math.typeOf(math.complex('2-4i')) // returns 'Complex'\n * math.typeOf(math.unit('45 deg')) // returns 'Unit'\n * math.typeOf('hello world') // returns 'string'\n * math.typeOf(null) // returns 'null'\n * math.typeOf(true) // returns 'boolean'\n * math.typeOf([1, 2, 3]) // returns 'Array'\n * math.typeOf(new Date()) // returns 'Date'\n * math.typeOf(function () {}) // returns 'function'\n * math.typeOf({a: 2, b: 3}) // returns 'Object'\n * math.typeOf(/a regexp/) // returns 'RegExp'\n * math.typeOf(undefined) // returns 'undefined'\n * math.typeOf(math.bignumber('23e99')) // returns 'BigNumber'\n * math.typeOf(math.chain(2)) // returns 'Chain'\n * math.typeOf(math.fraction(1, 3)) // returns 'Fraction'\n * math.typeOf(math.help('sqrt')) // returns 'Help'\n * math.typeOf(math.index(1, 3)) // returns 'Index'\n * math.typeOf(math.matrix([[1],[3]])) // returns 'DenseMatrix'\n * math.typeOf(math.matrix([],'sparse')) // returns 'SparseMatrix'\n * math.typeOf(new math.Range(0, 10)) // returns 'Range'\n * math.typeOf(math.evaluate('a=2\\na')) // returns 'ResultSet'\n * math.typeOf(math.parse('A[2]')) // returns 'AccessorNode'\n * math.typeOf(math.parse('[1,2,3]')) // returns 'ArrayNode'\n * math.typeOf(math.parse('x=2')) // returns 'AssignmentNode'\n * math.typeOf(math.parse('a=2; b=3')) // returns 'BlockNode'\n * math.typeOf(math.parse('x<0?-1:1')) // returns 'ConditionalNode'\n * math.typeOf(math.parse('2.3')) // returns 'ConstantNode'\n * math.typeOf(math.parse('f(x)=x^2')) // returns 'FunctionAssignmentNode'\n * math.typeOf(math.parse('sqrt(4)')) // returns 'FunctionNode'\n * math.typeOf(math.parse('A[2]').index) // returns 'IndexNode'\n * math.typeOf(math.parse('{a:2}')) // returns 'ObjectNode'\n * math.typeOf(math.parse('(2+3)')) // returns 'ParenthesisNode'\n * math.typeOf(math.parse('1:10')) // returns 'RangeNode'\n * math.typeOf(math.parse('a != )'\n * @param {number | number[]} actual The actual size\n * @param {number | number[]} expected The expected size\n * @param {string} [relation='!='] Optional relation between actual\n * and expected size: '!=', '<', etc.\n * @extends RangeError\n */\nexport function DimensionError(actual, expected, relation) {\n if (!(this instanceof DimensionError)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n this.actual = actual;\n this.expected = expected;\n this.relation = relation;\n this.message = 'Dimension mismatch (' + (Array.isArray(actual) ? '[' + actual.join(', ') + ']' : actual) + ' ' + (this.relation || '!=') + ' ' + (Array.isArray(expected) ? '[' + expected.join(', ') + ']' : expected) + ')';\n this.stack = new Error().stack;\n}\nDimensionError.prototype = new RangeError();\nDimensionError.prototype.constructor = RangeError;\nDimensionError.prototype.name = 'DimensionError';\nDimensionError.prototype.isDimensionError = true;","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nimport { unaryPlusNumber } from '../../plain/number/index.js';\nvar name = 'unaryPlus';\nvar dependencies = ['typed', 'config', 'BigNumber'];\nexport var createUnaryPlus = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n BigNumber\n } = _ref;\n /**\n * Unary plus operation.\n * Boolean values and strings will be converted to a number, numeric values will be returned as is.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.unaryPlus(x)\n *\n * Examples:\n *\n * math.unaryPlus(3.5) // returns 3.5\n * math.unaryPlus(1) // returns 1\n *\n * See also:\n *\n * unaryMinus, add, subtract\n *\n * @param {number | BigNumber | Fraction | string | Complex | Unit | Array | Matrix} x\n * Input value\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix}\n * Returns the input value when numeric, converts to a number when input is non-numeric.\n */\n return typed(name, {\n number: unaryPlusNumber,\n Complex: function Complex(x) {\n return x; // complex numbers are immutable\n },\n\n BigNumber: function BigNumber(x) {\n return x; // bignumbers are immutable\n },\n\n Fraction: function Fraction(x) {\n return x; // fractions are immutable\n },\n\n Unit: function Unit(x) {\n return x.clone();\n },\n // deep map collection, skip zeros since unaryPlus(0) = 0\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self, true)),\n 'boolean | string': function booleanString(x) {\n // convert to a number or bignumber\n return config.number === 'BigNumber' ? new BigNumber(+x) : +x;\n }\n });\n});","import { isInteger } from '../../utils/number.js';\nvar n1 = 'number';\nvar n2 = 'number, number';\nexport function bitAndNumber(x, y) {\n if (!isInteger(x) || !isInteger(y)) {\n throw new Error('Integers expected in function bitAnd');\n }\n return x & y;\n}\nbitAndNumber.signature = n2;\nexport function bitNotNumber(x) {\n if (!isInteger(x)) {\n throw new Error('Integer expected in function bitNot');\n }\n return ~x;\n}\nbitNotNumber.signature = n1;\nexport function bitOrNumber(x, y) {\n if (!isInteger(x) || !isInteger(y)) {\n throw new Error('Integers expected in function bitOr');\n }\n return x | y;\n}\nbitOrNumber.signature = n2;\nexport function bitXorNumber(x, y) {\n if (!isInteger(x) || !isInteger(y)) {\n throw new Error('Integers expected in function bitXor');\n }\n return x ^ y;\n}\nbitXorNumber.signature = n2;\nexport function leftShiftNumber(x, y) {\n if (!isInteger(x) || !isInteger(y)) {\n throw new Error('Integers expected in function leftShift');\n }\n return x << y;\n}\nleftShiftNumber.signature = n2;\nexport function rightArithShiftNumber(x, y) {\n if (!isInteger(x) || !isInteger(y)) {\n throw new Error('Integers expected in function rightArithShift');\n }\n return x >> y;\n}\nrightArithShiftNumber.signature = n2;\nexport function rightLogShiftNumber(x, y) {\n if (!isInteger(x) || !isInteger(y)) {\n throw new Error('Integers expected in function rightLogShift');\n }\n return x >>> y;\n}\nrightLogShiftNumber.signature = n2;","'use strict';\nvar $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","import { factory } from '../../utils/factory.js';\nvar name = 'polynomialRoot';\nvar dependencies = ['typed', 'isZero', 'equalScalar', 'add', 'subtract', 'multiply', 'divide', 'sqrt', 'unaryMinus', 'cbrt', 'typeOf', 'im', 're'];\nexport var createPolynomialRoot = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n isZero,\n equalScalar,\n add,\n subtract,\n multiply,\n divide,\n sqrt,\n unaryMinus,\n cbrt,\n typeOf,\n im,\n re\n } = _ref;\n /**\n * Finds the numerical values of the distinct roots of a polynomial with real or complex coefficients.\n * Currently operates only on linear, quadratic, and cubic polynomials using the standard\n * formulas for the roots.\n *\n * Syntax:\n *\n * math.polynomialRoot(constant, linearCoeff, quadraticCoeff, cubicCoeff)\n *\n * Examples:\n * // linear\n * math.polynomialRoot(6, 3) // [-2]\n * math.polynomialRoot(math.complex(6,3), 3) // [-2 - i]\n * math.polynomialRoot(math.complex(6,3), math.complex(2,1)) // [-3 + 0i]\n * // quadratic\n * math.polynomialRoot(2, -3, 1) // [2, 1]\n * math.polynomialRoot(8, 8, 2) // [-2]\n * math.polynomialRoot(-2, 0, 1) // [1.4142135623730951, -1.4142135623730951]\n * math.polynomialRoot(2, -2, 1) // [1 + i, 1 - i]\n * math.polynomialRoot(math.complex(1,3), math.complex(-3, -2), 1) // [2 + i, 1 + i]\n * // cubic\n * math.polynomialRoot(-6, 11, -6, 1) // [1, 3, 2]\n * math.polynomialRoot(-8, 0, 0, 1) // [-1 - 1.7320508075688774i, 2, -1 + 1.7320508075688774i]\n * math.polynomialRoot(0, 8, 8, 2) // [0, -2]\n * math.polynomialRoot(1, 1, 1, 1) // [-1 + 0i, 0 - i, 0 + i]\n *\n * See also:\n * cbrt, sqrt\n *\n * @param {... number | Complex} coeffs\n * The coefficients of the polynomial, starting with with the constant coefficent, followed\n * by the linear coefficient and subsequent coefficients of increasing powers.\n * @return {Array} The distinct roots of the polynomial\n */\n\n return typed(name, {\n 'number|Complex, ...number|Complex': (constant, restCoeffs) => {\n var coeffs = [constant, ...restCoeffs];\n while (coeffs.length > 0 && isZero(coeffs[coeffs.length - 1])) {\n coeffs.pop();\n }\n if (coeffs.length < 2) {\n throw new RangeError(\"Polynomial [\".concat(constant, \", \").concat(restCoeffs, \"] must have a non-zero non-constant coefficient\"));\n }\n switch (coeffs.length) {\n case 2:\n // linear\n return [unaryMinus(divide(coeffs[0], coeffs[1]))];\n case 3:\n {\n // quadratic\n var [c, b, a] = coeffs;\n var denom = multiply(2, a);\n var d1 = multiply(b, b);\n var d2 = multiply(4, a, c);\n if (equalScalar(d1, d2)) return [divide(unaryMinus(b), denom)];\n var discriminant = sqrt(subtract(d1, d2));\n return [divide(subtract(discriminant, b), denom), divide(subtract(unaryMinus(discriminant), b), denom)];\n }\n case 4:\n {\n // cubic, cf. https://en.wikipedia.org/wiki/Cubic_equation\n var [d, _c, _b, _a] = coeffs;\n var _denom = unaryMinus(multiply(3, _a));\n var D0_1 = multiply(_b, _b);\n var D0_2 = multiply(3, _a, _c);\n var D1_1 = add(multiply(2, _b, _b, _b), multiply(27, _a, _a, d));\n var D1_2 = multiply(9, _a, _b, _c);\n if (equalScalar(D0_1, D0_2) && equalScalar(D1_1, D1_2)) {\n return [divide(_b, _denom)];\n }\n var Delta0 = subtract(D0_1, D0_2);\n var Delta1 = subtract(D1_1, D1_2);\n var discriminant1 = add(multiply(18, _a, _b, _c, d), multiply(_b, _b, _c, _c));\n var discriminant2 = add(multiply(4, _b, _b, _b, d), multiply(4, _a, _c, _c, _c), multiply(27, _a, _a, d, d));\n if (equalScalar(discriminant1, discriminant2)) {\n return [divide(subtract(multiply(4, _a, _b, _c), add(multiply(9, _a, _a, d), multiply(_b, _b, _b))), multiply(_a, Delta0)),\n // simple root\n divide(subtract(multiply(9, _a, d), multiply(_b, _c)), multiply(2, Delta0)) // double root\n ];\n }\n // OK, we have three distinct roots\n var Ccubed;\n if (equalScalar(D0_1, D0_2)) {\n Ccubed = Delta1;\n } else {\n Ccubed = divide(add(Delta1, sqrt(subtract(multiply(Delta1, Delta1), multiply(4, Delta0, Delta0, Delta0)))), 2);\n }\n var allRoots = true;\n var rawRoots = cbrt(Ccubed, allRoots).toArray().map(C => divide(add(_b, C, divide(Delta0, C)), _denom));\n return rawRoots.map(r => {\n if (typeOf(r) === 'Complex' && equalScalar(re(r), re(r) + im(r))) {\n return re(r);\n }\n return r;\n });\n }\n default:\n throw new RangeError(\"only implemented for cubic or lower-order polynomials, not \".concat(coeffs));\n }\n }\n });\n});","import { deepMap } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { notNumber } from '../../plain/number/index.js';\nvar name = 'not';\nvar dependencies = ['typed'];\nexport var createNot = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Logical `not`. Flips boolean value of a given parameter.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.not(x)\n *\n * Examples:\n *\n * math.not(2) // returns false\n * math.not(0) // returns true\n * math.not(true) // returns false\n *\n * a = [2, -7, 0]\n * math.not(a) // returns [false, false, true]\n *\n * See also:\n *\n * and, or, xor\n *\n * @param {number | BigNumber | Complex | Unit | Array | Matrix} x First value to check\n * @return {boolean | Array | Matrix}\n * Returns true when input is a zero or empty value.\n */\n return typed(name, {\n 'null | undefined': () => true,\n number: notNumber,\n Complex: function Complex(x) {\n return x.re === 0 && x.im === 0;\n },\n BigNumber: function BigNumber(x) {\n return x.isZero() || x.isNaN();\n },\n Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","import { factory } from '../../utils/factory.js';\nvar name = 'hex';\nvar dependencies = ['typed', 'format'];\n\n/**\n * Format a number as hexadecimal.\n *\n * Syntax:\n *\n * math.hex(value)\n *\n * Examples:\n *\n * math.hex(240) // returns \"0xF0\"\n *\n * See also:\n *\n * oct\n * bin\n *\n * @param {number} value Value to be stringified\n * @param {number} wordSize Optional word size (see `format`)\n * @return {string} The formatted value\n */\nexport var createHex = factory(name, dependencies, _ref => {\n var {\n typed,\n format\n } = _ref;\n return typed(name, {\n 'number | BigNumber': function numberBigNumber(n) {\n return format(n, {\n notation: 'hex'\n });\n },\n 'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) {\n return format(n, {\n notation: 'hex',\n wordSize\n });\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'equal';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];\nexport var createEqual = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo07xSSf = createMatAlgo07xSSf({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Test whether two values are equal.\n *\n * The function tests whether the relative difference between x and y is\n * smaller than the configured epsilon. The function cannot be used to\n * compare values smaller than approximately 2.22e-16.\n *\n * For matrices, the function is evaluated element wise.\n * In case of complex numbers, x.re must equal y.re, and x.im must equal y.im.\n *\n * Values `null` and `undefined` are compared strictly, thus `null` is only\n * equal to `null` and nothing else, and `undefined` is only equal to\n * `undefined` and nothing else. Strings are compared by their numerical value.\n *\n * Syntax:\n *\n * math.equal(x, y)\n *\n * Examples:\n *\n * math.equal(2 + 2, 3) // returns false\n * math.equal(2 + 2, 4) // returns true\n *\n * const a = math.unit('50 cm')\n * const b = math.unit('5 m')\n * math.equal(a, b) // returns true\n *\n * const c = [2, 5, 1]\n * const d = [2, 7, 1]\n *\n * math.equal(c, d) // returns [true, false, true]\n * math.deepEqual(c, d) // returns false\n *\n * math.equal(\"1000\", \"1e3\") // returns true\n * math.equal(0, null) // returns false\n *\n * See also:\n *\n * unequal, smaller, smallerEq, larger, largerEq, compare, deepEqual, equalText\n *\n * @param {number | BigNumber | boolean | Complex | Unit | string | Array | Matrix} x First value to compare\n * @param {number | BigNumber | boolean | Complex | Unit | string | Array | Matrix} y Second value to compare\n * @return {boolean | Array | Matrix} Returns true when the compared values are equal, else returns false\n */\n return typed(name, createEqualNumber({\n typed,\n equalScalar\n }), matrixAlgorithmSuite({\n elop: equalScalar,\n SS: matAlgo07xSSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n});\nexport var createEqualNumber = factory(name, ['typed', 'equalScalar'], _ref2 => {\n var {\n typed,\n equalScalar\n } = _ref2;\n return typed(name, {\n 'any, any': function anyAny(x, y) {\n // strict equality for null and undefined?\n if (x === null) {\n return y === null;\n }\n if (y === null) {\n return x === null;\n }\n if (x === undefined) {\n return y === undefined;\n }\n if (y === undefined) {\n return x === undefined;\n }\n return equalScalar(x, y);\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { getArrayDataType } from '../../utils/array.js';\nimport { typeOf } from '../../utils/is.js';\nvar name = 'getMatrixDataType';\nvar dependencies = ['typed'];\nexport var createGetMatrixDataType = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Find the data type of all elements in a matrix or array,\n * for example 'number' if all items are a number and 'Complex' if all values\n * are complex numbers.\n * If a matrix contains more than one data type, it will return 'mixed'.\n *\n * Syntax:\n *\n * math.getMatrixDataType(x)\n *\n * Examples:\n *\n * const x = [ [1, 2, 3], [4, 5, 6] ]\n * const mixedX = [ [1, true], [2, 3] ]\n * const fractionX = [ [math.fraction(1, 3)], [math.fraction(1, 3)] ]\n * const unitX = [ [math.unit('5cm')], [math.unit('5cm')] ]\n * const bigNumberX = [ [math.bignumber(1)], [math.bignumber(0)] ]\n * const sparse = math.sparse(x)\n * const dense = math.matrix(x)\n * math.getMatrixDataType(x) // returns 'number'\n * math.getMatrixDataType(sparse) // returns 'number'\n * math.getMatrixDataType(dense) // returns 'number'\n * math.getMatrixDataType(mixedX) // returns 'mixed'\n * math.getMatrixDataType(fractionX) // returns 'Fraction'\n * math.getMatrixDataType(unitX) // returns 'Unit'\n * math.getMatrixDataType(bigNumberX) // return 'BigNumber'\n *\n * See also:\n * SparseMatrix, DenseMatrix\n *\n * @param {...Matrix | Array} x The Matrix with values.\n *\n * @return {string} A string representation of the matrix type\n */\n return typed(name, {\n Array: function Array(x) {\n return getArrayDataType(x, typeOf);\n },\n Matrix: function Matrix(x) {\n return x.getDataType();\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { expm1Number } from '../../plain/number/index.js';\nvar name = 'expm1';\nvar dependencies = ['typed', 'Complex'];\nexport var createExpm1 = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n Complex: _Complex\n } = _ref;\n /**\n * Calculate the value of subtracting 1 from the exponential value.\n * This function is more accurate than `math.exp(x)-1` when `x` is near 0\n * To avoid ambiguity with the matrix exponential `expm`, this function\n * does not operate on matrices; if you wish to apply it elementwise, see\n * the examples.\n *\n * Syntax:\n *\n * math.expm1(x)\n *\n * Examples:\n *\n * math.expm1(2) // returns number 6.38905609893065\n * math.pow(math.e, 2) - 1 // returns number 6.3890560989306495\n * math.expm1(1e-8) // returns number 1.0000000050000001e-8\n * math.exp(1e-8) - 1 // returns number 9.9999999392253e-9\n * math.log(math.expm1(2) + 1) // returns number 2\n *\n * math.map([1, 2, 3], math.expm1)\n * // returns Array [\n * // 1.718281828459045,\n * // 6.3890560989306495,\n * // 19.085536923187668\n * // ]\n *\n * See also:\n *\n * exp, expm, log, pow\n *\n * @param {number | BigNumber | Complex} x The number to exponentiate\n * @return {number | BigNumber | Complex} Exponential of `x`, minus one\n */\n return typed(name, {\n number: expm1Number,\n Complex: function Complex(x) {\n var r = Math.exp(x.re);\n return new _Complex(r * Math.cos(x.im) - 1, r * Math.sin(x.im));\n },\n BigNumber: function BigNumber(x) {\n return x.exp().minus(1);\n }\n });\n});","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */\nvar XLSX = {};\nfunction make_xlsx_lib(XLSX){\nXLSX.version = '0.17.5';\nvar current_codepage = 1200, current_ansi = 1252;\n/*global cptable:true, window */\nif(typeof module !== \"undefined\" && typeof require !== 'undefined') {\n\tif(typeof cptable === 'undefined') {\n\t\tif(typeof global !== 'undefined') global.cptable = require('./dist/cpexcel.js');\n\t\telse if(typeof window !== 'undefined') window.cptable = require('./dist/cpexcel.js');\n\t}\n}\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950 ];\nfor(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i);\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n0: 1252, /* ANSI */\n1: 65001, /* DEFAULT */\n2: 65001, /* SYMBOL */\n77: 10000, /* MAC */\n128: 932, /* SHIFTJIS */\n129: 949, /* HANGUL */\n130: 1361, /* JOHAB */\n134: 936, /* GB2312 */\n136: 950, /* CHINESEBIG5 */\n161: 1253, /* GREEK */\n162: 1254, /* TURKISH */\n163: 1258, /* VIETNAMESE */\n177: 1255, /* HEBREW */\n178: 1256, /* ARABIC */\n186: 1257, /* BALTIC */\n204: 1251, /* RUSSIAN */\n222: 874, /* THAI */\n238: 1250, /* EASTEUROPE */\n255: 1252, /* OEM */\n69: 6969 /* MISC */\n});\n\nvar set_ansi = function(cp) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data) { var o = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data) {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x) { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x) { return String.fromCharCode(x); };\nif(typeof cptable !== 'undefined') {\n\tset_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x) {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x) {\n\t\treturn cptable.utils.decode(current_ansi, [x])[0];\n\t};\n}\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64 = (function make_b64(){\n\tvar map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\treturn {\n\t\tencode: function(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tfor(var i = 0; i < input.length; ) {\n\t\t\t\tc1 = input.charCodeAt(i++);\n\t\t\t\te1 = (c1 >> 2);\n\n\t\t\t\tc2 = input.charCodeAt(i++);\n\t\t\t\te2 = ((c1 & 3) << 4) | (c2 >> 4);\n\n\t\t\t\tc3 = input.charCodeAt(i++);\n\t\t\t\te3 = ((c2 & 15) << 2) | (c3 >> 6);\n\t\t\t\te4 = (c3 & 63);\n\t\t\t\tif (isNaN(c2)) { e3 = e4 = 64; }\n\t\t\t\telse if (isNaN(c3)) { e4 = 64; }\n\t\t\t\to += map.charAt(e1) + map.charAt(e2) + map.charAt(e3) + map.charAt(e4);\n\t\t\t}\n\t\t\treturn o;\n\t\t},\n\t\tdecode: function b64_decode(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tinput = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n\t\t\tfor(var i = 0; i < input.length;) {\n\t\t\t\te1 = map.indexOf(input.charAt(i++));\n\t\t\t\te2 = map.indexOf(input.charAt(i++));\n\t\t\t\tc1 = (e1 << 2) | (e2 >> 4);\n\t\t\t\to += String.fromCharCode(c1);\n\n\t\t\t\te3 = map.indexOf(input.charAt(i++));\n\t\t\t\tc2 = ((e2 & 15) << 4) | (e3 >> 2);\n\t\t\t\tif (e3 !== 64) { o += String.fromCharCode(c2); }\n\n\t\t\t\te4 = map.indexOf(input.charAt(i++));\n\t\t\t\tc3 = ((e3 & 3) << 6) | e4;\n\t\t\t\tif (e4 !== 64) { o += String.fromCharCode(c3); }\n\t\t\t}\n\t\t\treturn o;\n\t\t}\n\t};\n})();\nvar has_buf = (typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node);\n\nvar Buffer_from = function(){};\n\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n\t// $FlowIgnore\n\tif(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n}\n\nfunction new_raw_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.alloc(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.allocUnsafe(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s) {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x){ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s) {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data) {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data) {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data) {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\nvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = function(bufs) { return [].concat.apply([], bufs); };\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nvar SSF = ({});\nvar make_ssf = function make_ssf(SSF){\nSSF.version = '0.11.2';\nfunction _strrev(x) { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\nfunction pad0(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v,d){var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v,d){var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v,d){var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = Math.pow(2,32);\nfunction pad0r(v,d){if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\nfunction isgeneral(s, i) { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction init_table(t) {\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n}\n\nvar table_fmt = {};\ninit_table(table_fmt);\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar default_map = [];\nvar defi = 0;\n\n// 5 -> 37 ... 8 -> 40\nfor(defi = 5; defi <= 8; ++defi) default_map[defi] = 32 + defi;\n\n// 23 -> 0 ... 26 -> 0\nfor(defi = 23; defi <= 26; ++defi) default_map[defi] = 0;\n\n// 27 -> 14 ... 31 -> 14\nfor(defi = 27; defi <= 31; ++defi) default_map[defi] = 14;\n// 50 -> 14 ... 58 -> 14\nfor(defi = 50; defi <= 58; ++defi) default_map[defi] = 14;\n\n// 59 -> 1 ... 62 -> 4\nfor(defi = 59; defi <= 62; ++defi) default_map[defi] = defi - 58;\n// 67 -> 9 ... 68 -> 10\nfor(defi = 67; defi <= 68; ++defi) default_map[defi] = defi - 58;\n// 72 -> 14 ... 75 -> 17\nfor(defi = 72; defi <= 75; ++defi) default_map[defi] = defi - 58;\n\n// 69 -> 12 ... 71 -> 14\nfor(defi = 67; defi <= 68; ++defi) default_map[defi] = defi - 57;\n\n// 76 -> 20 ... 78 -> 22\nfor(defi = 76; defi <= 78; ++defi) default_map[defi] = defi - 56;\n\n// 79 -> 45 ... 81 -> 47\nfor(defi = 79; defi <= 81; ++defi) default_map[defi] = defi - 34;\n\n// 82 -> 0 ... 65536 -> 0 (omitted)\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar default_str = [];\n\n// 5 -- Currency, 0 decimal, black negative\ndefault_str[5] = default_str[63] = '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)';\n// 6 -- Currency, 0 decimal, red negative\ndefault_str[6] = default_str[64] = '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)';\n// 7 -- Currency, 2 decimal, black negative\ndefault_str[7] = default_str[65] = '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)';\n// 8 -- Currency, 2 decimal, red negative\ndefault_str[8] = default_str[66] = '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)';\n\n// 41 -- Accounting, 0 decimal, No Symbol\ndefault_str[41] = '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)';\n// 42 -- Accounting, 0 decimal, $ Symbol\ndefault_str[42] = '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)';\n// 43 -- Accounting, 2 decimal, No Symbol\ndefault_str[43] = '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)';\n// 44 -- Accounting, 2 decimal, $ Symbol\ndefault_str[44] = '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)';\nfunction frac(x, D, mixed) {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction parse_date_code(v,opts,b2) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nSSF.parse_date_code = parse_date_code;\nvar basedate = new Date(1899, 11, 31, 0, 0, 0);\nvar dnthresh = basedate.getTime();\nvar base1904 = new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= base1904) epoch += 24*60*60*1000;\n\treturn (epoch - (dnthresh + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* The longest 32-bit integer text is \"-4294967296\", exactly 11 chars */\nfunction general_fmt_int(v) { return v.toString(10); }\nSSF._general_int = general_fmt_int;\n\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\nvar general_fmt_num = (function make_general_fmt_num() {\n\tvar trailing_zeroes_and_decimal = /(?:\\.0*|(\\.\\d*[1-9])0+)$/;\n\tfunction strip_decimal(o) {\n\t\treturn (o.indexOf(\".\") == -1) ? o : o.replace(trailing_zeroes_and_decimal, \"$1\");\n\t}\n\n\t/* General Exponential always shows 2 digits exp and trims the mantissa */\n\tvar mantissa_zeroes_and_decimal = /(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/;\n\tvar exp_with_single_digit = /(E[+-])(\\d)$/;\n\tfunction normalize_exp(o) {\n\t\tif(o.indexOf(\"E\") == -1) return o;\n\t\treturn o.replace(mantissa_zeroes_and_decimal,\"$1E\").replace(exp_with_single_digit,\"$10$2\");\n\t}\n\n\t/* exponent >= -9 and <= 9 */\n\tfunction small_exp(v) {\n\t\tvar w = (v<0?12:11);\n\t\tvar o = strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\t\to = v.toPrecision(10); if(o.length <= w) return o;\n\t\treturn v.toExponential(5);\n\t}\n\n\t/* exponent >= 11 or <= -10 likely exponential */\n\tfunction large_exp(v) {\n\t\tvar o = strip_decimal(v.toFixed(11));\n\t\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n\t}\n\n\tfunction general_fmt_num_base(v) {\n\t\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\t\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\t\telse if(Math.abs(V) <= 9) o = small_exp(v);\n\t\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\t\telse o = large_exp(v);\n\n\t\treturn strip_decimal(normalize_exp(o.toUpperCase()));\n\t}\n\n\treturn general_fmt_num_base;\n})();\nSSF._general_num = general_fmt_num;\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction general_fmt(v, opts) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : general_fmt_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\nSSF._general = general_fmt;\nfunction fix_hijri(date, o) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\n/*jshint -W086 */\nfunction write_date(type, fmt, val, ss0) {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\nif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n/*jshint +W086 */\nfunction commaify(s) {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar write_num = (function make_write_num(){\nvar pct1 = /%/g;\nfunction write_num_pct(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_cm(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_exp(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r, aval, sign) {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r, aval, sign) {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str) {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val, d) { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val, d) {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val, d) {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val) {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\no = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\nreturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\nSSF.is_date = fmt_is_date;\nfunction eval_fmt(fmt, v, opts, flen) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(abstime)) {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\nout[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = general_fmt(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\nSSF._eval = eval_fmt;\nvar cfregex = /\\[[=<>]/;\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f, v) {\n\tvar fmt = split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(cfregex) != null || fmt[1].match(cfregex) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction format(fmt,v,o) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[default_map[fmt]]) || table_fmt[default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(isgeneral(sfmt,0)) return general_fmt(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(isgeneral(f[1])) return general_fmt(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction load_entry(fmt, idx) {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\nfor(var i = 0; i < 0x0188; ++i) {\nif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\nif(idx < 0) idx = 0x187;\n\t}\ntable_fmt[idx] = fmt;\n\treturn idx;\n}\nSSF.load = load_entry;\nSSF._table = table_fmt;\nSSF.get_table = function get_table() { return table_fmt; };\nSSF.load_table = function load_table(tbl) {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) load_entry(tbl[i], i);\n};\nSSF.init_table = init_table;\nSSF.format = format;\n};\nmake_ssf(SSF);\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*{[string]:string}*/ = ({\n\t\"General Number\": \"General\",\n\t\"General Date\": SSF._table[22],\n\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\"Medium Date\": SSF._table[15],\n\t\"Short Date\": SSF._table[14],\n\t\"Long Time\": SSF._table[19],\n\t\"Medium Time\": SSF._table[18],\n\t\"Short Time\": SSF._table[20],\n\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"Fixed\": SSF._table[2],\n\t\"Standard\": SSF._table[4],\n\t\"Percent\": SSF._table[10],\n\t\"Scientific\": SSF._table[11],\n\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n});\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n});\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF) {\n\tvar fmt = typeof dateNF == \"number\" ? SSF._table[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str, dateNF, match) {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\nvar DO_NOT_EXPORT_CFB = true;\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tfactory(CRC32 = {});\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T = signed_crc_table();\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1, L = bstr.length - 1;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t}\n\tif(i === L) C = (C>>>8) ^ T[(C ^ bstr.charCodeAt(i))&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf(buf, seed) {\n\tif(buf.length > 10000) return crc32_buf_8(buf, seed);\n\tvar C = seed ^ -1, L = buf.length - 3;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+3) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf_8(buf, seed) {\n\tvar C = seed ^ -1, L = buf.length - 7;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+7) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L=str.length, c, d; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T[(C ^ c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn C ^ -1;\n}\nCRC32.table = T;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\n}));\n/* [MS-CFB] v20171201 */\nvar CFB = (function _CFB(){\nvar exports = {};\nexports.version = '1.1.4';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l, r) {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf, date) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf) {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob) {\n\tprep_blob(blob, 0);\n\tvar o = {};\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs;\nfunction get_fs() { return fs || (fs = require('fs')); }\nfunction parse(file, options) {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob = file.slice(0,512);\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = file.slice(0,ssz); prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files = {}, Paths = [], FileIndex = [], FullPaths = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob) {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob, mver) {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file, ssz) {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI, FP, Paths) {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad = [], q = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry, payload, mini) {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size));\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0));\n\treturn (bconcat(o).slice(0, entry.size));\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) {\n\tvar q = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tif(cnt >= 1) sleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors, start, fat_addrs, ssz, chkd) {\n\tvar buf = [], buf_chain = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors, dir_start, fat_addrs, ssz) {\n\tvar sl = sectors.length, sector_list = ([]);\n\tvar chkd = [], buf = [], buf_chain = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])});\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob = sector.slice(i, i+128);\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size));\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob, offset) {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename, options) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob, options) {\n\tswitch(options && options.type || \"base64\") {\n\t\tcase \"file\": return read_file(blob, options);\n\t\tcase \"base64\": return parse(s2a(Base64.decode(blob)), options);\n\t\tcase \"binary\": return parse(s2a(blob), options);\n\t}\n\treturn parse(blob, options);\n}\n\nfunction init_cfb(cfb, opts) {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 });\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb) {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb, f) {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\tvar data = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = false;\n\t\tfor(j = 0; j < data.length; ++j) if(data[j][0] === dad) s = true;\n\t\tif(!s) data.push([dad, ({\n\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\ttype: 1,\n\t\t\tclsid: HEADER_CLSID,\n\t\t\tct: now, mt: now,\n\t\t\tcontent: null\n\t\t})]);\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb, options) {\n\tvar _opts = options || {};\n\trebuild_cfb(cfb);\n\tif(_opts.fileType == 'zip') return write_zip(cfb, _opts);\n\tvar L = (function(cfb){\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\nvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w) {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\nflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size > 0 && file.size < 0x1000) {\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\twhile(o.l < o.length) o.write_shift(1, 0);\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb, path) {\n\tvar UCFullPaths = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath = path.toUpperCase();\n\tvar w = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb, filename, options) {\n\tget_fs();\n\tvar o = _write(cfb, options);\nfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o) {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb, options) {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type) {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o)); return o;\n\t\tcase \"binary\": return a2s(o);\n\t\tcase \"base64\": return Base64.encode(a2s(o));\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 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 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 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 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < b.length; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}var _deflate = (function() {\nvar _deflateRaw = (function() {\n\treturn function deflateRaw(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\t/* TODO: this is only type 0 stored */\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t};\n})();\n\nreturn function(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n};\n})();\n/* modified inflate function also moves original read head */\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX) {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\tif(typeof data.copy === 'function') {\n\t\t\t\t// $FlowIgnore\n\t\t\t\tdata.copy(outbuf, woff, boff>>>3, (boff>>>3)+sz);\n\t\t\t\twoff += sz; boff += 8*sz;\n\t\t\t} else while(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\tcontinue;\n\t\t} else if((header >>> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\treturn [usz ? outbuf : outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file, options) {\n\tvar blob = file;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex = [], FullPaths = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(blob.slice(blob.l+namelen, blob.l+namelen+efsz));\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob, csz, usz, o, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(blob.slice(blob.l, blob.l + efsz));\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break;\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\tvar _crc32 = CRC32.buf(data, 0);\n\tif((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb, options) {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(fi.content, 0);\n\n\t\tvar outbuf = fi.content;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: encryption header ? */\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, fi.content.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out)), bconcat(cdirs), o]));\n}\nfunction cfb_new(opts) {\n\tvar o = ({});\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb, name, content, opts) {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2});\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\nfile.content = (content);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb, name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb, old_name, new_name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb) { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nif(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; }\nvar _fs;\nif(typeof require !== 'undefined') try { _fs = require('fs'); } catch(e) {}\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname, payload, enc) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\nif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\nif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\nif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\nif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\na.download = fname; a.href = url; document.body.appendChild(a); a.click();\ndocument.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o) {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj, key) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = new Date();\nvar dnthresh = basedate.getTime() + (refdate.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\nvar refoffset = refdate.getTimezoneOffset();\nfunction numdate(v) {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date = new Date('2017-02-19T19:06:09.000Z');\nif(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17');\nvar good_pd = good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str, fixdate) {\n\tvar d = new Date(str);\n\tif(good_pd) {\nif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr) {\n\tvar o = \"\";\n\tfor(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]);\n\treturn o;\n}\n\nfunction dup(o) {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s) {\n\tvar v = Number(s);\n\tif(isFinite(v)) return v;\n\tif(!isNaN(v)) return NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nfunction fuzzydate(s) {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\nfunction split_regex(str, re, def) {\n\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\tvar p = str.split(re), o = [p[0]];\n\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\treturn o;\n}\nfunction getdatastr(data) {\n\tif(!data) return null;\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\tif(data.content && data.type) return debom(cc2str(data.content));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s*[\\/\\?]?>/mg;\n\nif(!(XML_HEADER.match(tagregex))) tagregex = /<[^>]*>/g;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag, skip_root, skip_LC) {\n\tvar z = ({});\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x) { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml = (function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text) {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text){ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr = (function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str) { return str.replace(entregex,entrepl); };\n})();\nvar xlml_unfixstr = (function() {\n\treturn function xlml_unfixstr(str) { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); };\n})();\n\nfunction parsexmlbool(value) {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nvar utf8read = function utf8reada(orig) {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n};\n\nvar utf8write = function(orig) {\n\tvar out = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\nif(has_buf) {\n\tvar utf8readb = function utf8readb(data) {\n\t\tvar out = Buffer.alloc(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\t\tfor(i = 0; i < data.length; i+=j) {\n\t\t\tj = 1;\n\t\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\t\telse { j = 4;\n\t\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t\t}\n\t\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t\t}\n\t\treturn out.slice(0,k).toString('ucs2');\n\t};\n\tvar corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\n\tif(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb;\n\tvar utf8readc = function utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); };\n\tif(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc;\n\n\tutf8write = function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); };\n}\n\n// matches ... extracts content\nvar matchtag = (function() {\n\tvar mtcache = ({});\n\treturn function matchtag(f,g) {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\"))));\n\t};\n})();\n\nvar htmldecode = (function() {\n\tvar entities = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str) {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = (function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)' + g + ''; }\n\nfunction wxt_helper(h) { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f,g,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d, t) { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx) {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nvar XMLNS = ({\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n});\n\nXMLNS.main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n});\nfunction read_double_le(b, idx) {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b, v, idx) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar __toBuffer = function(bufs) { var x=[],w=10240; for(var i=0;i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpstr = __lpstr;\nvar __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___cpstr = __cpstr;\nvar __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpwstr = __lpwstr;\nvar __lpp4, ___lpp4;\n__lpp4 = ___lpp4 = function lpp4_(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar ___8lpp4 = __8lpp4;\nvar __double, ___double;\n__double = ___double = function(b, idx) { return read_double_le(b, idx);};\nvar is_buf = function is_buf_a(a) { return Array.isArray(a); };\n\nif(has_buf) {\n\t__utf16le = function(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e).replace(chr0,'')/*.replace(chr1,'!')*/; };\n\t__hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); };\n\t__lpstr = function lpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b, i) { if(!Buffer.isBuffer(b)) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__utf8 = function utf8_b(b, s, e) { return (Buffer.isBuffer(b)) ? b.toString('utf8',s,e) : ___utf8(b,s,e); };\n\t__toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);};\n\tbconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); };\n\t__double = function double_(b, i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); };\n}\n\n/* from js-xls */\nif(typeof cptable !== 'undefined') {\n\t__utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\n\nvar __readUInt8 = function(b, idx) { return b[idx]; };\nvar __readUInt16LE = function(b, idx) { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b, idx) { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b, idx) { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b, idx) { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b, idx) { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size, t) {\n\tvar o=\"\", oI, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof cptable !== 'undefined') {\n\t\t\t\to = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t, val, f) {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\nfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\nfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\nval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\nfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\nthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\nvar end = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr, fld) {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos) {\n\tblob.l = pos;\n\tblob.read_shift = ReadShift;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length) { blob.l += length; }\n\nfunction new_buf(sz) {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb, opts) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R.n, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array() {\n\tvar bufs = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz) {\n\t\tvar o = (new_buf(sz));\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz) {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn __toBuffer([bufs]);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs });\n}\n\nfunction write_record(ba, type, payload, length) {\n\tvar t = +XLSBRE[type], l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell, tgt, opts) {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c, biff) {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts) {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nvar OFFCRYPTO = {};\n\nvar make_offcrypto = function(O, _crypto) {\n\tvar crypto;\n\tif(typeof _crypto !== 'undefined') crypto = _crypto;\n\telse if(typeof require !== 'undefined') {\n\t\ttry { crypto = require('crypto'); }\n\t\tcatch(e) { crypto = null; }\n\t}\n\n\tO.rc4 = function(key, data) {\n\t\tvar S = new Array(256);\n\t\tvar c = 0, i = 0, j = 0, t = 0;\n\t\tfor(i = 0; i != 256; ++i) S[i] = i;\n\t\tfor(i = 0; i != 256; ++i) {\n\t\t\tj = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t}\n\t\t// $FlowIgnore\n\t\ti = j = 0; var out = new_raw_buf(data.length);\n\t\tfor(c = 0; c != data.length; ++c) {\n\t\t\ti = (i + 1)&255;\n\t\t\tj = (j + S[i])%256;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t\tout[c] = (data[c] ^ S[(S[i]+S[j])&255]);\n\t\t}\n\t\treturn out;\n\t};\n\n\tO.md5 = function(hex) {\n\t\tif(!crypto) throw new Error(\"Unsupported crypto\");\n\t\treturn crypto.createHash('md5').update(hex).digest('hex');\n\t};\n};\n/*global crypto:true */\nmake_offcrypto(OFFCRYPTO, typeof crypto !== \"undefined\" ? crypto : undefined);\n\nfunction decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row) { return \"\" + (row + 1); }\nfunction fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr) { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col) { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr) { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr) { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr) { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr) {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell) {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range) {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\nfunction encode_range(cs,ce) {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\nreturn encode_range(cs.s, cs.e);\n\t}\nif(typeof cs !== 'string') cs = encode_cell((cs));\n\tif(typeof ce !== 'string') ce = encode_cell((ce));\nreturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range) {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell, v) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF.format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF.format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell, v, o) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet, opts) {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws, data, opts) {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws = _ws || (dense ? ([]) : ({}));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell = ({v: data[R][C] });\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF.format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF.format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data, opts) { return sheet_add_aoa(null, data, opts); }\n\nfunction write_UInt32LE(x, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data) {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length) {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str });\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data) {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell, o) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data) {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data) {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tb[0] &= 0xFC; // b[0] &= ~3;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, b[0], b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data ) {\n\tvar cell = ({ s: {}, e: {} });\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w) {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Category', t: VT_STRING },\n0x03: { n: 'PresentationFormat', t: VT_STRING },\n0x04: { n: 'ByteCount', t: VT_I4 },\n0x05: { n: 'LineCount', t: VT_I4 },\n0x06: { n: 'ParagraphCount', t: VT_I4 },\n0x07: { n: 'SlideCount', t: VT_I4 },\n0x08: { n: 'NoteCount', t: VT_I4 },\n0x09: { n: 'HiddenCount', t: VT_I4 },\n0x0a: { n: 'MultimediaClipCount', t: VT_I4 },\n0x0b: { n: 'ScaleCrop', t: VT_BOOL },\n0x0c: { n: 'HeadingPairs', t: VT_VECTOR | VT_VARIANT },\n0x0d: { n: 'TitlesOfParts', t: VT_VECTOR | VT_LPSTR },\n0x0e: { n: 'Manager', t: VT_STRING },\n0x0f: { n: 'Company', t: VT_STRING },\n0x10: { n: 'LinksUpToDate', t: VT_BOOL },\n0x11: { n: 'CharacterCount', t: VT_I4 },\n0x13: { n: 'SharedDoc', t: VT_BOOL },\n0x16: { n: 'HyperlinksChanged', t: VT_BOOL },\n0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },\n0x18: { n: 'DigSig', t: VT_BLOB },\n0x1A: { n: 'ContentType', t: VT_STRING },\n0x1B: { n: 'ContentStatus', t: VT_STRING },\n0x1C: { n: 'Language', t: VT_STRING },\n0x1D: { n: 'Version', t: VT_STRING },\n0xFF: {},\n\t/* [MS-OLEPS] 2.18 */\n0x80000000: { n: 'Locale', t: VT_UI4 },\n0x80000003: { n: 'Behavior', t: VT_UI4 },\n0x72627262: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Title', t: VT_STRING },\n0x03: { n: 'Subject', t: VT_STRING },\n0x04: { n: 'Author', t: VT_STRING },\n0x05: { n: 'Keywords', t: VT_STRING },\n0x06: { n: 'Comments', t: VT_STRING },\n0x07: { n: 'Template', t: VT_STRING },\n0x08: { n: 'LastAuthor', t: VT_STRING },\n0x09: { n: 'RevNumber', t: VT_STRING },\n0x0A: { n: 'EditTime', t: VT_FILETIME },\n0x0B: { n: 'LastPrinted', t: VT_FILETIME },\n0x0C: { n: 'CreatedDate', t: VT_FILETIME },\n0x0D: { n: 'ModifiedDate', t: VT_FILETIME },\n0x0E: { n: 'PageCount', t: VT_I4 },\n0x0F: { n: 'WordCount', t: VT_I4 },\n0x10: { n: 'CharCount', t: VT_I4 },\n0x11: { n: 'Thumbnail', t: VT_CF },\n0x12: { n: 'Application', t: VT_STRING },\n0x13: { n: 'DocSecurity', t: VT_I4 },\n0xFF: {},\n\t/* [MS-OLEPS] 2.18 */\n0x80000000: { n: 'Locale', t: VT_UI4 },\n0x80000003: { n: 'Behavior', t: VT_UI4 },\n0x72627262: {}\n};\n\nvar DocSummaryRE = evert_key(DocSummaryPIDDSI, \"n\");\nvar SummaryRE = evert_key(SummaryPIDSI, \"n\");\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n0x0001: \"US\", // United States\n0x0002: \"CA\", // Canada\n0x0003: \"\", // Latin America (except Brazil)\n0x0007: \"RU\", // Russia\n0x0014: \"EG\", // Egypt\n0x001E: \"GR\", // Greece\n0x001F: \"NL\", // Netherlands\n0x0020: \"BE\", // Belgium\n0x0021: \"FR\", // France\n0x0022: \"ES\", // Spain\n0x0024: \"HU\", // Hungary\n0x0027: \"IT\", // Italy\n0x0029: \"CH\", // Switzerland\n0x002B: \"AT\", // Austria\n0x002C: \"GB\", // United Kingdom\n0x002D: \"DK\", // Denmark\n0x002E: \"SE\", // Sweden\n0x002F: \"NO\", // Norway\n0x0030: \"PL\", // Poland\n0x0031: \"DE\", // Germany\n0x0034: \"MX\", // Mexico\n0x0037: \"BR\", // Brazil\n0x003d: \"AU\", // Australia\n0x0040: \"NZ\", // New Zealand\n0x0042: \"TH\", // Thailand\n0x0051: \"JP\", // Japan\n0x0052: \"KR\", // Korea\n0x0054: \"VN\", // Viet Nam\n0x0056: \"CN\", // China\n0x005A: \"TR\", // Turkey\n0x0069: \"JS\", // Ramastan\n0x00D5: \"DZ\", // Algeria\n0x00D8: \"MA\", // Morocco\n0x00DA: \"LY\", // Libya\n0x015F: \"PT\", // Portugal\n0x0162: \"IS\", // Iceland\n0x0166: \"FI\", // Finland\n0x01A4: \"CZ\", // Czech Republic\n0x0376: \"TW\", // Taiwan\n0x03C1: \"LB\", // Lebanon\n0x03C2: \"JO\", // Jordan\n0x03C3: \"SY\", // Syria\n0x03C4: \"IQ\", // Iraq\n0x03C5: \"KW\", // Kuwait\n0x03C6: \"SA\", // Saudi Arabia\n0x03CB: \"AE\", // United Arab Emirates\n0x03CC: \"IL\", // Israel\n0x03CE: \"QA\", // Qatar\n0x03D5: \"IR\", // Iran\n0xFFFF: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n0x00: \"#NULL!\",\n0x07: \"#DIV/0!\",\n0x0F: \"#VALUE!\",\n0x17: \"#REF!\",\n0x1D: \"#NAME?\",\n0x24: \"#NUM!\",\n0x2A: \"#N/A\",\n0x2B: \"#GETTING_DATA\",\n0xFF: \"#WTF?\"\n};\nvar RBErr = evert_num(BErr);\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* Metadata */\n\t\"application/vnd.ms-excel.sheetMetadata\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"TODO\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"vba\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n});\n\nvar CT_LIST = (function(){\n\tvar o = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n\t};\n\tkeys(o).forEach(function(k) { [\"xlsm\", \"xlam\"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); });\n\tkeys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); });\n\treturn o;\n})();\n\nvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\nXMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types';\n\nfunction new_ct() {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [],\n\t\tTODO:[], xmlns: \"\" });\n}\n\nfunction parse_ct(data) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nvar CTYPE_XML_ROOT = writextag('Types', null, {\n\t'xmlns': XMLNS.CT,\n\t'xmlns:xsd': XMLNS.xsd,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nvar CTYPE_DEFAULTS = [\n\t['xml', 'application/xml'],\n\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t/* from test files */\n\t['bmp', 'image/bmp'],\n\t['png', 'image/png'],\n\t['gif', 'image/gif'],\n\t['emf', 'image/x-emf'],\n\t['wmf', 'image/x-wmf'],\n\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t['pdf', 'application/pdf'],\n\t['rels', type2ct.rels[0]]\n].map(function(x) {\n\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n});\n\nfunction write_ct(ct, opts) {\n\tvar o = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (CTYPE_XML_ROOT);\n\to = o.concat(CTYPE_DEFAULTS);\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('drawings');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n});\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file) {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data, currentFilePath) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nvar RELS_EXTERN = [RELS.HLINK, RELS.XPATH, RELS.XMISS];\nfunction add_rels(rels, rId, f, type, relobj, targetmode) {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(rId < 0) for(rId = 1; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if(RELS_EXTERN.indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file, res, tag) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base, file) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nvar write_meta_ods = (function() {\n\tvar payload = 'Sheet' + 'JS ' + XLSX.version + '';\n\treturn function wmo() {\n\t\treturn payload;\n\t};\n})();\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nXMLNS.CORE_PROPS = \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\";\nRELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties';\n\nvar CORE_PROPS_REGEX = (function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nvar CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, {\n\t//'xmlns': XMLNS.CORE_PROPS,\n\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t'xmlns:dc': XMLNS.dc,\n\t'xmlns:dcterms': XMLNS.dcterms,\n\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nXMLNS.EXT_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\";\nRELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties';\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nvar EXT_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.EXT_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_ext_props(cp) {\n\tvar o = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (EXT_PROPS_XML_ROOT);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nXMLNS.CUST_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\";\nRELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties';\n\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM = evert(XLMLDocPropsMap);\n\nfunction xlml_set_prop(Props, tag, val) {\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o = [];\n\tif(Props) keys(Props).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t, pad) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob) {\n\tvar length = blob.read_shift(4);\n\tvar ret = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob) {\n\tvar length = blob.read_shift(4);\n\tvar ret = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict = ({});\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type, _opts) {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\np = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj = ({});\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2));\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ].concat(PseudoPropsPairs);\nfunction guess_property_type(val) {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI)[idx];\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\nvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({});\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier });\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI, entries2, clsid2) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length) {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target});\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob) {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe});\n}\nfunction write_XLSCell(R, C, ixfe, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n0x00: parse_FtSkip, /* FtEnd */\n0x04: parse_FtSkip, /* FtMacro */\n0x05: parse_FtSkip, /* FtButton */\n0x06: parse_FtSkip, /* FtGmo */\n0x07: parse_FtCf, /* FtCf */\n0x08: parse_FtSkip, /* FtPioGrbit */\n0x09: parse_FtSkip, /* FtPictFmla */\n0x0A: parse_FtSkip, /* FtCbls */\n0x0B: parse_FtSkip, /* FtRbo */\n0x0C: parse_FtSkip, /* FtSbs */\n0x0D: parse_FtNts, /* FtNts */\n0x0E: parse_FtSkip, /* FtSbsFmla */\n0x0F: parse_FtSkip, /* FtGboData */\n0x10: parse_FtSkip, /* FtEdoData */\n0x11: parse_FtSkip, /* FtRboData */\n0x12: parse_FtSkip, /* FtCblsData */\n0x13: parse_FtSkip, /* FtLbsData */\n0x14: parse_FtSkip, /* FtCblsFmla */\n0x15: parse_FtCmo\n};\nfunction parse_FtArray(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb, t, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length) {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs = ([]);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\no.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({});\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1() {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R, C, v, os ) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R, C, v, os, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i, f, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2 || length == 9) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R, C, v, os, opts, t) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R, C, v, os) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t});\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length) {\n\tvar merges = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = [];\nparse_BIFF5OT[0x08] = function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts);\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob) {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags});\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r, c, val) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r, c, val) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF = (function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n\n\t/* shapefile DBF extension */\n0x00: 20127, 0x08: 865,\n0x09: 437, 0x0A: 850,\n0x0B: 437, 0x0D: 437,\n0x0E: 850, 0x0F: 437,\n0x10: 850, 0x11: 437,\n0x12: 850, 0x13: 932,\n0x14: 850, 0x15: 437,\n0x16: 850, 0x17: 865,\n0x18: 437, 0x19: 437,\n0x1A: 850, 0x1B: 437,\n0x1C: 863, 0x1D: 850,\n0x1F: 852, 0x22: 852,\n0x23: 852, 0x24: 860,\n0x25: 850, 0x26: 866,\n0x37: 850, 0x40: 852,\n0x4D: 936, 0x4E: 949,\n0x4F: 950, 0x50: 874,\n0x57: 1252, 0x58: 1252,\n0x59: 1252, 0x6C: 863,\n0x86: 737, 0x87: 852,\n0x88: 857, 0xCC: 1257,\n\n0xFF: 16969\n};\nvar dbf_reverse_map = evert({\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n0x00: 20127\n});\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts) {\n\tvar out = [];\n\tvar d = (new_raw_buf(1));\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64.decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\nvar fields = [], field = ({});\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({});\n\t\tfield.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/\\s+$/,\"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts) {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\treturn aoa_to_sheet(dbf_to_aoa(buf, o), o);\n}\n\nfunction dbf_to_workbook(buf, opts) {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws, opts) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1);\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(i == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar col = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tvar guess = '', _guess = '';\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\tif(guess == 'C') break;\n\t\t}\n\t\trlen += _RLEN[guess] || 0;\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[current_ansi] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += _RLEN[coltypes[i]] || 0;\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t});\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str, opts) {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr = [];\n\t\tvar formats = [];\n\t\tvar next_cell_format = null;\n\t\tvar sht = {}, rowinfo = [], colinfo = [], cw = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'W': break; /* window? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1;\n\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tarr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d, opts) {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d, opts) { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell, ws, R, C) {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out, rows) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws, opts) {\n\t\tvar preamble = [\"ID;PWXL;N;E\"], o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = (function() {\n\tfunction dif_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str, opts) { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str, opts) { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = (function() {\n\t\tvar push_field = function pf(o, topic, v, n, s) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o, type, v, s) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws) {\n\t\t\tvar o = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF.format(cell.z || SSF._table[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = (function() {\n\tfunction decode(s) { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s) { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d, opts) { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d, opts) { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws) {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o = [], oo = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF.format(cell.z || SSF._table[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws) {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = (function() {\n\tfunction set_text_arr(data, arr, R, C, o) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f, opts) {\n\t\tvar o = opts || {};\n\t\tvar arr = ([]);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n0x2C: ',',\n0x09: \"\\t\",\n0x3B: ';',\n0x7C: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n0x2C: 3,\n0x09: 2,\n0x3B: 1,\n0x7C: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({});\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF.format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str, opts) {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d, opts) {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64.decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d, opts) { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws) {\n\t\tvar o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = (function() {\n\tfunction lotushopper(data, cb, opts) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64.decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts) {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s = ((o.dense ? [] : {})), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || SSF._table[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws, opts) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = Array.isArray(ws);\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v));\n\t\t\t\t} else {\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb, opts) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, v) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, v) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\tvar oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t];\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t0x6F: [\"T\", 1]\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\",\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\",\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\n\tfunction parse_cell_3(blob) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tvar len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n0x0000: { n:\"BOF\", f:parseuint16 },\n0x0001: { n:\"EOF\" },\n0x0002: { n:\"CALCMODE\" },\n0x0003: { n:\"CALCORDER\" },\n0x0004: { n:\"SPLIT\" },\n0x0005: { n:\"SYNC\" },\n0x0006: { n:\"RANGE\", f:parse_RANGE },\n0x0007: { n:\"WINDOW1\" },\n0x0008: { n:\"COLW1\" },\n0x0009: { n:\"WINTWO\" },\n0x000A: { n:\"COLW2\" },\n0x000B: { n:\"NAME\" },\n0x000C: { n:\"BLANK\" },\n0x000D: { n:\"INTEGER\", f:parse_INTEGER },\n0x000E: { n:\"NUMBER\", f:parse_NUMBER },\n0x000F: { n:\"LABEL\", f:parse_LABEL },\n0x0010: { n:\"FORMULA\", f:parse_FORMULA },\n0x0018: { n:\"TABLE\" },\n0x0019: { n:\"ORANGE\" },\n0x001A: { n:\"PRANGE\" },\n0x001B: { n:\"SRANGE\" },\n0x001C: { n:\"FRANGE\" },\n0x001D: { n:\"KRANGE1\" },\n0x0020: { n:\"HRANGE\" },\n0x0023: { n:\"KRANGE2\" },\n0x0024: { n:\"PROTEC\" },\n0x0025: { n:\"FOOTER\" },\n0x0026: { n:\"HEADER\" },\n0x0027: { n:\"SETUP\" },\n0x0028: { n:\"MARGINS\" },\n0x0029: { n:\"LABELFMT\" },\n0x002A: { n:\"TITLES\" },\n0x002B: { n:\"SHEETJS\" },\n0x002D: { n:\"GRAPH\" },\n0x002E: { n:\"NGRAPH\" },\n0x002F: { n:\"CALCCOUNT\" },\n0x0030: { n:\"UNFORMATTED\" },\n0x0031: { n:\"CURSORW12\" },\n0x0032: { n:\"WINDOW\" },\n0x0033: { n:\"STRING\", f:parse_LABEL },\n0x0037: { n:\"PASSWORD\" },\n0x0038: { n:\"LOCKED\" },\n0x003C: { n:\"QUERY\" },\n0x003D: { n:\"QUERYNAME\" },\n0x003E: { n:\"PRINT\" },\n0x003F: { n:\"PRINTNAME\" },\n0x0040: { n:\"GRAPH2\" },\n0x0041: { n:\"GRAPHNAME\" },\n0x0042: { n:\"ZOOM\" },\n0x0043: { n:\"SYMSPLIT\" },\n0x0044: { n:\"NSROWS\" },\n0x0045: { n:\"NSCOLS\" },\n0x0046: { n:\"RULER\" },\n0x0047: { n:\"NNAME\" },\n0x0048: { n:\"ACOMM\" },\n0x0049: { n:\"AMACRO\" },\n0x004A: { n:\"PARSE\" },\n0x0066: { n:\"PRANGES??\" },\n0x0067: { n:\"RRANGES??\" },\n0x0068: { n:\"FNAME??\" },\n0x0069: { n:\"MRANGES??\" },\n0x00CC: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n0x00DE: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n0xFFFF: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n0x0000: { n:\"BOF\" },\n0x0001: { n:\"EOF\" },\n0x0002: { n:\"PASSWORD\" },\n0x0003: { n:\"CALCSET\" },\n0x0004: { n:\"WINDOWSET\" },\n0x0005: { n:\"SHEETCELLPTR\" },\n0x0006: { n:\"SHEETLAYOUT\" },\n0x0007: { n:\"COLUMNWIDTH\" },\n0x0008: { n:\"HIDDENCOLUMN\" },\n0x0009: { n:\"USERRANGE\" },\n0x000A: { n:\"SYSTEMRANGE\" },\n0x000B: { n:\"ZEROFORCE\" },\n0x000C: { n:\"SORTKEYDIR\" },\n0x000D: { n:\"FILESEAL\" },\n0x000E: { n:\"DATAFILLNUMS\" },\n0x000F: { n:\"PRINTMAIN\" },\n0x0010: { n:\"PRINTSTRING\" },\n0x0011: { n:\"GRAPHMAIN\" },\n0x0012: { n:\"GRAPHSTRING\" },\n0x0013: { n:\"??\" },\n0x0014: { n:\"ERRCELL\" },\n0x0015: { n:\"NACELL\" },\n0x0016: { n:\"LABEL16\", f:parse_LABEL_16},\n0x0017: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n0x0018: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n0x0019: { n:\"FORMULA19\", f:parse_FORMULA_19},\n0x001A: { n:\"FORMULA1A\" },\n0x001B: { n:\"XFORMAT\", f:parse_XFORMAT },\n0x001C: { n:\"DTLABELMISC\" },\n0x001D: { n:\"DTLABELCELL\" },\n0x001E: { n:\"GRAPHWINDOW\" },\n0x001F: { n:\"CPA\" },\n0x0020: { n:\"LPLAUTO\" },\n0x0021: { n:\"QUERY\" },\n0x0022: { n:\"HIDDENSHEET\" },\n0x0023: { n:\"??\" },\n0x0025: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n0x0026: { n:\"??\" },\n0x0027: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n0x0028: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n0x008E: { n:\"??\" },\n0x0093: { n:\"??\" },\n0x0096: { n:\"??\" },\n0x0097: { n:\"??\" },\n0x0098: { n:\"??\" },\n0x0099: { n:\"??\" },\n0x009A: { n:\"??\" },\n0x009B: { n:\"??\" },\n0x009C: { n:\"??\" },\n0x00A3: { n:\"??\" },\n0x00AE: { n:\"??\" },\n0x00AF: { n:\"??\" },\n0x00B0: { n:\"??\" },\n0x00B1: { n:\"??\" },\n0x00B8: { n:\"??\" },\n0x00B9: { n:\"??\" },\n0x00BA: { n:\"??\" },\n0x00BB: { n:\"??\" },\n0x00BC: { n:\"??\" },\n0x00C3: { n:\"??\" },\n0x00C9: { n:\"??\" },\n0x00CC: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n0x00CD: { n:\"??\" },\n0x00CE: { n:\"??\" },\n0x00CF: { n:\"??\" },\n0x00D0: { n:\"??\" },\n0x0100: { n:\"??\" },\n0x0103: { n:\"??\" },\n0x0104: { n:\"??\" },\n0x0105: { n:\"??\" },\n0x0106: { n:\"??\" },\n0x0107: { n:\"??\" },\n0x0109: { n:\"??\" },\n0x010A: { n:\"??\" },\n0x010B: { n:\"??\" },\n0x010C: { n:\"??\" },\n0x010E: { n:\"??\" },\n0x010F: { n:\"??\" },\n0x0180: { n:\"??\" },\n0x0185: { n:\"??\" },\n0x0186: { n:\"??\" },\n0x0189: { n:\"??\" },\n0x018C: { n:\"??\" },\n0x0200: { n:\"??\" },\n0x0202: { n:\"??\" },\n0x0201: { n:\"??\" },\n0x0204: { n:\"??\" },\n0x0205: { n:\"??\" },\n0x0280: { n:\"??\" },\n0x0281: { n:\"??\" },\n0x0282: { n:\"??\" },\n0x0283: { n:\"??\" },\n0x0284: { n:\"??\" },\n0x0285: { n:\"??\" },\n0x0286: { n:\"??\" },\n0x0287: { n:\"??\" },\n0x0288: { n:\"??\" },\n0x0292: { n:\"??\" },\n0x0293: { n:\"??\" },\n0x0294: { n:\"??\" },\n0x0295: { n:\"??\" },\n0x0296: { n:\"??\" },\n0x0299: { n:\"??\" },\n0x029A: { n:\"??\" },\n0x0300: { n:\"??\" },\n0x0304: { n:\"??\" },\n0x0601: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n0x0640: { n:\"??\" },\n0x0642: { n:\"??\" },\n0x0701: { n:\"??\" },\n0x0702: { n:\"??\" },\n0x0703: { n:\"??\" },\n0x0704: { n:\"??\" },\n0x0780: { n:\"??\" },\n0x0800: { n:\"??\" },\n0x0801: { n:\"??\" },\n0x0804: { n:\"??\" },\n0x0A80: { n:\"??\" },\n0x2AF6: { n:\"??\" },\n0x3231: { n:\"??\" },\n0x6E49: { n:\"??\" },\n0x6F44: { n:\"??\" },\n0xFFFF: { n:\"\" }\n\t};\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = (function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o = ({t:'s', v:unescapexml(t[1])});\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = (function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data, opts) {\n\tvar s = ([]), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nRELS.SST = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\";\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst, opts) {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS.main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts) {\n\tvar s = ([]);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* 'BrtBeginSst' */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* 'BrtSSTItem' */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* 'BrtEndSst' */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R_n.indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if(R_n.indexOf(\"End\") > 0){/* empty */}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSst\", write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, \"BrtSSTItem\", write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, \"BrtEndSst\");\n\treturn ba.end();\n}\nfunction _JS2ANSI(str) {\n\tif(typeof cptable !== 'undefined') return cptable.utils.encode(current_ansi, str);\n\tvar o = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length) {\n\tvar o = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\nif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt() { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = (function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) });\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = (function() {\n\tfunction rtf_to_sheet(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\t/* TODO: this is a stub */\n\tfunction rtf_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar ws = o.dense ? ([]) : ({});\n\n\t\tvar rows = str.match(/\\\\trowd.*?\\\\row\\b/g);\n\t\tif(!rows.length) throw new Error(\"RTF missing table\");\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}});\n\t\trows.forEach(function(rowtf, R) {\n\t\t\tif(Array.isArray(ws)) ws[R] = [];\n\t\t\tvar rtfre = /\\\\\\w+\\b/g;\n\t\t\tvar last_index = 0;\n\t\t\tvar res;\n\t\t\tvar C = -1;\n\t\t\twhile((res = rtfre.exec(rowtf))) {\n\t\t\t\tswitch(res[0]) {\n\t\t\t\t\tcase \"\\\\cell\":\n\t\t\t\t\t\tvar data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n\t\t\t\t\t\tif(data[0] == \" \") data = data.slice(1);\n\t\t\t\t\t\t++C;\n\t\t\t\t\t\tif(data.length) {\n\t\t\t\t\t\t\t// TODO: value parsing, including codepage adjustments\n\t\t\t\t\t\t\tvar cell = {v: data, t:\"s\"};\n\t\t\t\t\t\t\tif(Array.isArray(ws)) ws[R][C] = cell;\n\t\t\t\t\t\t\telse ws[encode_cell({r:R, c:C})] = cell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlast_index = rtfre.lastIndex;\n\t\t\t}\n\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t});\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d, opts) { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws) {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = {};\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(SSF._table));\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF.load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs) {\n\tvar o = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= (function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nvar STYLES_XML_ROOT = writextag('styleSheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:vt': XMLNS.vt\n});\n\nRELS.STY = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n\nfunction write_sty_xml(wb, opts) {\n\tvar o = [XML_HEADER, STYLES_XML_ROOT], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i, f, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length, opts) {\n\tvar out = ({});\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames = (evert(XLSBFillPTNames));\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tvar fls = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]);\n\tfor(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* 'BrtFmt' */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF.load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* 'BrtFont' */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* 'BrtKnownFonts' */ break;\n\t\t\tcase 0x002D: /* 'BrtFill' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* 'BrtBorder' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* 'BrtXF' */\n\t\t\t\tif(state[state.length - 1] == \"BrtBeginCellXFs\") {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* 'BrtStyle' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x023C: /* 'BrtMRUColor' */\n\t\t\tcase 0x01DB: /* 'BrtIndexedColor': */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* 'BrtDXF14' */\n\t\t\tcase 0x0836: /* 'BrtDXF15' */\n\t\t\tcase 0x046A: /* 'BrtSlicerStyleElement' */\n\t\t\tcase 0x0200: /* 'BrtTableStyleElement' */\n\t\t\tcase 0x082F: /* 'BrtTimelineStyleElement' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFmts\", write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, \"BrtFmt\", write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, \"BrtEndFmts\");\n}\n\nfunction write_FONTS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFonts\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFont\", write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, \"BrtEndFonts\");\n}\n\nfunction write_FILLS_bin(ba) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFills\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, \"BrtEndFills\");\n}\n\nfunction write_BORDERS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginBorders\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtBorder\", write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, \"BrtEndBorders\");\n}\n\nfunction write_CELLSTYLEXFS_bin(ba) {\n\tvar cnt = 1;\n\twrite_record(ba, \"BrtBeginCellStyleXFs\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtXF\", write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellStyleXFs\");\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, \"BrtBeginCellXFs\", write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, \"BrtXF\", write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellXFs\");\n}\n\nfunction write_STYLES_bin(ba) {\n\tvar cnt = 1;\n\n\twrite_record(ba, \"BrtBeginStyles\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtStyle\", write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, \"BrtEndStyles\");\n}\n\nfunction write_DXFS_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginDXFs\", write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, \"BrtEndDXFs\");\n}\n\nfunction write_TABLESTYLES_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginTableStyles\", write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, \"BrtEndTableStyles\");\n}\n\nfunction write_COLORPALETTE_bin() {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginStyleSheet\");\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, \"BrtEndStyleSheet\");\n\treturn ba.end();\n}\nRELS.THEME = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme() { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme() { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) return parse_theme_xml(write_theme());\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts) {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob) {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data) {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ' 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\n//function write_cc_bin(data, opts) { }\n/* 18.14 Supplementary Workbook Data */\nfunction parse_xlink_xml() {\n\t//var opts = _opts || {};\n\t//if(opts.WTF) throw \"XLSX External Link\";\n}\n\n/* [MS-XLSB] 2.1.7.25 External Link */\nfunction parse_xlink_bin(data, rel, name, _opts) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\n\tvar pass = false, end = false;\n\n\trecordhopper(data, function xlink_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0167: /* 'BrtSupTabs' */\n\t\t\tcase 0x016B: /* 'BrtExternTableStart' */\n\t\t\tcase 0x016C: /* 'BrtExternTableEnd' */\n\t\t\tcase 0x016E: /* 'BrtExternRowHdr' */\n\t\t\tcase 0x016F: /* 'BrtExternCellBlank' */\n\t\t\tcase 0x0170: /* 'BrtExternCellReal' */\n\t\t\tcase 0x0171: /* 'BrtExternCellBool' */\n\t\t\tcase 0x0172: /* 'BrtExternCellError' */\n\t\t\tcase 0x0173: /* 'BrtExternCellString' */\n\t\t\tcase 0x01D8: /* 'BrtExternValueMeta' */\n\t\t\tcase 0x0241: /* 'BrtSupNameStart' */\n\t\t\tcase 0x0242: /* 'BrtSupNameValueStart' */\n\t\t\tcase 0x0243: /* 'BrtSupNameValueEnd' */\n\t\t\tcase 0x0244: /* 'BrtSupNameNum' */\n\t\t\tcase 0x0245: /* 'BrtSupNameErr' */\n\t\t\tcase 0x0246: /* 'BrtSupNameSt' */\n\t\t\tcase 0x0247: /* 'BrtSupNameNil' */\n\t\t\tcase 0x0248: /* 'BrtSupNameBool' */\n\t\t\tcase 0x0249: /* 'BrtSupNameFmla' */\n\t\t\tcase 0x024A: /* 'BrtSupNameBits' */\n\t\t\tcase 0x024B: /* 'BrtSupNameEnd' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT.toString(16) + \" \" + R_n);\n\t\t}\n\t}, opts);\n}\n/* 20.5 DrawingML - SpreadsheetML Drawing */\nRELS.IMG = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\";\nRELS.DRAW = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\";\n\n/* 20.5.2.35 wsDr CT_Drawing */\nfunction parse_drawing(data, rels) {\n\tif(!data) return \"??\";\n\t/*\n\t Chartsheet Drawing:\n\t - 20.5.2.35 wsDr CT_Drawing\n\t - 20.5.2.1 absoluteAnchor CT_AbsoluteAnchor\n\t - 20.5.2.16 graphicFrame CT_GraphicalObjectFrame\n\t - 20.1.2.2.16 graphic CT_GraphicalObject\n\t - 20.1.2.2.17 graphicData CT_GraphicalObjectData\n - chart reference\n\t the actual type is based on the URI of the graphicData\n\t\tTODO: handle embedded charts and other types of graphics\n\t*/\n\tvar id = (data.match(/]*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = {'color2':\"#BEFF82\", 'type':\"gradient\"};\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"});\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nRELS.CMNT = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";\n\nfunction sheet_insert_comments(sheet, comments) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"});\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o = ({a: comment.author, t: comment.t, r: comment.r});\n\t\tif(comment.h) o.h = comment.h;\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data, opts) {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors = [];\n\tvar commentList = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid });\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nvar CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] });\nfunction write_comments_xml(data) {\n\tvar o = [XML_HEADER, CMNT_XML_ROOT];\n\n\tvar iauthor = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) > -1) return;\n\t\tiauthor.push(a);\n\t\to.push(\"\" + a + \"\");\n\t}); });\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\td[1].forEach(function(c) {\n\t\t\t/* 18.7.3 CT_Comment */\n\t\t\to.push('');\n\t\t\to.push(writetag(\"t\", c.t == null ? \"\" : escapexml(c.t)));\n\t\t\to.push('');\n\t\t});\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts) {\n\tvar out = [];\n\tvar authors = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data) {\n\tvar ba = buf_array();\n\tvar iauthor = [];\n\twrite_record(ba, \"BrtBeginComments\");\n\n\twrite_record(ba, \"BrtBeginCommentAuthors\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, \"BrtCommentAuthor\", write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentAuthors\");\n\n\twrite_record(ba, \"BrtBeginCommentList\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, \"BrtBeginComment\", write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, \"BrtCommentText\", write_BrtCommentText(c));\n\t\t\twrite_record(ba, \"BrtEndComment\");\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentList\");\n\n\twrite_record(ba, \"BrtEndComments\");\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n\tvar newcfb = CFB.utils.cfb_new({root:\"R\"});\n\tcfb.FullPaths.forEach(function(p, i) {\n\t\tif(p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/)) return;\n\t\tvar newpath = p.replace(/^[^\\/]*/,\"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n\t\tCFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n\t});\n\treturn CFB.write(newcfb);\n}\n\nfunction fill_vba_xls(cfb, vba) {\n\tvba.FullPaths.forEach(function(p, i) {\n\t\tif(i == 0) return;\n\t\tvar newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n\t\tif(newpath.slice(-1) !== \"/\") CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n\t});\n}\n\nvar VBAFMTS = [ \"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\" ];\n\nRELS.DS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\";\nRELS.MS = \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\";\n\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin() { return {'!type':'dialog'}; }\nfunction parse_ds_xml() { return {'!type':'dialog'}; }\nfunction parse_ms_bin() { return {'!type':'macro'}; }\nfunction parse_ms_xml() { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = (function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase = ({r:0,c:0});\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr, base) {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc =(function(){\n\treturn function a1_to_rc(fstr, base) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f, delta) {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f, range, cell) {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f) {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f) {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts) {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n0x01: { n:'PtgExp', f:parse_PtgExp },\n0x02: { n:'PtgTbl', f:parse_PtgTbl },\n0x03: { n:'PtgAdd', f:parseread1 },\n0x04: { n:'PtgSub', f:parseread1 },\n0x05: { n:'PtgMul', f:parseread1 },\n0x06: { n:'PtgDiv', f:parseread1 },\n0x07: { n:'PtgPower', f:parseread1 },\n0x08: { n:'PtgConcat', f:parseread1 },\n0x09: { n:'PtgLt', f:parseread1 },\n0x0A: { n:'PtgLe', f:parseread1 },\n0x0B: { n:'PtgEq', f:parseread1 },\n0x0C: { n:'PtgGe', f:parseread1 },\n0x0D: { n:'PtgGt', f:parseread1 },\n0x0E: { n:'PtgNe', f:parseread1 },\n0x0F: { n:'PtgIsect', f:parseread1 },\n0x10: { n:'PtgUnion', f:parseread1 },\n0x11: { n:'PtgRange', f:parseread1 },\n0x12: { n:'PtgUplus', f:parseread1 },\n0x13: { n:'PtgUminus', f:parseread1 },\n0x14: { n:'PtgPercent', f:parseread1 },\n0x15: { n:'PtgParen', f:parseread1 },\n0x16: { n:'PtgMissArg', f:parseread1 },\n0x17: { n:'PtgStr', f:parse_PtgStr },\n0x1A: { n:'PtgSheet', f:parse_PtgSheet },\n0x1B: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n0x1C: { n:'PtgErr', f:parse_PtgErr },\n0x1D: { n:'PtgBool', f:parse_PtgBool },\n0x1E: { n:'PtgInt', f:parse_PtgInt },\n0x1F: { n:'PtgNum', f:parse_PtgNum },\n0x20: { n:'PtgArray', f:parse_PtgArray },\n0x21: { n:'PtgFunc', f:parse_PtgFunc },\n0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n0x23: { n:'PtgName', f:parse_PtgName },\n0x24: { n:'PtgRef', f:parse_PtgRef },\n0x25: { n:'PtgArea', f:parse_PtgArea },\n0x26: { n:'PtgMemArea', f:parse_PtgMemArea },\n0x27: { n:'PtgMemErr', f:parse_PtgMemErr },\n0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n0x2A: { n:'PtgRefErr', f:parse_PtgRefErr },\n0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n0x2C: { n:'PtgRefN', f:parse_PtgRefN },\n0x2D: { n:'PtgAreaN', f:parse_PtgAreaN },\n0x2E: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n0x2F: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n0x39: { n:'PtgNameX', f:parse_PtgNameX },\n0x3A: { n:'PtgRef3d', f:parse_PtgRef3d },\n0x3B: { n:'PtgArea3d', f:parse_PtgArea3d },\n0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n0xFF: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n0x40: 0x20, 0x60: 0x20,\n0x41: 0x21, 0x61: 0x21,\n0x42: 0x22, 0x62: 0x22,\n0x43: 0x23, 0x63: 0x23,\n0x44: 0x24, 0x64: 0x24,\n0x45: 0x25, 0x65: 0x25,\n0x46: 0x26, 0x66: 0x26,\n0x47: 0x27, 0x67: 0x27,\n0x48: 0x28, 0x68: 0x28,\n0x49: 0x29, 0x69: 0x29,\n0x4A: 0x2A, 0x6A: 0x2A,\n0x4B: 0x2B, 0x6B: 0x2B,\n0x4C: 0x2C, 0x6C: 0x2C,\n0x4D: 0x2D, 0x6D: 0x2D,\n0x4E: 0x2E, 0x6E: 0x2E,\n0x4F: 0x2F, 0x6F: 0x2F,\n0x58: 0x22, 0x78: 0x22,\n0x59: 0x39, 0x79: 0x39,\n0x5A: 0x3A, 0x7A: 0x3A,\n0x5B: 0x3B, 0x7B: 0x3B,\n0x5C: 0x3C, 0x7C: 0x3C,\n0x5D: 0x3D, 0x7D: 0x3D\n};\n(function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})();\n\nvar Ptg18 = {\n0x01: { n:'PtgElfLel', f:parse_PtgElfLel },\n0x02: { n:'PtgElfRw', f:parse_PtgElfRw },\n0x03: { n:'PtgElfCol', f:parse_PtgElfCol },\n0x06: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n0x07: { n:'PtgElfColV', f:parse_PtgElfColV },\n0x0A: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n0x0B: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n0x0D: { n:'PtgElfColS', f:parse_PtgElfColS },\n0x0F: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n0x10: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n0x19: { n:'PtgList', f:parse_PtgList },\n0x1D: { n:'PtgSxName', f:parse_PtgSxName },\n0xFF: {}\n};\nvar Ptg19 = {\n0x00: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n0xFF: {}\n};\nPtg19[0x21] = Ptg19[0x20];\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f) {\n\tvar o = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\nr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nvar quoteCharacters = new RegExp(/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/);\nfunction formula_quote_sheet_name(sname, opts) {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (quoteCharacters.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti, opts) {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti, opts) {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell, supbooks, opts) {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack = [], e1, e2, c, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\nc = shift_cell_xls((f[1][1]), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\nc = cell ? shift_cell_xls((f[1][1]), cell, opts) : (f[1][1]);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\nixti = f[1][1]; c = shift_cell_xls((f[1][2]), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc = (f[1][0]), func = (f[1][1]);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\nr = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\nr = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\nixti = f[1][1]; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\tif(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name];\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx = (f[1][1]); nameidx = (f[1][2]); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]),r:(f[1][0])};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r});\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(f[1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(f[1]) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell, R, C, opts, os) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLS] 2.5.198.4 */\nvar Cetab = {\n0x0000: 'BEEP',\n0x0001: 'OPEN',\n0x0002: 'OPEN.LINKS',\n0x0003: 'CLOSE.ALL',\n0x0004: 'SAVE',\n0x0005: 'SAVE.AS',\n0x0006: 'FILE.DELETE',\n0x0007: 'PAGE.SETUP',\n0x0008: 'PRINT',\n0x0009: 'PRINTER.SETUP',\n0x000A: 'QUIT',\n0x000B: 'NEW.WINDOW',\n0x000C: 'ARRANGE.ALL',\n0x000D: 'WINDOW.SIZE',\n0x000E: 'WINDOW.MOVE',\n0x000F: 'FULL',\n0x0010: 'CLOSE',\n0x0011: 'RUN',\n0x0016: 'SET.PRINT.AREA',\n0x0017: 'SET.PRINT.TITLES',\n0x0018: 'SET.PAGE.BREAK',\n0x0019: 'REMOVE.PAGE.BREAK',\n0x001A: 'FONT',\n0x001B: 'DISPLAY',\n0x001C: 'PROTECT.DOCUMENT',\n0x001D: 'PRECISION',\n0x001E: 'A1.R1C1',\n0x001F: 'CALCULATE.NOW',\n0x0020: 'CALCULATION',\n0x0022: 'DATA.FIND',\n0x0023: 'EXTRACT',\n0x0024: 'DATA.DELETE',\n0x0025: 'SET.DATABASE',\n0x0026: 'SET.CRITERIA',\n0x0027: 'SORT',\n0x0028: 'DATA.SERIES',\n0x0029: 'TABLE',\n0x002A: 'FORMAT.NUMBER',\n0x002B: 'ALIGNMENT',\n0x002C: 'STYLE',\n0x002D: 'BORDER',\n0x002E: 'CELL.PROTECTION',\n0x002F: 'COLUMN.WIDTH',\n0x0030: 'UNDO',\n0x0031: 'CUT',\n0x0032: 'COPY',\n0x0033: 'PASTE',\n0x0034: 'CLEAR',\n0x0035: 'PASTE.SPECIAL',\n0x0036: 'EDIT.DELETE',\n0x0037: 'INSERT',\n0x0038: 'FILL.RIGHT',\n0x0039: 'FILL.DOWN',\n0x003D: 'DEFINE.NAME',\n0x003E: 'CREATE.NAMES',\n0x003F: 'FORMULA.GOTO',\n0x0040: 'FORMULA.FIND',\n0x0041: 'SELECT.LAST.CELL',\n0x0042: 'SHOW.ACTIVE.CELL',\n0x0043: 'GALLERY.AREA',\n0x0044: 'GALLERY.BAR',\n0x0045: 'GALLERY.COLUMN',\n0x0046: 'GALLERY.LINE',\n0x0047: 'GALLERY.PIE',\n0x0048: 'GALLERY.SCATTER',\n0x0049: 'COMBINATION',\n0x004A: 'PREFERRED',\n0x004B: 'ADD.OVERLAY',\n0x004C: 'GRIDLINES',\n0x004D: 'SET.PREFERRED',\n0x004E: 'AXES',\n0x004F: 'LEGEND',\n0x0050: 'ATTACH.TEXT',\n0x0051: 'ADD.ARROW',\n0x0052: 'SELECT.CHART',\n0x0053: 'SELECT.PLOT.AREA',\n0x0054: 'PATTERNS',\n0x0055: 'MAIN.CHART',\n0x0056: 'OVERLAY',\n0x0057: 'SCALE',\n0x0058: 'FORMAT.LEGEND',\n0x0059: 'FORMAT.TEXT',\n0x005A: 'EDIT.REPEAT',\n0x005B: 'PARSE',\n0x005C: 'JUSTIFY',\n0x005D: 'HIDE',\n0x005E: 'UNHIDE',\n0x005F: 'WORKSPACE',\n0x0060: 'FORMULA',\n0x0061: 'FORMULA.FILL',\n0x0062: 'FORMULA.ARRAY',\n0x0063: 'DATA.FIND.NEXT',\n0x0064: 'DATA.FIND.PREV',\n0x0065: 'FORMULA.FIND.NEXT',\n0x0066: 'FORMULA.FIND.PREV',\n0x0067: 'ACTIVATE',\n0x0068: 'ACTIVATE.NEXT',\n0x0069: 'ACTIVATE.PREV',\n0x006A: 'UNLOCKED.NEXT',\n0x006B: 'UNLOCKED.PREV',\n0x006C: 'COPY.PICTURE',\n0x006D: 'SELECT',\n0x006E: 'DELETE.NAME',\n0x006F: 'DELETE.FORMAT',\n0x0070: 'VLINE',\n0x0071: 'HLINE',\n0x0072: 'VPAGE',\n0x0073: 'HPAGE',\n0x0074: 'VSCROLL',\n0x0075: 'HSCROLL',\n0x0076: 'ALERT',\n0x0077: 'NEW',\n0x0078: 'CANCEL.COPY',\n0x0079: 'SHOW.CLIPBOARD',\n0x007A: 'MESSAGE',\n0x007C: 'PASTE.LINK',\n0x007D: 'APP.ACTIVATE',\n0x007E: 'DELETE.ARROW',\n0x007F: 'ROW.HEIGHT',\n0x0080: 'FORMAT.MOVE',\n0x0081: 'FORMAT.SIZE',\n0x0082: 'FORMULA.REPLACE',\n0x0083: 'SEND.KEYS',\n0x0084: 'SELECT.SPECIAL',\n0x0085: 'APPLY.NAMES',\n0x0086: 'REPLACE.FONT',\n0x0087: 'FREEZE.PANES',\n0x0088: 'SHOW.INFO',\n0x0089: 'SPLIT',\n0x008A: 'ON.WINDOW',\n0x008B: 'ON.DATA',\n0x008C: 'DISABLE.INPUT',\n0x008E: 'OUTLINE',\n0x008F: 'LIST.NAMES',\n0x0090: 'FILE.CLOSE',\n0x0091: 'SAVE.WORKBOOK',\n0x0092: 'DATA.FORM',\n0x0093: 'COPY.CHART',\n0x0094: 'ON.TIME',\n0x0095: 'WAIT',\n0x0096: 'FORMAT.FONT',\n0x0097: 'FILL.UP',\n0x0098: 'FILL.LEFT',\n0x0099: 'DELETE.OVERLAY',\n0x009B: 'SHORT.MENUS',\n0x009F: 'SET.UPDATE.STATUS',\n0x00A1: 'COLOR.PALETTE',\n0x00A2: 'DELETE.STYLE',\n0x00A3: 'WINDOW.RESTORE',\n0x00A4: 'WINDOW.MAXIMIZE',\n0x00A6: 'CHANGE.LINK',\n0x00A7: 'CALCULATE.DOCUMENT',\n0x00A8: 'ON.KEY',\n0x00A9: 'APP.RESTORE',\n0x00AA: 'APP.MOVE',\n0x00AB: 'APP.SIZE',\n0x00AC: 'APP.MINIMIZE',\n0x00AD: 'APP.MAXIMIZE',\n0x00AE: 'BRING.TO.FRONT',\n0x00AF: 'SEND.TO.BACK',\n0x00B9: 'MAIN.CHART.TYPE',\n0x00BA: 'OVERLAY.CHART.TYPE',\n0x00BB: 'SELECT.END',\n0x00BC: 'OPEN.MAIL',\n0x00BD: 'SEND.MAIL',\n0x00BE: 'STANDARD.FONT',\n0x00BF: 'CONSOLIDATE',\n0x00C0: 'SORT.SPECIAL',\n0x00C1: 'GALLERY.3D.AREA',\n0x00C2: 'GALLERY.3D.COLUMN',\n0x00C3: 'GALLERY.3D.LINE',\n0x00C4: 'GALLERY.3D.PIE',\n0x00C5: 'VIEW.3D',\n0x00C6: 'GOAL.SEEK',\n0x00C7: 'WORKGROUP',\n0x00C8: 'FILL.GROUP',\n0x00C9: 'UPDATE.LINK',\n0x00CA: 'PROMOTE',\n0x00CB: 'DEMOTE',\n0x00CC: 'SHOW.DETAIL',\n0x00CE: 'UNGROUP',\n0x00CF: 'OBJECT.PROPERTIES',\n0x00D0: 'SAVE.NEW.OBJECT',\n0x00D1: 'SHARE',\n0x00D2: 'SHARE.NAME',\n0x00D3: 'DUPLICATE',\n0x00D4: 'APPLY.STYLE',\n0x00D5: 'ASSIGN.TO.OBJECT',\n0x00D6: 'OBJECT.PROTECTION',\n0x00D7: 'HIDE.OBJECT',\n0x00D8: 'SET.EXTRACT',\n0x00D9: 'CREATE.PUBLISHER',\n0x00DA: 'SUBSCRIBE.TO',\n0x00DB: 'ATTRIBUTES',\n0x00DC: 'SHOW.TOOLBAR',\n0x00DE: 'PRINT.PREVIEW',\n0x00DF: 'EDIT.COLOR',\n0x00E0: 'SHOW.LEVELS',\n0x00E1: 'FORMAT.MAIN',\n0x00E2: 'FORMAT.OVERLAY',\n0x00E3: 'ON.RECALC',\n0x00E4: 'EDIT.SERIES',\n0x00E5: 'DEFINE.STYLE',\n0x00F0: 'LINE.PRINT',\n0x00F3: 'ENTER.DATA',\n0x00F9: 'GALLERY.RADAR',\n0x00FA: 'MERGE.STYLES',\n0x00FB: 'EDITION.OPTIONS',\n0x00FC: 'PASTE.PICTURE',\n0x00FD: 'PASTE.PICTURE.LINK',\n0x00FE: 'SPELLING',\n0x0100: 'ZOOM',\n0x0103: 'INSERT.OBJECT',\n0x0104: 'WINDOW.MINIMIZE',\n0x0109: 'SOUND.NOTE',\n0x010A: 'SOUND.PLAY',\n0x010B: 'FORMAT.SHAPE',\n0x010C: 'EXTEND.POLYGON',\n0x010D: 'FORMAT.AUTO',\n0x0110: 'GALLERY.3D.BAR',\n0x0111: 'GALLERY.3D.SURFACE',\n0x0112: 'FILL.AUTO',\n0x0114: 'CUSTOMIZE.TOOLBAR',\n0x0115: 'ADD.TOOL',\n0x0116: 'EDIT.OBJECT',\n0x0117: 'ON.DOUBLECLICK',\n0x0118: 'ON.ENTRY',\n0x0119: 'WORKBOOK.ADD',\n0x011A: 'WORKBOOK.MOVE',\n0x011B: 'WORKBOOK.COPY',\n0x011C: 'WORKBOOK.OPTIONS',\n0x011D: 'SAVE.WORKSPACE',\n0x0120: 'CHART.WIZARD',\n0x0121: 'DELETE.TOOL',\n0x0122: 'MOVE.TOOL',\n0x0123: 'WORKBOOK.SELECT',\n0x0124: 'WORKBOOK.ACTIVATE',\n0x0125: 'ASSIGN.TO.TOOL',\n0x0127: 'COPY.TOOL',\n0x0128: 'RESET.TOOL',\n0x0129: 'CONSTRAIN.NUMERIC',\n0x012A: 'PASTE.TOOL',\n0x012E: 'WORKBOOK.NEW',\n0x0131: 'SCENARIO.CELLS',\n0x0132: 'SCENARIO.DELETE',\n0x0133: 'SCENARIO.ADD',\n0x0134: 'SCENARIO.EDIT',\n0x0135: 'SCENARIO.SHOW',\n0x0136: 'SCENARIO.SHOW.NEXT',\n0x0137: 'SCENARIO.SUMMARY',\n0x0138: 'PIVOT.TABLE.WIZARD',\n0x0139: 'PIVOT.FIELD.PROPERTIES',\n0x013A: 'PIVOT.FIELD',\n0x013B: 'PIVOT.ITEM',\n0x013C: 'PIVOT.ADD.FIELDS',\n0x013E: 'OPTIONS.CALCULATION',\n0x013F: 'OPTIONS.EDIT',\n0x0140: 'OPTIONS.VIEW',\n0x0141: 'ADDIN.MANAGER',\n0x0142: 'MENU.EDITOR',\n0x0143: 'ATTACH.TOOLBARS',\n0x0144: 'VBAActivate',\n0x0145: 'OPTIONS.CHART',\n0x0148: 'VBA.INSERT.FILE',\n0x014A: 'VBA.PROCEDURE.DEFINITION',\n0x0150: 'ROUTING.SLIP',\n0x0152: 'ROUTE.DOCUMENT',\n0x0153: 'MAIL.LOGON',\n0x0156: 'INSERT.PICTURE',\n0x0157: 'EDIT.TOOL',\n0x0158: 'GALLERY.DOUGHNUT',\n0x015E: 'CHART.TREND',\n0x0160: 'PIVOT.ITEM.PROPERTIES',\n0x0162: 'WORKBOOK.INSERT',\n0x0163: 'OPTIONS.TRANSITION',\n0x0164: 'OPTIONS.GENERAL',\n0x0172: 'FILTER.ADVANCED',\n0x0175: 'MAIL.ADD.MAILER',\n0x0176: 'MAIL.DELETE.MAILER',\n0x0177: 'MAIL.REPLY',\n0x0178: 'MAIL.REPLY.ALL',\n0x0179: 'MAIL.FORWARD',\n0x017A: 'MAIL.NEXT.LETTER',\n0x017B: 'DATA.LABEL',\n0x017C: 'INSERT.TITLE',\n0x017D: 'FONT.PROPERTIES',\n0x017E: 'MACRO.OPTIONS',\n0x017F: 'WORKBOOK.HIDE',\n0x0180: 'WORKBOOK.UNHIDE',\n0x0181: 'WORKBOOK.DELETE',\n0x0182: 'WORKBOOK.NAME',\n0x0184: 'GALLERY.CUSTOM',\n0x0186: 'ADD.CHART.AUTOFORMAT',\n0x0187: 'DELETE.CHART.AUTOFORMAT',\n0x0188: 'CHART.ADD.DATA',\n0x0189: 'AUTO.OUTLINE',\n0x018A: 'TAB.ORDER',\n0x018B: 'SHOW.DIALOG',\n0x018C: 'SELECT.ALL',\n0x018D: 'UNGROUP.SHEETS',\n0x018E: 'SUBTOTAL.CREATE',\n0x018F: 'SUBTOTAL.REMOVE',\n0x0190: 'RENAME.OBJECT',\n0x019C: 'WORKBOOK.SCROLL',\n0x019D: 'WORKBOOK.NEXT',\n0x019E: 'WORKBOOK.PREV',\n0x019F: 'WORKBOOK.TAB.SPLIT',\n0x01A0: 'FULL.SCREEN',\n0x01A1: 'WORKBOOK.PROTECT',\n0x01A4: 'SCROLLBAR.PROPERTIES',\n0x01A5: 'PIVOT.SHOW.PAGES',\n0x01A6: 'TEXT.TO.COLUMNS',\n0x01A7: 'FORMAT.CHARTTYPE',\n0x01A8: 'LINK.FORMAT',\n0x01A9: 'TRACER.DISPLAY',\n0x01AE: 'TRACER.NAVIGATE',\n0x01AF: 'TRACER.CLEAR',\n0x01B0: 'TRACER.ERROR',\n0x01B1: 'PIVOT.FIELD.GROUP',\n0x01B2: 'PIVOT.FIELD.UNGROUP',\n0x01B3: 'CHECKBOX.PROPERTIES',\n0x01B4: 'LABEL.PROPERTIES',\n0x01B5: 'LISTBOX.PROPERTIES',\n0x01B6: 'EDITBOX.PROPERTIES',\n0x01B7: 'PIVOT.REFRESH',\n0x01B8: 'LINK.COMBO',\n0x01B9: 'OPEN.TEXT',\n0x01BA: 'HIDE.DIALOG',\n0x01BB: 'SET.DIALOG.FOCUS',\n0x01BC: 'ENABLE.OBJECT',\n0x01BD: 'PUSHBUTTON.PROPERTIES',\n0x01BE: 'SET.DIALOG.DEFAULT',\n0x01BF: 'FILTER',\n0x01C0: 'FILTER.SHOW.ALL',\n0x01C1: 'CLEAR.OUTLINE',\n0x01C2: 'FUNCTION.WIZARD',\n0x01C3: 'ADD.LIST.ITEM',\n0x01C4: 'SET.LIST.ITEM',\n0x01C5: 'REMOVE.LIST.ITEM',\n0x01C6: 'SELECT.LIST.ITEM',\n0x01C7: 'SET.CONTROL.VALUE',\n0x01C8: 'SAVE.COPY.AS',\n0x01CA: 'OPTIONS.LISTS.ADD',\n0x01CB: 'OPTIONS.LISTS.DELETE',\n0x01CC: 'SERIES.AXES',\n0x01CD: 'SERIES.X',\n0x01CE: 'SERIES.Y',\n0x01CF: 'ERRORBAR.X',\n0x01D0: 'ERRORBAR.Y',\n0x01D1: 'FORMAT.CHART',\n0x01D2: 'SERIES.ORDER',\n0x01D3: 'MAIL.LOGOFF',\n0x01D4: 'CLEAR.ROUTING.SLIP',\n0x01D5: 'APP.ACTIVATE.MICROSOFT',\n0x01D6: 'MAIL.EDIT.MAILER',\n0x01D7: 'ON.SHEET',\n0x01D8: 'STANDARD.WIDTH',\n0x01D9: 'SCENARIO.MERGE',\n0x01DA: 'SUMMARY.INFO',\n0x01DB: 'FIND.FILE',\n0x01DC: 'ACTIVE.CELL.FONT',\n0x01DD: 'ENABLE.TIPWIZARD',\n0x01DE: 'VBA.MAKE.ADDIN',\n0x01E0: 'INSERTDATATABLE',\n0x01E1: 'WORKGROUP.OPTIONS',\n0x01E2: 'MAIL.SEND.MAILER',\n0x01E5: 'AUTOCORRECT',\n0x01E9: 'POST.DOCUMENT',\n0x01EB: 'PICKLIST',\n0x01ED: 'VIEW.SHOW',\n0x01EE: 'VIEW.DEFINE',\n0x01EF: 'VIEW.DELETE',\n0x01FD: 'SHEET.BACKGROUND',\n0x01FE: 'INSERT.MAP.OBJECT',\n0x01FF: 'OPTIONS.MENONO',\n0x0205: 'MSOCHECKS',\n0x0206: 'NORMAL',\n0x0207: 'LAYOUT',\n0x0208: 'RM.PRINT.AREA',\n0x0209: 'CLEAR.PRINT.AREA',\n0x020A: 'ADD.PRINT.AREA',\n0x020B: 'MOVE.BRK',\n0x0221: 'HIDECURR.NOTE',\n0x0222: 'HIDEALL.NOTES',\n0x0223: 'DELETE.NOTE',\n0x0224: 'TRAVERSE.NOTES',\n0x0225: 'ACTIVATE.NOTES',\n0x026C: 'PROTECT.REVISIONS',\n0x026D: 'UNPROTECT.REVISIONS',\n0x0287: 'OPTIONS.ME',\n0x028D: 'WEB.PUBLISH',\n0x029B: 'NEWWEBQUERY',\n0x02A1: 'PIVOT.TABLE.CHART',\n0x02F1: 'OPTIONS.SAVE',\n0x02F3: 'OPTIONS.SPELL',\n0x0328: 'HIDEALL.INKANNOTS'\n};\n\n/* [MS-XLS] 2.5.198.17 */\n/* [MS-XLSB] 2.5.97.10 */\nvar Ftab = {\n0x0000: 'COUNT',\n0x0001: 'IF',\n0x0002: 'ISNA',\n0x0003: 'ISERROR',\n0x0004: 'SUM',\n0x0005: 'AVERAGE',\n0x0006: 'MIN',\n0x0007: 'MAX',\n0x0008: 'ROW',\n0x0009: 'COLUMN',\n0x000A: 'NA',\n0x000B: 'NPV',\n0x000C: 'STDEV',\n0x000D: 'DOLLAR',\n0x000E: 'FIXED',\n0x000F: 'SIN',\n0x0010: 'COS',\n0x0011: 'TAN',\n0x0012: 'ATAN',\n0x0013: 'PI',\n0x0014: 'SQRT',\n0x0015: 'EXP',\n0x0016: 'LN',\n0x0017: 'LOG10',\n0x0018: 'ABS',\n0x0019: 'INT',\n0x001A: 'SIGN',\n0x001B: 'ROUND',\n0x001C: 'LOOKUP',\n0x001D: 'INDEX',\n0x001E: 'REPT',\n0x001F: 'MID',\n0x0020: 'LEN',\n0x0021: 'VALUE',\n0x0022: 'TRUE',\n0x0023: 'FALSE',\n0x0024: 'AND',\n0x0025: 'OR',\n0x0026: 'NOT',\n0x0027: 'MOD',\n0x0028: 'DCOUNT',\n0x0029: 'DSUM',\n0x002A: 'DAVERAGE',\n0x002B: 'DMIN',\n0x002C: 'DMAX',\n0x002D: 'DSTDEV',\n0x002E: 'VAR',\n0x002F: 'DVAR',\n0x0030: 'TEXT',\n0x0031: 'LINEST',\n0x0032: 'TREND',\n0x0033: 'LOGEST',\n0x0034: 'GROWTH',\n0x0035: 'GOTO',\n0x0036: 'HALT',\n0x0037: 'RETURN',\n0x0038: 'PV',\n0x0039: 'FV',\n0x003A: 'NPER',\n0x003B: 'PMT',\n0x003C: 'RATE',\n0x003D: 'MIRR',\n0x003E: 'IRR',\n0x003F: 'RAND',\n0x0040: 'MATCH',\n0x0041: 'DATE',\n0x0042: 'TIME',\n0x0043: 'DAY',\n0x0044: 'MONTH',\n0x0045: 'YEAR',\n0x0046: 'WEEKDAY',\n0x0047: 'HOUR',\n0x0048: 'MINUTE',\n0x0049: 'SECOND',\n0x004A: 'NOW',\n0x004B: 'AREAS',\n0x004C: 'ROWS',\n0x004D: 'COLUMNS',\n0x004E: 'OFFSET',\n0x004F: 'ABSREF',\n0x0050: 'RELREF',\n0x0051: 'ARGUMENT',\n0x0052: 'SEARCH',\n0x0053: 'TRANSPOSE',\n0x0054: 'ERROR',\n0x0055: 'STEP',\n0x0056: 'TYPE',\n0x0057: 'ECHO',\n0x0058: 'SET.NAME',\n0x0059: 'CALLER',\n0x005A: 'DEREF',\n0x005B: 'WINDOWS',\n0x005C: 'SERIES',\n0x005D: 'DOCUMENTS',\n0x005E: 'ACTIVE.CELL',\n0x005F: 'SELECTION',\n0x0060: 'RESULT',\n0x0061: 'ATAN2',\n0x0062: 'ASIN',\n0x0063: 'ACOS',\n0x0064: 'CHOOSE',\n0x0065: 'HLOOKUP',\n0x0066: 'VLOOKUP',\n0x0067: 'LINKS',\n0x0068: 'INPUT',\n0x0069: 'ISREF',\n0x006A: 'GET.FORMULA',\n0x006B: 'GET.NAME',\n0x006C: 'SET.VALUE',\n0x006D: 'LOG',\n0x006E: 'EXEC',\n0x006F: 'CHAR',\n0x0070: 'LOWER',\n0x0071: 'UPPER',\n0x0072: 'PROPER',\n0x0073: 'LEFT',\n0x0074: 'RIGHT',\n0x0075: 'EXACT',\n0x0076: 'TRIM',\n0x0077: 'REPLACE',\n0x0078: 'SUBSTITUTE',\n0x0079: 'CODE',\n0x007A: 'NAMES',\n0x007B: 'DIRECTORY',\n0x007C: 'FIND',\n0x007D: 'CELL',\n0x007E: 'ISERR',\n0x007F: 'ISTEXT',\n0x0080: 'ISNUMBER',\n0x0081: 'ISBLANK',\n0x0082: 'T',\n0x0083: 'N',\n0x0084: 'FOPEN',\n0x0085: 'FCLOSE',\n0x0086: 'FSIZE',\n0x0087: 'FREADLN',\n0x0088: 'FREAD',\n0x0089: 'FWRITELN',\n0x008A: 'FWRITE',\n0x008B: 'FPOS',\n0x008C: 'DATEVALUE',\n0x008D: 'TIMEVALUE',\n0x008E: 'SLN',\n0x008F: 'SYD',\n0x0090: 'DDB',\n0x0091: 'GET.DEF',\n0x0092: 'REFTEXT',\n0x0093: 'TEXTREF',\n0x0094: 'INDIRECT',\n0x0095: 'REGISTER',\n0x0096: 'CALL',\n0x0097: 'ADD.BAR',\n0x0098: 'ADD.MENU',\n0x0099: 'ADD.COMMAND',\n0x009A: 'ENABLE.COMMAND',\n0x009B: 'CHECK.COMMAND',\n0x009C: 'RENAME.COMMAND',\n0x009D: 'SHOW.BAR',\n0x009E: 'DELETE.MENU',\n0x009F: 'DELETE.COMMAND',\n0x00A0: 'GET.CHART.ITEM',\n0x00A1: 'DIALOG.BOX',\n0x00A2: 'CLEAN',\n0x00A3: 'MDETERM',\n0x00A4: 'MINVERSE',\n0x00A5: 'MMULT',\n0x00A6: 'FILES',\n0x00A7: 'IPMT',\n0x00A8: 'PPMT',\n0x00A9: 'COUNTA',\n0x00AA: 'CANCEL.KEY',\n0x00AB: 'FOR',\n0x00AC: 'WHILE',\n0x00AD: 'BREAK',\n0x00AE: 'NEXT',\n0x00AF: 'INITIATE',\n0x00B0: 'REQUEST',\n0x00B1: 'POKE',\n0x00B2: 'EXECUTE',\n0x00B3: 'TERMINATE',\n0x00B4: 'RESTART',\n0x00B5: 'HELP',\n0x00B6: 'GET.BAR',\n0x00B7: 'PRODUCT',\n0x00B8: 'FACT',\n0x00B9: 'GET.CELL',\n0x00BA: 'GET.WORKSPACE',\n0x00BB: 'GET.WINDOW',\n0x00BC: 'GET.DOCUMENT',\n0x00BD: 'DPRODUCT',\n0x00BE: 'ISNONTEXT',\n0x00BF: 'GET.NOTE',\n0x00C0: 'NOTE',\n0x00C1: 'STDEVP',\n0x00C2: 'VARP',\n0x00C3: 'DSTDEVP',\n0x00C4: 'DVARP',\n0x00C5: 'TRUNC',\n0x00C6: 'ISLOGICAL',\n0x00C7: 'DCOUNTA',\n0x00C8: 'DELETE.BAR',\n0x00C9: 'UNREGISTER',\n0x00CC: 'USDOLLAR',\n0x00CD: 'FINDB',\n0x00CE: 'SEARCHB',\n0x00CF: 'REPLACEB',\n0x00D0: 'LEFTB',\n0x00D1: 'RIGHTB',\n0x00D2: 'MIDB',\n0x00D3: 'LENB',\n0x00D4: 'ROUNDUP',\n0x00D5: 'ROUNDDOWN',\n0x00D6: 'ASC',\n0x00D7: 'DBCS',\n0x00D8: 'RANK',\n0x00DB: 'ADDRESS',\n0x00DC: 'DAYS360',\n0x00DD: 'TODAY',\n0x00DE: 'VDB',\n0x00DF: 'ELSE',\n0x00E0: 'ELSE.IF',\n0x00E1: 'END.IF',\n0x00E2: 'FOR.CELL',\n0x00E3: 'MEDIAN',\n0x00E4: 'SUMPRODUCT',\n0x00E5: 'SINH',\n0x00E6: 'COSH',\n0x00E7: 'TANH',\n0x00E8: 'ASINH',\n0x00E9: 'ACOSH',\n0x00EA: 'ATANH',\n0x00EB: 'DGET',\n0x00EC: 'CREATE.OBJECT',\n0x00ED: 'VOLATILE',\n0x00EE: 'LAST.ERROR',\n0x00EF: 'CUSTOM.UNDO',\n0x00F0: 'CUSTOM.REPEAT',\n0x00F1: 'FORMULA.CONVERT',\n0x00F2: 'GET.LINK.INFO',\n0x00F3: 'TEXT.BOX',\n0x00F4: 'INFO',\n0x00F5: 'GROUP',\n0x00F6: 'GET.OBJECT',\n0x00F7: 'DB',\n0x00F8: 'PAUSE',\n0x00FB: 'RESUME',\n0x00FC: 'FREQUENCY',\n0x00FD: 'ADD.TOOLBAR',\n0x00FE: 'DELETE.TOOLBAR',\n0x00FF: 'User',\n0x0100: 'RESET.TOOLBAR',\n0x0101: 'EVALUATE',\n0x0102: 'GET.TOOLBAR',\n0x0103: 'GET.TOOL',\n0x0104: 'SPELLING.CHECK',\n0x0105: 'ERROR.TYPE',\n0x0106: 'APP.TITLE',\n0x0107: 'WINDOW.TITLE',\n0x0108: 'SAVE.TOOLBAR',\n0x0109: 'ENABLE.TOOL',\n0x010A: 'PRESS.TOOL',\n0x010B: 'REGISTER.ID',\n0x010C: 'GET.WORKBOOK',\n0x010D: 'AVEDEV',\n0x010E: 'BETADIST',\n0x010F: 'GAMMALN',\n0x0110: 'BETAINV',\n0x0111: 'BINOMDIST',\n0x0112: 'CHIDIST',\n0x0113: 'CHIINV',\n0x0114: 'COMBIN',\n0x0115: 'CONFIDENCE',\n0x0116: 'CRITBINOM',\n0x0117: 'EVEN',\n0x0118: 'EXPONDIST',\n0x0119: 'FDIST',\n0x011A: 'FINV',\n0x011B: 'FISHER',\n0x011C: 'FISHERINV',\n0x011D: 'FLOOR',\n0x011E: 'GAMMADIST',\n0x011F: 'GAMMAINV',\n0x0120: 'CEILING',\n0x0121: 'HYPGEOMDIST',\n0x0122: 'LOGNORMDIST',\n0x0123: 'LOGINV',\n0x0124: 'NEGBINOMDIST',\n0x0125: 'NORMDIST',\n0x0126: 'NORMSDIST',\n0x0127: 'NORMINV',\n0x0128: 'NORMSINV',\n0x0129: 'STANDARDIZE',\n0x012A: 'ODD',\n0x012B: 'PERMUT',\n0x012C: 'POISSON',\n0x012D: 'TDIST',\n0x012E: 'WEIBULL',\n0x012F: 'SUMXMY2',\n0x0130: 'SUMX2MY2',\n0x0131: 'SUMX2PY2',\n0x0132: 'CHITEST',\n0x0133: 'CORREL',\n0x0134: 'COVAR',\n0x0135: 'FORECAST',\n0x0136: 'FTEST',\n0x0137: 'INTERCEPT',\n0x0138: 'PEARSON',\n0x0139: 'RSQ',\n0x013A: 'STEYX',\n0x013B: 'SLOPE',\n0x013C: 'TTEST',\n0x013D: 'PROB',\n0x013E: 'DEVSQ',\n0x013F: 'GEOMEAN',\n0x0140: 'HARMEAN',\n0x0141: 'SUMSQ',\n0x0142: 'KURT',\n0x0143: 'SKEW',\n0x0144: 'ZTEST',\n0x0145: 'LARGE',\n0x0146: 'SMALL',\n0x0147: 'QUARTILE',\n0x0148: 'PERCENTILE',\n0x0149: 'PERCENTRANK',\n0x014A: 'MODE',\n0x014B: 'TRIMMEAN',\n0x014C: 'TINV',\n0x014E: 'MOVIE.COMMAND',\n0x014F: 'GET.MOVIE',\n0x0150: 'CONCATENATE',\n0x0151: 'POWER',\n0x0152: 'PIVOT.ADD.DATA',\n0x0153: 'GET.PIVOT.TABLE',\n0x0154: 'GET.PIVOT.FIELD',\n0x0155: 'GET.PIVOT.ITEM',\n0x0156: 'RADIANS',\n0x0157: 'DEGREES',\n0x0158: 'SUBTOTAL',\n0x0159: 'SUMIF',\n0x015A: 'COUNTIF',\n0x015B: 'COUNTBLANK',\n0x015C: 'SCENARIO.GET',\n0x015D: 'OPTIONS.LISTS.GET',\n0x015E: 'ISPMT',\n0x015F: 'DATEDIF',\n0x0160: 'DATESTRING',\n0x0161: 'NUMBERSTRING',\n0x0162: 'ROMAN',\n0x0163: 'OPEN.DIALOG',\n0x0164: 'SAVE.DIALOG',\n0x0165: 'VIEW.GET',\n0x0166: 'GETPIVOTDATA',\n0x0167: 'HYPERLINK',\n0x0168: 'PHONETIC',\n0x0169: 'AVERAGEA',\n0x016A: 'MAXA',\n0x016B: 'MINA',\n0x016C: 'STDEVPA',\n0x016D: 'VARPA',\n0x016E: 'STDEVA',\n0x016F: 'VARA',\n0x0170: 'BAHTTEXT',\n0x0171: 'THAIDAYOFWEEK',\n0x0172: 'THAIDIGIT',\n0x0173: 'THAIMONTHOFYEAR',\n0x0174: 'THAINUMSOUND',\n0x0175: 'THAINUMSTRING',\n0x0176: 'THAISTRINGLENGTH',\n0x0177: 'ISTHAIDIGIT',\n0x0178: 'ROUNDBAHTDOWN',\n0x0179: 'ROUNDBAHTUP',\n0x017A: 'THAIYEAR',\n0x017B: 'RTD',\n\n0x017C: 'CUBEVALUE',\n0x017D: 'CUBEMEMBER',\n0x017E: 'CUBEMEMBERPROPERTY',\n0x017F: 'CUBERANKEDMEMBER',\n0x0180: 'HEX2BIN',\n0x0181: 'HEX2DEC',\n0x0182: 'HEX2OCT',\n0x0183: 'DEC2BIN',\n0x0184: 'DEC2HEX',\n0x0185: 'DEC2OCT',\n0x0186: 'OCT2BIN',\n0x0187: 'OCT2HEX',\n0x0188: 'OCT2DEC',\n0x0189: 'BIN2DEC',\n0x018A: 'BIN2OCT',\n0x018B: 'BIN2HEX',\n0x018C: 'IMSUB',\n0x018D: 'IMDIV',\n0x018E: 'IMPOWER',\n0x018F: 'IMABS',\n0x0190: 'IMSQRT',\n0x0191: 'IMLN',\n0x0192: 'IMLOG2',\n0x0193: 'IMLOG10',\n0x0194: 'IMSIN',\n0x0195: 'IMCOS',\n0x0196: 'IMEXP',\n0x0197: 'IMARGUMENT',\n0x0198: 'IMCONJUGATE',\n0x0199: 'IMAGINARY',\n0x019A: 'IMREAL',\n0x019B: 'COMPLEX',\n0x019C: 'IMSUM',\n0x019D: 'IMPRODUCT',\n0x019E: 'SERIESSUM',\n0x019F: 'FACTDOUBLE',\n0x01A0: 'SQRTPI',\n0x01A1: 'QUOTIENT',\n0x01A2: 'DELTA',\n0x01A3: 'GESTEP',\n0x01A4: 'ISEVEN',\n0x01A5: 'ISODD',\n0x01A6: 'MROUND',\n0x01A7: 'ERF',\n0x01A8: 'ERFC',\n0x01A9: 'BESSELJ',\n0x01AA: 'BESSELK',\n0x01AB: 'BESSELY',\n0x01AC: 'BESSELI',\n0x01AD: 'XIRR',\n0x01AE: 'XNPV',\n0x01AF: 'PRICEMAT',\n0x01B0: 'YIELDMAT',\n0x01B1: 'INTRATE',\n0x01B2: 'RECEIVED',\n0x01B3: 'DISC',\n0x01B4: 'PRICEDISC',\n0x01B5: 'YIELDDISC',\n0x01B6: 'TBILLEQ',\n0x01B7: 'TBILLPRICE',\n0x01B8: 'TBILLYIELD',\n0x01B9: 'PRICE',\n0x01BA: 'YIELD',\n0x01BB: 'DOLLARDE',\n0x01BC: 'DOLLARFR',\n0x01BD: 'NOMINAL',\n0x01BE: 'EFFECT',\n0x01BF: 'CUMPRINC',\n0x01C0: 'CUMIPMT',\n0x01C1: 'EDATE',\n0x01C2: 'EOMONTH',\n0x01C3: 'YEARFRAC',\n0x01C4: 'COUPDAYBS',\n0x01C5: 'COUPDAYS',\n0x01C6: 'COUPDAYSNC',\n0x01C7: 'COUPNCD',\n0x01C8: 'COUPNUM',\n0x01C9: 'COUPPCD',\n0x01CA: 'DURATION',\n0x01CB: 'MDURATION',\n0x01CC: 'ODDLPRICE',\n0x01CD: 'ODDLYIELD',\n0x01CE: 'ODDFPRICE',\n0x01CF: 'ODDFYIELD',\n0x01D0: 'RANDBETWEEN',\n0x01D1: 'WEEKNUM',\n0x01D2: 'AMORDEGRC',\n0x01D3: 'AMORLINC',\n0x01D4: 'CONVERT',\n0x02D4: 'SHEETJS',\n0x01D5: 'ACCRINT',\n0x01D6: 'ACCRINTM',\n0x01D7: 'WORKDAY',\n0x01D8: 'NETWORKDAYS',\n0x01D9: 'GCD',\n0x01DA: 'MULTINOMIAL',\n0x01DB: 'LCM',\n0x01DC: 'FVSCHEDULE',\n0x01DD: 'CUBEKPIMEMBER',\n0x01DE: 'CUBESET',\n0x01DF: 'CUBESETCOUNT',\n0x01E0: 'IFERROR',\n0x01E1: 'COUNTIFS',\n0x01E2: 'SUMIFS',\n0x01E3: 'AVERAGEIF',\n0x01E4: 'AVERAGEIFS'\n};\nvar FtabArgc = {\n0x0002: 1, /* ISNA */\n0x0003: 1, /* ISERROR */\n0x000A: 0, /* NA */\n0x000F: 1, /* SIN */\n0x0010: 1, /* COS */\n0x0011: 1, /* TAN */\n0x0012: 1, /* ATAN */\n0x0013: 0, /* PI */\n0x0014: 1, /* SQRT */\n0x0015: 1, /* EXP */\n0x0016: 1, /* LN */\n0x0017: 1, /* LOG10 */\n0x0018: 1, /* ABS */\n0x0019: 1, /* INT */\n0x001A: 1, /* SIGN */\n0x001B: 2, /* ROUND */\n0x001E: 2, /* REPT */\n0x001F: 3, /* MID */\n0x0020: 1, /* LEN */\n0x0021: 1, /* VALUE */\n0x0022: 0, /* TRUE */\n0x0023: 0, /* FALSE */\n0x0026: 1, /* NOT */\n0x0027: 2, /* MOD */\n0x0028: 3, /* DCOUNT */\n0x0029: 3, /* DSUM */\n0x002A: 3, /* DAVERAGE */\n0x002B: 3, /* DMIN */\n0x002C: 3, /* DMAX */\n0x002D: 3, /* DSTDEV */\n0x002F: 3, /* DVAR */\n0x0030: 2, /* TEXT */\n0x0035: 1, /* GOTO */\n0x003D: 3, /* MIRR */\n0x003F: 0, /* RAND */\n0x0041: 3, /* DATE */\n0x0042: 3, /* TIME */\n0x0043: 1, /* DAY */\n0x0044: 1, /* MONTH */\n0x0045: 1, /* YEAR */\n0x0046: 1, /* WEEKDAY */\n0x0047: 1, /* HOUR */\n0x0048: 1, /* MINUTE */\n0x0049: 1, /* SECOND */\n0x004A: 0, /* NOW */\n0x004B: 1, /* AREAS */\n0x004C: 1, /* ROWS */\n0x004D: 1, /* COLUMNS */\n0x004F: 2, /* ABSREF */\n0x0050: 2, /* RELREF */\n0x0053: 1, /* TRANSPOSE */\n0x0055: 0, /* STEP */\n0x0056: 1, /* TYPE */\n0x0059: 0, /* CALLER */\n0x005A: 1, /* DEREF */\n0x005E: 0, /* ACTIVE.CELL */\n0x005F: 0, /* SELECTION */\n0x0061: 2, /* ATAN2 */\n0x0062: 1, /* ASIN */\n0x0063: 1, /* ACOS */\n0x0065: 3, /* HLOOKUP */\n0x0066: 3, /* VLOOKUP */\n0x0069: 1, /* ISREF */\n0x006A: 1, /* GET.FORMULA */\n0x006C: 2, /* SET.VALUE */\n0x006F: 1, /* CHAR */\n0x0070: 1, /* LOWER */\n0x0071: 1, /* UPPER */\n0x0072: 1, /* PROPER */\n0x0075: 2, /* EXACT */\n0x0076: 1, /* TRIM */\n0x0077: 4, /* REPLACE */\n0x0079: 1, /* CODE */\n0x007E: 1, /* ISERR */\n0x007F: 1, /* ISTEXT */\n0x0080: 1, /* ISNUMBER */\n0x0081: 1, /* ISBLANK */\n0x0082: 1, /* T */\n0x0083: 1, /* N */\n0x0085: 1, /* FCLOSE */\n0x0086: 1, /* FSIZE */\n0x0087: 1, /* FREADLN */\n0x0088: 2, /* FREAD */\n0x0089: 2, /* FWRITELN */\n0x008A: 2, /* FWRITE */\n0x008C: 1, /* DATEVALUE */\n0x008D: 1, /* TIMEVALUE */\n0x008E: 3, /* SLN */\n0x008F: 4, /* SYD */\n0x0090: 4, /* DDB */\n0x00A1: 1, /* DIALOG.BOX */\n0x00A2: 1, /* CLEAN */\n0x00A3: 1, /* MDETERM */\n0x00A4: 1, /* MINVERSE */\n0x00A5: 2, /* MMULT */\n0x00AC: 1, /* WHILE */\n0x00AF: 2, /* INITIATE */\n0x00B0: 2, /* REQUEST */\n0x00B1: 3, /* POKE */\n0x00B2: 2, /* EXECUTE */\n0x00B3: 1, /* TERMINATE */\n0x00B8: 1, /* FACT */\n0x00BA: 1, /* GET.WORKSPACE */\n0x00BD: 3, /* DPRODUCT */\n0x00BE: 1, /* ISNONTEXT */\n0x00C3: 3, /* DSTDEVP */\n0x00C4: 3, /* DVARP */\n0x00C5: 1, /* TRUNC */\n0x00C6: 1, /* ISLOGICAL */\n0x00C7: 3, /* DCOUNTA */\n0x00C9: 1, /* UNREGISTER */\n0x00CF: 4, /* REPLACEB */\n0x00D2: 3, /* MIDB */\n0x00D3: 1, /* LENB */\n0x00D4: 2, /* ROUNDUP */\n0x00D5: 2, /* ROUNDDOWN */\n0x00D6: 1, /* ASC */\n0x00D7: 1, /* DBCS */\n0x00E1: 0, /* END.IF */\n0x00E5: 1, /* SINH */\n0x00E6: 1, /* COSH */\n0x00E7: 1, /* TANH */\n0x00E8: 1, /* ASINH */\n0x00E9: 1, /* ACOSH */\n0x00EA: 1, /* ATANH */\n0x00EB: 3, /* DGET */\n0x00F4: 1, /* INFO */\n0x00F7: 4, /* DB */\n0x00FC: 2, /* FREQUENCY */\n0x0101: 1, /* EVALUATE */\n0x0105: 1, /* ERROR.TYPE */\n0x010F: 1, /* GAMMALN */\n0x0111: 4, /* BINOMDIST */\n0x0112: 2, /* CHIDIST */\n0x0113: 2, /* CHIINV */\n0x0114: 2, /* COMBIN */\n0x0115: 3, /* CONFIDENCE */\n0x0116: 3, /* CRITBINOM */\n0x0117: 1, /* EVEN */\n0x0118: 3, /* EXPONDIST */\n0x0119: 3, /* FDIST */\n0x011A: 3, /* FINV */\n0x011B: 1, /* FISHER */\n0x011C: 1, /* FISHERINV */\n0x011D: 2, /* FLOOR */\n0x011E: 4, /* GAMMADIST */\n0x011F: 3, /* GAMMAINV */\n0x0120: 2, /* CEILING */\n0x0121: 4, /* HYPGEOMDIST */\n0x0122: 3, /* LOGNORMDIST */\n0x0123: 3, /* LOGINV */\n0x0124: 3, /* NEGBINOMDIST */\n0x0125: 4, /* NORMDIST */\n0x0126: 1, /* NORMSDIST */\n0x0127: 3, /* NORMINV */\n0x0128: 1, /* NORMSINV */\n0x0129: 3, /* STANDARDIZE */\n0x012A: 1, /* ODD */\n0x012B: 2, /* PERMUT */\n0x012C: 3, /* POISSON */\n0x012D: 3, /* TDIST */\n0x012E: 4, /* WEIBULL */\n0x012F: 2, /* SUMXMY2 */\n0x0130: 2, /* SUMX2MY2 */\n0x0131: 2, /* SUMX2PY2 */\n0x0132: 2, /* CHITEST */\n0x0133: 2, /* CORREL */\n0x0134: 2, /* COVAR */\n0x0135: 3, /* FORECAST */\n0x0136: 2, /* FTEST */\n0x0137: 2, /* INTERCEPT */\n0x0138: 2, /* PEARSON */\n0x0139: 2, /* RSQ */\n0x013A: 2, /* STEYX */\n0x013B: 2, /* SLOPE */\n0x013C: 4, /* TTEST */\n0x0145: 2, /* LARGE */\n0x0146: 2, /* SMALL */\n0x0147: 2, /* QUARTILE */\n0x0148: 2, /* PERCENTILE */\n0x014B: 2, /* TRIMMEAN */\n0x014C: 2, /* TINV */\n0x0151: 2, /* POWER */\n0x0156: 1, /* RADIANS */\n0x0157: 1, /* DEGREES */\n0x015A: 2, /* COUNTIF */\n0x015B: 1, /* COUNTBLANK */\n0x015E: 4, /* ISPMT */\n0x015F: 3, /* DATEDIF */\n0x0160: 1, /* DATESTRING */\n0x0161: 2, /* NUMBERSTRING */\n0x0168: 1, /* PHONETIC */\n0x0170: 1, /* BAHTTEXT */\n0x0171: 1, /* THAIDAYOFWEEK */\n0x0172: 1, /* THAIDIGIT */\n0x0173: 1, /* THAIMONTHOFYEAR */\n0x0174: 1, /* THAINUMSOUND */\n0x0175: 1, /* THAINUMSTRING */\n0x0176: 1, /* THAISTRINGLENGTH */\n0x0177: 1, /* ISTHAIDIGIT */\n0x0178: 1, /* ROUNDBAHTDOWN */\n0x0179: 1, /* ROUNDBAHTUP */\n0x017A: 1, /* THAIYEAR */\n0x017E: 3, /* CUBEMEMBERPROPERTY */\n0x0181: 1, /* HEX2DEC */\n0x0188: 1, /* OCT2DEC */\n0x0189: 1, /* BIN2DEC */\n0x018C: 2, /* IMSUB */\n0x018D: 2, /* IMDIV */\n0x018E: 2, /* IMPOWER */\n0x018F: 1, /* IMABS */\n0x0190: 1, /* IMSQRT */\n0x0191: 1, /* IMLN */\n0x0192: 1, /* IMLOG2 */\n0x0193: 1, /* IMLOG10 */\n0x0194: 1, /* IMSIN */\n0x0195: 1, /* IMCOS */\n0x0196: 1, /* IMEXP */\n0x0197: 1, /* IMARGUMENT */\n0x0198: 1, /* IMCONJUGATE */\n0x0199: 1, /* IMAGINARY */\n0x019A: 1, /* IMREAL */\n0x019E: 4, /* SERIESSUM */\n0x019F: 1, /* FACTDOUBLE */\n0x01A0: 1, /* SQRTPI */\n0x01A1: 2, /* QUOTIENT */\n0x01A4: 1, /* ISEVEN */\n0x01A5: 1, /* ISODD */\n0x01A6: 2, /* MROUND */\n0x01A8: 1, /* ERFC */\n0x01A9: 2, /* BESSELJ */\n0x01AA: 2, /* BESSELK */\n0x01AB: 2, /* BESSELY */\n0x01AC: 2, /* BESSELI */\n0x01AE: 3, /* XNPV */\n0x01B6: 3, /* TBILLEQ */\n0x01B7: 3, /* TBILLPRICE */\n0x01B8: 3, /* TBILLYIELD */\n0x01BB: 2, /* DOLLARDE */\n0x01BC: 2, /* DOLLARFR */\n0x01BD: 2, /* NOMINAL */\n0x01BE: 2, /* EFFECT */\n0x01BF: 6, /* CUMPRINC */\n0x01C0: 6, /* CUMIPMT */\n0x01C1: 2, /* EDATE */\n0x01C2: 2, /* EOMONTH */\n0x01D0: 2, /* RANDBETWEEN */\n0x01D4: 3, /* CONVERT */\n0x01DC: 2, /* FVSCHEDULE */\n0x01DF: 1, /* CUBESETCOUNT */\n0x01E0: 2, /* IFERROR */\n0xFFFF: 0\n};\n/* [MS-XLSX] 2.2.3 Functions */\n/* [MS-XLSB] 2.5.97.10 Ftab */\nvar XLSXFutureFunctions = {\n\t\"_xlfn.ACOT\": \"ACOT\",\n\t\"_xlfn.ACOTH\": \"ACOTH\",\n\t\"_xlfn.AGGREGATE\": \"AGGREGATE\",\n\t\"_xlfn.ARABIC\": \"ARABIC\",\n\t\"_xlfn.AVERAGEIF\": \"AVERAGEIF\",\n\t\"_xlfn.AVERAGEIFS\": \"AVERAGEIFS\",\n\t\"_xlfn.BASE\": \"BASE\",\n\t\"_xlfn.BETA.DIST\": \"BETA.DIST\",\n\t\"_xlfn.BETA.INV\": \"BETA.INV\",\n\t\"_xlfn.BINOM.DIST\": \"BINOM.DIST\",\n\t\"_xlfn.BINOM.DIST.RANGE\": \"BINOM.DIST.RANGE\",\n\t\"_xlfn.BINOM.INV\": \"BINOM.INV\",\n\t\"_xlfn.BITAND\": \"BITAND\",\n\t\"_xlfn.BITLSHIFT\": \"BITLSHIFT\",\n\t\"_xlfn.BITOR\": \"BITOR\",\n\t\"_xlfn.BITRSHIFT\": \"BITRSHIFT\",\n\t\"_xlfn.BITXOR\": \"BITXOR\",\n\t\"_xlfn.CEILING.MATH\": \"CEILING.MATH\",\n\t\"_xlfn.CEILING.PRECISE\": \"CEILING.PRECISE\",\n\t\"_xlfn.CHISQ.DIST\": \"CHISQ.DIST\",\n\t\"_xlfn.CHISQ.DIST.RT\": \"CHISQ.DIST.RT\",\n\t\"_xlfn.CHISQ.INV\": \"CHISQ.INV\",\n\t\"_xlfn.CHISQ.INV.RT\": \"CHISQ.INV.RT\",\n\t\"_xlfn.CHISQ.TEST\": \"CHISQ.TEST\",\n\t\"_xlfn.COMBINA\": \"COMBINA\",\n\t\"_xlfn.CONCAT\": \"CONCAT\",\n\t\"_xlfn.CONFIDENCE.NORM\": \"CONFIDENCE.NORM\",\n\t\"_xlfn.CONFIDENCE.T\": \"CONFIDENCE.T\",\n\t\"_xlfn.COT\": \"COT\",\n\t\"_xlfn.COTH\": \"COTH\",\n\t\"_xlfn.COUNTIFS\": \"COUNTIFS\",\n\t\"_xlfn.COVARIANCE.P\": \"COVARIANCE.P\",\n\t\"_xlfn.COVARIANCE.S\": \"COVARIANCE.S\",\n\t\"_xlfn.CSC\": \"CSC\",\n\t\"_xlfn.CSCH\": \"CSCH\",\n\t\"_xlfn.DAYS\": \"DAYS\",\n\t\"_xlfn.DECIMAL\": \"DECIMAL\",\n\t\"_xlfn.ECMA.CEILING\": \"ECMA.CEILING\",\n\t\"_xlfn.ERF.PRECISE\": \"ERF.PRECISE\",\n\t\"_xlfn.ERFC.PRECISE\": \"ERFC.PRECISE\",\n\t\"_xlfn.EXPON.DIST\": \"EXPON.DIST\",\n\t\"_xlfn.F.DIST\": \"F.DIST\",\n\t\"_xlfn.F.DIST.RT\": \"F.DIST.RT\",\n\t\"_xlfn.F.INV\": \"F.INV\",\n\t\"_xlfn.F.INV.RT\": \"F.INV.RT\",\n\t\"_xlfn.F.TEST\": \"F.TEST\",\n\t\"_xlfn.FILTERXML\": \"FILTERXML\",\n\t\"_xlfn.FLOOR.MATH\": \"FLOOR.MATH\",\n\t\"_xlfn.FLOOR.PRECISE\": \"FLOOR.PRECISE\",\n\t\"_xlfn.FORECAST.ETS\": \"FORECAST.ETS\",\n\t\"_xlfn.FORECAST.ETS.CONFINT\": \"FORECAST.ETS.CONFINT\",\n\t\"_xlfn.FORECAST.ETS.SEASONALITY\": \"FORECAST.ETS.SEASONALITY\",\n\t\"_xlfn.FORECAST.ETS.STAT\": \"FORECAST.ETS.STAT\",\n\t\"_xlfn.FORECAST.LINEAR\": \"FORECAST.LINEAR\",\n\t\"_xlfn.FORMULATEXT\": \"FORMULATEXT\",\n\t\"_xlfn.GAMMA\": \"GAMMA\",\n\t\"_xlfn.GAMMA.DIST\": \"GAMMA.DIST\",\n\t\"_xlfn.GAMMA.INV\": \"GAMMA.INV\",\n\t\"_xlfn.GAMMALN.PRECISE\": \"GAMMALN.PRECISE\",\n\t\"_xlfn.GAUSS\": \"GAUSS\",\n\t\"_xlfn.HYPGEOM.DIST\": \"HYPGEOM.DIST\",\n\t\"_xlfn.IFERROR\": \"IFERROR\",\n\t\"_xlfn.IFNA\": \"IFNA\",\n\t\"_xlfn.IFS\": \"IFS\",\n\t\"_xlfn.IMCOSH\": \"IMCOSH\",\n\t\"_xlfn.IMCOT\": \"IMCOT\",\n\t\"_xlfn.IMCSC\": \"IMCSC\",\n\t\"_xlfn.IMCSCH\": \"IMCSCH\",\n\t\"_xlfn.IMSEC\": \"IMSEC\",\n\t\"_xlfn.IMSECH\": \"IMSECH\",\n\t\"_xlfn.IMSINH\": \"IMSINH\",\n\t\"_xlfn.IMTAN\": \"IMTAN\",\n\t\"_xlfn.ISFORMULA\": \"ISFORMULA\",\n\t\"_xlfn.ISO.CEILING\": \"ISO.CEILING\",\n\t\"_xlfn.ISOWEEKNUM\": \"ISOWEEKNUM\",\n\t\"_xlfn.LOGNORM.DIST\": \"LOGNORM.DIST\",\n\t\"_xlfn.LOGNORM.INV\": \"LOGNORM.INV\",\n\t\"_xlfn.MAXIFS\": \"MAXIFS\",\n\t\"_xlfn.MINIFS\": \"MINIFS\",\n\t\"_xlfn.MODE.MULT\": \"MODE.MULT\",\n\t\"_xlfn.MODE.SNGL\": \"MODE.SNGL\",\n\t\"_xlfn.MUNIT\": \"MUNIT\",\n\t\"_xlfn.NEGBINOM.DIST\": \"NEGBINOM.DIST\",\n\t\"_xlfn.NETWORKDAYS.INTL\": \"NETWORKDAYS.INTL\",\n\t\"_xlfn.NIGBINOM\": \"NIGBINOM\",\n\t\"_xlfn.NORM.DIST\": \"NORM.DIST\",\n\t\"_xlfn.NORM.INV\": \"NORM.INV\",\n\t\"_xlfn.NORM.S.DIST\": \"NORM.S.DIST\",\n\t\"_xlfn.NORM.S.INV\": \"NORM.S.INV\",\n\t\"_xlfn.NUMBERVALUE\": \"NUMBERVALUE\",\n\t\"_xlfn.PDURATION\": \"PDURATION\",\n\t\"_xlfn.PERCENTILE.EXC\": \"PERCENTILE.EXC\",\n\t\"_xlfn.PERCENTILE.INC\": \"PERCENTILE.INC\",\n\t\"_xlfn.PERCENTRANK.EXC\": \"PERCENTRANK.EXC\",\n\t\"_xlfn.PERCENTRANK.INC\": \"PERCENTRANK.INC\",\n\t\"_xlfn.PERMUTATIONA\": \"PERMUTATIONA\",\n\t\"_xlfn.PHI\": \"PHI\",\n\t\"_xlfn.POISSON.DIST\": \"POISSON.DIST\",\n\t\"_xlfn.QUARTILE.EXC\": \"QUARTILE.EXC\",\n\t\"_xlfn.QUARTILE.INC\": \"QUARTILE.INC\",\n\t\"_xlfn.QUERYSTRING\": \"QUERYSTRING\",\n\t\"_xlfn.RANK.AVG\": \"RANK.AVG\",\n\t\"_xlfn.RANK.EQ\": \"RANK.EQ\",\n\t\"_xlfn.RRI\": \"RRI\",\n\t\"_xlfn.SEC\": \"SEC\",\n\t\"_xlfn.SECH\": \"SECH\",\n\t\"_xlfn.SHEET\": \"SHEET\",\n\t\"_xlfn.SHEETS\": \"SHEETS\",\n\t\"_xlfn.SKEW.P\": \"SKEW.P\",\n\t\"_xlfn.STDEV.P\": \"STDEV.P\",\n\t\"_xlfn.STDEV.S\": \"STDEV.S\",\n\t\"_xlfn.SUMIFS\": \"SUMIFS\",\n\t\"_xlfn.SWITCH\": \"SWITCH\",\n\t\"_xlfn.T.DIST\": \"T.DIST\",\n\t\"_xlfn.T.DIST.2T\": \"T.DIST.2T\",\n\t\"_xlfn.T.DIST.RT\": \"T.DIST.RT\",\n\t\"_xlfn.T.INV\": \"T.INV\",\n\t\"_xlfn.T.INV.2T\": \"T.INV.2T\",\n\t\"_xlfn.T.TEST\": \"T.TEST\",\n\t\"_xlfn.TEXTJOIN\": \"TEXTJOIN\",\n\t\"_xlfn.UNICHAR\": \"UNICHAR\",\n\t\"_xlfn.UNICODE\": \"UNICODE\",\n\t\"_xlfn.VAR.P\": \"VAR.P\",\n\t\"_xlfn.VAR.S\": \"VAR.S\",\n\t\"_xlfn.WEBSERVICE\": \"WEBSERVICE\",\n\t\"_xlfn.WEIBULL.DIST\": \"WEIBULL.DIST\",\n\t\"_xlfn.WORKDAY.INTL\": \"WORKDAY.INTL\",\n\t\"_xlfn.XOR\": \"XOR\",\n\t\"_xlfn.Z.TEST\": \"Z.TEST\"\n};\n\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f) {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f) {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r) {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r) {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\nRELS.WS = [\n\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n];\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst, str, rev) {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C, col) {\n\tvar p = ({min:C+1,max:C+1});\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins, mode) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles, cell, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF.load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p, fmtid, fillid, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = SSF._general_int(dd);\n\t\t\t\telse p.w = SSF._general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF._general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF.format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF.format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws, sname, i) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws, s) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar sheetprregex2= /<(?:\\w:)?sheetPr[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetPr)>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data, opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]) : ({});\n\tvar refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} });\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges) {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr, s, wb, idx) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr, body, s, wb, idx, styles, themes) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp) {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1});\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin) {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols) {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx) {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r, i) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb) {\n\tvar sview = ({workbookViewId:\"0\"});\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell, ref, ws, opts) {\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z') return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = SSF._table[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref});\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = (function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) {\n\tvar ri = 0, x = \"\", cells = [], cref = [], idx=0, i=0, cc=0, d=\"\", p;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"});\n\n\t\t\tif((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws, opts, idx, wb) {\n\tvar o = [], r = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}), row, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr});\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1});\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nvar WS_XML_ROOT = writextag('worksheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction write_ws_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, WS_XML_ROOT];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(ws['!links'].length > 0) {\n\t\to[o.length] = \"\";\nws['!links'].forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]});\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({});\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo() {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(8 + 4 * cell.v.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display});\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data) {\n\tvar margins = ({});\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\nif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell;\n\tvar merges = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || wb.supbooks || ([[]]);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo = [], rowinfo = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\trecordhopper(data, function ws_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\t\tp = ({t:val[2]});\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && SSF.is_date(SSF._table[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:undefined});\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr]));\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x0031: /* 'BrtCellMeta' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) {\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || SSF._table[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o = ({r:R, c:C});\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, \"BrtShortIsst\", write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, \"BrtCellIsst\", write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, \"BrtShortSt\", write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, \"BrtCellSt\", write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, \"BrtShortRk\", write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, \"BrtCellRk\", write_BrtCellRk(cell, o));\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, \"BrtShortReal\", write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, \"BrtCellReal\", write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, \"BrtShortBool\", write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, \"BrtCellBool\", write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, \"BrtShortError\", write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, \"BrtCellError\", write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, \"BrtShortBlank\", write_BrtShortBlank(cell, o));\n\telse write_record(ba, \"BrtCellBlank\", write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws, idx, opts) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\twrite_record(ba, 'BrtBeginSheetData');\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen);\n\t\t}\n\t}\n\twrite_record(ba, 'BrtEndSheetData');\n}\n\nfunction write_MERGECELLS(ba, ws) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 'BrtBeginMergeCells', write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 'BrtMergeCell', write_BrtMergeCell(m)); });\n\twrite_record(ba, 'BrtEndMergeCells');\n}\n\nfunction write_COLINFOS(ba, ws) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 'BrtBeginColInfos');\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 'BrtColInfo', write_BrtColInfo(i, m)); });\n\twrite_record(ba, 'BrtEndColInfos');\n}\n\nfunction write_IGNOREECS(ba, ws) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 'BrtBeginCellIgnoreECs');\n\twrite_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 'BrtEndCellIgnoreECs');\n}\n\nfunction write_HLINKS(ba, ws, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, \"BrtHLink\", write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws, idx, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, \"BrtLegacyDrawing\", write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, \"BrtBeginAFilter\", write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, \"BrtEndAFilter\");\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, \"BrtBeginWsViews\");\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, \"BrtBeginWsView\", write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, \"BrtEndWsView\");\n\t}\n\t/* *FRT */\n\twrite_record(ba, \"BrtEndWsViews\");\n}\n\nfunction write_WSFMTINFO() {\n\t/* [ACWSFMTINFO] */\n\t//write_record(ba, \"BrtWsFmtInfo\", write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, \"BrtSheetProtection\", write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx, opts, wb, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, \"BrtBeginSheet\");\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, \"BrtWsProp\", write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, \"BrtWsDim\", write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, \"BrtMargins\", write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\nRELS.CHART = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\";\nRELS.CHARTEX = \"http://schemas.microsoft.com/office/2014/relationships/chartEx\";\n\nfunction parse_Cache(data) {\n\tvar col = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data, name, opts, rels, wb, csheet) {\n\tvar cs = ((csheet || {\"!type\":\"chart\"}));\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\nRELS.CS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\";\n\nvar CS_XML_ROOT = writextag('chartsheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"});\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, CS_XML_ROOT];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R_n, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin() {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSheet\");\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb) {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = \"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n, safe) {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts) {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" };\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr = ({codeName:\"ThisWorkbook\"});\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\nif((wb.Workbook.WBProps[x[0]]) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]);\n\t\t});\nif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))});\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length) {\n\tvar o = ({});\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula});\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts) {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\" && state[state.length-1] != \"BrtFRTBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb) {\n\twrite_record(ba, \"BrtBeginBundleShs\");\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, \"BrtBundleSh\", write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, \"BrtEndBundleShs\");\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, \"BrtBeginBookViews\");\n\twrite_record(ba, \"BrtBookView\", write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, \"BrtEndBookViews\");\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginBook\");\n\twrite_record(ba, \"BrtFileVersion\", write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, \"BrtWbProp\", write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, \"BrtCalcProp\", write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, \"BrtFileRecover\", write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, \"BrtEndBook\");\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data), opts);\n\treturn parse_wb_xml((data), opts);\n}\n\nfunction parse_ws(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data), themes, opts);\n\treturn parse_sty_xml((data), themes, opts);\n}\n\nfunction parse_theme(data, name, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data), opts);\n\treturn parse_sst_xml((data), opts);\n}\n\nfunction parse_cmnt(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data), opts);\n\treturn parse_comments_xml((data), opts);\n}\n\nfunction parse_cc(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data), name, opts);\n\treturn parse_cc_xml((data), name, opts);\n}\n\nfunction parse_xlink(data, rel, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data), rel, name, opts);\n\treturn parse_xlink_xml((data), rel, name, opts);\n}\n\nfunction write_wb(wb, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag, skip_root) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = ([]); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\nfunction xlml_format(format, value) {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF._general(value);\n\treturn SSF.format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val) {\n\tvar oval = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = SSF._general_int(cell.v);\n\t\t\t\telse cell.w = SSF._general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF._general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && SSF.is_date(z)) {\n\t\t\tvar _d = SSF.parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\nfunction xlml_normalize(d) {\n\tif(has_buf && Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n\n/* TODO: Everything */\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\nfunction parse_xlml_xml(d, _opts) {\n\tvar opts = _opts || {};\n\tmake_ssf(SSF);\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return HTML_.to_workbook(str, opts);\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames = [], cursheet = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar table = {}, cell = ({}), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments = [], comment = ({});\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf = [];\n\tvar rowinfo = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false} }), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)});\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\nfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\ttable = xlml_parsexmltag(Rn[0]);\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == null) { SSF.load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t});\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\nWorkbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author});\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\nWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].header = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].footer = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(pagemargins.Top) cursheet['!margins'].top = pagemargins.Top;\n\t\t\t\t\t\tif(pagemargins.Left) cursheet['!margins'].left = pagemargins.Left;\n\t\t\t\t\t\tif(pagemargins.Right) cursheet['!margins'].right = pagemargins.Right;\n\t\t\t\t\t\tif(pagemargins.Bottom) cursheet['!margins'].bottom = pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({});\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = SSF.get_table();\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data, opts) {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64.decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n}\n\n/* TODO */\nfunction write_props_xlml(wb, opts) {\n\tvar o = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml() {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts) {\n\t/* Styles */\n\tvar styles = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(SSF._table[xf.numFmtId])}));\n\n\t\tvar o = {\"ss:ID\": \"s\" + (21+id)};\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb) {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tvar o = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments) {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr){\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || SSF._table[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R, row) {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws, opts, idx, wb) {\n\tif(!ws['!ref']) return \"\";\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar marr = ws['!merges'] || [], mi = 0;\n\tvar o = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx, opts, wb) {\n\tvar o = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts) {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = SSF.get_table();\n\tif(wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj) {\n\tvar v = {};\n\tvar o = obj.content;\n/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue\n\t- 2.4.59 ContinueBigName\n\t- 2.4.60 ContinueFrt\n\t- 2.4.61 ContinueFrt11\n\t- 2.4.62 ContinueFrt12\n*/\nfunction slurp(R, blob, length, opts) {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(R.n) {\n\tcase 'BOF': case 'FilePass': case 'FileLock': case 'InterfaceHdr': case 'RRDInfo': case 'RRDHead': case 'UsrExcl': case 'EOF':\n\t\tbreak;\n\tcase 'BoundSheet8':\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar next = (XLSRecordEnum[__readUInt16LE(blob,blob.l)]);\n\tvar start = 0;\n\twhile(next != null && next.n.slice(0,8) === 'Continue') {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(next.n == 'ContinueFrt') start += 4;\n\t\telse if(next.n.slice(0,11) == 'ContinueFrt') {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs));\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record \" + (R && R.n || \"??\") + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p, opts, date1904) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF._general(p.v);\n\t\t}\n\t\telse p.w = SSF.format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && SSF.is_date(SSF._table[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t) {\n\treturn ({v:val, ixfe:ixfe, t:t});\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options) {\n\tvar wb = ({opts:{}});\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out = ((options.dense ? [] : {}));\n\tvar Directory = {};\n\tvar range = ({});\n\tvar last_formula = null;\n\tvar sst = ([]);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf = [];\n\tvar temp_val;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette = [];\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }), wsprops = {};\n\tvar get_rgb = function getrgb(icv) {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({});\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell, line, options) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t});\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges = [];\n\tvar objects = [];\n\tvar colinfo = [], rowinfo = [];\n\t// eslint-disable-next-line no-unused-vars\n\tvar defwidth = 0, defheight = 0; // twips / MDW respectively\n\tvar seencol = false;\n\tvar supbooks = ([]); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_Rn = '';\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_Rn === 'EOF') break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break;\n\t\t\t}\n\t\t\tlast_Rn = R.n;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val = ({});\n\t\t\tif(R.n === 'EOF') val = R.f(blob, length, opts);\n\t\t\telse val = slurp(R, blob, length, opts);\n\t\t\tvar Rn = R.n;\nif(file_depth == 0 && Rn != 'BOF') continue;\n\t\t\t/* nested switch statements to workaround V8 128 limit */\n\t\t\tswitch(Rn) {\n\t\t\t\t/* Workbook Options */\n\t\t\t\tcase 'Date1904':\nwb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 'WriteProtect': wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 'FilePass':\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'WriteAccess': opts.lastuser = val; break;\n\t\t\t\tcase 'FileSharing': break; //TODO\n\t\t\t\tcase 'CodePage':\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'RRTabId': opts.rrtabid = val; break;\n\t\t\t\tcase 'WinProtect': opts.winlocked = val; break;\n\t\t\t\tcase 'Template': break; // TODO\n\t\t\t\tcase 'BookBool': break; // TODO\n\t\t\t\tcase 'UsesELFs': break;\n\t\t\t\tcase 'MTRSettings': break;\n\t\t\t\tcase 'RefreshAll':\n\t\t\t\tcase 'CalcCount':\n\t\t\t\tcase 'CalcDelta':\n\t\t\t\tcase 'CalcIter':\n\t\t\t\tcase 'CalcMode':\n\t\t\t\tcase 'CalcPrecision':\n\t\t\t\tcase 'CalcSaveRecalc':\n\t\t\t\t\twb.opts[Rn] = val; break;\n\t\t\t\tcase 'CalcRefMode': opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 'Uncalced': break;\n\t\t\t\tcase 'ForceFullCalculation': wb.opts.FullCalc = val; break;\n\t\t\t\tcase 'WsBool':\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 'XF':\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 'ExtSST': break; // TODO\n\t\t\t\tcase 'BookExt': break; // TODO\n\t\t\t\tcase 'RichTextStream': break;\n\t\t\t\tcase 'BkHim': break;\n\n\t\t\t\tcase 'SupBook':\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternName':\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Index': break; // TODO\n\t\t\t\tcase 'Lbl':\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t});\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternCount': opts.ExternCount = val; break;\n\t\t\t\tcase 'ExternSheet':\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 'NameCmt':\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Protect': out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 'Password': if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 'Prot4Rev': case 'Prot4RevPass': break; /*TODO: Revision Control*/\n\n\t\t\t\tcase 'BoundSheet8': {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 'EOF': {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\t\t\t\t} break;\n\t\t\t\tcase 'BOF': {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n0x0009:2,\n0x0209:3,\n0x0409:4\n\t\t\t\t\t}[RecordType] || {\n0x0200:2,\n0x0300:3,\n0x0400:4,\n0x0500:5,\n0x0600:8,\n0x0002:2,\n0x0007:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tdefwidth = defheight = 0;\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\n\t\t\t\tcase 'Number': case 'BIFF2NUM': case 'BIFF2INT': {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'BoolErr': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'RK': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulRk': {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Formula': {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'String': {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 'Array': {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'ShrFmla': {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'LabelSst':\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Blank': if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulBlank': if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'RString':\n\t\t\t\tcase 'Label': case 'BIFF2STR':\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Dimensions': {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 'SST': {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'Format': { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(SSF._table[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF.load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF.load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 'BIFF2FORMAT': {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(SSF._table[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF.load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 'MergeCells': merges = merges.concat(val); break;\n\n\t\t\t\tcase 'Obj': objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 'TxO': opts.lastobj.TxO = val; break;\n\t\t\t\tcase 'ImData': opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 'HLink': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'HLinkTooltip': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\t/* Comments */\n\t\t\t\tcase 'Note': {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"});\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\tcase 'ClrtClient': break;\n\t\t\t\tcase 'XFExt': update_xfext(XFs[val.ixfe], val.ext); break;\n\n\t\t\t\tcase 'DefColWidth': defwidth = val; break;\n\t\t\t\tcase 'DefaultRowHeight': defheight = val[1]; break; // TODO: flags\n\n\t\t\t\tcase 'ColInfo': {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Row': {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase 'LeftMargin':\n\t\t\t\tcase 'RightMargin':\n\t\t\t\tcase 'TopMargin':\n\t\t\t\tcase 'BottomMargin':\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][Rn.slice(0,-6).toLowerCase()] = val;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Selection': break;\n\n\t\t\t\tcase 'Setup': // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Window2': // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Header': break; // TODO\n\t\t\t\tcase 'Footer': break; // TODO\n\t\t\t\tcase 'HCenter': break; // TODO\n\t\t\t\tcase 'VCenter': break; // TODO\n\t\t\t\tcase 'Pls': break; // TODO\n\t\t\t\tcase 'GCW': break;\n\t\t\t\tcase 'LHRecord': break;\n\t\t\t\tcase 'DBCell': break; // TODO\n\t\t\t\tcase 'EntExU2': break; // TODO\n\t\t\t\tcase 'SxView': break; // TODO\n\t\t\t\tcase 'Sxvd': break; // TODO\n\t\t\t\tcase 'SXVI': break; // TODO\n\t\t\t\tcase 'SXVDEx': break; // TODO\n\t\t\t\tcase 'SxIvd': break; // TODO\n\t\t\t\tcase 'SXString': break; // TODO\n\t\t\t\tcase 'Sync': break;\n\t\t\t\tcase 'Addin': break;\n\t\t\t\tcase 'SXDI': break; // TODO\n\t\t\t\tcase 'SXLI': break; // TODO\n\t\t\t\tcase 'SXEx': break; // TODO\n\t\t\t\tcase 'QsiSXTag': break; // TODO\n\t\t\t\tcase 'Feat': break;\n\t\t\t\tcase 'FeatHdr': case 'FeatHdr11': break;\n\t\t\t\tcase 'Feature11': case 'Feature12': case 'List12': break;\n\t\t\t\tcase 'Country': country = val; break;\n\t\t\t\tcase 'RecalcId': break;\n\t\t\t\tcase 'DxGCol': break; // TODO: htmlify\n\t\t\t\tcase 'Fbi': case 'Fbi2': case 'GelFrame': break;\n\t\t\t\tcase 'Font': break; // TODO\n\t\t\t\tcase 'XFCRC': break; // TODO\n\t\t\t\tcase 'Style': break; // TODO\n\t\t\t\tcase 'StyleExt': break; // TODO\n\t\t\t\tcase 'Palette': palette = val; break;\n\t\t\t\tcase 'Theme': themes = val; break;\n\t\t\t\t/* Protection */\n\t\t\t\tcase 'ScenarioProtect': break;\n\t\t\t\tcase 'ObjProtect': break;\n\n\t\t\t\t/* Conditional Formatting */\n\t\t\t\tcase 'CondFmt12': break;\n\n\t\t\t\t/* Table */\n\t\t\t\tcase 'Table': break; // TODO\n\t\t\t\tcase 'TableStyles': break; // TODO\n\t\t\t\tcase 'TableStyle': break; // TODO\n\t\t\t\tcase 'TableStyleElement': break; // TODO\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'SXStreamID': break; // TODO\n\t\t\t\tcase 'SXVS': break; // TODO\n\t\t\t\tcase 'DConRef': break; // TODO\n\t\t\t\tcase 'SXAddl': break; // TODO\n\t\t\t\tcase 'DConBin': break; // TODO\n\t\t\t\tcase 'DConName': break; // TODO\n\t\t\t\tcase 'SXPI': break; // TODO\n\t\t\t\tcase 'SxFormat': break; // TODO\n\t\t\t\tcase 'SxSelect': break; // TODO\n\t\t\t\tcase 'SxRule': break; // TODO\n\t\t\t\tcase 'SxFilt': break; // TODO\n\t\t\t\tcase 'SxItm': break; // TODO\n\t\t\t\tcase 'SxDXF': break; // TODO\n\n\t\t\t\t/* Scenario Manager */\n\t\t\t\tcase 'ScenMan': break;\n\n\t\t\t\t/* Data Consolidation */\n\t\t\t\tcase 'DCon': break;\n\n\t\t\t\t/* Watched Cell */\n\t\t\t\tcase 'CellWatch': break;\n\n\t\t\t\t/* Print Settings */\n\t\t\t\tcase 'PrintRowCol': break;\n\t\t\t\tcase 'PrintGrid': break;\n\t\t\t\tcase 'PrintSize': break;\n\n\t\t\t\tcase 'XCT': break;\n\t\t\t\tcase 'CRN': break;\n\n\t\t\t\tcase 'Scl': {\n\t\t\t\t\t//console.log(\"Zoom Level:\", val[0]/val[1],val);\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExt': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExtOptional': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\t/* VBA */\n\t\t\t\tcase 'ObNoMacros': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'ObProj': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'CodeName': {\nif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t\tcase 'GUIDTypeLib': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\tcase 'WOpt': break; // TODO: WTF?\n\t\t\t\tcase 'PhoneticInfo': break;\n\n\t\t\t\tcase 'OleObjectSize': break;\n\n\t\t\t\t/* Differential Formatting */\n\t\t\t\tcase 'DXF': case 'DXFN': case 'DXFN12': case 'DXFN12List': case 'DXFN12NoCB': break;\n\n\t\t\t\t/* Data Validation */\n\t\t\t\tcase 'Dv': case 'DVal': break;\n\n\t\t\t\t/* Data Series */\n\t\t\t\tcase 'BRAI': case 'Series': case 'SeriesText': break;\n\n\t\t\t\t/* Data Connection */\n\t\t\t\tcase 'DConn': break;\n\t\t\t\tcase 'DbOrParamQry': break;\n\t\t\t\tcase 'DBQueryExt': break;\n\n\t\t\t\tcase 'OleDbConn': break;\n\t\t\t\tcase 'ExtString': break;\n\n\t\t\t\t/* Formatting */\n\t\t\t\tcase 'IFmtRecord': break;\n\t\t\t\tcase 'CondFmt': case 'CF': case 'CF12': case 'CFEx': break;\n\n\t\t\t\t/* Explicitly Ignored */\n\t\t\t\tcase 'Excel9File': break;\n\t\t\t\tcase 'Units': break;\n\t\t\t\tcase 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': break;\n\t\t\t\tcase 'BuiltInFnGroupCount': /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break;\n\t\t\t\t/* View Stuff */\n\t\t\t\tcase 'Window1': case 'HideObj': case 'GridSet': case 'Guts':\n\t\t\t\tcase 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd': break;\n\t\t\t\tcase 'Pane': break;\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* Chart */\n\t\t\t\tcase 'Dat':\n\t\t\t\tcase 'Begin': case 'End':\n\t\t\t\tcase 'StartBlock': case 'EndBlock':\n\t\t\t\tcase 'Frame': case 'Area':\n\t\t\t\tcase 'Axis': case 'AxisLine': case 'Tick': break;\n\t\t\t\tcase 'AxesUsed':\n\t\t\t\tcase 'CrtLayout12': case 'CrtLayout12A': case 'CrtLink': case 'CrtLine': case 'CrtMlFrt': case 'CrtMlFrtContinue': break;\n\t\t\t\tcase 'LineFormat': case 'AreaFormat':\n\t\t\t\tcase 'Chart': case 'Chart3d': case 'Chart3DBarShape': case 'ChartFormat': case 'ChartFrtInfo': break;\n\t\t\t\tcase 'PlotArea': case 'PlotGrowth': break;\n\t\t\t\tcase 'SeriesList': case 'SerParent': case 'SerAuxTrend': break;\n\t\t\t\tcase 'DataFormat': case 'SerToCrt': case 'FontX': break;\n\t\t\t\tcase 'CatSerRange': case 'AxcExt': case 'SerFmt': break;\n\t\t\t\tcase 'ShtProps': break;\n\t\t\t\tcase 'DefaultText': case 'Text': case 'CatLab': break;\n\t\t\t\tcase 'DataLabExtContents': break;\n\t\t\t\tcase 'Legend': case 'LegendException': break;\n\t\t\t\tcase 'Pie': case 'Scatter': break;\n\t\t\t\tcase 'PieFormat': case 'MarkerFormat': break;\n\t\t\t\tcase 'StartObject': case 'EndObject': break;\n\t\t\t\tcase 'AlRuns': case 'ObjectLink': break;\n\t\t\t\tcase 'SIIndex': break;\n\t\t\t\tcase 'AttachedLabel': case 'YMult': break;\n\n\t\t\t\t/* Chart Group */\n\t\t\t\tcase 'Line': case 'Bar': break;\n\t\t\t\tcase 'Surf': break;\n\n\t\t\t\t/* Axis Group */\n\t\t\t\tcase 'AxisParent': break;\n\t\t\t\tcase 'Pos': break;\n\t\t\t\tcase 'ValueRange': break;\n\n\t\t\t\t/* Pivot Chart */\n\t\t\t\tcase 'SXViewEx9': break; // TODO\n\t\t\t\tcase 'SXViewLink': break;\n\t\t\t\tcase 'PivotChartBits': break;\n\t\t\t\tcase 'SBaseRef': break;\n\t\t\t\tcase 'TextPropsStream': break;\n\n\t\t\t\t/* Chart Misc */\n\t\t\t\tcase 'LnExt': break;\n\t\t\t\tcase 'MkrExt': break;\n\t\t\t\tcase 'CrtCoopt': break;\n\n\t\t\t\t/* Query Table */\n\t\t\t\tcase 'Qsi': case 'Qsif': case 'Qsir': case 'QsiSXTag': break;\n\t\t\t\tcase 'TxtQry': break;\n\n\t\t\t\t/* Filter */\n\t\t\t\tcase 'FilterMode': break;\n\t\t\t\tcase 'AutoFilter': case 'AutoFilterInfo': break;\n\t\t\t\tcase 'AutoFilter12': break;\n\t\t\t\tcase 'DropDownObjIds': break;\n\t\t\t\tcase 'Sort': break;\n\t\t\t\tcase 'SortData': break;\n\n\t\t\t\t/* Drawing */\n\t\t\t\tcase 'ShapePropsStream': break;\n\t\t\t\tcase 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break;\n\t\t\t\t/* Pub Stuff */\n\t\t\t\tcase 'WebPub': case 'AutoWebPub': break;\n\n\t\t\t\t/* Print Stuff */\n\t\t\t\tcase 'HeaderFooter': case 'HFPicture': case 'PLV':\n\t\t\t\tcase 'HorizontalPageBreaks': case 'VerticalPageBreaks': break;\n\t\t\t\t/* Behavioral */\n\t\t\t\tcase 'Backup': case 'CompressPictures': case 'Compat12': break;\n\n\t\t\t\t/* Should not Happen */\n\t\t\t\tcase 'Continue': case 'ContinueFrt12': break;\n\n\t\t\t\t/* Future Records */\n\t\t\t\tcase 'FrtFontList': case 'FrtWrapper': break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* BIFF5 records */\n\t\t\t\tcase 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break;\n\n\t\t\t\t/* BIFF2-4 records */\n\t\t\t\tcase 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break;\n\t\t\t\tcase 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break;\n\t\t\t\tcase 'BIFF2XFINDEX': break;\n\t\t\t\tcase 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break;\n\n\t\t\t\t/* Miscellaneous */\n\t\t\t\tcase 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt':\n\t\t\t\tcase 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData':\n\t\t\t\tcase 'Name': break;\n\t\t\t\tcase 'LHNGraph': case 'FnGroupName': case 'AddMenu': case 'LPr': break;\n\t\t\t\tcase 'ListObj': case 'ListField': break;\n\t\t\t\tcase 'RRSort': break;\n\t\t\t\tcase 'BigName': break;\n\t\t\t\tcase 'ToolbarHdr': case 'ToolbarEnd': break;\n\t\t\t\tcase 'DDEObjName': break;\n\t\t\t\tcase 'FRTArchId$': break;\n\t\t\t\tdefault: if(options.WTF) throw 'Unrecognized Record ' + R.n;\n\t\t\t}}}}\n\t\t} else blob.l += length;\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = SSF.get_table();\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb, cfb) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb, options) {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj, WB;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64.decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb});\n}\nvar WorkbookP;\n\nvar _data;\nif(CompObj) parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({});\nelse {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(cfb, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb, opts) {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n0x0000: { n:\"BrtRowHdr\", f:parse_BrtRowHdr },\n0x0001: { n:\"BrtCellBlank\", f:parse_BrtCellBlank },\n0x0002: { n:\"BrtCellRk\", f:parse_BrtCellRk },\n0x0003: { n:\"BrtCellError\", f:parse_BrtCellError },\n0x0004: { n:\"BrtCellBool\", f:parse_BrtCellBool },\n0x0005: { n:\"BrtCellReal\", f:parse_BrtCellReal },\n0x0006: { n:\"BrtCellSt\", f:parse_BrtCellSt },\n0x0007: { n:\"BrtCellIsst\", f:parse_BrtCellIsst },\n0x0008: { n:\"BrtFmlaString\", f:parse_BrtFmlaString },\n0x0009: { n:\"BrtFmlaNum\", f:parse_BrtFmlaNum },\n0x000A: { n:\"BrtFmlaBool\", f:parse_BrtFmlaBool },\n0x000B: { n:\"BrtFmlaError\", f:parse_BrtFmlaError },\n0x000C: { n:\"BrtShortBlank\", f:parse_BrtShortBlank },\n0x000D: { n:\"BrtShortRk\", f:parse_BrtShortRk },\n0x000E: { n:\"BrtShortError\", f:parse_BrtShortError },\n0x000F: { n:\"BrtShortBool\", f:parse_BrtShortBool },\n0x0010: { n:\"BrtShortReal\", f:parse_BrtShortReal },\n0x0011: { n:\"BrtShortSt\", f:parse_BrtShortSt },\n0x0012: { n:\"BrtShortIsst\", f:parse_BrtShortIsst },\n0x0013: { n:\"BrtSSTItem\", f:parse_RichStr },\n0x0014: { n:\"BrtPCDIMissing\" },\n0x0015: { n:\"BrtPCDINumber\" },\n0x0016: { n:\"BrtPCDIBoolean\" },\n0x0017: { n:\"BrtPCDIError\" },\n0x0018: { n:\"BrtPCDIString\" },\n0x0019: { n:\"BrtPCDIDatetime\" },\n0x001A: { n:\"BrtPCDIIndex\" },\n0x001B: { n:\"BrtPCDIAMissing\" },\n0x001C: { n:\"BrtPCDIANumber\" },\n0x001D: { n:\"BrtPCDIABoolean\" },\n0x001E: { n:\"BrtPCDIAError\" },\n0x001F: { n:\"BrtPCDIAString\" },\n0x0020: { n:\"BrtPCDIADatetime\" },\n0x0021: { n:\"BrtPCRRecord\" },\n0x0022: { n:\"BrtPCRRecordDt\" },\n0x0023: { n:\"BrtFRTBegin\" },\n0x0024: { n:\"BrtFRTEnd\" },\n0x0025: { n:\"BrtACBegin\" },\n0x0026: { n:\"BrtACEnd\" },\n0x0027: { n:\"BrtName\", f:parse_BrtName },\n0x0028: { n:\"BrtIndexRowBlock\" },\n0x002A: { n:\"BrtIndexBlock\" },\n0x002B: { n:\"BrtFont\", f:parse_BrtFont },\n0x002C: { n:\"BrtFmt\", f:parse_BrtFmt },\n0x002D: { n:\"BrtFill\", f:parse_BrtFill },\n0x002E: { n:\"BrtBorder\", f:parse_BrtBorder },\n0x002F: { n:\"BrtXF\", f:parse_BrtXF },\n0x0030: { n:\"BrtStyle\" },\n0x0031: { n:\"BrtCellMeta\" },\n0x0032: { n:\"BrtValueMeta\" },\n0x0033: { n:\"BrtMdb\" },\n0x0034: { n:\"BrtBeginFmd\" },\n0x0035: { n:\"BrtEndFmd\" },\n0x0036: { n:\"BrtBeginMdx\" },\n0x0037: { n:\"BrtEndMdx\" },\n0x0038: { n:\"BrtBeginMdxTuple\" },\n0x0039: { n:\"BrtEndMdxTuple\" },\n0x003A: { n:\"BrtMdxMbrIstr\" },\n0x003B: { n:\"BrtStr\" },\n0x003C: { n:\"BrtColInfo\", f:parse_ColInfo },\n0x003E: { n:\"BrtCellRString\" },\n0x003F: { n:\"BrtCalcChainItem$\", f:parse_BrtCalcChainItem$ },\n0x0040: { n:\"BrtDVal\", f:parse_BrtDVal },\n0x0041: { n:\"BrtSxvcellNum\" },\n0x0042: { n:\"BrtSxvcellStr\" },\n0x0043: { n:\"BrtSxvcellBool\" },\n0x0044: { n:\"BrtSxvcellErr\" },\n0x0045: { n:\"BrtSxvcellDate\" },\n0x0046: { n:\"BrtSxvcellNil\" },\n0x0080: { n:\"BrtFileVersion\" },\n0x0081: { n:\"BrtBeginSheet\" },\n0x0082: { n:\"BrtEndSheet\" },\n0x0083: { n:\"BrtBeginBook\", f:parsenoop, p:0 },\n0x0084: { n:\"BrtEndBook\" },\n0x0085: { n:\"BrtBeginWsViews\" },\n0x0086: { n:\"BrtEndWsViews\" },\n0x0087: { n:\"BrtBeginBookViews\" },\n0x0088: { n:\"BrtEndBookViews\" },\n0x0089: { n:\"BrtBeginWsView\", f:parse_BrtBeginWsView },\n0x008A: { n:\"BrtEndWsView\" },\n0x008B: { n:\"BrtBeginCsViews\" },\n0x008C: { n:\"BrtEndCsViews\" },\n0x008D: { n:\"BrtBeginCsView\" },\n0x008E: { n:\"BrtEndCsView\" },\n0x008F: { n:\"BrtBeginBundleShs\" },\n0x0090: { n:\"BrtEndBundleShs\" },\n0x0091: { n:\"BrtBeginSheetData\" },\n0x0092: { n:\"BrtEndSheetData\" },\n0x0093: { n:\"BrtWsProp\", f:parse_BrtWsProp },\n0x0094: { n:\"BrtWsDim\", f:parse_BrtWsDim, p:16 },\n0x0097: { n:\"BrtPane\", f:parse_BrtPane },\n0x0098: { n:\"BrtSel\" },\n0x0099: { n:\"BrtWbProp\", f:parse_BrtWbProp },\n0x009A: { n:\"BrtWbFactoid\" },\n0x009B: { n:\"BrtFileRecover\" },\n0x009C: { n:\"BrtBundleSh\", f:parse_BrtBundleSh },\n0x009D: { n:\"BrtCalcProp\" },\n0x009E: { n:\"BrtBookView\" },\n0x009F: { n:\"BrtBeginSst\", f:parse_BrtBeginSst },\n0x00A0: { n:\"BrtEndSst\" },\n0x00A1: { n:\"BrtBeginAFilter\", f:parse_UncheckedRfX },\n0x00A2: { n:\"BrtEndAFilter\" },\n0x00A3: { n:\"BrtBeginFilterColumn\" },\n0x00A4: { n:\"BrtEndFilterColumn\" },\n0x00A5: { n:\"BrtBeginFilters\" },\n0x00A6: { n:\"BrtEndFilters\" },\n0x00A7: { n:\"BrtFilter\" },\n0x00A8: { n:\"BrtColorFilter\" },\n0x00A9: { n:\"BrtIconFilter\" },\n0x00AA: { n:\"BrtTop10Filter\" },\n0x00AB: { n:\"BrtDynamicFilter\" },\n0x00AC: { n:\"BrtBeginCustomFilters\" },\n0x00AD: { n:\"BrtEndCustomFilters\" },\n0x00AE: { n:\"BrtCustomFilter\" },\n0x00AF: { n:\"BrtAFilterDateGroupItem\" },\n0x00B0: { n:\"BrtMergeCell\", f:parse_BrtMergeCell },\n0x00B1: { n:\"BrtBeginMergeCells\" },\n0x00B2: { n:\"BrtEndMergeCells\" },\n0x00B3: { n:\"BrtBeginPivotCacheDef\" },\n0x00B4: { n:\"BrtEndPivotCacheDef\" },\n0x00B5: { n:\"BrtBeginPCDFields\" },\n0x00B6: { n:\"BrtEndPCDFields\" },\n0x00B7: { n:\"BrtBeginPCDField\" },\n0x00B8: { n:\"BrtEndPCDField\" },\n0x00B9: { n:\"BrtBeginPCDSource\" },\n0x00BA: { n:\"BrtEndPCDSource\" },\n0x00BB: { n:\"BrtBeginPCDSRange\" },\n0x00BC: { n:\"BrtEndPCDSRange\" },\n0x00BD: { n:\"BrtBeginPCDFAtbl\" },\n0x00BE: { n:\"BrtEndPCDFAtbl\" },\n0x00BF: { n:\"BrtBeginPCDIRun\" },\n0x00C0: { n:\"BrtEndPCDIRun\" },\n0x00C1: { n:\"BrtBeginPivotCacheRecords\" },\n0x00C2: { n:\"BrtEndPivotCacheRecords\" },\n0x00C3: { n:\"BrtBeginPCDHierarchies\" },\n0x00C4: { n:\"BrtEndPCDHierarchies\" },\n0x00C5: { n:\"BrtBeginPCDHierarchy\" },\n0x00C6: { n:\"BrtEndPCDHierarchy\" },\n0x00C7: { n:\"BrtBeginPCDHFieldsUsage\" },\n0x00C8: { n:\"BrtEndPCDHFieldsUsage\" },\n0x00C9: { n:\"BrtBeginExtConnection\" },\n0x00CA: { n:\"BrtEndExtConnection\" },\n0x00CB: { n:\"BrtBeginECDbProps\" },\n0x00CC: { n:\"BrtEndECDbProps\" },\n0x00CD: { n:\"BrtBeginECOlapProps\" },\n0x00CE: { n:\"BrtEndECOlapProps\" },\n0x00CF: { n:\"BrtBeginPCDSConsol\" },\n0x00D0: { n:\"BrtEndPCDSConsol\" },\n0x00D1: { n:\"BrtBeginPCDSCPages\" },\n0x00D2: { n:\"BrtEndPCDSCPages\" },\n0x00D3: { n:\"BrtBeginPCDSCPage\" },\n0x00D4: { n:\"BrtEndPCDSCPage\" },\n0x00D5: { n:\"BrtBeginPCDSCPItem\" },\n0x00D6: { n:\"BrtEndPCDSCPItem\" },\n0x00D7: { n:\"BrtBeginPCDSCSets\" },\n0x00D8: { n:\"BrtEndPCDSCSets\" },\n0x00D9: { n:\"BrtBeginPCDSCSet\" },\n0x00DA: { n:\"BrtEndPCDSCSet\" },\n0x00DB: { n:\"BrtBeginPCDFGroup\" },\n0x00DC: { n:\"BrtEndPCDFGroup\" },\n0x00DD: { n:\"BrtBeginPCDFGItems\" },\n0x00DE: { n:\"BrtEndPCDFGItems\" },\n0x00DF: { n:\"BrtBeginPCDFGRange\" },\n0x00E0: { n:\"BrtEndPCDFGRange\" },\n0x00E1: { n:\"BrtBeginPCDFGDiscrete\" },\n0x00E2: { n:\"BrtEndPCDFGDiscrete\" },\n0x00E3: { n:\"BrtBeginPCDSDTupleCache\" },\n0x00E4: { n:\"BrtEndPCDSDTupleCache\" },\n0x00E5: { n:\"BrtBeginPCDSDTCEntries\" },\n0x00E6: { n:\"BrtEndPCDSDTCEntries\" },\n0x00E7: { n:\"BrtBeginPCDSDTCEMembers\" },\n0x00E8: { n:\"BrtEndPCDSDTCEMembers\" },\n0x00E9: { n:\"BrtBeginPCDSDTCEMember\" },\n0x00EA: { n:\"BrtEndPCDSDTCEMember\" },\n0x00EB: { n:\"BrtBeginPCDSDTCQueries\" },\n0x00EC: { n:\"BrtEndPCDSDTCQueries\" },\n0x00ED: { n:\"BrtBeginPCDSDTCQuery\" },\n0x00EE: { n:\"BrtEndPCDSDTCQuery\" },\n0x00EF: { n:\"BrtBeginPCDSDTCSets\" },\n0x00F0: { n:\"BrtEndPCDSDTCSets\" },\n0x00F1: { n:\"BrtBeginPCDSDTCSet\" },\n0x00F2: { n:\"BrtEndPCDSDTCSet\" },\n0x00F3: { n:\"BrtBeginPCDCalcItems\" },\n0x00F4: { n:\"BrtEndPCDCalcItems\" },\n0x00F5: { n:\"BrtBeginPCDCalcItem\" },\n0x00F6: { n:\"BrtEndPCDCalcItem\" },\n0x00F7: { n:\"BrtBeginPRule\" },\n0x00F8: { n:\"BrtEndPRule\" },\n0x00F9: { n:\"BrtBeginPRFilters\" },\n0x00FA: { n:\"BrtEndPRFilters\" },\n0x00FB: { n:\"BrtBeginPRFilter\" },\n0x00FC: { n:\"BrtEndPRFilter\" },\n0x00FD: { n:\"BrtBeginPNames\" },\n0x00FE: { n:\"BrtEndPNames\" },\n0x00FF: { n:\"BrtBeginPName\" },\n0x0100: { n:\"BrtEndPName\" },\n0x0101: { n:\"BrtBeginPNPairs\" },\n0x0102: { n:\"BrtEndPNPairs\" },\n0x0103: { n:\"BrtBeginPNPair\" },\n0x0104: { n:\"BrtEndPNPair\" },\n0x0105: { n:\"BrtBeginECWebProps\" },\n0x0106: { n:\"BrtEndECWebProps\" },\n0x0107: { n:\"BrtBeginEcWpTables\" },\n0x0108: { n:\"BrtEndECWPTables\" },\n0x0109: { n:\"BrtBeginECParams\" },\n0x010A: { n:\"BrtEndECParams\" },\n0x010B: { n:\"BrtBeginECParam\" },\n0x010C: { n:\"BrtEndECParam\" },\n0x010D: { n:\"BrtBeginPCDKPIs\" },\n0x010E: { n:\"BrtEndPCDKPIs\" },\n0x010F: { n:\"BrtBeginPCDKPI\" },\n0x0110: { n:\"BrtEndPCDKPI\" },\n0x0111: { n:\"BrtBeginDims\" },\n0x0112: { n:\"BrtEndDims\" },\n0x0113: { n:\"BrtBeginDim\" },\n0x0114: { n:\"BrtEndDim\" },\n0x0115: { n:\"BrtIndexPartEnd\" },\n0x0116: { n:\"BrtBeginStyleSheet\" },\n0x0117: { n:\"BrtEndStyleSheet\" },\n0x0118: { n:\"BrtBeginSXView\" },\n0x0119: { n:\"BrtEndSXVI\" },\n0x011A: { n:\"BrtBeginSXVI\" },\n0x011B: { n:\"BrtBeginSXVIs\" },\n0x011C: { n:\"BrtEndSXVIs\" },\n0x011D: { n:\"BrtBeginSXVD\" },\n0x011E: { n:\"BrtEndSXVD\" },\n0x011F: { n:\"BrtBeginSXVDs\" },\n0x0120: { n:\"BrtEndSXVDs\" },\n0x0121: { n:\"BrtBeginSXPI\" },\n0x0122: { n:\"BrtEndSXPI\" },\n0x0123: { n:\"BrtBeginSXPIs\" },\n0x0124: { n:\"BrtEndSXPIs\" },\n0x0125: { n:\"BrtBeginSXDI\" },\n0x0126: { n:\"BrtEndSXDI\" },\n0x0127: { n:\"BrtBeginSXDIs\" },\n0x0128: { n:\"BrtEndSXDIs\" },\n0x0129: { n:\"BrtBeginSXLI\" },\n0x012A: { n:\"BrtEndSXLI\" },\n0x012B: { n:\"BrtBeginSXLIRws\" },\n0x012C: { n:\"BrtEndSXLIRws\" },\n0x012D: { n:\"BrtBeginSXLICols\" },\n0x012E: { n:\"BrtEndSXLICols\" },\n0x012F: { n:\"BrtBeginSXFormat\" },\n0x0130: { n:\"BrtEndSXFormat\" },\n0x0131: { n:\"BrtBeginSXFormats\" },\n0x0132: { n:\"BrtEndSxFormats\" },\n0x0133: { n:\"BrtBeginSxSelect\" },\n0x0134: { n:\"BrtEndSxSelect\" },\n0x0135: { n:\"BrtBeginISXVDRws\" },\n0x0136: { n:\"BrtEndISXVDRws\" },\n0x0137: { n:\"BrtBeginISXVDCols\" },\n0x0138: { n:\"BrtEndISXVDCols\" },\n0x0139: { n:\"BrtEndSXLocation\" },\n0x013A: { n:\"BrtBeginSXLocation\" },\n0x013B: { n:\"BrtEndSXView\" },\n0x013C: { n:\"BrtBeginSXTHs\" },\n0x013D: { n:\"BrtEndSXTHs\" },\n0x013E: { n:\"BrtBeginSXTH\" },\n0x013F: { n:\"BrtEndSXTH\" },\n0x0140: { n:\"BrtBeginISXTHRws\" },\n0x0141: { n:\"BrtEndISXTHRws\" },\n0x0142: { n:\"BrtBeginISXTHCols\" },\n0x0143: { n:\"BrtEndISXTHCols\" },\n0x0144: { n:\"BrtBeginSXTDMPS\" },\n0x0145: { n:\"BrtEndSXTDMPs\" },\n0x0146: { n:\"BrtBeginSXTDMP\" },\n0x0147: { n:\"BrtEndSXTDMP\" },\n0x0148: { n:\"BrtBeginSXTHItems\" },\n0x0149: { n:\"BrtEndSXTHItems\" },\n0x014A: { n:\"BrtBeginSXTHItem\" },\n0x014B: { n:\"BrtEndSXTHItem\" },\n0x014C: { n:\"BrtBeginMetadata\" },\n0x014D: { n:\"BrtEndMetadata\" },\n0x014E: { n:\"BrtBeginEsmdtinfo\" },\n0x014F: { n:\"BrtMdtinfo\" },\n0x0150: { n:\"BrtEndEsmdtinfo\" },\n0x0151: { n:\"BrtBeginEsmdb\" },\n0x0152: { n:\"BrtEndEsmdb\" },\n0x0153: { n:\"BrtBeginEsfmd\" },\n0x0154: { n:\"BrtEndEsfmd\" },\n0x0155: { n:\"BrtBeginSingleCells\" },\n0x0156: { n:\"BrtEndSingleCells\" },\n0x0157: { n:\"BrtBeginList\" },\n0x0158: { n:\"BrtEndList\" },\n0x0159: { n:\"BrtBeginListCols\" },\n0x015A: { n:\"BrtEndListCols\" },\n0x015B: { n:\"BrtBeginListCol\" },\n0x015C: { n:\"BrtEndListCol\" },\n0x015D: { n:\"BrtBeginListXmlCPr\" },\n0x015E: { n:\"BrtEndListXmlCPr\" },\n0x015F: { n:\"BrtListCCFmla\" },\n0x0160: { n:\"BrtListTrFmla\" },\n0x0161: { n:\"BrtBeginExternals\" },\n0x0162: { n:\"BrtEndExternals\" },\n0x0163: { n:\"BrtSupBookSrc\", f:parse_RelID},\n0x0165: { n:\"BrtSupSelf\" },\n0x0166: { n:\"BrtSupSame\" },\n0x0167: { n:\"BrtSupTabs\" },\n0x0168: { n:\"BrtBeginSupBook\" },\n0x0169: { n:\"BrtPlaceholderName\" },\n0x016A: { n:\"BrtExternSheet\", f:parse_ExternSheet },\n0x016B: { n:\"BrtExternTableStart\" },\n0x016C: { n:\"BrtExternTableEnd\" },\n0x016E: { n:\"BrtExternRowHdr\" },\n0x016F: { n:\"BrtExternCellBlank\" },\n0x0170: { n:\"BrtExternCellReal\" },\n0x0171: { n:\"BrtExternCellBool\" },\n0x0172: { n:\"BrtExternCellError\" },\n0x0173: { n:\"BrtExternCellString\" },\n0x0174: { n:\"BrtBeginEsmdx\" },\n0x0175: { n:\"BrtEndEsmdx\" },\n0x0176: { n:\"BrtBeginMdxSet\" },\n0x0177: { n:\"BrtEndMdxSet\" },\n0x0178: { n:\"BrtBeginMdxMbrProp\" },\n0x0179: { n:\"BrtEndMdxMbrProp\" },\n0x017A: { n:\"BrtBeginMdxKPI\" },\n0x017B: { n:\"BrtEndMdxKPI\" },\n0x017C: { n:\"BrtBeginEsstr\" },\n0x017D: { n:\"BrtEndEsstr\" },\n0x017E: { n:\"BrtBeginPRFItem\" },\n0x017F: { n:\"BrtEndPRFItem\" },\n0x0180: { n:\"BrtBeginPivotCacheIDs\" },\n0x0181: { n:\"BrtEndPivotCacheIDs\" },\n0x0182: { n:\"BrtBeginPivotCacheID\" },\n0x0183: { n:\"BrtEndPivotCacheID\" },\n0x0184: { n:\"BrtBeginISXVIs\" },\n0x0185: { n:\"BrtEndISXVIs\" },\n0x0186: { n:\"BrtBeginColInfos\" },\n0x0187: { n:\"BrtEndColInfos\" },\n0x0188: { n:\"BrtBeginRwBrk\" },\n0x0189: { n:\"BrtEndRwBrk\" },\n0x018A: { n:\"BrtBeginColBrk\" },\n0x018B: { n:\"BrtEndColBrk\" },\n0x018C: { n:\"BrtBrk\" },\n0x018D: { n:\"BrtUserBookView\" },\n0x018E: { n:\"BrtInfo\" },\n0x018F: { n:\"BrtCUsr\" },\n0x0190: { n:\"BrtUsr\" },\n0x0191: { n:\"BrtBeginUsers\" },\n0x0193: { n:\"BrtEOF\" },\n0x0194: { n:\"BrtUCR\" },\n0x0195: { n:\"BrtRRInsDel\" },\n0x0196: { n:\"BrtRREndInsDel\" },\n0x0197: { n:\"BrtRRMove\" },\n0x0198: { n:\"BrtRREndMove\" },\n0x0199: { n:\"BrtRRChgCell\" },\n0x019A: { n:\"BrtRREndChgCell\" },\n0x019B: { n:\"BrtRRHeader\" },\n0x019C: { n:\"BrtRRUserView\" },\n0x019D: { n:\"BrtRRRenSheet\" },\n0x019E: { n:\"BrtRRInsertSh\" },\n0x019F: { n:\"BrtRRDefName\" },\n0x01A0: { n:\"BrtRRNote\" },\n0x01A1: { n:\"BrtRRConflict\" },\n0x01A2: { n:\"BrtRRTQSIF\" },\n0x01A3: { n:\"BrtRRFormat\" },\n0x01A4: { n:\"BrtRREndFormat\" },\n0x01A5: { n:\"BrtRRAutoFmt\" },\n0x01A6: { n:\"BrtBeginUserShViews\" },\n0x01A7: { n:\"BrtBeginUserShView\" },\n0x01A8: { n:\"BrtEndUserShView\" },\n0x01A9: { n:\"BrtEndUserShViews\" },\n0x01AA: { n:\"BrtArrFmla\", f:parse_BrtArrFmla },\n0x01AB: { n:\"BrtShrFmla\", f:parse_BrtShrFmla },\n0x01AC: { n:\"BrtTable\" },\n0x01AD: { n:\"BrtBeginExtConnections\" },\n0x01AE: { n:\"BrtEndExtConnections\" },\n0x01AF: { n:\"BrtBeginPCDCalcMems\" },\n0x01B0: { n:\"BrtEndPCDCalcMems\" },\n0x01B1: { n:\"BrtBeginPCDCalcMem\" },\n0x01B2: { n:\"BrtEndPCDCalcMem\" },\n0x01B3: { n:\"BrtBeginPCDHGLevels\" },\n0x01B4: { n:\"BrtEndPCDHGLevels\" },\n0x01B5: { n:\"BrtBeginPCDHGLevel\" },\n0x01B6: { n:\"BrtEndPCDHGLevel\" },\n0x01B7: { n:\"BrtBeginPCDHGLGroups\" },\n0x01B8: { n:\"BrtEndPCDHGLGroups\" },\n0x01B9: { n:\"BrtBeginPCDHGLGroup\" },\n0x01BA: { n:\"BrtEndPCDHGLGroup\" },\n0x01BB: { n:\"BrtBeginPCDHGLGMembers\" },\n0x01BC: { n:\"BrtEndPCDHGLGMembers\" },\n0x01BD: { n:\"BrtBeginPCDHGLGMember\" },\n0x01BE: { n:\"BrtEndPCDHGLGMember\" },\n0x01BF: { n:\"BrtBeginQSI\" },\n0x01C0: { n:\"BrtEndQSI\" },\n0x01C1: { n:\"BrtBeginQSIR\" },\n0x01C2: { n:\"BrtEndQSIR\" },\n0x01C3: { n:\"BrtBeginDeletedNames\" },\n0x01C4: { n:\"BrtEndDeletedNames\" },\n0x01C5: { n:\"BrtBeginDeletedName\" },\n0x01C6: { n:\"BrtEndDeletedName\" },\n0x01C7: { n:\"BrtBeginQSIFs\" },\n0x01C8: { n:\"BrtEndQSIFs\" },\n0x01C9: { n:\"BrtBeginQSIF\" },\n0x01CA: { n:\"BrtEndQSIF\" },\n0x01CB: { n:\"BrtBeginAutoSortScope\" },\n0x01CC: { n:\"BrtEndAutoSortScope\" },\n0x01CD: { n:\"BrtBeginConditionalFormatting\" },\n0x01CE: { n:\"BrtEndConditionalFormatting\" },\n0x01CF: { n:\"BrtBeginCFRule\" },\n0x01D0: { n:\"BrtEndCFRule\" },\n0x01D1: { n:\"BrtBeginIconSet\" },\n0x01D2: { n:\"BrtEndIconSet\" },\n0x01D3: { n:\"BrtBeginDatabar\" },\n0x01D4: { n:\"BrtEndDatabar\" },\n0x01D5: { n:\"BrtBeginColorScale\" },\n0x01D6: { n:\"BrtEndColorScale\" },\n0x01D7: { n:\"BrtCFVO\" },\n0x01D8: { n:\"BrtExternValueMeta\" },\n0x01D9: { n:\"BrtBeginColorPalette\" },\n0x01DA: { n:\"BrtEndColorPalette\" },\n0x01DB: { n:\"BrtIndexedColor\" },\n0x01DC: { n:\"BrtMargins\", f:parse_BrtMargins },\n0x01DD: { n:\"BrtPrintOptions\" },\n0x01DE: { n:\"BrtPageSetup\" },\n0x01DF: { n:\"BrtBeginHeaderFooter\" },\n0x01E0: { n:\"BrtEndHeaderFooter\" },\n0x01E1: { n:\"BrtBeginSXCrtFormat\" },\n0x01E2: { n:\"BrtEndSXCrtFormat\" },\n0x01E3: { n:\"BrtBeginSXCrtFormats\" },\n0x01E4: { n:\"BrtEndSXCrtFormats\" },\n0x01E5: { n:\"BrtWsFmtInfo\", f:parse_BrtWsFmtInfo },\n0x01E6: { n:\"BrtBeginMgs\" },\n0x01E7: { n:\"BrtEndMGs\" },\n0x01E8: { n:\"BrtBeginMGMaps\" },\n0x01E9: { n:\"BrtEndMGMaps\" },\n0x01EA: { n:\"BrtBeginMG\" },\n0x01EB: { n:\"BrtEndMG\" },\n0x01EC: { n:\"BrtBeginMap\" },\n0x01ED: { n:\"BrtEndMap\" },\n0x01EE: { n:\"BrtHLink\", f:parse_BrtHLink },\n0x01EF: { n:\"BrtBeginDCon\" },\n0x01F0: { n:\"BrtEndDCon\" },\n0x01F1: { n:\"BrtBeginDRefs\" },\n0x01F2: { n:\"BrtEndDRefs\" },\n0x01F3: { n:\"BrtDRef\" },\n0x01F4: { n:\"BrtBeginScenMan\" },\n0x01F5: { n:\"BrtEndScenMan\" },\n0x01F6: { n:\"BrtBeginSct\" },\n0x01F7: { n:\"BrtEndSct\" },\n0x01F8: { n:\"BrtSlc\" },\n0x01F9: { n:\"BrtBeginDXFs\" },\n0x01FA: { n:\"BrtEndDXFs\" },\n0x01FB: { n:\"BrtDXF\" },\n0x01FC: { n:\"BrtBeginTableStyles\" },\n0x01FD: { n:\"BrtEndTableStyles\" },\n0x01FE: { n:\"BrtBeginTableStyle\" },\n0x01FF: { n:\"BrtEndTableStyle\" },\n0x0200: { n:\"BrtTableStyleElement\" },\n0x0201: { n:\"BrtTableStyleClient\" },\n0x0202: { n:\"BrtBeginVolDeps\" },\n0x0203: { n:\"BrtEndVolDeps\" },\n0x0204: { n:\"BrtBeginVolType\" },\n0x0205: { n:\"BrtEndVolType\" },\n0x0206: { n:\"BrtBeginVolMain\" },\n0x0207: { n:\"BrtEndVolMain\" },\n0x0208: { n:\"BrtBeginVolTopic\" },\n0x0209: { n:\"BrtEndVolTopic\" },\n0x020A: { n:\"BrtVolSubtopic\" },\n0x020B: { n:\"BrtVolRef\" },\n0x020C: { n:\"BrtVolNum\" },\n0x020D: { n:\"BrtVolErr\" },\n0x020E: { n:\"BrtVolStr\" },\n0x020F: { n:\"BrtVolBool\" },\n0x0210: { n:\"BrtBeginCalcChain$\" },\n0x0211: { n:\"BrtEndCalcChain$\" },\n0x0212: { n:\"BrtBeginSortState\" },\n0x0213: { n:\"BrtEndSortState\" },\n0x0214: { n:\"BrtBeginSortCond\" },\n0x0215: { n:\"BrtEndSortCond\" },\n0x0216: { n:\"BrtBookProtection\" },\n0x0217: { n:\"BrtSheetProtection\" },\n0x0218: { n:\"BrtRangeProtection\" },\n0x0219: { n:\"BrtPhoneticInfo\" },\n0x021A: { n:\"BrtBeginECTxtWiz\" },\n0x021B: { n:\"BrtEndECTxtWiz\" },\n0x021C: { n:\"BrtBeginECTWFldInfoLst\" },\n0x021D: { n:\"BrtEndECTWFldInfoLst\" },\n0x021E: { n:\"BrtBeginECTwFldInfo\" },\n0x0224: { n:\"BrtFileSharing\" },\n0x0225: { n:\"BrtOleSize\" },\n0x0226: { n:\"BrtDrawing\", f:parse_RelID },\n0x0227: { n:\"BrtLegacyDrawing\" },\n0x0228: { n:\"BrtLegacyDrawingHF\" },\n0x0229: { n:\"BrtWebOpt\" },\n0x022A: { n:\"BrtBeginWebPubItems\" },\n0x022B: { n:\"BrtEndWebPubItems\" },\n0x022C: { n:\"BrtBeginWebPubItem\" },\n0x022D: { n:\"BrtEndWebPubItem\" },\n0x022E: { n:\"BrtBeginSXCondFmt\" },\n0x022F: { n:\"BrtEndSXCondFmt\" },\n0x0230: { n:\"BrtBeginSXCondFmts\" },\n0x0231: { n:\"BrtEndSXCondFmts\" },\n0x0232: { n:\"BrtBkHim\" },\n0x0234: { n:\"BrtColor\" },\n0x0235: { n:\"BrtBeginIndexedColors\" },\n0x0236: { n:\"BrtEndIndexedColors\" },\n0x0239: { n:\"BrtBeginMRUColors\" },\n0x023A: { n:\"BrtEndMRUColors\" },\n0x023C: { n:\"BrtMRUColor\" },\n0x023D: { n:\"BrtBeginDVals\" },\n0x023E: { n:\"BrtEndDVals\" },\n0x0241: { n:\"BrtSupNameStart\" },\n0x0242: { n:\"BrtSupNameValueStart\" },\n0x0243: { n:\"BrtSupNameValueEnd\" },\n0x0244: { n:\"BrtSupNameNum\" },\n0x0245: { n:\"BrtSupNameErr\" },\n0x0246: { n:\"BrtSupNameSt\" },\n0x0247: { n:\"BrtSupNameNil\" },\n0x0248: { n:\"BrtSupNameBool\" },\n0x0249: { n:\"BrtSupNameFmla\" },\n0x024A: { n:\"BrtSupNameBits\" },\n0x024B: { n:\"BrtSupNameEnd\" },\n0x024C: { n:\"BrtEndSupBook\" },\n0x024D: { n:\"BrtCellSmartTagProperty\" },\n0x024E: { n:\"BrtBeginCellSmartTag\" },\n0x024F: { n:\"BrtEndCellSmartTag\" },\n0x0250: { n:\"BrtBeginCellSmartTags\" },\n0x0251: { n:\"BrtEndCellSmartTags\" },\n0x0252: { n:\"BrtBeginSmartTags\" },\n0x0253: { n:\"BrtEndSmartTags\" },\n0x0254: { n:\"BrtSmartTagType\" },\n0x0255: { n:\"BrtBeginSmartTagTypes\" },\n0x0256: { n:\"BrtEndSmartTagTypes\" },\n0x0257: { n:\"BrtBeginSXFilters\" },\n0x0258: { n:\"BrtEndSXFilters\" },\n0x0259: { n:\"BrtBeginSXFILTER\" },\n0x025A: { n:\"BrtEndSXFilter\" },\n0x025B: { n:\"BrtBeginFills\" },\n0x025C: { n:\"BrtEndFills\" },\n0x025D: { n:\"BrtBeginCellWatches\" },\n0x025E: { n:\"BrtEndCellWatches\" },\n0x025F: { n:\"BrtCellWatch\" },\n0x0260: { n:\"BrtBeginCRErrs\" },\n0x0261: { n:\"BrtEndCRErrs\" },\n0x0262: { n:\"BrtCrashRecErr\" },\n0x0263: { n:\"BrtBeginFonts\" },\n0x0264: { n:\"BrtEndFonts\" },\n0x0265: { n:\"BrtBeginBorders\" },\n0x0266: { n:\"BrtEndBorders\" },\n0x0267: { n:\"BrtBeginFmts\" },\n0x0268: { n:\"BrtEndFmts\" },\n0x0269: { n:\"BrtBeginCellXFs\" },\n0x026A: { n:\"BrtEndCellXFs\" },\n0x026B: { n:\"BrtBeginStyles\" },\n0x026C: { n:\"BrtEndStyles\" },\n0x0271: { n:\"BrtBigName\" },\n0x0272: { n:\"BrtBeginCellStyleXFs\" },\n0x0273: { n:\"BrtEndCellStyleXFs\" },\n0x0274: { n:\"BrtBeginComments\" },\n0x0275: { n:\"BrtEndComments\" },\n0x0276: { n:\"BrtBeginCommentAuthors\" },\n0x0277: { n:\"BrtEndCommentAuthors\" },\n0x0278: { n:\"BrtCommentAuthor\", f:parse_BrtCommentAuthor },\n0x0279: { n:\"BrtBeginCommentList\" },\n0x027A: { n:\"BrtEndCommentList\" },\n0x027B: { n:\"BrtBeginComment\", f:parse_BrtBeginComment},\n0x027C: { n:\"BrtEndComment\" },\n0x027D: { n:\"BrtCommentText\", f:parse_BrtCommentText },\n0x027E: { n:\"BrtBeginOleObjects\" },\n0x027F: { n:\"BrtOleObject\" },\n0x0280: { n:\"BrtEndOleObjects\" },\n0x0281: { n:\"BrtBeginSxrules\" },\n0x0282: { n:\"BrtEndSxRules\" },\n0x0283: { n:\"BrtBeginActiveXControls\" },\n0x0284: { n:\"BrtActiveX\" },\n0x0285: { n:\"BrtEndActiveXControls\" },\n0x0286: { n:\"BrtBeginPCDSDTCEMembersSortBy\" },\n0x0288: { n:\"BrtBeginCellIgnoreECs\" },\n0x0289: { n:\"BrtCellIgnoreEC\" },\n0x028A: { n:\"BrtEndCellIgnoreECs\" },\n0x028B: { n:\"BrtCsProp\", f:parse_BrtCsProp },\n0x028C: { n:\"BrtCsPageSetup\" },\n0x028D: { n:\"BrtBeginUserCsViews\" },\n0x028E: { n:\"BrtEndUserCsViews\" },\n0x028F: { n:\"BrtBeginUserCsView\" },\n0x0290: { n:\"BrtEndUserCsView\" },\n0x0291: { n:\"BrtBeginPcdSFCIEntries\" },\n0x0292: { n:\"BrtEndPCDSFCIEntries\" },\n0x0293: { n:\"BrtPCDSFCIEntry\" },\n0x0294: { n:\"BrtBeginListParts\" },\n0x0295: { n:\"BrtListPart\" },\n0x0296: { n:\"BrtEndListParts\" },\n0x0297: { n:\"BrtSheetCalcProp\" },\n0x0298: { n:\"BrtBeginFnGroup\" },\n0x0299: { n:\"BrtFnGroup\" },\n0x029A: { n:\"BrtEndFnGroup\" },\n0x029B: { n:\"BrtSupAddin\" },\n0x029C: { n:\"BrtSXTDMPOrder\" },\n0x029D: { n:\"BrtCsProtection\" },\n0x029F: { n:\"BrtBeginWsSortMap\" },\n0x02A0: { n:\"BrtEndWsSortMap\" },\n0x02A1: { n:\"BrtBeginRRSort\" },\n0x02A2: { n:\"BrtEndRRSort\" },\n0x02A3: { n:\"BrtRRSortItem\" },\n0x02A4: { n:\"BrtFileSharingIso\" },\n0x02A5: { n:\"BrtBookProtectionIso\" },\n0x02A6: { n:\"BrtSheetProtectionIso\" },\n0x02A7: { n:\"BrtCsProtectionIso\" },\n0x02A8: { n:\"BrtRangeProtectionIso\" },\n0x02A9: { n:\"BrtDValList\" },\n0x0400: { n:\"BrtRwDescent\" },\n0x0401: { n:\"BrtKnownFonts\" },\n0x0402: { n:\"BrtBeginSXTupleSet\" },\n0x0403: { n:\"BrtEndSXTupleSet\" },\n0x0404: { n:\"BrtBeginSXTupleSetHeader\" },\n0x0405: { n:\"BrtEndSXTupleSetHeader\" },\n0x0406: { n:\"BrtSXTupleSetHeaderItem\" },\n0x0407: { n:\"BrtBeginSXTupleSetData\" },\n0x0408: { n:\"BrtEndSXTupleSetData\" },\n0x0409: { n:\"BrtBeginSXTupleSetRow\" },\n0x040A: { n:\"BrtEndSXTupleSetRow\" },\n0x040B: { n:\"BrtSXTupleSetRowItem\" },\n0x040C: { n:\"BrtNameExt\" },\n0x040D: { n:\"BrtPCDH14\" },\n0x040E: { n:\"BrtBeginPCDCalcMem14\" },\n0x040F: { n:\"BrtEndPCDCalcMem14\" },\n0x0410: { n:\"BrtSXTH14\" },\n0x0411: { n:\"BrtBeginSparklineGroup\" },\n0x0412: { n:\"BrtEndSparklineGroup\" },\n0x0413: { n:\"BrtSparkline\" },\n0x0414: { n:\"BrtSXDI14\" },\n0x0415: { n:\"BrtWsFmtInfoEx14\" },\n0x0416: { n:\"BrtBeginConditionalFormatting14\" },\n0x0417: { n:\"BrtEndConditionalFormatting14\" },\n0x0418: { n:\"BrtBeginCFRule14\" },\n0x0419: { n:\"BrtEndCFRule14\" },\n0x041A: { n:\"BrtCFVO14\" },\n0x041B: { n:\"BrtBeginDatabar14\" },\n0x041C: { n:\"BrtBeginIconSet14\" },\n0x041D: { n:\"BrtDVal14\", f: parse_BrtDVal14 },\n0x041E: { n:\"BrtBeginDVals14\" },\n0x041F: { n:\"BrtColor14\" },\n0x0420: { n:\"BrtBeginSparklines\" },\n0x0421: { n:\"BrtEndSparklines\" },\n0x0422: { n:\"BrtBeginSparklineGroups\" },\n0x0423: { n:\"BrtEndSparklineGroups\" },\n0x0425: { n:\"BrtSXVD14\" },\n0x0426: { n:\"BrtBeginSXView14\" },\n0x0427: { n:\"BrtEndSXView14\" },\n0x0428: { n:\"BrtBeginSXView16\" },\n0x0429: { n:\"BrtEndSXView16\" },\n0x042A: { n:\"BrtBeginPCD14\" },\n0x042B: { n:\"BrtEndPCD14\" },\n0x042C: { n:\"BrtBeginExtConn14\" },\n0x042D: { n:\"BrtEndExtConn14\" },\n0x042E: { n:\"BrtBeginSlicerCacheIDs\" },\n0x042F: { n:\"BrtEndSlicerCacheIDs\" },\n0x0430: { n:\"BrtBeginSlicerCacheID\" },\n0x0431: { n:\"BrtEndSlicerCacheID\" },\n0x0433: { n:\"BrtBeginSlicerCache\" },\n0x0434: { n:\"BrtEndSlicerCache\" },\n0x0435: { n:\"BrtBeginSlicerCacheDef\" },\n0x0436: { n:\"BrtEndSlicerCacheDef\" },\n0x0437: { n:\"BrtBeginSlicersEx\" },\n0x0438: { n:\"BrtEndSlicersEx\" },\n0x0439: { n:\"BrtBeginSlicerEx\" },\n0x043A: { n:\"BrtEndSlicerEx\" },\n0x043B: { n:\"BrtBeginSlicer\" },\n0x043C: { n:\"BrtEndSlicer\" },\n0x043D: { n:\"BrtSlicerCachePivotTables\" },\n0x043E: { n:\"BrtBeginSlicerCacheOlapImpl\" },\n0x043F: { n:\"BrtEndSlicerCacheOlapImpl\" },\n0x0440: { n:\"BrtBeginSlicerCacheLevelsData\" },\n0x0441: { n:\"BrtEndSlicerCacheLevelsData\" },\n0x0442: { n:\"BrtBeginSlicerCacheLevelData\" },\n0x0443: { n:\"BrtEndSlicerCacheLevelData\" },\n0x0444: { n:\"BrtBeginSlicerCacheSiRanges\" },\n0x0445: { n:\"BrtEndSlicerCacheSiRanges\" },\n0x0446: { n:\"BrtBeginSlicerCacheSiRange\" },\n0x0447: { n:\"BrtEndSlicerCacheSiRange\" },\n0x0448: { n:\"BrtSlicerCacheOlapItem\" },\n0x0449: { n:\"BrtBeginSlicerCacheSelections\" },\n0x044A: { n:\"BrtSlicerCacheSelection\" },\n0x044B: { n:\"BrtEndSlicerCacheSelections\" },\n0x044C: { n:\"BrtBeginSlicerCacheNative\" },\n0x044D: { n:\"BrtEndSlicerCacheNative\" },\n0x044E: { n:\"BrtSlicerCacheNativeItem\" },\n0x044F: { n:\"BrtRangeProtection14\" },\n0x0450: { n:\"BrtRangeProtectionIso14\" },\n0x0451: { n:\"BrtCellIgnoreEC14\" },\n0x0457: { n:\"BrtList14\" },\n0x0458: { n:\"BrtCFIcon\" },\n0x0459: { n:\"BrtBeginSlicerCachesPivotCacheIDs\" },\n0x045A: { n:\"BrtEndSlicerCachesPivotCacheIDs\" },\n0x045B: { n:\"BrtBeginSlicers\" },\n0x045C: { n:\"BrtEndSlicers\" },\n0x045D: { n:\"BrtWbProp14\" },\n0x045E: { n:\"BrtBeginSXEdit\" },\n0x045F: { n:\"BrtEndSXEdit\" },\n0x0460: { n:\"BrtBeginSXEdits\" },\n0x0461: { n:\"BrtEndSXEdits\" },\n0x0462: { n:\"BrtBeginSXChange\" },\n0x0463: { n:\"BrtEndSXChange\" },\n0x0464: { n:\"BrtBeginSXChanges\" },\n0x0465: { n:\"BrtEndSXChanges\" },\n0x0466: { n:\"BrtSXTupleItems\" },\n0x0468: { n:\"BrtBeginSlicerStyle\" },\n0x0469: { n:\"BrtEndSlicerStyle\" },\n0x046A: { n:\"BrtSlicerStyleElement\" },\n0x046B: { n:\"BrtBeginStyleSheetExt14\" },\n0x046C: { n:\"BrtEndStyleSheetExt14\" },\n0x046D: { n:\"BrtBeginSlicerCachesPivotCacheID\" },\n0x046E: { n:\"BrtEndSlicerCachesPivotCacheID\" },\n0x046F: { n:\"BrtBeginConditionalFormattings\" },\n0x0470: { n:\"BrtEndConditionalFormattings\" },\n0x0471: { n:\"BrtBeginPCDCalcMemExt\" },\n0x0472: { n:\"BrtEndPCDCalcMemExt\" },\n0x0473: { n:\"BrtBeginPCDCalcMemsExt\" },\n0x0474: { n:\"BrtEndPCDCalcMemsExt\" },\n0x0475: { n:\"BrtPCDField14\" },\n0x0476: { n:\"BrtBeginSlicerStyles\" },\n0x0477: { n:\"BrtEndSlicerStyles\" },\n0x0478: { n:\"BrtBeginSlicerStyleElements\" },\n0x0479: { n:\"BrtEndSlicerStyleElements\" },\n0x047A: { n:\"BrtCFRuleExt\" },\n0x047B: { n:\"BrtBeginSXCondFmt14\" },\n0x047C: { n:\"BrtEndSXCondFmt14\" },\n0x047D: { n:\"BrtBeginSXCondFmts14\" },\n0x047E: { n:\"BrtEndSXCondFmts14\" },\n0x0480: { n:\"BrtBeginSortCond14\" },\n0x0481: { n:\"BrtEndSortCond14\" },\n0x0482: { n:\"BrtEndDVals14\" },\n0x0483: { n:\"BrtEndIconSet14\" },\n0x0484: { n:\"BrtEndDatabar14\" },\n0x0485: { n:\"BrtBeginColorScale14\" },\n0x0486: { n:\"BrtEndColorScale14\" },\n0x0487: { n:\"BrtBeginSxrules14\" },\n0x0488: { n:\"BrtEndSxrules14\" },\n0x0489: { n:\"BrtBeginPRule14\" },\n0x048A: { n:\"BrtEndPRule14\" },\n0x048B: { n:\"BrtBeginPRFilters14\" },\n0x048C: { n:\"BrtEndPRFilters14\" },\n0x048D: { n:\"BrtBeginPRFilter14\" },\n0x048E: { n:\"BrtEndPRFilter14\" },\n0x048F: { n:\"BrtBeginPRFItem14\" },\n0x0490: { n:\"BrtEndPRFItem14\" },\n0x0491: { n:\"BrtBeginCellIgnoreECs14\" },\n0x0492: { n:\"BrtEndCellIgnoreECs14\" },\n0x0493: { n:\"BrtDxf14\" },\n0x0494: { n:\"BrtBeginDxF14s\" },\n0x0495: { n:\"BrtEndDxf14s\" },\n0x0499: { n:\"BrtFilter14\" },\n0x049A: { n:\"BrtBeginCustomFilters14\" },\n0x049C: { n:\"BrtCustomFilter14\" },\n0x049D: { n:\"BrtIconFilter14\" },\n0x049E: { n:\"BrtPivotCacheConnectionName\" },\n0x0800: { n:\"BrtBeginDecoupledPivotCacheIDs\" },\n0x0801: { n:\"BrtEndDecoupledPivotCacheIDs\" },\n0x0802: { n:\"BrtDecoupledPivotCacheID\" },\n0x0803: { n:\"BrtBeginPivotTableRefs\" },\n0x0804: { n:\"BrtEndPivotTableRefs\" },\n0x0805: { n:\"BrtPivotTableRef\" },\n0x0806: { n:\"BrtSlicerCacheBookPivotTables\" },\n0x0807: { n:\"BrtBeginSxvcells\" },\n0x0808: { n:\"BrtEndSxvcells\" },\n0x0809: { n:\"BrtBeginSxRow\" },\n0x080A: { n:\"BrtEndSxRow\" },\n0x080C: { n:\"BrtPcdCalcMem15\" },\n0x0813: { n:\"BrtQsi15\" },\n0x0814: { n:\"BrtBeginWebExtensions\" },\n0x0815: { n:\"BrtEndWebExtensions\" },\n0x0816: { n:\"BrtWebExtension\" },\n0x0817: { n:\"BrtAbsPath15\" },\n0x0818: { n:\"BrtBeginPivotTableUISettings\" },\n0x0819: { n:\"BrtEndPivotTableUISettings\" },\n0x081B: { n:\"BrtTableSlicerCacheIDs\" },\n0x081C: { n:\"BrtTableSlicerCacheID\" },\n0x081D: { n:\"BrtBeginTableSlicerCache\" },\n0x081E: { n:\"BrtEndTableSlicerCache\" },\n0x081F: { n:\"BrtSxFilter15\" },\n0x0820: { n:\"BrtBeginTimelineCachePivotCacheIDs\" },\n0x0821: { n:\"BrtEndTimelineCachePivotCacheIDs\" },\n0x0822: { n:\"BrtTimelineCachePivotCacheID\" },\n0x0823: { n:\"BrtBeginTimelineCacheIDs\" },\n0x0824: { n:\"BrtEndTimelineCacheIDs\" },\n0x0825: { n:\"BrtBeginTimelineCacheID\" },\n0x0826: { n:\"BrtEndTimelineCacheID\" },\n0x0827: { n:\"BrtBeginTimelinesEx\" },\n0x0828: { n:\"BrtEndTimelinesEx\" },\n0x0829: { n:\"BrtBeginTimelineEx\" },\n0x082A: { n:\"BrtEndTimelineEx\" },\n0x082B: { n:\"BrtWorkBookPr15\" },\n0x082C: { n:\"BrtPCDH15\" },\n0x082D: { n:\"BrtBeginTimelineStyle\" },\n0x082E: { n:\"BrtEndTimelineStyle\" },\n0x082F: { n:\"BrtTimelineStyleElement\" },\n0x0830: { n:\"BrtBeginTimelineStylesheetExt15\" },\n0x0831: { n:\"BrtEndTimelineStylesheetExt15\" },\n0x0832: { n:\"BrtBeginTimelineStyles\" },\n0x0833: { n:\"BrtEndTimelineStyles\" },\n0x0834: { n:\"BrtBeginTimelineStyleElements\" },\n0x0835: { n:\"BrtEndTimelineStyleElements\" },\n0x0836: { n:\"BrtDxf15\" },\n0x0837: { n:\"BrtBeginDxfs15\" },\n0x0838: { n:\"brtEndDxfs15\" },\n0x0839: { n:\"BrtSlicerCacheHideItemsWithNoData\" },\n0x083A: { n:\"BrtBeginItemUniqueNames\" },\n0x083B: { n:\"BrtEndItemUniqueNames\" },\n0x083C: { n:\"BrtItemUniqueName\" },\n0x083D: { n:\"BrtBeginExtConn15\" },\n0x083E: { n:\"BrtEndExtConn15\" },\n0x083F: { n:\"BrtBeginOledbPr15\" },\n0x0840: { n:\"BrtEndOledbPr15\" },\n0x0841: { n:\"BrtBeginDataFeedPr15\" },\n0x0842: { n:\"BrtEndDataFeedPr15\" },\n0x0843: { n:\"BrtTextPr15\" },\n0x0844: { n:\"BrtRangePr15\" },\n0x0845: { n:\"BrtDbCommand15\" },\n0x0846: { n:\"BrtBeginDbTables15\" },\n0x0847: { n:\"BrtEndDbTables15\" },\n0x0848: { n:\"BrtDbTable15\" },\n0x0849: { n:\"BrtBeginDataModel\" },\n0x084A: { n:\"BrtEndDataModel\" },\n0x084B: { n:\"BrtBeginModelTables\" },\n0x084C: { n:\"BrtEndModelTables\" },\n0x084D: { n:\"BrtModelTable\" },\n0x084E: { n:\"BrtBeginModelRelationships\" },\n0x084F: { n:\"BrtEndModelRelationships\" },\n0x0850: { n:\"BrtModelRelationship\" },\n0x0851: { n:\"BrtBeginECTxtWiz15\" },\n0x0852: { n:\"BrtEndECTxtWiz15\" },\n0x0853: { n:\"BrtBeginECTWFldInfoLst15\" },\n0x0854: { n:\"BrtEndECTWFldInfoLst15\" },\n0x0855: { n:\"BrtBeginECTWFldInfo15\" },\n0x0856: { n:\"BrtFieldListActiveItem\" },\n0x0857: { n:\"BrtPivotCacheIdVersion\" },\n0x0858: { n:\"BrtSXDI15\" },\n0x0859: { n:\"BrtBeginModelTimeGroupings\" },\n0x085A: { n:\"BrtEndModelTimeGroupings\" },\n0x085B: { n:\"BrtBeginModelTimeGrouping\" },\n0x085C: { n:\"BrtEndModelTimeGrouping\" },\n0x085D: { n:\"BrtModelTimeGroupingCalcCol\" },\n0x0C00: { n:\"BrtUid\" },\n0x0C01: { n:\"BrtRevisionPtr\" },\n0x13e7: { n:\"BrtBeginCalcFeatures\" },\n0x13e8: { n:\"BrtEndCalcFeatures\" },\n0x13e9: { n:\"BrtCalcFeature\" },\n0xFFFF: { n:\"\" }\n};\n\nvar XLSBRE = evert_key(XLSBRecordEnum, 'n');\n/*jshint -W069 */\nXLSBRE[\"BrtFRTArchID$\"] = 0x0010;\n/*jshint +W069 */\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n0x0006: { n:\"Formula\", f:parse_Formula },\n0x000a: { n:'EOF', f:parsenoop2 },\n0x000c: { n:\"CalcCount\", f:parseuint16 },\n0x000d: { n:\"CalcMode\", f:parseuint16 },\n0x000e: { n:\"CalcPrecision\", f:parsebool },\n0x000f: { n:\"CalcRefMode\", f:parsebool },\n0x0010: { n:\"CalcDelta\", f:parse_Xnum },\n0x0011: { n:\"CalcIter\", f:parsebool },\n0x0012: { n:\"Protect\", f:parsebool },\n0x0013: { n:\"Password\", f:parseuint16 },\n0x0014: { n:\"Header\", f:parse_XLHeaderFooter },\n0x0015: { n:\"Footer\", f:parse_XLHeaderFooter },\n0x0017: { n:\"ExternSheet\", f:parse_ExternSheet },\n0x0018: { n:\"Lbl\", f:parse_Lbl },\n0x0019: { n:\"WinProtect\", f:parsebool },\n0x001a: { n:\"VerticalPageBreaks\" },\n0x001b: { n:\"HorizontalPageBreaks\" },\n0x001c: { n:\"Note\", f:parse_Note },\n0x001d: { n:\"Selection\" },\n0x0022: { n:\"Date1904\", f:parsebool },\n0x0023: { n:\"ExternName\", f:parse_ExternName },\n0x0026: { n:\"LeftMargin\", f:parse_Xnum },\n0x0027: { n:\"RightMargin\", f:parse_Xnum },\n0x0028: { n:\"TopMargin\", f:parse_Xnum },\n0x0029: { n:\"BottomMargin\", f:parse_Xnum },\n0x002a: { n:\"PrintRowCol\", f:parsebool },\n0x002b: { n:\"PrintGrid\", f:parsebool },\n0x002f: { n:\"FilePass\", f:parse_FilePass },\n0x0031: { n:\"Font\", f:parse_Font },\n0x0033: { n:\"PrintSize\", f:parseuint16 },\n0x003c: { n:\"Continue\" },\n0x003d: { n:\"Window1\", f:parse_Window1 },\n0x0040: { n:\"Backup\", f:parsebool },\n0x0041: { n:\"Pane\", f:parse_Pane },\n0x0042: { n:'CodePage', f:parseuint16 },\n0x004d: { n:\"Pls\" },\n0x0050: { n:\"DCon\" },\n0x0051: { n:\"DConRef\" },\n0x0052: { n:\"DConName\" },\n0x0055: { n:\"DefColWidth\", f:parseuint16 },\n0x0059: { n:\"XCT\" },\n0x005a: { n:\"CRN\" },\n0x005b: { n:\"FileSharing\" },\n0x005c: { n:'WriteAccess', f:parse_WriteAccess },\n0x005d: { n:\"Obj\", f:parse_Obj },\n0x005e: { n:\"Uncalced\" },\n0x005f: { n:\"CalcSaveRecalc\", f:parsebool },\n0x0060: { n:\"Template\" },\n0x0061: { n:\"Intl\" },\n0x0063: { n:\"ObjProtect\", f:parsebool },\n0x007d: { n:\"ColInfo\", f:parse_ColInfo },\n0x0080: { n:\"Guts\", f:parse_Guts },\n0x0081: { n:\"WsBool\", f:parse_WsBool },\n0x0082: { n:\"GridSet\", f:parseuint16 },\n0x0083: { n:\"HCenter\", f:parsebool },\n0x0084: { n:\"VCenter\", f:parsebool },\n0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 },\n0x0086: { n:\"WriteProtect\" },\n0x008c: { n:\"Country\", f:parse_Country },\n0x008d: { n:\"HideObj\", f:parseuint16 },\n0x0090: { n:\"Sort\" },\n0x0092: { n:\"Palette\", f:parse_Palette },\n0x0097: { n:\"Sync\" },\n0x0098: { n:\"LPr\" },\n0x0099: { n:\"DxGCol\" },\n0x009a: { n:\"FnGroupName\" },\n0x009b: { n:\"FilterMode\" },\n0x009c: { n:\"BuiltInFnGroupCount\", f:parseuint16 },\n0x009d: { n:\"AutoFilterInfo\" },\n0x009e: { n:\"AutoFilter\" },\n0x00a0: { n:\"Scl\", f:parse_Scl },\n0x00a1: { n:\"Setup\", f:parse_Setup },\n0x00ae: { n:\"ScenMan\" },\n0x00af: { n:\"SCENARIO\" },\n0x00b0: { n:\"SxView\" },\n0x00b1: { n:\"Sxvd\" },\n0x00b2: { n:\"SXVI\" },\n0x00b4: { n:\"SxIvd\" },\n0x00b5: { n:\"SXLI\" },\n0x00b6: { n:\"SXPI\" },\n0x00b8: { n:\"DocRoute\" },\n0x00b9: { n:\"RecipName\" },\n0x00bd: { n:\"MulRk\", f:parse_MulRk },\n0x00be: { n:\"MulBlank\", f:parse_MulBlank },\n0x00c1: { n:'Mms', f:parsenoop2 },\n0x00c5: { n:\"SXDI\" },\n0x00c6: { n:\"SXDB\" },\n0x00c7: { n:\"SXFDB\" },\n0x00c8: { n:\"SXDBB\" },\n0x00c9: { n:\"SXNum\" },\n0x00ca: { n:\"SxBool\", f:parsebool },\n0x00cb: { n:\"SxErr\" },\n0x00cc: { n:\"SXInt\" },\n0x00cd: { n:\"SXString\" },\n0x00ce: { n:\"SXDtr\" },\n0x00cf: { n:\"SxNil\" },\n0x00d0: { n:\"SXTbl\" },\n0x00d1: { n:\"SXTBRGIITM\" },\n0x00d2: { n:\"SxTbpg\" },\n0x00d3: { n:\"ObProj\" },\n0x00d5: { n:\"SXStreamID\" },\n0x00d7: { n:\"DBCell\" },\n0x00d8: { n:\"SXRng\" },\n0x00d9: { n:\"SxIsxoper\" },\n0x00da: { n:\"BookBool\", f:parseuint16 },\n0x00dc: { n:\"DbOrParamQry\" },\n0x00dd: { n:\"ScenarioProtect\", f:parsebool },\n0x00de: { n:\"OleObjectSize\" },\n0x00e0: { n:\"XF\", f:parse_XF },\n0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr },\n0x00e2: { n:'InterfaceEnd', f:parsenoop2 },\n0x00e3: { n:\"SXVS\" },\n0x00e5: { n:\"MergeCells\", f:parse_MergeCells },\n0x00e9: { n:\"BkHim\" },\n0x00eb: { n:\"MsoDrawingGroup\" },\n0x00ec: { n:\"MsoDrawing\" },\n0x00ed: { n:\"MsoDrawingSelection\" },\n0x00ef: { n:\"PhoneticInfo\" },\n0x00f0: { n:\"SxRule\" },\n0x00f1: { n:\"SXEx\" },\n0x00f2: { n:\"SxFilt\" },\n0x00f4: { n:\"SxDXF\" },\n0x00f5: { n:\"SxItm\" },\n0x00f6: { n:\"SxName\" },\n0x00f7: { n:\"SxSelect\" },\n0x00f8: { n:\"SXPair\" },\n0x00f9: { n:\"SxFmla\" },\n0x00fb: { n:\"SxFormat\" },\n0x00fc: { n:\"SST\", f:parse_SST },\n0x00fd: { n:\"LabelSst\", f:parse_LabelSst },\n0x00ff: { n:\"ExtSST\", f:parse_ExtSST },\n0x0100: { n:\"SXVDEx\" },\n0x0103: { n:\"SXFormula\" },\n0x0122: { n:\"SXDBEx\" },\n0x0137: { n:\"RRDInsDel\" },\n0x0138: { n:\"RRDHead\" },\n0x013b: { n:\"RRDChgCell\" },\n0x013d: { n:\"RRTabId\", f:parseuint16a },\n0x013e: { n:\"RRDRenSheet\" },\n0x013f: { n:\"RRSort\" },\n0x0140: { n:\"RRDMove\" },\n0x014a: { n:\"RRFormat\" },\n0x014b: { n:\"RRAutoFmt\" },\n0x014d: { n:\"RRInsertSh\" },\n0x014e: { n:\"RRDMoveBegin\" },\n0x014f: { n:\"RRDMoveEnd\" },\n0x0150: { n:\"RRDInsDelBegin\" },\n0x0151: { n:\"RRDInsDelEnd\" },\n0x0152: { n:\"RRDConflict\" },\n0x0153: { n:\"RRDDefName\" },\n0x0154: { n:\"RRDRstEtxp\" },\n0x015f: { n:\"LRng\" },\n0x0160: { n:\"UsesELFs\", f:parsebool },\n0x0161: { n:\"DSF\", f:parsenoop2 },\n0x0191: { n:\"CUsr\" },\n0x0192: { n:\"CbUsr\" },\n0x0193: { n:\"UsrInfo\" },\n0x0194: { n:\"UsrExcl\" },\n0x0195: { n:\"FileLock\" },\n0x0196: { n:\"RRDInfo\" },\n0x0197: { n:\"BCUsrs\" },\n0x0198: { n:\"UsrChk\" },\n0x01a9: { n:\"UserBView\" },\n0x01aa: { n:\"UserSViewBegin\" },\n0x01ab: { n:\"UserSViewEnd\" },\n0x01ac: { n:\"RRDUserView\" },\n0x01ad: { n:\"Qsi\" },\n0x01ae: { n:\"SupBook\", f:parse_SupBook },\n0x01af: { n:\"Prot4Rev\", f:parsebool },\n0x01b0: { n:\"CondFmt\" },\n0x01b1: { n:\"CF\" },\n0x01b2: { n:\"DVal\" },\n0x01b5: { n:\"DConBin\" },\n0x01b6: { n:\"TxO\", f:parse_TxO },\n0x01b7: { n:\"RefreshAll\", f:parsebool },\n0x01b8: { n:\"HLink\", f:parse_HLink },\n0x01b9: { n:\"Lel\" },\n0x01ba: { n:\"CodeName\", f:parse_XLUnicodeString },\n0x01bb: { n:\"SXFDBType\" },\n0x01bc: { n:\"Prot4RevPass\", f:parseuint16 },\n0x01bd: { n:\"ObNoMacros\" },\n0x01be: { n:\"Dv\" },\n0x01c0: { n:\"Excel9File\", f:parsenoop2 },\n0x01c1: { n:\"RecalcId\", f:parse_RecalcId, r:2},\n0x01c2: { n:\"EntExU2\", f:parsenoop2 },\n0x0200: { n:\"Dimensions\", f:parse_Dimensions },\n0x0201: { n:\"Blank\", f:parse_Blank },\n0x0203: { n:\"Number\", f:parse_Number },\n0x0204: { n:\"Label\", f:parse_Label },\n0x0205: { n:\"BoolErr\", f:parse_BoolErr },\n0x0207: { n:\"String\", f:parse_String },\n0x0208: { n:'Row', f:parse_Row },\n0x020b: { n:\"Index\" },\n0x0221: { n:\"Array\", f:parse_Array },\n0x0225: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0236: { n:\"Table\" },\n0x023e: { n:\"Window2\", f:parse_Window2 },\n0x027e: { n:\"RK\", f:parse_RK },\n0x0293: { n:\"Style\" },\n0x0418: { n:\"BigName\" },\n0x041e: { n:\"Format\", f:parse_Format },\n0x043c: { n:\"ContinueBigName\" },\n0x04bc: { n:\"ShrFmla\", f:parse_ShrFmla },\n0x0800: { n:\"HLinkTooltip\", f:parse_HLinkTooltip },\n0x0801: { n:\"WebPub\" },\n0x0802: { n:\"QsiSXTag\" },\n0x0803: { n:\"DBQueryExt\" },\n0x0804: { n:\"ExtString\" },\n0x0805: { n:\"TxtQry\" },\n0x0806: { n:\"Qsir\" },\n0x0807: { n:\"Qsif\" },\n0x0808: { n:\"RRDTQSIF\" },\n0x0809: { n:'BOF', f:parse_BOF },\n0x080a: { n:\"OleDbConn\" },\n0x080b: { n:\"WOpt\" },\n0x080c: { n:\"SXViewEx\" },\n0x080d: { n:\"SXTH\" },\n0x080e: { n:\"SXPIEx\" },\n0x080f: { n:\"SXVDTEx\" },\n0x0810: { n:\"SXViewEx9\" },\n0x0812: { n:\"ContinueFrt\" },\n0x0813: { n:\"RealTimeData\" },\n0x0850: { n:\"ChartFrtInfo\" },\n0x0851: { n:\"FrtWrapper\" },\n0x0852: { n:\"StartBlock\" },\n0x0853: { n:\"EndBlock\" },\n0x0854: { n:\"StartObject\" },\n0x0855: { n:\"EndObject\" },\n0x0856: { n:\"CatLab\" },\n0x0857: { n:\"YMult\" },\n0x0858: { n:\"SXViewLink\" },\n0x0859: { n:\"PivotChartBits\" },\n0x085a: { n:\"FrtFontList\" },\n0x0862: { n:\"SheetExt\" },\n0x0863: { n:\"BookExt\", r:12},\n0x0864: { n:\"SXAddl\" },\n0x0865: { n:\"CrErr\" },\n0x0866: { n:\"HFPicture\" },\n0x0867: { n:'FeatHdr', f:parsenoop2 },\n0x0868: { n:\"Feat\" },\n0x086a: { n:\"DataLabExt\" },\n0x086b: { n:\"DataLabExtContents\" },\n0x086c: { n:\"CellWatch\" },\n0x0871: { n:\"FeatHdr11\" },\n0x0872: { n:\"Feature11\" },\n0x0874: { n:\"DropDownObjIds\" },\n0x0875: { n:\"ContinueFrt11\" },\n0x0876: { n:\"DConn\" },\n0x0877: { n:\"List12\" },\n0x0878: { n:\"Feature12\" },\n0x0879: { n:\"CondFmt12\" },\n0x087a: { n:\"CF12\" },\n0x087b: { n:\"CFEx\" },\n0x087c: { n:\"XFCRC\", f:parse_XFCRC, r:12 },\n0x087d: { n:\"XFExt\", f:parse_XFExt, r:12 },\n0x087e: { n:\"AutoFilter12\" },\n0x087f: { n:\"ContinueFrt12\" },\n0x0884: { n:\"MDTInfo\" },\n0x0885: { n:\"MDXStr\" },\n0x0886: { n:\"MDXTuple\" },\n0x0887: { n:\"MDXSet\" },\n0x0888: { n:\"MDXProp\" },\n0x0889: { n:\"MDXKPI\" },\n0x088a: { n:\"MDB\" },\n0x088b: { n:\"PLV\" },\n0x088c: { n:\"Compat12\", f:parsebool, r:12 },\n0x088d: { n:\"DXF\" },\n0x088e: { n:\"TableStyles\", r:12 },\n0x088f: { n:\"TableStyle\" },\n0x0890: { n:\"TableStyleElement\" },\n0x0892: { n:\"StyleExt\" },\n0x0893: { n:\"NamePublish\" },\n0x0894: { n:\"NameCmt\", f:parse_NameCmt, r:12 },\n0x0895: { n:\"SortData\" },\n0x0896: { n:\"Theme\", f:parse_Theme, r:12 },\n0x0897: { n:\"GUIDTypeLib\" },\n0x0898: { n:\"FnGrp12\" },\n0x0899: { n:\"NameFnGrp12\" },\n0x089a: { n:\"MTRSettings\", f:parse_MTRSettings, r:12 },\n0x089b: { n:\"CompressPictures\", f:parsenoop2 },\n0x089c: { n:\"HeaderFooter\" },\n0x089d: { n:\"CrtLayout12\" },\n0x089e: { n:\"CrtMlFrt\" },\n0x089f: { n:\"CrtMlFrtContinue\" },\n0x08a3: { n:\"ForceFullCalculation\", f:parse_ForceFullCalculation },\n0x08a4: { n:\"ShapePropsStream\" },\n0x08a5: { n:\"TextPropsStream\" },\n0x08a6: { n:\"RichTextStream\" },\n0x08a7: { n:\"CrtLayout12A\" },\n0x1001: { n:\"Units\" },\n0x1002: { n:\"Chart\" },\n0x1003: { n:\"Series\" },\n0x1006: { n:\"DataFormat\" },\n0x1007: { n:\"LineFormat\" },\n0x1009: { n:\"MarkerFormat\" },\n0x100a: { n:\"AreaFormat\" },\n0x100b: { n:\"PieFormat\" },\n0x100c: { n:\"AttachedLabel\" },\n0x100d: { n:\"SeriesText\" },\n0x1014: { n:\"ChartFormat\" },\n0x1015: { n:\"Legend\" },\n0x1016: { n:\"SeriesList\" },\n0x1017: { n:\"Bar\" },\n0x1018: { n:\"Line\" },\n0x1019: { n:\"Pie\" },\n0x101a: { n:\"Area\" },\n0x101b: { n:\"Scatter\" },\n0x101c: { n:\"CrtLine\" },\n0x101d: { n:\"Axis\" },\n0x101e: { n:\"Tick\" },\n0x101f: { n:\"ValueRange\" },\n0x1020: { n:\"CatSerRange\" },\n0x1021: { n:\"AxisLine\" },\n0x1022: { n:\"CrtLink\" },\n0x1024: { n:\"DefaultText\" },\n0x1025: { n:\"Text\" },\n0x1026: { n:\"FontX\", f:parseuint16 },\n0x1027: { n:\"ObjectLink\" },\n0x1032: { n:\"Frame\" },\n0x1033: { n:\"Begin\" },\n0x1034: { n:\"End\" },\n0x1035: { n:\"PlotArea\" },\n0x103a: { n:\"Chart3d\" },\n0x103c: { n:\"PicF\" },\n0x103d: { n:\"DropBar\" },\n0x103e: { n:\"Radar\" },\n0x103f: { n:\"Surf\" },\n0x1040: { n:\"RadarArea\" },\n0x1041: { n:\"AxisParent\" },\n0x1043: { n:\"LegendException\" },\n0x1044: { n:\"ShtProps\", f:parse_ShtProps },\n0x1045: { n:\"SerToCrt\" },\n0x1046: { n:\"AxesUsed\" },\n0x1048: { n:\"SBaseRef\" },\n0x104a: { n:\"SerParent\" },\n0x104b: { n:\"SerAuxTrend\" },\n0x104e: { n:\"IFmtRecord\" },\n0x104f: { n:\"Pos\" },\n0x1050: { n:\"AlRuns\" },\n0x1051: { n:\"BRAI\" },\n0x105b: { n:\"SerAuxErrBar\" },\n0x105c: { n:\"ClrtClient\", f:parse_ClrtClient },\n0x105d: { n:\"SerFmt\" },\n0x105f: { n:\"Chart3DBarShape\" },\n0x1060: { n:\"Fbi\" },\n0x1061: { n:\"BopPop\" },\n0x1062: { n:\"AxcExt\" },\n0x1063: { n:\"Dat\" },\n0x1064: { n:\"PlotGrowth\" },\n0x1065: { n:\"SIIndex\" },\n0x1066: { n:\"GelFrame\" },\n0x1067: { n:\"BopPopCustom\" },\n0x1068: { n:\"Fbi2\" },\n\n0x0000: { n:\"Dimensions\", f:parse_Dimensions },\n0x0001: { n:\"BIFF2BLANK\" },\n0x0002: { n:\"BIFF2INT\", f:parse_BIFF2INT },\n0x0003: { n:\"BIFF2NUM\", f:parse_BIFF2NUM },\n0x0004: { n:\"BIFF2STR\", f:parse_BIFF2STR },\n0x0005: { n:\"BoolErr\", f:parse_BoolErr },\n0x0007: { n:\"String\", f:parse_BIFF2STRING },\n0x0008: { n:\"BIFF2ROW\" },\n0x0009: { n:'BOF', f:parse_BOF },\n0x000b: { n:\"Index\" },\n0x0016: { n:\"ExternCount\", f:parseuint16 },\n0x001e: { n:\"BIFF2FORMAT\", f:parse_BIFF2Format },\n0x001f: { n:\"BIFF2FMTCNT\" }, /* 16-bit cnt of BIFF2FORMAT records */\n0x0020: { n:\"BIFF2COLINFO\" },\n0x0021: { n:\"Array\", f:parse_Array },\n0x0024: { n:\"COLWIDTH\" },\n0x0025: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n0x0032: { n:\"BIFF2FONTXTRA\", f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n0x003e: { n:\"BIFF2WINDOW2\" },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n0x0034: { n:\"DDEObjName\" },\n0x0043: { n:\"BIFF2XF\" },\n0x0044: { n:\"BIFF2XFINDEX\", f:parseuint16 },\n0x0045: { n:\"BIFF2FONTCLR\" },\n0x0056: { n:\"BIFF4FMTCNT\" }, /* 16-bit cnt, similar to BIFF2 */\n0x007e: { n:\"RK\" }, /* Not necessarily same as 0x027e */\n0x007f: { n:\"ImData\", f:parse_ImData },\n0x0087: { n:\"Addin\" },\n0x0088: { n:\"Edg\" },\n0x0089: { n:\"Pub\" },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n0x0091: { n:\"Sub\" },\n\t// 0x93 STYLE\n0x0094: { n:\"LHRecord\" },\n0x0095: { n:\"LHNGraph\" },\n0x0096: { n:\"Sound\" },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n0x00a9: { n:\"CoordList\" },\n0x00ab: { n:\"GCW\" },\n0x00bc: { n:\"ShrFmla\" }, /* Not necessarily same as 0x04bc */\n0x00bf: { n:\"ToolbarHdr\" },\n0x00c0: { n:\"ToolbarEnd\" },\n0x00c2: { n:\"AddMenu\" },\n0x00c3: { n:\"DelMenu\" },\n0x00d6: { n:\"RString\", f:parse_RString },\n0x00df: { n:\"UDDesc\" },\n0x00ea: { n:\"TabIdConf\" },\n0x0162: { n:\"XL5Modify\" },\n0x01a5: { n:\"FileSharing2\" },\n0x0206: { n:\"Formula\", f:parse_Formula },\n0x0209: { n:'BOF', f:parse_BOF },\n0x0218: { n:\"Lbl\", f:parse_Lbl },\n0x0223: { n:\"ExternName\", f:parse_ExternName },\n0x0231: { n:\"Font\" },\n0x0243: { n:\"BIFF3XF\" },\n0x0406: { n:\"Formula\", f:parse_Formula },\n0x0409: { n:'BOF', f:parse_BOF },\n0x0443: { n:\"BIFF4XF\" },\n0x086d: { n:\"FeatInfo\" },\n0x0873: { n:\"FeatInfo11\" },\n0x0881: { n:\"SXAddl12\" },\n0x08c0: { n:\"AutoWebPub\" },\n0x08c1: { n:\"ListObj\" },\n0x08c2: { n:\"ListField\" },\n0x08c3: { n:\"ListDV\" },\n0x08c4: { n:\"ListCondFmt\" },\n0x08c5: { n:\"ListCF\" },\n0x08c6: { n:\"FMQry\" },\n0x08c7: { n:\"FMSQry\" },\n0x08c8: { n:\"PLV\" },\n0x08c9: { n:\"LnExt\" },\n0x08ca: { n:\"MkrExt\" },\n0x08cb: { n:\"CrtCoopt\" },\n0x08d6: { n:\"FRTArchId$\", r:12 },\n\n0x7262: {}\n};\n\nvar XLSRE = evert_key(XLSRecordEnum, 'n');\nfunction write_biff_rec(ba, type, payload, length) {\n\tvar t = typeof type == \"number\" ? type : (+type || +XLSRE[type]);\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba, type, payload, length) {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = +type || +XLSRE[type];\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r, c) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r, c, val, t) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r, c, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba, cell, R, C) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba, ws, idx, opts) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb, opts) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, \"CalcMode\", writeuint16(1));\n\twrite_biff_rec(ba, \"CalcCount\", writeuint16(100));\n\twrite_biff_rec(ba, \"CalcRefMode\", writebool(true));\n\twrite_biff_rec(ba, \"CalcIter\", writebool(false));\n\twrite_biff_rec(ba, \"CalcDelta\", write_Xnum(0.001));\n\twrite_biff_rec(ba, \"CalcSaveRecalc\", writebool(true));\n\twrite_biff_rec(ba, \"PrintRowCol\", writebool(false));\n\twrite_biff_rec(ba, \"PrintGrid\", writebool(false));\n\twrite_biff_rec(ba, \"GridSet\", writeuint16(1));\n\twrite_biff_rec(ba, \"Guts\", write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, \"HCenter\", writebool(false));\n\twrite_biff_rec(ba, \"VCenter\", writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"], ws);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, \"Window2\", write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, \"MergeCells\", write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, \"EOF\");\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb, bufs, opts) {\n\tvar A = buf_array();\n\tvar _WB = ((wb||{}).Workbook||{});\n\tvar _sheets = (_WB.Sheets||[]);\n\tvar _wb = _WB.WBProps||{};\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, \"Addin\");\n\twrite_biff_rec(A, \"InterfaceHdr\", b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, \"Mms\", writezeroes(2));\n\tif(b5) write_biff_rec(A, \"ToolbarHdr\");\n\tif(b5) write_biff_rec(A, \"ToolbarEnd\");\n\twrite_biff_rec(A, \"InterfaceEnd\");\n\twrite_biff_rec(A, \"WriteAccess\", write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, \"CodePage\", writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, \"DSF\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Excel9File\");\n\twrite_biff_rec(A, \"RRTabId\", write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, \"ObProj\");\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, \"BuiltInFnGroupCount\", writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, \"WinProtect\", writebool(false));\n\twrite_biff_rec(A, \"Protect\", writebool(false));\n\twrite_biff_rec(A, \"Password\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Prot4Rev\", writebool(false));\n\tif(b8) write_biff_rec(A, \"Prot4RevPass\", writeuint16(0));\n\twrite_biff_rec(A, \"Window1\", write_Window1(opts));\n\twrite_biff_rec(A, \"Backup\", writebool(false));\n\twrite_biff_rec(A, \"HideObj\", writeuint16(0));\n\twrite_biff_rec(A, \"Date1904\", writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, \"CalcPrecision\", writebool(true));\n\tif(b8) write_biff_rec(A, \"RefreshAll\", writebool(false));\n\twrite_biff_rec(A, \"BookBool\", writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, \"UsesELFs\", writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, \"Country\", write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, \"SST\", write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, \"EOF\");\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet = _sheets[j] || ({});\n\t\twrite_biff_rec(B, \"BoundSheet8\", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn __toBuffer([out]);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb, opts) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = []; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn __toBuffer([bufs]);\n}\n\nfunction write_biff_buf(wb, opts) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\t console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nvar HTML_ = (function() {\n\tfunction html_to_sheet(str, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tstr = str.replace(//g, \"\");\n\t\tvar mtch = str.match(/\");\n\t\tvar mtch2 = str.match(/<\\/table/i);\n\t\tvar i = mtch.index, j = mtch2 && mtch2.index || str.length;\n\t\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\t\tvar R = -1, C = 0, RS = 0, CS = 0;\n\t\tvar range = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\t\tvar merges = [];\n\t\tfor(i = 0; i < rows.length; ++i) {\n\t\t\tvar row = rows[i].trim();\n\t\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\t\tif(hd == \"/i);\n\t\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\t\tvar cell = cells[j].trim();\n\t\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\t\tvar _merge = merges[midx];\n\t\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t\t}\n\t\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\t\tvar _t = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t\t/* TODO: generate stub cells */\n\t\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\t\tm = htmldecode(m);\n\t\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\t\tif(!m.length) continue;\n\t\t\t\tvar o = {t:'s', v:m};\n\t\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(m)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\t\tC += CS;\n\t\t\t}\n\t\t}\n\t\tws['!ref'] = encode_range(range);\n\t\tif(merges.length) ws[\"!merges\"] = merges;\n\t\treturn ws;\n\t}\n\tfunction html_to_book(str, opts) {\n\t\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\t\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\t\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\t\tvar wb = utils.book_new();\n\t\tmtch.forEach(function(s, idx) { utils.book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\t\treturn wb;\n\t}\n\tfunction make_html_row(ws, r, R, o) {\n\t\tvar M = (ws['!merges'] ||[]);\n\t\tvar oo = [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tvar RS = 0, CS = 0;\n\t\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t\t}\n\t\t\tif(RS < 0) continue;\n\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t/* TODO: html entities */\n\t\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\t\tvar sp = ({});\n\t\t\tif(RS > 1) sp.rowspan = RS;\n\t\t\tif(CS > 1) sp.colspan = CS;\n\t\t\tif(o.editable) w = '' + w + '';\n\t\t\telse if(cell) {\n\t\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t\t}\n\t\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\t\too.push(writextag('td', w, sp));\n\t\t}\n\t\tvar preamble = \"\";\n\t\treturn preamble + oo.join(\"\") + \"\";\n\t}\n\tfunction make_html_preamble(ws, R, o) {\n\t\tvar out = [];\n\t\treturn out.join(\"\") + '';\n\t}\n\tvar _BEGIN = 'SheetJS Table Export';\n\tvar _END = '';\n\tfunction sheet_to_html(ws, opts/*, wb:?Workbook*/) {\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : _BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : _END;\n\t\tvar out = [header];\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tout.push(make_html_preamble(ws, r, o));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\t\tout.push(\"
\" + footer);\n\t\treturn out.join(\"\");\n\n\t}\n\treturn {\n\t\tto_workbook: html_to_book,\n\t\tto_sheet: html_to_sheet,\n\t\t_row: make_html_row,\n\t\tBEGIN: _BEGIN,\n\t\tEND: _END,\n\t\t_preamble: make_html_preamble,\n\t\tfrom_sheet: sheet_to_html\n\t};\n})();\n\nfunction sheet_add_dom(ws, table, _opts) {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\tvar rows = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges = [], midx = 0;\n\tvar rowinfo = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts = (row.children);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o = {t:'s', v:v};\n\t\t\tvar _t = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table, _opts) {\n\tvar opts = _opts || {};\n\tvar ws = opts.dense ? ([]) : ({});\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table, opts) {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element) {\n\tvar display = '';\n\tvar get_computed_style = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style.display; // Fallback for cases when getComputedStyle is not available (e.g. an old browser or some Node.js environments) or doesn't work (e.g. if the element is not inserted to a document)\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element) {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nvar parse_content_xml = (function() {\n\n\tvar parse_text_p = function(text) {\n\t\t/* 6.1.2 White Space Characters */\n\t\tvar fixed = text\n\t\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t\t.replace(//g,\" \")\n\t\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t\t.replace(//g,\"\\n\");\n\t\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\t\treturn [v];\n\t};\n\n\tvar number_formats = {\n\t\t/* ods name: [short ssf fmt, long ssf fmt] */\n\t\tday: [\"d\", \"dd\"],\n\t\tmonth: [\"m\", \"mm\"],\n\t\tyear: [\"y\", \"yy\"],\n\t\thours: [\"h\", \"hh\"],\n\t\tminutes: [\"m\", \"mm\"],\n\t\tseconds: [\"s\", \"ss\"],\n\t\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\t\tera: [\"e\", \"ee\"],\n\t\t/* there is no native representation of LO \"Q\" format */\n\t\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n\t};\n\n\treturn function pcx(d, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state = [], tmp;\n\t\tvar tag;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag;\n\t\tvar rowtag;\n\t\tvar Sheets = {}, SheetNames = [];\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tvar Rn, q;\n\t\tvar ctag = ({value:\"\"});\n\t\tvar textp = \"\", textpidx = 0, textptag;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({});\n\t\tvar _Ref = [\"\", \"\"];\n\t\tvar comments = [], comment = ({});\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]) : ({}); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null});\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({});\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null});\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({});\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) comment.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]});\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso() {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods = (function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text) {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb, i) {\n\t\t/* Section 9 Tables */\n\t\tvar o = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('
');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb, opts) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest = [];\n\tvar rdf = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods());\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\nfunction write_sheet_index(wb, sheet) {\n\tif(!sheet) return 0;\n\tvar idx = wb.SheetNames.indexOf(sheet);\n\tif(idx == -1) throw new Error(\"Sheet not found: \" + sheet);\n\treturn idx;\n}\n\nfunction write_obj_str(factory) {\n\treturn function write_str(wb, o) {\n\t\tvar idx = write_sheet_index(wb, o.sheet);\n\t\treturn factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb);\n\t};\n}\n\nvar write_htm_str = write_obj_str(HTML_);\nvar write_csv_str = write_obj_str({from_sheet:sheet_to_csv});\nvar write_slk_str = write_obj_str(typeof SYLK !== \"undefined\" ? SYLK : {});\nvar write_dif_str = write_obj_str(typeof DIF !== \"undefined\" ? DIF : {});\nvar write_prn_str = write_obj_str(typeof PRN !== \"undefined\" ? PRN : {});\nvar write_rtf_str = write_obj_str(typeof RTF !== \"undefined\" ? RTF : {});\nvar write_txt_str = write_obj_str({from_sheet:sheet_to_txt});\nvar write_dbf_buf = write_obj_str(typeof DBF !== \"undefined\" ? DBF : {});\nvar write_eth_str = write_obj_str(typeof ETH !== \"undefined\" ? ETH : {});\nvar write_wk1_buf = write_obj_str(typeof WK_ !== \"undefined\" ? {from_sheet:WK_.sheet_to_wk1} : {});\n\nfunction fix_opts_func(defaults) {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nvar fix_read_opts = function(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n};\n\nvar fix_write_opts = fix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\nfunction get_sheet_type(n) {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments */\n\t\tvar comments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tvar dfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tcomments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments);\n\t\t\t}\n\t\t});\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x) { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip, opts) {\n\tmake_ssf(SSF);\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({});\n\tvar styles = ({});\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({});\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({});\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile);\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: SSF.get_table()\n\t});\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts) {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\nif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\nif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb, opts) {\n\t_shapeid = 1024;\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = []; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\nf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar cf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\nfunction firstbyte(f,o) {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64.decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb, opts) {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data, opts) {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data, o) {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data, o) {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64.decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data, o) {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64.decode(d);\n\td = cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data) {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data, opts) {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb, o) {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\nfunction write_zip_type(wb, opts) {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\tvar oopts = {};\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = has_buf ? \"nodebuffer\" : \"string\";\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = has_buf ? \"nodebuffer\" : \"string\"; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: {\"nodebuffer\": \"buffer\", \"string\": \"binary\"}[oopts.type] || oopts.type}) : z.generate(oopts);\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(out) : out;\n}\n\nfunction write_cfb_type(wb, opts) {\n\tvar o = opts||{};\n\tvar cfb = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out, opts, bom) {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64.encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSync(wb, opts) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out = (writeSync(wb, o)); o.type = \"array\"; return s2ab(out); }\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(write_slk_str(wb, o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(write_htm_str(wb, o), o);\n\t\tcase 'txt': return write_stxt_type(write_txt_str(wb, o), o);\n\t\tcase 'csv': return write_string_type(write_csv_str(wb, o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(write_dif_str(wb, o), o);\n\t\tcase 'dbf': return write_binary_type(write_dbf_buf(wb, o), o);\n\t\tcase 'prn': return write_string_type(write_prn_str(wb, o), o);\n\t\tcase 'rtf': return write_string_type(write_rtf_str(wb, o), o);\n\t\tcase 'eth': return write_string_type(write_eth_str(wb, o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(write_wk1_buf(wb, o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb, filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileAsync(filename, wb, opts, cb) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\nfunction make_json_row(sheet, r, R, cols, header, hdr, dense, o) {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw || (o.rawNumbers && val.t == \"n\") ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet, opts) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols = [];\n\tvar out = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0, CC = 0;\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = 0;\n\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet, r, R, cols, fs, rs, FS, o) {\n\tvar isempty = true;\n\tvar row = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet, opts) {\n\tvar out = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tout.push(row + RS);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet, opts) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet) {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols = [], C;\n\tvar cmds = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws, js, opts) {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws = _ws || ({});\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell;\n\tvar range = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = utils.sheet_get_cell(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || SSF._table[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v});\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js, opts) { return sheet_add_json(null, js, opts); }\n\nvar utils = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tget_formulae: sheet_to_formulae,\n\tmake_csv: sheet_to_csv,\n\tmake_json: sheet_to_json,\n\tmake_formulae: sheet_to_formulae,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: HTML_.from_sheet,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json\n};\n\n(function(utils) {\nutils.consts = utils.consts || {};\nfunction add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); }\n\nfunction get_default(x, y, z) { return x[y] != null ? x[y] : (x[y] = z); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws, R, C) {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\nutils.sheet_get_cell = ws_get_cell_stub;\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb, sh) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nutils.book_new = function() {\n\treturn { SheetNames: [], Sheets: {} };\n};\n\n/* add a worksheet to the end of a given workbook */\nutils.book_append_sheet = function(wb, ws, name) {\n\tif(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n};\n\n/* set sheet visibility (visible/hidden/very hidden) */\nutils.book_set_sheet_visibility = function(wb, sh, vis) {\n\tget_default(wb,\"Workbook\",{});\n\tget_default(wb.Workbook,\"Sheets\",[]);\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tget_default(wb.Workbook.Sheets,idx, {});\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n};\nadd_consts([\n\t[\"SHEET_VISIBLE\", 0],\n\t[\"SHEET_HIDDEN\", 1],\n\t[\"SHEET_VERY_HIDDEN\", 2]\n]);\n\n/* set number format */\nutils.cell_set_number_format = function(cell, fmt) {\n\tcell.z = fmt;\n\treturn cell;\n};\n\n/* set cell hyperlink */\nutils.cell_set_hyperlink = function(cell, target, tooltip) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target });\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n};\nutils.cell_set_internal_link = function(cell, range, tooltip) { return utils.cell_set_hyperlink(cell, \"#\" + range, tooltip); };\n\n/* add to cell comments */\nutils.cell_add_comment = function(cell, text, author) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n};\n\n/* set array formula and flush related cells */\nutils.sheet_set_array_formula = function(ws, range, formula) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) cell.f = formula;\n\t}\n\treturn ws;\n};\n\nreturn utils;\n})(utils);\n\nif(has_buf && typeof require != 'undefined') (function() {\n\tvar strmod = require('stream');\n\tif(!strmod) return;\n\tvar Readable = strmod.Readable;\n\tif(!Readable) return;\n\n\tvar write_csv_stream = function(sheet, opts) {\n\t\tvar stream = Readable();\n\t\tvar o = opts == null ? {} : opts;\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\t\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\t\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\t\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\t\tvar row = \"\", cols = [];\n\t\to.dense = Array.isArray(sheet);\n\t\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\t\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\t\tvar R = r.s.r;\n\t\tvar BOM = false;\n\t\tstream._read = function() {\n\t\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t++R;\n\t\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\t\tif(row != null) {\n\t\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\t\tstream.push(row + RS);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_html_stream = function(ws, opts) {\n\t\tvar stream = Readable();\n\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : HTML_.BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : HTML_.END;\n\t\tstream.push(header);\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tstream.push(HTML_._preamble(ws, r, o));\n\t\tvar R = r.s.r;\n\t\tvar end = false;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) {\n\t\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\t\treturn stream.push(null);\n\t\t\t}\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\tstream.push(HTML_._row(ws, r, R, o));\n\t\t\t\t++R;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_json_stream = function(sheet, opts) {\n\t\tvar stream = Readable({objectMode:true});\n\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\t\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tvar o = opts || {};\n\t\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\t\tif(o.header === 1) header = 1;\n\t\telse if(o.header === \"A\") header = 2;\n\t\telse if(Array.isArray(o.header)) header = 3;\n\t\tswitch(typeof range) {\n\t\t\tcase 'string': r = safe_decode_range(range); break;\n\t\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\t\tdefault: r = range;\n\t\t}\n\t\tif(header > 0) offset = 0;\n\t\tvar rr = encode_row(r.s.r);\n\t\tvar cols = [];\n\t\tvar counter = 0;\n\t\tvar dense = Array.isArray(sheet);\n\t\tvar R = r.s.r, C = 0, CC = 0;\n\t\tif(dense && !sheet[R]) sheet[R] = [];\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tcols[C] = encode_col(C);\n\t\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\t\tswitch(header) {\n\t\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\t\tcounter = 0;\n\t\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\t\thdr[C] = vv;\n\t\t\t}\n\t\t}\n\t\tR = r.s.r + offset;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t//if ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t\t++R;\n\t\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\t\tstream.push(row.row);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tXLSX.stream = {\n\t\tto_json: write_json_stream,\n\t\tto_html: write_html_stream,\n\t\tto_csv: write_csv_stream\n\t};\n})();\n\nif(typeof parse_xlscfb !== \"undefined\") XLSX.parse_xlscfb = parse_xlscfb;\nXLSX.parse_zip = parse_zip;\nXLSX.read = readSync; //xlsread\nXLSX.readFile = readFileSync; //readFile\nXLSX.readFileSync = readFileSync;\nXLSX.write = writeSync;\nXLSX.writeFile = writeFileSync;\nXLSX.writeFileSync = writeFileSync;\nXLSX.writeFileAsync = writeFileAsync;\nXLSX.utils = utils;\nXLSX.SSF = SSF;\nif(typeof CFB !== \"undefined\") XLSX.CFB = CFB;\n}\n/*global define */\nif(typeof exports !== 'undefined') make_xlsx_lib(exports);\nelse if(typeof module !== 'undefined' && module.exports) make_xlsx_lib(module.exports);\nelse if(typeof define === 'function' && define.amd) define('xlsx', function() { if(!XLSX.version) make_xlsx_lib(XLSX); return XLSX; });\nelse make_xlsx_lib(XLSX);\n/* NOTE: the following extra line is needed for \"Lightning Locker Service\" */\nif(typeof window !== 'undefined' && !window.XLSX) try { window.XLSX = XLSX; } catch(e) {}\n/*exported XLS, ODS */\nvar XLS = XLSX, ODS = XLSX;\n","import { factory } from '../../utils/factory.js';\nexport var createUseMatrixForArrayScalar = /* #__PURE__ */factory('useMatrixForArrayScalar', ['typed', 'matrix'], _ref => {\n var {\n typed,\n matrix\n } = _ref;\n return {\n 'Array, number': typed.referTo('DenseMatrix, number', selfDn => (x, y) => selfDn(matrix(x), y).valueOf()),\n 'Array, BigNumber': typed.referTo('DenseMatrix, BigNumber', selfDB => (x, y) => selfDB(matrix(x), y).valueOf()),\n 'number, Array': typed.referTo('number, DenseMatrix', selfnD => (x, y) => selfnD(x, matrix(y)).valueOf()),\n 'BigNumber, Array': typed.referTo('BigNumber, DenseMatrix', selfBD => (x, y) => selfBD(x, matrix(y)).valueOf())\n };\n});","// A port of an algorithm by Johannes Baagøe , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRecebidasRetrato.vue?vue&type=style&index=0&id=53b83f6c&prod&lang=css\"","import { deepForEach } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'multinomial';\nvar dependencies = ['typed', 'add', 'divide', 'multiply', 'factorial', 'isInteger', 'isPositive'];\nexport var createMultinomial = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n add,\n divide,\n multiply,\n factorial,\n isInteger,\n isPositive\n } = _ref;\n /**\n * Multinomial Coefficients compute the number of ways of picking a1, a2, ..., ai unordered outcomes from `n` possibilities.\n *\n * multinomial takes one array of integers as an argument.\n * The following condition must be enforced: every ai <= 0\n *\n * Syntax:\n *\n * math.multinomial(a) // a is an array type\n *\n * Examples:\n *\n * math.multinomial([1,2,1]) // returns 12\n *\n * See also:\n *\n * combinations, factorial\n *\n * @param {number[] | BigNumber[]} a Integer numbers of objects in the subset\n * @return {Number | BigNumber} Multinomial coefficient.\n */\n return typed(name, {\n 'Array | Matrix': function ArrayMatrix(a) {\n var sum = 0;\n var denom = 1;\n deepForEach(a, function (ai) {\n if (!isInteger(ai) || !isPositive(ai)) {\n throw new TypeError('Positive integer value expected in function multinomial');\n }\n sum = add(sum, ai);\n denom = multiply(denom, factorial(ai));\n });\n return divide(factorial(sum), denom);\n }\n });\n});","import Fraction from 'fraction.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'Fraction';\nvar dependencies = [];\nexport var createFractionClass = /* #__PURE__ */factory(name, dependencies, () => {\n /**\n * Attach type information\n */\n Object.defineProperty(Fraction, 'name', {\n value: 'Fraction'\n });\n Fraction.prototype.constructor = Fraction;\n Fraction.prototype.type = 'Fraction';\n Fraction.prototype.isFraction = true;\n\n /**\n * Get a JSON representation of a Fraction containing type information\n * @returns {Object} Returns a JSON object structured as:\n * `{\"mathjs\": \"Fraction\", \"n\": 3, \"d\": 8}`\n */\n Fraction.prototype.toJSON = function () {\n return {\n mathjs: 'Fraction',\n n: this.s * this.n,\n d: this.d\n };\n };\n\n /**\n * Instantiate a Fraction from a JSON object\n * @param {Object} json a JSON object structured as:\n * `{\"mathjs\": \"Fraction\", \"n\": 3, \"d\": 8}`\n * @return {BigNumber}\n */\n Fraction.fromJSON = function (json) {\n return new Fraction(json);\n };\n return Fraction;\n}, {\n isClass: true\n});","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nimport { roundNumber } from '../../plain/number/index.js';\nvar NO_INT = 'Number of decimals in function round must be an integer';\nvar name = 'round';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'BigNumber', 'DenseMatrix'];\nexport var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n zeros,\n BigNumber,\n DenseMatrix\n } = _ref;\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n\n /**\n * Round a value towards the nearest rounded value.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.round(x)\n * math.round(x, n)\n *\n * Examples:\n *\n * math.round(3.22) // returns number 3\n * math.round(3.82) // returns number 4\n * math.round(-4.2) // returns number -4\n * math.round(-4.7) // returns number -5\n * math.round(3.22, 1) // returns number 3.2\n * math.round(3.88, 1) // returns number 3.9\n * math.round(-4.21, 1) // returns number -4.2\n * math.round(-4.71, 1) // returns number -4.7\n * math.round(math.pi, 3) // returns number 3.142\n * math.round(123.45678, 2) // returns number 123.46\n *\n * const c = math.complex(3.2, -2.7)\n * math.round(c) // returns Complex 3 - 3i\n *\n * math.round([3.2, 3.8, -4.7]) // returns Array [3, 4, -5]\n *\n * See also:\n *\n * ceil, fix, floor\n *\n * @param {number | BigNumber | Fraction | Complex | Array | Matrix} x Number to be rounded\n * @param {number | BigNumber | Array} [n=0] Number of decimals\n * @return {number | BigNumber | Fraction | Complex | Array | Matrix} Rounded value\n */\n return typed(name, {\n number: roundNumber,\n 'number, number': roundNumber,\n 'number, BigNumber': function numberBigNumber(x, n) {\n if (!n.isInteger()) {\n throw new TypeError(NO_INT);\n }\n return new BigNumber(x).toDecimalPlaces(n.toNumber());\n },\n Complex: function Complex(x) {\n return x.round();\n },\n 'Complex, number': function ComplexNumber(x, n) {\n if (n % 1) {\n throw new TypeError(NO_INT);\n }\n return x.round(n);\n },\n 'Complex, BigNumber': function ComplexBigNumber(x, n) {\n if (!n.isInteger()) {\n throw new TypeError(NO_INT);\n }\n var _n = n.toNumber();\n return x.round(_n);\n },\n BigNumber: function BigNumber(x) {\n return x.toDecimalPlaces(0);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, n) {\n if (!n.isInteger()) {\n throw new TypeError(NO_INT);\n }\n return x.toDecimalPlaces(n.toNumber());\n },\n Fraction: function Fraction(x) {\n return x.round();\n },\n 'Fraction, number': function FractionNumber(x, n) {\n if (n % 1) {\n throw new TypeError(NO_INT);\n }\n return x.round(n);\n },\n 'Fraction, BigNumber': function FractionBigNumber(x, n) {\n if (!n.isInteger()) {\n throw new TypeError(NO_INT);\n }\n return x.round(n.toNumber());\n },\n // deep map collection, skip zeros since round(0) = 0\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self, true)),\n 'SparseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n return matAlgo11xS0s(x, y, self, false);\n }),\n 'DenseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n return matAlgo14xDs(x, y, self, false);\n }),\n 'Array, number | BigNumber': typed.referToSelf(self => (x, y) => {\n // use matrix implementation\n return matAlgo14xDs(matrix(x), y, self, false).valueOf();\n }),\n 'number | Complex | BigNumber | Fraction, SparseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar is zero\n if (equalScalar(x, 0)) {\n // do not execute algorithm, result will be a zero matrix\n return zeros(y.size(), y.storage());\n }\n return matAlgo12xSfs(y, x, self, true);\n }),\n 'number | Complex | BigNumber | Fraction, DenseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar is zero\n if (equalScalar(x, 0)) {\n // do not execute algorithm, result will be a zero matrix\n return zeros(y.size(), y.storage());\n }\n return matAlgo14xDs(y, x, self, true);\n }),\n 'number | Complex | BigNumber | Fraction, Array': typed.referToSelf(self => (x, y) => {\n // use matrix implementation\n return matAlgo14xDs(matrix(y), x, self, true).valueOf();\n })\n });\n});","import { factory } from '../../utils/factory.js';\nvar name = 'matrixFromRows';\nvar dependencies = ['typed', 'matrix', 'flatten', 'size'];\nexport var createMatrixFromRows = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n flatten,\n size\n } = _ref;\n /**\n * Create a dense matrix from vectors as individual rows.\n * If you pass column vectors, they will be transposed (but not conjugated!)\n *\n * Syntax:\n *\n * math.matrixFromRows(...arr)\n * math.matrixFromRows(row1, row2)\n * math.matrixFromRows(row1, row2, row3)\n *\n * Examples:\n *\n * math.matrixFromRows([1, 2, 3], [[4],[5],[6]])\n * math.matrixFromRows(...vectors)\n *\n * See also:\n *\n * matrix, matrixFromColumns, matrixFromFunction, zeros\n *\n * @param {... Array | Matrix} rows Multiple rows\n * @return { number[][] | Matrix } if at least one of the arguments is an array, an array will be returned\n */\n return typed(name, {\n '...Array': function Array(arr) {\n return _createArray(arr);\n },\n '...Matrix': function Matrix(arr) {\n return matrix(_createArray(arr.map(m => m.toArray())));\n }\n\n // TODO implement this properly for SparseMatrix\n });\n\n function _createArray(arr) {\n if (arr.length === 0) throw new TypeError('At least one row is needed to construct a matrix.');\n var N = checkVectorTypeAndReturnLength(arr[0]);\n var result = [];\n for (var row of arr) {\n var rowLength = checkVectorTypeAndReturnLength(row);\n if (rowLength !== N) {\n throw new TypeError('The vectors had different length: ' + (N | 0) + ' ≠ ' + (rowLength | 0));\n }\n result.push(flatten(row));\n }\n return result;\n }\n function checkVectorTypeAndReturnLength(vec) {\n var s = size(vec);\n if (s.length === 1) {\n // 1D vector\n return s[0];\n } else if (s.length === 2) {\n // 2D vector\n if (s[0] === 1) {\n // row vector\n return s[1];\n } else if (s[1] === 1) {\n // col vector\n return s[0];\n } else {\n throw new TypeError('At least one of the arguments is not a vector.');\n }\n } else {\n throw new TypeError('Only one- or two-dimensional vectors are supported.');\n }\n }\n});","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","import { factory } from '../../../utils/factory.js';\nvar name = 'matrix';\nvar dependencies = ['typed', 'Matrix', 'DenseMatrix', 'SparseMatrix'];\nexport var createMatrix = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n Matrix,\n DenseMatrix,\n SparseMatrix\n } = _ref;\n /**\n * Create a Matrix. The function creates a new `math.Matrix` object from\n * an `Array`. A Matrix has utility functions to manipulate the data in the\n * matrix, like getting the size and getting or setting values in the matrix.\n * Supported storage formats are 'dense' and 'sparse'.\n *\n * Syntax:\n *\n * math.matrix() // creates an empty matrix using default storage format (dense).\n * math.matrix(data) // creates a matrix with initial data using default storage format (dense).\n * math.matrix('dense') // creates an empty matrix using the given storage format.\n * math.matrix(data, 'dense') // creates a matrix with initial data using the given storage format.\n * math.matrix(data, 'sparse') // creates a sparse matrix with initial data.\n * math.matrix(data, 'sparse', 'number') // creates a sparse matrix with initial data, number data type.\n *\n * Examples:\n *\n * let m = math.matrix([[1, 2], [3, 4]])\n * m.size() // Array [2, 2]\n * m.resize([3, 2], 5)\n * m.valueOf() // Array [[1, 2], [3, 4], [5, 5]]\n * m.get([1, 0]) // number 3\n *\n * See also:\n *\n * bignumber, boolean, complex, index, number, string, unit, sparse\n *\n * @param {Array | Matrix} [data] A multi dimensional array\n * @param {string} [format] The Matrix storage format, either `'dense'` or `'sparse'`\n * @param {string} [datatype] Type of the values\n *\n * @return {Matrix} The created matrix\n */\n return typed(name, {\n '': function _() {\n return _create([]);\n },\n string: function string(format) {\n return _create([], format);\n },\n 'string, string': function stringString(format, datatype) {\n return _create([], format, datatype);\n },\n Array: function Array(data) {\n return _create(data);\n },\n Matrix: function Matrix(data) {\n return _create(data, data.storage());\n },\n 'Array | Matrix, string': _create,\n 'Array | Matrix, string, string': _create\n });\n\n /**\n * Create a new Matrix with given storage format\n * @param {Array} data\n * @param {string} [format]\n * @param {string} [datatype]\n * @returns {Matrix} Returns a new Matrix\n * @private\n */\n function _create(data, format, datatype) {\n // get storage format constructor\n if (format === 'dense' || format === 'default' || format === undefined) {\n return new DenseMatrix(data, datatype);\n }\n if (format === 'sparse') {\n return new SparseMatrix(data, datatype);\n }\n throw new TypeError('Unknown matrix type ' + JSON.stringify(format) + '.');\n }\n});","/*\n\nJSZip - A Javascript class for generating and reading zip files\n\n\n(c) 2009-2014 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n\nNote: since JSZip 3 removed critical functionality, this version assigns to the\n`JSZipSync` variable. Another JSZip version can be loaded in parallel.\n*/\n(function(e){\n\tif(\"object\"==typeof exports&&\"undefined\"!=typeof module&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP)module.exports=e();\n\telse if(\"function\"==typeof define&&define.amd&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP){JSZipSync=e();define('j',[],e);}\n\telse{\n\t\tvar f;\n\t\t\"undefined\"!=typeof globalThis?f=globalThis:\n\t\t\"undefined\"!=typeof window?f=window:\n\t\t\"undefined\"!=typeof global?f=global:\n\t\t\"undefined\"!=typeof $ && $.global?f=$.global:\n\t\t\"undefined\"!=typeof self&&(f=self),f.JSZipSync=e()\n\t}\n}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error(\"Cannot find module '\"+o+\"'\")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n }\n else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\n\n }\n\n return output;\n};\n\n// public method for decoding\nexports.decode = function(input, utf8) {\n var output = \"\";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n while (i < input.length) {\n\n enc1 = _keyStr.indexOf(input.charAt(i++));\n enc2 = _keyStr.indexOf(input.charAt(i++));\n enc3 = _keyStr.indexOf(input.charAt(i++));\n enc4 = _keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output = output + String.fromCharCode(chr1);\n\n if (enc3 != 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 != 64) {\n output = output + String.fromCharCode(chr3);\n }\n\n }\n\n return output;\n\n};\n\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nfunction CompressedObject() {\n this.compressedSize = 0;\n this.uncompressedSize = 0;\n this.crc32 = 0;\n this.compressionMethod = null;\n this.compressedContent = null;\n}\n\nCompressedObject.prototype = {\n /**\n * Return the decompressed content in an unspecified format.\n * The format will depend on the decompressor.\n * @return {Object} the decompressed content.\n */\n getContent: function() {\n return null; // see implementation\n },\n /**\n * Return the compressed content in an unspecified format.\n * The format will depend on the compressed conten source.\n * @return {Object} the compressed content.\n */\n getCompressedContent: function() {\n return null; // see implementation\n }\n};\nmodule.exports = CompressedObject;\n\n},{}],3:[function(_dereq_,module,exports){\n'use strict';\nexports.STORE = {\n magic: \"\\x00\\x00\",\n compress: function(content) {\n return content; // no compression\n },\n uncompress: function(content) {\n return content; // no compression\n },\n compressInputType: null,\n uncompressInputType: null\n};\nexports.DEFLATE = _dereq_('./flate');\n\n},{\"./flate\":8}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\nvar table = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D\n];\n\n/**\n *\n * Javascript crc32\n * http://www.webtoolkit.info/\n *\n */\nmodule.exports = function crc32(input, crc) {\n if (typeof input === \"undefined\" || !input.length) {\n return 0;\n }\n\n var isArray = utils.getTypeOf(input) !== \"string\";\n\n if (typeof(crc) == \"undefined\") {\n crc = 0;\n }\n var x = 0;\n var y = 0;\n var b = 0;\n\n crc = crc ^ (-1);\n for (var i = 0, iTop = input.length; i < iTop; i++) {\n b = isArray ? input[i] : input.charCodeAt(i);\n y = (crc ^ b) & 0xFF;\n x = table[y];\n crc = (crc >>> 8) ^ x;\n }\n\n return crc ^ (-1);\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./utils\":21}],5:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\nfunction DataReader(data) {\n this.data = null; // type : see implementation\n this.length = 0;\n this.index = 0;\n}\nDataReader.prototype = {\n /**\n * Check that the offset will not go too far.\n * @param {string} offset the additional offset to check.\n * @throws {Error} an Error if the offset is out of bounds.\n */\n checkOffset: function(offset) {\n this.checkIndex(this.index + offset);\n },\n /**\n * Check that the specifed index will not be too far.\n * @param {string} newIndex the index to check.\n * @throws {Error} an Error if the index is out of bounds.\n */\n checkIndex: function(newIndex) {\n if (this.length < newIndex || newIndex < 0) {\n throw new Error(\"End of data reached (data length = \" + this.length + \", asked index = \" + (newIndex) + \"). Corrupted zip ?\");\n }\n },\n /**\n * Change the index.\n * @param {number} newIndex The new index.\n * @throws {Error} if the new index is out of the data.\n */\n setIndex: function(newIndex) {\n this.checkIndex(newIndex);\n this.index = newIndex;\n },\n /**\n * Skip the next n bytes.\n * @param {number} n the number of bytes to skip.\n * @throws {Error} if the new index is out of the data.\n */\n skip: function(n) {\n this.setIndex(this.index + n);\n },\n /**\n * Get the byte at the specified index.\n * @param {number} i the index to use.\n * @return {number} a byte.\n */\n byteAt: function(i) {\n // see implementations\n },\n /**\n * Get the next number with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {number} the corresponding number.\n */\n readInt: function(size) {\n var result = 0,\n i;\n this.checkOffset(size);\n for (i = this.index + size - 1; i >= this.index; i--) {\n result = (result << 8) + this.byteAt(i);\n }\n this.index += size;\n return result;\n },\n /**\n * Get the next string with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {string} the corresponding string.\n */\n readString: function(size) {\n return utils.transformTo(\"string\", this.readData(size));\n },\n /**\n * Get raw data without conversion, bytes.\n * @param {number} size the number of bytes to read.\n * @return {Object} the raw data, implementation specific.\n */\n readData: function(size) {\n // see implementations\n },\n /**\n * Find the last occurrence of a zip signature (4 bytes).\n * @param {string} sig the signature to find.\n * @return {number} the index of the last occurrence, -1 if not found.\n */\n lastIndexOfSignature: function(sig) {\n // see implementations\n },\n /**\n * Get the next date.\n * @return {Date} the date.\n */\n readDate: function() {\n var dostime = this.readInt(4);\n return new Date(\n ((dostime >> 25) & 0x7f) + 1980, // year\n ((dostime >> 21) & 0x0f) - 1, // month\n (dostime >> 16) & 0x1f, // day\n (dostime >> 11) & 0x1f, // hour\n (dostime >> 5) & 0x3f, // minute\n (dostime & 0x1f) << 1); // second\n }\n};\nmodule.exports = DataReader;\n\n},{\"./utils\":21}],6:[function(_dereq_,module,exports){\n'use strict';\nexports.base64 = false;\nexports.binary = false;\nexports.dir = false;\nexports.createFolders = false;\nexports.date = null;\nexports.compression = null;\nexports.comment = null;\n\n},{}],7:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2binary = function(str) {\n return utils.string2binary(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Uint8Array = function(str) {\n return utils.transformTo(\"uint8array\", str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.uint8Array2String = function(array) {\n return utils.transformTo(\"string\", array);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Blob = function(str) {\n var buffer = utils.transformTo(\"arraybuffer\", str);\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.arrayBuffer2Blob = function(buffer) {\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.transformTo = function(outputType, input) {\n return utils.transformTo(outputType, input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.getTypeOf = function(input) {\n return utils.getTypeOf(input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.checkSupport = function(type) {\n return utils.checkSupport(type);\n};\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_16BITS = utils.MAX_VALUE_16BITS;\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_32BITS = utils.MAX_VALUE_32BITS;\n\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.pretty = function(str) {\n return utils.pretty(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.findCompression = function(compressionMethod) {\n return utils.findCompression(compressionMethod);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.isRegExp = function (object) {\n return utils.isRegExp(object);\n};\n\n\n},{\"./utils\":21}],8:[function(_dereq_,module,exports){\n'use strict';\nvar USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined');\n\nvar pako = _dereq_(\"pako\");\nexports.uncompressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\nexports.compressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\n\nexports.magic = \"\\x08\\x00\";\nexports.compress = function(input) {\n return pako.deflateRaw(input);\n};\nexports.uncompress = function(input) {\n return pako.inflateRaw(input);\n};\n\n},{\"pako\":24}],9:[function(_dereq_,module,exports){\n'use strict';\n\nvar base64 = _dereq_('./base64');\n\n/**\nUsage:\n zip = new JSZip();\n zip.file(\"hello.txt\", \"Hello, World!\").file(\"tempfile\", \"nothing\");\n zip.folder(\"images\").file(\"smile.gif\", base64Data, {base64: true});\n zip.file(\"Xmas.txt\", \"Ho ho ho !\", {date : new Date(\"December 25, 2007 00:00:01\")});\n zip.remove(\"tempfile\");\n\n base64zip = zip.generate();\n\n**/\n\n/**\n * Representation a of zip file in js\n * @constructor\n * @param {String=|ArrayBuffer=|Uint8Array=} data the data to load, if any (optional).\n * @param {Object=} options the options for creating this objects (optional).\n */\nfunction JSZipSync(data, options) {\n // if this constructor is used without `new`, it adds `new` before itself:\n if(!(this instanceof JSZipSync)) return new JSZipSync(data, options);\n\n // object containing the files :\n // {\n // \"folder/\" : {...},\n // \"folder/data.txt\" : {...}\n // }\n this.files = {};\n\n this.comment = null;\n\n // Where we are in the hierarchy\n this.root = \"\";\n if (data) {\n this.load(data, options);\n }\n this.clone = function() {\n var newObj = new JSZipSync();\n for (var i in this) {\n if (typeof this[i] !== \"function\") {\n newObj[i] = this[i];\n }\n }\n return newObj;\n };\n}\nJSZipSync.prototype = _dereq_('./object');\nJSZipSync.prototype.load = _dereq_('./load');\nJSZipSync.support = _dereq_('./support');\nJSZipSync.defaults = _dereq_('./defaults');\n\n/**\n * @deprecated\n * This namespace will be removed in a future version without replacement.\n */\nJSZipSync.utils = _dereq_('./deprecatedPublicUtils');\n\nJSZipSync.base64 = {\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n encode : function(input) {\n return base64.encode(input);\n },\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n decode : function(input) {\n return base64.decode(input);\n }\n};\nJSZipSync.compressions = _dereq_('./compressions');\nmodule.exports = JSZipSync;\n\n},{\"./base64\":1,\"./compressions\":3,\"./defaults\":6,\"./deprecatedPublicUtils\":7,\"./load\":10,\"./object\":13,\"./support\":17}],10:[function(_dereq_,module,exports){\n'use strict';\nvar base64 = _dereq_('./base64');\nvar ZipEntries = _dereq_('./zipEntries');\nmodule.exports = function(data, options) {\n var files, zipEntries, i, input;\n options = options || {};\n if (options.base64) {\n data = base64.decode(data);\n }\n\n zipEntries = new ZipEntries(data, options);\n files = zipEntries.files;\n for (i = 0; i < files.length; i++) {\n input = files[i];\n this.file(input.fileName, input.decompressed, {\n binary: true,\n optimizedBinaryString: true,\n date: input.date,\n dir: input.dir,\n comment : input.fileComment.length ? input.fileComment : null,\n createFolders: options.createFolders\n });\n }\n if (zipEntries.zipComment.length) {\n this.comment = zipEntries.zipComment;\n }\n\n return this;\n};\n\n},{\"./base64\":1,\"./zipEntries\":22}],11:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nvar Buffer_from = /*::(*/function(){}/*:: :any)*/;\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n}\nmodule.exports = function(data, encoding){\n return typeof data == 'number' ? Buffer.alloc(data) : Buffer_from(data, encoding);\n};\nmodule.exports.test = function(b){\n return Buffer.isBuffer(b);\n};\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],12:[function(_dereq_,module,exports){\n'use strict';\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\n\nfunction NodeBufferReader(data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n}\nNodeBufferReader.prototype = new Uint8ArrayReader();\n\n/**\n * @see DataReader.readData\n */\nNodeBufferReader.prototype.readData = function(size) {\n this.checkOffset(size);\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = NodeBufferReader;\n\n},{\"./uint8ArrayReader\":18}],13:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar utils = _dereq_('./utils');\nvar crc32 = _dereq_('./crc32');\nvar signature = _dereq_('./signature');\nvar defaults = _dereq_('./defaults');\nvar base64 = _dereq_('./base64');\nvar compressions = _dereq_('./compressions');\nvar CompressedObject = _dereq_('./compressedObject');\nvar nodeBuffer = _dereq_('./nodeBuffer');\nvar utf8 = _dereq_('./utf8');\nvar StringWriter = _dereq_('./stringWriter');\nvar Uint8ArrayWriter = _dereq_('./uint8ArrayWriter');\n\n/**\n * Returns the raw data of a ZipObject, decompress the content if necessary.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getRawData = function(file) {\n if (file._data instanceof CompressedObject) {\n file._data = file._data.getContent();\n file.options.binary = true;\n file.options.base64 = false;\n\n if (utils.getTypeOf(file._data) === \"uint8array\") {\n var copy = file._data;\n // when reading an arraybuffer, the CompressedObject mechanism will keep it and subarray() a Uint8Array.\n // if we request a file in the same format, we might get the same Uint8Array or its ArrayBuffer (the original zip file).\n file._data = new Uint8Array(copy.length);\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n if (copy.length !== 0) {\n file._data.set(copy, 0);\n }\n }\n }\n return file._data;\n};\n\n/**\n * Returns the data of a ZipObject in a binary form. If the content is an unicode string, encode it.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getBinaryData = function(file) {\n var result = getRawData(file),\n type = utils.getTypeOf(result);\n if (type === \"string\") {\n if (!file.options.binary) {\n // unicode text !\n // unicode string => binary string is a painful process, check if we can avoid it.\n if (support.nodebuffer) {\n return nodeBuffer(result, \"utf-8\");\n }\n }\n return file.asBinary();\n }\n return result;\n};\n\n/**\n * Transform this._data into a string.\n * @param {function} filter a function String -> String, applied if not null on the result.\n * @return {String} the string representing this._data.\n */\nvar dataToString = function(asUTF8) {\n var result = getRawData(this);\n if (result === null || typeof result === \"undefined\") {\n return \"\";\n }\n // if the data is a base64 string, we decode it before checking the encoding !\n if (this.options.base64) {\n result = base64.decode(result);\n }\n if (asUTF8 && this.options.binary) {\n // JSZip.prototype.utf8decode supports arrays as input\n // skip to array => string step, utf8decode will do it.\n result = out.utf8decode(result);\n }\n else {\n // no utf8 transformation, do the array => string step.\n result = utils.transformTo(\"string\", result);\n }\n\n if (!asUTF8 && !this.options.binary) {\n result = utils.transformTo(\"string\", out.utf8encode(result));\n }\n return result;\n};\n/**\n * A simple object representing a file in the zip file.\n * @constructor\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data\n * @param {Object} options the options of the file\n */\nvar ZipObject = function(name, data, options) {\n this.name = name;\n this.dir = options.dir;\n this.date = options.date;\n this.comment = options.comment;\n\n this._data = data;\n this.options = options;\n\n /*\n * This object contains initial values for dir and date.\n * With them, we can check if the user changed the deprecated metadata in\n * `ZipObject#options` or not.\n */\n this._initialMetadata = {\n dir : options.dir,\n date : options.date\n };\n};\n\nZipObject.prototype = {\n /**\n * Return the content as UTF8 string.\n * @return {string} the UTF8 string.\n */\n asText: function() {\n return dataToString.call(this, true);\n },\n /**\n * Returns the binary content.\n * @return {string} the content as binary.\n */\n asBinary: function() {\n return dataToString.call(this, false);\n },\n /**\n * Returns the content as a nodejs Buffer.\n * @return {Buffer} the content as a Buffer.\n */\n asNodeBuffer: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"nodebuffer\", result);\n },\n /**\n * Returns the content as an Uint8Array.\n * @return {Uint8Array} the content as an Uint8Array.\n */\n asUint8Array: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"uint8array\", result);\n },\n /**\n * Returns the content as an ArrayBuffer.\n * @return {ArrayBuffer} the content as an ArrayBufer.\n */\n asArrayBuffer: function() {\n return this.asUint8Array().buffer;\n }\n};\n\n/**\n * Transform an integer into a string in hexadecimal.\n * @private\n * @param {number} dec the number to convert.\n * @param {number} bytes the number of bytes to generate.\n * @returns {string} the result.\n */\nvar decToHex = function(dec, bytes) {\n var hex = \"\",\n i;\n for (i = 0; i < bytes; i++) {\n hex += String.fromCharCode(dec & 0xff);\n dec = dec >>> 8;\n }\n return hex;\n};\n\n/**\n * Merge the objects passed as parameters into a new one.\n * @private\n * @param {...Object} var_args All objects to merge.\n * @return {Object} a new object with the data of the others.\n */\nvar extend = function() {\n var result = {}, i, attr;\n for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers\n for (attr in arguments[i]) {\n if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === \"undefined\") {\n result[attr] = arguments[i][attr];\n }\n }\n }\n return result;\n};\n\n/**\n * Transforms the (incomplete) options from the user into the complete\n * set of options to create a file.\n * @private\n * @param {Object} o the options from the user.\n * @return {Object} the complete set of options.\n */\nvar prepareFileAttrs = function(o) {\n o = o || {};\n if (o.base64 === true && (o.binary === null || o.binary === undefined)) {\n o.binary = true;\n }\n o = extend(o, defaults);\n o.date = o.date || new Date();\n if (o.compression !== null) o.compression = o.compression.toUpperCase();\n\n return o;\n};\n\n/**\n * Add a file in the current folder.\n * @private\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file\n * @param {Object} o the options of the file\n * @return {Object} the new file.\n */\nvar fileAdd = function(name, data, o) {\n // be sure sub folders exist\n var dataType = utils.getTypeOf(data),\n parent;\n\n o = prepareFileAttrs(o);\n\n if (o.createFolders && (parent = parentFolder(name))) {\n folderAdd.call(this, parent, true);\n }\n\n if (o.dir || data === null || typeof data === \"undefined\") {\n o.base64 = false;\n o.binary = false;\n data = null;\n }\n else if (dataType === \"string\") {\n if (o.binary && !o.base64) {\n // optimizedBinaryString == true means that the file has already been filtered with a 0xFF mask\n if (o.optimizedBinaryString !== true) {\n // this is a string, not in a base64 format.\n // Be sure that this is a correct \"binary string\"\n data = utils.string2binary(data);\n }\n }\n }\n else { // arraybuffer, uint8array, ...\n o.base64 = false;\n o.binary = true;\n\n if (!dataType && !(data instanceof CompressedObject)) {\n throw new Error(\"The data of '\" + name + \"' is in an unsupported format !\");\n }\n\n // special case : it's way easier to work with Uint8Array than with ArrayBuffer\n if (dataType === \"arraybuffer\") {\n data = utils.transformTo(\"uint8array\", data);\n }\n }\n\n var object = new ZipObject(name, data, o);\n this.files[name] = object;\n return object;\n};\n\n/**\n * Find the parent folder of the path.\n * @private\n * @param {string} path the path to use\n * @return {string} the parent folder, or \"\"\n */\nvar parentFolder = function (path) {\n if (path.slice(-1) == '/') {\n path = path.substring(0, path.length - 1);\n }\n var lastSlash = path.lastIndexOf('/');\n return (lastSlash > 0) ? path.substring(0, lastSlash) : \"\";\n};\n\n/**\n * Add a (sub) folder in the current folder.\n * @private\n * @param {string} name the folder's name\n * @param {boolean=} [createFolders] If true, automatically create sub\n * folders. Defaults to false.\n * @return {Object} the new folder.\n */\nvar folderAdd = function(name, createFolders) {\n // Check the name ends with a /\n if (name.slice(-1) != \"/\") {\n name += \"/\"; // IE doesn't like substr(-1)\n }\n\n createFolders = (typeof createFolders !== 'undefined') ? createFolders : false;\n\n // Does this folder already exist?\n if (!this.files[name]) {\n fileAdd.call(this, name, null, {\n dir: true,\n createFolders: createFolders\n });\n }\n return this.files[name];\n};\n\n/**\n * Generate a JSZip.CompressedObject for a given zipOject.\n * @param {ZipObject} file the object to read.\n * @param {JSZip.compression} compression the compression to use.\n * @return {JSZip.CompressedObject} the compressed result.\n */\nvar generateCompressedObjectFrom = function(file, compression) {\n var result = new CompressedObject(),\n content;\n\n // the data has not been decompressed, we might reuse things !\n if (file._data instanceof CompressedObject) {\n result.uncompressedSize = file._data.uncompressedSize;\n result.crc32 = file._data.crc32;\n\n if (result.uncompressedSize === 0 || file.dir) {\n compression = compressions['STORE'];\n result.compressedContent = \"\";\n result.crc32 = 0;\n }\n else if (file._data.compressionMethod === compression.magic) {\n result.compressedContent = file._data.getCompressedContent();\n }\n else {\n content = file._data.getContent();\n // need to decompress / recompress\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n }\n else {\n // have uncompressed data\n content = getBinaryData(file);\n if (!content || content.length === 0 || file.dir) {\n compression = compressions['STORE'];\n content = \"\";\n }\n result.uncompressedSize = content.length;\n result.crc32 = crc32(content);\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n\n result.compressedSize = result.compressedContent.length;\n result.compressionMethod = compression.magic;\n\n return result;\n};\n\n/**\n * Generate the various parts used in the construction of the final zip file.\n * @param {string} name the file name.\n * @param {ZipObject} file the file content.\n * @param {JSZip.CompressedObject} compressedObject the compressed object.\n * @param {number} offset the current offset from the start of the zip file.\n * @return {object} the zip parts.\n */\nvar generateZipParts = function(name, file, compressedObject, offset) {\n var data = compressedObject.compressedContent,\n utfEncodedFileName = utils.transformTo(\"string\", utf8.utf8encode(file.name)),\n comment = file.comment || \"\",\n utfEncodedComment = utils.transformTo(\"string\", utf8.utf8encode(comment)),\n useUTF8ForFileName = utfEncodedFileName.length !== file.name.length,\n useUTF8ForComment = utfEncodedComment.length !== comment.length,\n o = file.options,\n dosTime,\n dosDate,\n extraFields = \"\",\n unicodePathExtraField = \"\",\n unicodeCommentExtraField = \"\",\n dir, date;\n\n\n // handle the deprecated options.dir\n if (file._initialMetadata.dir !== file.dir) {\n dir = file.dir;\n } else {\n dir = o.dir;\n }\n\n // handle the deprecated options.date\n if(file._initialMetadata.date !== file.date) {\n date = file.date;\n } else {\n date = o.date;\n }\n\n\n dosTime = date.getHours();\n dosTime = dosTime << 6;\n dosTime = dosTime | date.getMinutes();\n dosTime = dosTime << 5;\n dosTime = dosTime | date.getSeconds() / 2;\n\n dosDate = date.getFullYear() - 1980;\n dosDate = dosDate << 4;\n dosDate = dosDate | (date.getMonth() + 1);\n dosDate = dosDate << 5;\n dosDate = dosDate | date.getDate();\n\n if (useUTF8ForFileName) {\n // set the unicode path extra field. unzip needs at least one extra\n // field to correctly handle unicode path, so using the path is as good\n // as any other information. This could improve the situation with\n // other archive managers too.\n // This field is usually used without the utf8 flag, with a non\n // unicode path in the header (winrar, winzip). This helps (a bit)\n // with the messy Windows' default compressed folders feature but\n // breaks on p7zip which doesn't seek the unicode path extra field.\n // So for now, UTF-8 everywhere !\n unicodePathExtraField =\n // Version\n decToHex(1, 1) +\n // NameCRC32\n decToHex(crc32(utfEncodedFileName), 4) +\n // UnicodeName\n utfEncodedFileName;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x70\" +\n // size\n decToHex(unicodePathExtraField.length, 2) +\n // content\n unicodePathExtraField;\n }\n\n if(useUTF8ForComment) {\n\n unicodeCommentExtraField =\n // Version\n decToHex(1, 1) +\n // CommentCRC32\n decToHex(this.crc32(utfEncodedComment), 4) +\n // UnicodeName\n utfEncodedComment;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x63\" +\n // size\n decToHex(unicodeCommentExtraField.length, 2) +\n // content\n unicodeCommentExtraField;\n }\n\n var header = \"\";\n\n // version needed to extract\n header += \"\\x0A\\x00\";\n // general purpose bit flag\n // set bit 11 if utf8\n header += (useUTF8ForFileName || useUTF8ForComment) ? \"\\x00\\x08\" : \"\\x00\\x00\";\n // compression method\n header += compressedObject.compressionMethod;\n // last mod file time\n header += decToHex(dosTime, 2);\n // last mod file date\n header += decToHex(dosDate, 2);\n // crc-32\n header += decToHex(compressedObject.crc32, 4);\n // compressed size\n header += decToHex(compressedObject.compressedSize, 4);\n // uncompressed size\n header += decToHex(compressedObject.uncompressedSize, 4);\n // file name length\n header += decToHex(utfEncodedFileName.length, 2);\n // extra field length\n header += decToHex(extraFields.length, 2);\n\n\n var fileRecord = signature.LOCAL_FILE_HEADER + header + utfEncodedFileName + extraFields;\n\n var dirRecord = signature.CENTRAL_FILE_HEADER +\n // version made by (00: DOS)\n \"\\x14\\x00\" +\n // file header (common to file and central directory)\n header +\n // file comment length\n decToHex(utfEncodedComment.length, 2) +\n // disk number start\n \"\\x00\\x00\" +\n // internal file attributes TODO\n \"\\x00\\x00\" +\n // external file attributes\n (dir === true ? \"\\x10\\x00\\x00\\x00\" : \"\\x00\\x00\\x00\\x00\") +\n // relative offset of local header\n decToHex(offset, 4) +\n // file name\n utfEncodedFileName +\n // extra field\n extraFields +\n // file comment\n utfEncodedComment;\n\n return {\n fileRecord: fileRecord,\n dirRecord: dirRecord,\n compressedObject: compressedObject\n };\n};\n\n\n// return the actual prototype of JSZip\nvar out = {\n /**\n * Read an existing zip and merge the data in the current JSZip object.\n * The implementation is in jszip-load.js, don't forget to include it.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} stream The stream to load\n * @param {Object} options Options for loading the stream.\n * options.base64 : is the stream in base64 ? default : false\n * @return {JSZip} the current JSZip object\n */\n load: function(stream, options) {\n throw new Error(\"Load method is not defined. Is the file jszip-load.js included ?\");\n },\n\n /**\n * Filter nested files/folders with the specified function.\n * @param {Function} search the predicate to use :\n * function (relativePath, file) {...}\n * It takes 2 arguments : the relative path and the file.\n * @return {Array} An array of matching elements.\n */\n filter: function(search) {\n var result = [],\n filename, relativePath, file, fileClone;\n for (filename in this.files) {\n if (!this.files.hasOwnProperty(filename)) {\n continue;\n }\n file = this.files[filename];\n // return a new object, don't let the user mess with our internal objects :)\n fileClone = new ZipObject(file.name, file._data, extend(file.options));\n relativePath = filename.slice(this.root.length, filename.length);\n if (filename.slice(0, this.root.length) === this.root && // the file is in the current root\n search(relativePath, fileClone)) { // and the file matches the function\n result.push(fileClone);\n }\n }\n return result;\n },\n\n /**\n * Add a file to the zip file, or search a file.\n * @param {string|RegExp} name The name of the file to add (if data is defined),\n * the name of the file to find (if no data) or a regex to match files.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded\n * @param {Object} o File options\n * @return {JSZip|Object|Array} this JSZip object (when adding a file),\n * a file (when searching by string) or an array of files (when searching by regex).\n */\n file: function(name, data, o) {\n if (arguments.length === 1) {\n if (utils.isRegExp(name)) {\n var regexp = name;\n return this.filter(function(relativePath, file) {\n return !file.dir && regexp.test(relativePath);\n });\n }\n else { // text\n return this.filter(function(relativePath, file) {\n return !file.dir && relativePath === name;\n })[0] || null;\n }\n }\n else { // more than one argument : we have data !\n name = this.root + name;\n fileAdd.call(this, name, data, o);\n }\n return this;\n },\n\n /**\n * Add a directory to the zip file, or search.\n * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.\n * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.\n */\n folder: function(arg) {\n if (!arg) {\n return this;\n }\n\n if (utils.isRegExp(arg)) {\n return this.filter(function(relativePath, file) {\n return file.dir && arg.test(relativePath);\n });\n }\n\n // else, name is a new folder\n var name = this.root + arg;\n var newFolder = folderAdd.call(this, name);\n\n // Allow chaining by returning a new object with this folder as the root\n var ret = this.clone();\n ret.root = newFolder.name;\n return ret;\n },\n\n /**\n * Delete a file, or a directory and all sub-files, from the zip\n * @param {string} name the name of the file to delete\n * @return {JSZip} this JSZip object\n */\n remove: function(name) {\n name = this.root + name;\n var file = this.files[name];\n if (!file) {\n // Look for any folders\n if (name.slice(-1) != \"/\") {\n name += \"/\";\n }\n file = this.files[name];\n }\n\n if (file && !file.dir) {\n // file\n delete this.files[name];\n } else {\n // maybe a folder, delete recursively\n var kids = this.filter(function(relativePath, file) {\n return file.name.slice(0, name.length) === name;\n });\n for (var i = 0; i < kids.length; i++) {\n delete this.files[kids[i].name];\n }\n }\n\n return this;\n },\n\n /**\n * Generate the complete zip file\n * @param {Object} options the options to generate the zip file :\n * - base64, (deprecated, use type instead) true to generate base64.\n * - compression, \"STORE\" by default.\n * - type, \"base64\" by default. Values are : string, base64, uint8array, arraybuffer, blob.\n * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file\n */\n generate: function(options) {\n options = extend(options || {}, {\n base64: true,\n compression: \"STORE\",\n type: \"base64\",\n comment: null\n });\n\n utils.checkSupport(options.type);\n\n var zipData = [],\n localDirLength = 0,\n centralDirLength = 0,\n writer, i,\n utfEncodedComment = utils.transformTo(\"string\", this.utf8encode(options.comment || this.comment || \"\"));\n\n // first, generate all the zip parts.\n for (var name in this.files) {\n if (!this.files.hasOwnProperty(name)) {\n continue;\n }\n var file = this.files[name];\n\n var compressionName = file.options.compression || options.compression.toUpperCase();\n var compression = compressions[compressionName];\n if (!compression) {\n throw new Error(compressionName + \" is not a valid compression method !\");\n }\n\n var compressedObject = generateCompressedObjectFrom.call(this, file, compression);\n\n var zipPart = generateZipParts.call(this, name, file, compressedObject, localDirLength);\n localDirLength += zipPart.fileRecord.length + compressedObject.compressedSize;\n centralDirLength += zipPart.dirRecord.length;\n zipData.push(zipPart);\n }\n\n var dirEnd = \"\";\n\n // end of central dir signature\n dirEnd = signature.CENTRAL_DIRECTORY_END +\n // number of this disk\n \"\\x00\\x00\" +\n // number of the disk with the start of the central directory\n \"\\x00\\x00\" +\n // total number of entries in the central directory on this disk\n decToHex(zipData.length, 2) +\n // total number of entries in the central directory\n decToHex(zipData.length, 2) +\n // size of the central directory 4 bytes\n decToHex(centralDirLength, 4) +\n // offset of start of central directory with respect to the starting disk number\n decToHex(localDirLength, 4) +\n // .ZIP file comment length\n decToHex(utfEncodedComment.length, 2) +\n // .ZIP file comment\n utfEncodedComment;\n\n\n // we have all the parts (and the total length)\n // time to create a writer !\n var typeName = options.type.toLowerCase();\n if(typeName===\"uint8array\"||typeName===\"arraybuffer\"||typeName===\"blob\"||typeName===\"nodebuffer\") {\n writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length);\n }else{\n writer = new StringWriter(localDirLength + centralDirLength + dirEnd.length);\n }\n\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].fileRecord);\n writer.append(zipData[i].compressedObject.compressedContent);\n }\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].dirRecord);\n }\n\n writer.append(dirEnd);\n\n var zip = writer.finalize();\n\n\n\n switch(options.type.toLowerCase()) {\n // case \"zip is an Uint8Array\"\n case \"uint8array\" :\n case \"arraybuffer\" :\n case \"nodebuffer\" :\n return utils.transformTo(options.type.toLowerCase(), zip);\n case \"blob\" :\n return utils.arrayBuffer2Blob(utils.transformTo(\"arraybuffer\", zip));\n // case \"zip is a string\"\n case \"base64\" :\n return (options.base64) ? base64.encode(zip) : zip;\n default : // case \"string\" :\n return zip;\n }\n\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n crc32: function (input, crc) {\n return crc32(input, crc);\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8encode: function (string) {\n return utils.transformTo(\"string\", utf8.utf8encode(string));\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8decode: function (input) {\n return utf8.utf8decode(input);\n }\n};\nmodule.exports = out;\n\n},{\"./base64\":1,\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./defaults\":6,\"./nodeBuffer\":11,\"./signature\":14,\"./stringWriter\":16,\"./support\":17,\"./uint8ArrayWriter\":19,\"./utf8\":20,\"./utils\":21}],14:[function(_dereq_,module,exports){\n'use strict';\nexports.LOCAL_FILE_HEADER = \"PK\\x03\\x04\";\nexports.CENTRAL_FILE_HEADER = \"PK\\x01\\x02\";\nexports.CENTRAL_DIRECTORY_END = \"PK\\x05\\x06\";\nexports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = \"PK\\x06\\x07\";\nexports.ZIP64_CENTRAL_DIRECTORY_END = \"PK\\x06\\x06\";\nexports.DATA_DESCRIPTOR = \"PK\\x07\\x08\";\n\n},{}],15:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\nvar utils = _dereq_('./utils');\n\nfunction StringReader(data, optimizedBinaryString) {\n this.data = data;\n if (!optimizedBinaryString) {\n this.data = utils.string2binary(this.data);\n }\n this.length = this.data.length;\n this.index = 0;\n}\nStringReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nStringReader.prototype.byteAt = function(i) {\n return this.data.charCodeAt(i);\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nStringReader.prototype.lastIndexOfSignature = function(sig) {\n return this.data.lastIndexOf(sig);\n};\n/**\n * @see DataReader.readData\n */\nStringReader.prototype.readData = function(size) {\n this.checkOffset(size);\n // this will work because the constructor applied the \"& 0xff\" mask.\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = StringReader;\n\n},{\"./dataReader\":5,\"./utils\":21}],16:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to a string.\n * @constructor\n */\nvar StringWriter = function() {\n this.data = [];\n};\nStringWriter.prototype = {\n /**\n * Append any content to the current string.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n input = utils.transformTo(\"string\", input);\n this.data.push(input);\n },\n /**\n * Finalize the construction an return the result.\n * @return {string} the generated string.\n */\n finalize: function() {\n return this.data.join(\"\");\n }\n};\n\nmodule.exports = StringWriter;\n\n},{\"./utils\":21}],17:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nexports.base64 = true;\nexports.array = true;\nexports.string = true;\nexports.arraybuffer = typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\";\n// contains true if JSZip can read/generate nodejs Buffer, false otherwise.\n// Browserify will provide a Buffer implementation for browsers, which is\n// an augmented Uint8Array (i.e., can be used as either Buffer or U8).\nexports.nodebuffer = typeof Buffer !== \"undefined\";\n// contains true if JSZip can read/generate Uint8Array, false otherwise.\nexports.uint8array = typeof Uint8Array !== \"undefined\";\n\nif (typeof ArrayBuffer === \"undefined\") {\n exports.blob = false;\n}\nelse {\n var buffer = new ArrayBuffer(0);\n try {\n exports.blob = new Blob([buffer], {\n type: \"application/zip\"\n }).size === 0;\n }\n catch (e) {\n try {\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n exports.blob = builder.getBlob('application/zip').size === 0;\n }\n catch (e) {\n exports.blob = false;\n }\n }\n}\n\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],18:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\n\nfunction Uint8ArrayReader(data) {\n if (data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n }\n}\nUint8ArrayReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nUint8ArrayReader.prototype.byteAt = function(i) {\n return this.data[i];\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nUint8ArrayReader.prototype.lastIndexOfSignature = function(sig) {\n var sig0 = sig.charCodeAt(0),\n sig1 = sig.charCodeAt(1),\n sig2 = sig.charCodeAt(2),\n sig3 = sig.charCodeAt(3);\n for (var i = this.length - 4; i >= 0; --i) {\n if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) {\n return i;\n }\n }\n\n return -1;\n};\n/**\n * @see DataReader.readData\n */\nUint8ArrayReader.prototype.readData = function(size) {\n this.checkOffset(size);\n if(size === 0) {\n // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].\n return new Uint8Array(0);\n }\n var result = this.data.subarray(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = Uint8ArrayReader;\n\n},{\"./dataReader\":5}],19:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to an Uint8Array.\n * @constructor\n * @param {number} length The length of the array.\n */\nvar Uint8ArrayWriter = function(length) {\n this.data = new Uint8Array(length);\n this.index = 0;\n};\nUint8ArrayWriter.prototype = {\n /**\n * Append any content to the current array.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n if (input.length !== 0) {\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n input = utils.transformTo(\"uint8array\", input);\n this.data.set(input, this.index);\n this.index += input.length;\n }\n },\n /**\n * Finalize the construction an return the result.\n * @return {Uint8Array} the generated array.\n */\n finalize: function() {\n return this.data;\n }\n};\n\nmodule.exports = Uint8ArrayWriter;\n\n},{\"./utils\":21}],20:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\nvar support = _dereq_('./support');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n\n/**\n * The following functions come from pako, from pako/lib/utils/strings\n * released under the MIT license, see pako https://github.com/nodeca/pako/\n */\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new Array(256);\nfor (var i=0; i<256; i++) {\n _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n// convert string to array (typed, when possible)\nvar string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if (((c & 0xfc00) === 0xd800) && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += (c < 0x80) ? 1 : ((c < 0x800) ? 2 : ((c < 0x10000) ? 3 : 4));\n }\n\n // allocate buffer\n if (support.uint8array) {\n buf = new Uint8Array(buf_len);\n } else {\n buf = new Array(buf_len);\n }\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | ((c >>> 12) & 0x3f);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n// convert array to string\nvar buf2string = function (buf) {\n var str, i, out, c, c_len;\n var len = buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n // shrinkBuf(utf16buf, out)\n if (utf16buf.length !== out) {\n if(utf16buf.subarray) {\n utf16buf = utf16buf.subarray(0, out);\n } else {\n utf16buf.length = out;\n }\n }\n\n // return String.fromCharCode.apply(null, utf16buf);\n return utils.applyFromCharCode(utf16buf);\n};\n\n\n// That's all for the pako functions.\n\n\n/**\n * Transform a javascript string into an array (typed if possible) of bytes,\n * UTF-8 encoded.\n * @param {String} str the string to encode\n * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string.\n */\nexports.utf8encode = function utf8encode(str) {\n if (support.nodebuffer) {\n return nodeBuffer(str, \"utf-8\");\n }\n\n return string2buf(str);\n};\n\n\n/**\n * Transform a bytes array (or a representation) representing an UTF-8 encoded\n * string into a javascript string.\n * @param {Array|Uint8Array|Buffer} buf the data de decode\n * @return {String} the decoded string.\n */\nexports.utf8decode = function utf8decode(buf) {\n if (support.nodebuffer) {\n return utils.transformTo(\"nodebuffer\", buf).toString(\"utf-8\");\n }\n\n buf = utils.transformTo(support.uint8array ? \"uint8array\" : \"array\", buf);\n\n // return buf2string(buf);\n // Chrome prefers to work with \"small\" chunks of data\n // for the method buf2string.\n // Firefox and Chrome has their own shortcut, IE doesn't seem to really care.\n var result = [], k = 0, len = buf.length, chunk = 65536;\n while (k < len) {\n var nextBoundary = utf8border(buf, Math.min(k + chunk, len));\n if (support.uint8array) {\n result.push(buf2string(buf.subarray(k, nextBoundary)));\n } else {\n result.push(buf2string(buf.slice(k, nextBoundary)));\n }\n k = nextBoundary;\n }\n return result.join(\"\");\n\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./nodeBuffer\":11,\"./support\":17,\"./utils\":21}],21:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar compressions = _dereq_('./compressions');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n/**\n * Convert a string to a \"binary string\" : a string containing only char codes between 0 and 255.\n * @param {string} str the string to transform.\n * @return {String} the binary string.\n */\nexports.string2binary = function(str) {\n var result = \"\";\n for (var i = 0; i < str.length; i++) {\n result += String.fromCharCode(str.charCodeAt(i) & 0xff);\n }\n return result;\n};\nexports.arrayBuffer2Blob = function(buffer) {\n exports.checkSupport(\"blob\");\n\n try {\n // Blob constructor\n return new Blob([buffer], {\n type: \"application/zip\"\n });\n }\n catch (e) {\n\n try {\n // deprecated, browser only, old way\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n return builder.getBlob('application/zip');\n }\n catch (e) {\n\n // well, fuck ?!\n throw new Error(\"Bug : can't construct the Blob.\");\n }\n }\n\n\n};\n/**\n * The identity function.\n * @param {Object} input the input.\n * @return {Object} the same input.\n */\nfunction identity(input) {\n return input;\n}\n\n/**\n * Fill in an array with a string.\n * @param {String} str the string to use.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated).\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array.\n */\nfunction stringToArrayLike(str, array) {\n for (var i = 0; i < str.length; ++i) {\n array[i] = str.charCodeAt(i) & 0xFF;\n }\n return array;\n}\n\n/**\n * Transform an array-like object to a string.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.\n * @return {String} the result.\n */\nfunction arrayLikeToString(array) {\n // Performances notes :\n // --------------------\n // String.fromCharCode.apply(null, array) is the fastest, see\n // see http://jsperf.com/converting-a-uint8array-to-a-string/2\n // but the stack is limited (and we can get huge arrays !).\n //\n // result += String.fromCharCode(array[i]); generate too many strings !\n //\n // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2\n var chunk = 65536;\n var result = [],\n len = array.length,\n type = exports.getTypeOf(array),\n k = 0,\n canUseApply = true;\n try {\n switch(type) {\n case \"uint8array\":\n String.fromCharCode.apply(null, new Uint8Array(0));\n break;\n case \"nodebuffer\":\n String.fromCharCode.apply(null, nodeBuffer(0));\n break;\n }\n } catch(e) {\n canUseApply = false;\n }\n\n // no apply : slow and painful algorithm\n // default browser on android 4.*\n if (!canUseApply) {\n var resultStr = \"\";\n for(var i = 0; i < array.length;i++) {\n resultStr += String.fromCharCode(array[i]);\n }\n return resultStr;\n }\n while (k < len && chunk > 1) {\n try {\n if (type === \"array\" || type === \"nodebuffer\") {\n result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));\n }\n else {\n result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));\n }\n k += chunk;\n }\n catch (e) {\n chunk = Math.floor(chunk / 2);\n }\n }\n return result.join(\"\");\n}\n\nexports.applyFromCharCode = arrayLikeToString;\n\n\n/**\n * Copy the data from an array-like to an other array-like.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated.\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array.\n */\nfunction arrayLikeToArrayLike(arrayFrom, arrayTo) {\n for (var i = 0; i < arrayFrom.length; i++) {\n arrayTo[i] = arrayFrom[i];\n }\n return arrayTo;\n}\n\n// a matrix containing functions to transform everything into everything.\nvar transform = {};\n\n// string to ?\ntransform[\"string\"] = {\n \"string\": identity,\n \"array\": function(input) {\n return stringToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"string\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return stringToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": function(input) {\n return stringToArrayLike(input, nodeBuffer(input.length));\n }\n};\n\n// array to ?\ntransform[\"array\"] = {\n \"string\": arrayLikeToString,\n \"array\": identity,\n \"arraybuffer\": function(input) {\n return (new Uint8Array(input)).buffer;\n },\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// arraybuffer to ?\ntransform[\"arraybuffer\"] = {\n \"string\": function(input) {\n return arrayLikeToString(new Uint8Array(input));\n },\n \"array\": function(input) {\n return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength));\n },\n \"arraybuffer\": identity,\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(new Uint8Array(input));\n }\n};\n\n// uint8array to ?\ntransform[\"uint8array\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return input.buffer;\n },\n \"uint8array\": identity,\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// nodebuffer to ?\ntransform[\"nodebuffer\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"nodebuffer\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return arrayLikeToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": identity\n};\n\n/**\n * Transform an input into any type.\n * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer.\n * If no output type is specified, the unmodified input will be returned.\n * @param {String} outputType the output type.\n * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert.\n * @throws {Error} an Error if the browser doesn't support the requested output type.\n */\nexports.transformTo = function(outputType, input) {\n if (!input) {\n // undefined, null, etc\n // an empty string won't harm.\n input = \"\";\n }\n if (!outputType) {\n return input;\n }\n exports.checkSupport(outputType);\n var inputType = exports.getTypeOf(input);\n var result = transform[inputType][outputType](input);\n return result;\n};\n\n/**\n * Return the type of the input.\n * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer.\n * @param {Object} input the input to identify.\n * @return {String} the (lowercase) type of the input.\n */\nexports.getTypeOf = function(input) {\n if (typeof input === \"string\") {\n return \"string\";\n }\n if (Object.prototype.toString.call(input) === \"[object Array]\") {\n return \"array\";\n }\n if (support.nodebuffer && nodeBuffer.test(input)) {\n return \"nodebuffer\";\n }\n if (support.uint8array && input instanceof Uint8Array) {\n return \"uint8array\";\n }\n if (support.arraybuffer && input instanceof ArrayBuffer) {\n return \"arraybuffer\";\n }\n};\n\n/**\n * Throw an exception if the type is not supported.\n * @param {String} type the type to check.\n * @throws {Error} an Error if the browser doesn't support the requested type.\n */\nexports.checkSupport = function(type) {\n var supported = support[type.toLowerCase()];\n if (!supported) {\n throw new Error(type + \" is not supported by this browser\");\n }\n};\nexports.MAX_VALUE_16BITS = 65535;\nexports.MAX_VALUE_32BITS = -1; // well, \"\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\" is parsed as -1\n\n/**\n * Prettify a string read as binary.\n * @param {string} str the string to prettify.\n * @return {string} a pretty string.\n */\nexports.pretty = function(str) {\n var res = '',\n code, i;\n for (i = 0; i < (str || \"\").length; i++) {\n code = str.charCodeAt(i);\n res += '\\\\x' + (code < 16 ? \"0\" : \"\") + code.toString(16).toUpperCase();\n }\n return res;\n};\n\n/**\n * Find a compression registered in JSZip.\n * @param {string} compressionMethod the method magic to find.\n * @return {Object|null} the JSZip compression object, null if none found.\n */\nexports.findCompression = function(compressionMethod) {\n for (var method in compressions) {\n if (!compressions.hasOwnProperty(method)) {\n continue;\n }\n if (compressions[method].magic === compressionMethod) {\n return compressions[method];\n }\n }\n return null;\n};\n/**\n* Cross-window, cross-Node-context regular expression detection\n* @param {Object} object Anything\n* @return {Boolean} true if the object is a regular expression,\n* false otherwise\n*/\nexports.isRegExp = function (object) {\n return Object.prototype.toString.call(object) === \"[object RegExp]\";\n};\n\n\n},{\"./compressions\":3,\"./nodeBuffer\":11,\"./support\":17}],22:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar NodeBufferReader = _dereq_('./nodeBufferReader');\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\nvar utils = _dereq_('./utils');\nvar sig = _dereq_('./signature');\nvar ZipEntry = _dereq_('./zipEntry');\nvar support = _dereq_('./support');\nvar jszipProto = _dereq_('./object');\n// class ZipEntries {{{\n/**\n * All the entries in the zip file.\n * @constructor\n * @param {String|ArrayBuffer|Uint8Array} data the binary stream to load.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntries(data, loadOptions) {\n this.files = [];\n this.loadOptions = loadOptions;\n if (data) {\n this.load(data);\n }\n}\nZipEntries.prototype = {\n /**\n * Check that the reader is on the speficied signature.\n * @param {string} expectedSignature the expected signature.\n * @throws {Error} if it is an other signature.\n */\n checkSignature: function(expectedSignature) {\n var signature = this.reader.readString(4);\n if (signature !== expectedSignature) {\n throw new Error(\"Corrupted zip or bug : unexpected signature \" + \"(\" + utils.pretty(signature) + \", expected \" + utils.pretty(expectedSignature) + \")\");\n }\n },\n /**\n * Read the end of the central directory.\n */\n readBlockEndOfCentral: function() {\n this.diskNumber = this.reader.readInt(2);\n this.diskWithCentralDirStart = this.reader.readInt(2);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(2);\n this.centralDirRecords = this.reader.readInt(2);\n this.centralDirSize = this.reader.readInt(4);\n this.centralDirOffset = this.reader.readInt(4);\n\n this.zipCommentLength = this.reader.readInt(2);\n // warning : the encoding depends of the system locale\n // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded.\n // On a windows machine, this field is encoded with the localized windows code page.\n this.zipComment = this.reader.readString(this.zipCommentLength);\n // To get consistent behavior with the generation part, we will assume that\n // this is utf8 encoded.\n this.zipComment = jszipProto.utf8decode(this.zipComment);\n },\n /**\n * Read the end of the Zip 64 central directory.\n * Not merged with the method readEndOfCentral :\n * The end of central can coexist with its Zip64 brother,\n * I don't want to read the wrong number of bytes !\n */\n readBlockZip64EndOfCentral: function() {\n this.zip64EndOfCentralSize = this.reader.readInt(8);\n this.versionMadeBy = this.reader.readString(2);\n this.versionNeeded = this.reader.readInt(2);\n this.diskNumber = this.reader.readInt(4);\n this.diskWithCentralDirStart = this.reader.readInt(4);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(8);\n this.centralDirRecords = this.reader.readInt(8);\n this.centralDirSize = this.reader.readInt(8);\n this.centralDirOffset = this.reader.readInt(8);\n\n this.zip64ExtensibleData = {};\n var extraDataSize = this.zip64EndOfCentralSize - 44,\n index = 0,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n while (index < extraDataSize) {\n extraFieldId = this.reader.readInt(2);\n extraFieldLength = this.reader.readInt(4);\n extraFieldValue = this.reader.readString(extraFieldLength);\n this.zip64ExtensibleData[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Read the end of the Zip 64 central directory locator.\n */\n readBlockZip64EndOfCentralLocator: function() {\n this.diskWithZip64CentralDirStart = this.reader.readInt(4);\n this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);\n this.disksCount = this.reader.readInt(4);\n if (this.disksCount > 1) {\n throw new Error(\"Multi-volumes zip are not supported\");\n }\n },\n /**\n * Read the local files, based on the offset read in the central part.\n */\n readLocalFiles: function() {\n var i, file;\n for (i = 0; i < this.files.length; i++) {\n file = this.files[i];\n this.reader.setIndex(file.localHeaderOffset);\n this.checkSignature(sig.LOCAL_FILE_HEADER);\n file.readLocalPart(this.reader);\n file.handleUTF8();\n }\n },\n /**\n * Read the central directory.\n */\n readCentralDir: function() {\n var file;\n\n this.reader.setIndex(this.centralDirOffset);\n while (this.reader.readString(4) === sig.CENTRAL_FILE_HEADER) {\n file = new ZipEntry({\n zip64: this.zip64\n }, this.loadOptions);\n file.readCentralPart(this.reader);\n this.files.push(file);\n }\n },\n /**\n * Read the end of central directory.\n */\n readEndOfCentral: function() {\n var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find end of central directory\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.CENTRAL_DIRECTORY_END);\n this.readBlockEndOfCentral();\n\n\n /* extract from the zip spec :\n 4) If one of the fields in the end of central directory\n record is too small to hold required data, the field\n should be set to -1 (0xFFFF or 0xFFFFFFFF) and the\n ZIP64 format record should be created.\n 5) The end of central directory record and the\n Zip64 end of central directory locator record must\n reside on the same disk when splitting or spanning\n an archive.\n */\n if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) {\n this.zip64 = true;\n\n /*\n Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from\n the zip file can fit into a 32bits integer. This cannot be solved : Javascript represents\n all numbers as 64-bit double precision IEEE 754 floating point numbers.\n So, we have 53bits for integers and bitwise operations treat everything as 32bits.\n see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators\n and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5\n */\n\n // should look for a zip64 EOCD locator\n offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory locator\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n this.readBlockZip64EndOfCentralLocator();\n\n // now the zip64 EOCD record\n this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);\n this.readBlockZip64EndOfCentral();\n }\n },\n prepareReader: function(data) {\n var type = utils.getTypeOf(data);\n if (type === \"string\" && !support.uint8array) {\n this.reader = new StringReader(data, this.loadOptions.optimizedBinaryString);\n }\n else if (type === \"nodebuffer\") {\n this.reader = new NodeBufferReader(data);\n }\n else {\n this.reader = new Uint8ArrayReader(utils.transformTo(\"uint8array\", data));\n }\n },\n /**\n * Read a zip file and create ZipEntries.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.\n */\n load: function(data) {\n this.prepareReader(data);\n this.readEndOfCentral();\n this.readCentralDir();\n this.readLocalFiles();\n }\n};\n// }}} end of ZipEntries\nmodule.exports = ZipEntries;\n\n},{\"./nodeBufferReader\":12,\"./object\":13,\"./signature\":14,\"./stringReader\":15,\"./support\":17,\"./uint8ArrayReader\":18,\"./utils\":21,\"./zipEntry\":23}],23:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar utils = _dereq_('./utils');\nvar CompressedObject = _dereq_('./compressedObject');\nvar jszipProto = _dereq_('./object');\n// class ZipEntry {{{\n/**\n * An entry in the zip file.\n * @constructor\n * @param {Object} options Options of the current file.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntry(options, loadOptions) {\n this.options = options;\n this.loadOptions = loadOptions;\n}\nZipEntry.prototype = {\n /**\n * say if the file is encrypted.\n * @return {boolean} true if the file is encrypted, false otherwise.\n */\n isEncrypted: function() {\n // bit 1 is set\n return (this.bitFlag & 0x0001) === 0x0001;\n },\n /**\n * say if the file has utf-8 filename/comment.\n * @return {boolean} true if the filename/comment is in utf-8, false otherwise.\n */\n useUTF8: function() {\n // bit 11 is set\n return (this.bitFlag & 0x0800) === 0x0800;\n },\n /**\n * Prepare the function used to generate the compressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @return {Function} the callback to get the compressed content (the type depends of the DataReader class).\n */\n prepareCompressedContent: function(reader, from, length) {\n return function() {\n var previousIndex = reader.index;\n reader.setIndex(from);\n var compressedFileData = reader.readData(length);\n reader.setIndex(previousIndex);\n\n return compressedFileData;\n };\n },\n /**\n * Prepare the function used to generate the uncompressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @param {JSZip.compression} compression the compression used on this file.\n * @param {number} uncompressedSize the uncompressed size to expect.\n * @return {Function} the callback to get the uncompressed content (the type depends of the DataReader class).\n */\n prepareContent: function(reader, from, length, compression, uncompressedSize) {\n return function() {\n\n var compressedFileData = utils.transformTo(compression.uncompressInputType, this.getCompressedContent());\n var uncompressedFileData = compression.uncompress(compressedFileData);\n\n if (uncompressedFileData.length !== uncompressedSize) {\n throw new Error(\"Bug : uncompressed data size mismatch\");\n }\n\n return uncompressedFileData;\n };\n },\n /**\n * Read the local part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readLocalPart: function(reader) {\n var compression, localExtraFieldsLength;\n\n // we already know everything from the central dir !\n // If the central dir data are false, we are doomed.\n // On the bright side, the local part is scary : zip64, data descriptors, both, etc.\n // The less data we get here, the more reliable this should be.\n // Let's skip the whole header and dash to the data !\n reader.skip(22);\n // in some zip created on windows, the filename stored in the central dir contains \\ instead of /.\n // Strangely, the filename here is OK.\n // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes\n // or APPNOTE#4.4.17.1, \"All slashes MUST be forward slashes '/'\") but there are a lot of bad zip generators...\n // Search \"unzip mismatching \"local\" filename continuing with \"central\" filename version\" on\n // the internet.\n //\n // I think I see the logic here : the central directory is used to display\n // content and the local directory is used to extract the files. Mixing / and \\\n // may be used to display \\ to windows users and use / when extracting the files.\n // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394\n this.fileNameLength = reader.readInt(2);\n localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir\n this.fileName = reader.readString(this.fileNameLength);\n reader.skip(localExtraFieldsLength);\n\n if (this.compressedSize == -1 || this.uncompressedSize == -1) {\n throw new Error(\"Bug or corrupted zip : didn't get enough informations from the central directory \" + \"(compressedSize == -1 || uncompressedSize == -1)\");\n }\n\n compression = utils.findCompression(this.compressionMethod);\n if (compression === null) { // no compression found\n throw new Error(\"Corrupted zip : compression \" + utils.pretty(this.compressionMethod) + \" unknown (inner file : \" + this.fileName + \")\");\n }\n this.decompressed = new CompressedObject();\n this.decompressed.compressedSize = this.compressedSize;\n this.decompressed.uncompressedSize = this.uncompressedSize;\n this.decompressed.crc32 = this.crc32;\n this.decompressed.compressionMethod = this.compressionMethod;\n this.decompressed.getCompressedContent = this.prepareCompressedContent(reader, reader.index, this.compressedSize, compression);\n this.decompressed.getContent = this.prepareContent(reader, reader.index, this.compressedSize, compression, this.uncompressedSize);\n\n // we need to compute the crc32...\n if (this.loadOptions.checkCRC32) {\n this.decompressed = utils.transformTo(\"string\", this.decompressed.getContent());\n if (jszipProto.crc32(this.decompressed) !== this.crc32) {\n throw new Error(\"Corrupted zip : CRC32 mismatch\");\n }\n }\n },\n\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readCentralPart: function(reader) {\n this.versionMadeBy = reader.readString(2);\n this.versionNeeded = reader.readInt(2);\n this.bitFlag = reader.readInt(2);\n this.compressionMethod = reader.readString(2);\n this.date = reader.readDate();\n this.crc32 = reader.readInt(4);\n this.compressedSize = reader.readInt(4);\n this.uncompressedSize = reader.readInt(4);\n this.fileNameLength = reader.readInt(2);\n this.extraFieldsLength = reader.readInt(2);\n this.fileCommentLength = reader.readInt(2);\n this.diskNumberStart = reader.readInt(2);\n this.internalFileAttributes = reader.readInt(2);\n this.externalFileAttributes = reader.readInt(4);\n this.localHeaderOffset = reader.readInt(4);\n\n if (this.isEncrypted()) {\n throw new Error(\"Encrypted zip are not supported\");\n }\n\n this.fileName = reader.readString(this.fileNameLength);\n this.readExtraFields(reader);\n this.parseZIP64ExtraField(reader);\n this.fileComment = reader.readString(this.fileCommentLength);\n\n // warning, this is true only for zip with madeBy == DOS (plateform dependent feature)\n this.dir = this.externalFileAttributes & 0x00000010 ? true : false;\n },\n /**\n * Parse the ZIP64 extra field and merge the info in the current ZipEntry.\n * @param {DataReader} reader the reader to use.\n */\n parseZIP64ExtraField: function(reader) {\n\n if (!this.extraFields[0x0001]) {\n return;\n }\n\n // should be something, preparing the extra reader\n var extraReader = new StringReader(this.extraFields[0x0001].value);\n\n // I really hope that these 64bits integer can fit in 32 bits integer, because js\n // won't let us have more.\n if (this.uncompressedSize === utils.MAX_VALUE_32BITS) {\n this.uncompressedSize = extraReader.readInt(8);\n }\n if (this.compressedSize === utils.MAX_VALUE_32BITS) {\n this.compressedSize = extraReader.readInt(8);\n }\n if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) {\n this.localHeaderOffset = extraReader.readInt(8);\n }\n if (this.diskNumberStart === utils.MAX_VALUE_32BITS) {\n this.diskNumberStart = extraReader.readInt(4);\n }\n },\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readExtraFields: function(reader) {\n var start = reader.index,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n\n this.extraFields = this.extraFields || {};\n\n while (reader.index < start + this.extraFieldsLength) {\n extraFieldId = reader.readInt(2);\n extraFieldLength = reader.readInt(2);\n extraFieldValue = reader.readString(extraFieldLength);\n\n this.extraFields[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Apply an UTF8 transformation if needed.\n */\n handleUTF8: function() {\n if (this.useUTF8()) {\n this.fileName = jszipProto.utf8decode(this.fileName);\n this.fileComment = jszipProto.utf8decode(this.fileComment);\n } else {\n var upath = this.findExtraFieldUnicodePath();\n if (upath !== null) {\n this.fileName = upath;\n }\n var ucomment = this.findExtraFieldUnicodeComment();\n if (ucomment !== null) {\n this.fileComment = ucomment;\n }\n }\n },\n\n /**\n * Find the unicode path declared in the extra field, if any.\n * @return {String} the unicode path, null otherwise.\n */\n findExtraFieldUnicodePath: function() {\n var upathField = this.extraFields[0x7075];\n if (upathField) {\n var extraReader = new StringReader(upathField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the filename changed, this field is out of date.\n if (jszipProto.crc32(this.fileName) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(upathField.length - 5));\n }\n return null;\n },\n\n /**\n * Find the unicode comment declared in the extra field, if any.\n * @return {String} the unicode comment, null otherwise.\n */\n findExtraFieldUnicodeComment: function() {\n var ucommentField = this.extraFields[0x6375];\n if (ucommentField) {\n var extraReader = new StringReader(ucommentField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the comment changed, this field is out of date.\n if (jszipProto.crc32(this.fileComment) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(ucommentField.length - 5));\n }\n return null;\n }\n};\nmodule.exports = ZipEntry;\n\n},{\"./compressedObject\":2,\"./object\":13,\"./stringReader\":15,\"./utils\":21}],24:[function(_dereq_,module,exports){\n// Top level file is just a mixin of submodules & constants\n'use strict';\n\nvar assign = _dereq_('./lib/utils/common').assign;\n\nvar deflate = _dereq_('./lib/deflate');\nvar inflate = _dereq_('./lib/inflate');\nvar constants = _dereq_('./lib/zlib/constants');\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n},{\"./lib/deflate\":25,\"./lib/inflate\":26,\"./lib/utils/common\":27,\"./lib/zlib/constants\":30}],25:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_deflate = _dereq_('./zlib/deflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\n\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overriden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nvar Deflate = function(options) {\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n};\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data. Strings will be converted to\n * utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && _mode === Z_FINISH)) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate alrorythm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/deflate.js\":32,\"./zlib/messages\":37,\"./zlib/zstream\":39}],26:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_inflate = _dereq_('./zlib/inflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar c = _dereq_('./zlib/constants');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\nvar gzheader = _dereq_('./zlib/gzheader');\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overriden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nvar Inflate = function(options) {\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new gzheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n};\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Inflate#onEnd]].\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && _mode === c.Z_FINISH)) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n } while ((strm.avail_in > 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell inflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 alligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/constants\":30,\"./zlib/gzheader\":33,\"./zlib/inflate.js\":35,\"./zlib/messages\":37,\"./zlib/zstream\":39}],27:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof(source) !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (source.hasOwnProperty(p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs+len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for(var i=0; i= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // use fallback for big arrays to avoid stack overflow\n if (len < 65537) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for(var i=0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function(buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function(str) {\n var buf = new utils.Buf8(str.length);\n for(var i=0, len=buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n},{\"./common\":27}],29:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It doesn't worth to make additional optimizationa as in original.\n// Small size is preferable.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0\n , s2 = ((adler >>> 16) & 0xffff) |0\n , n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n},{}],30:[function(_dereq_,module,exports){\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n},{}],31:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable\n , end = pos + len;\n\n crc = crc ^ (-1);\n\n for (var i = pos; i < end; i++ ) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n},{}],32:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('../utils/common');\nvar trees = _dereq_('./trees');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar msg = _dereq_('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only (s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH-1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH-1)) ? s.strstart : MIN_MATCH-1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH-1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size-MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH-1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1- s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length-1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH-1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH-1 ? s.strstart : MIN_MATCH-1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nvar Config = function (good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n};\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2*D_CODES+1) * 2);\n this.bl_tree = new utils.Buf16((2*BL_CODES+1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS+1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2*L_CODES+1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2*L_CODES+1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n s.d_buf = s.lit_bufsize >> 1;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg){\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n/* =========================================================================\n * Copy the source state to the destination state\n */\n//function deflateCopy(dest, source) {\n//\n//}\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./messages\":37,\"./trees\":38}],33:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n},{}],34:[function(_dereq_,module,exports){\n'use strict';\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n var window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n},{}],35:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar inflate_fast = _dereq_('./inffast');\nvar inflate_table = _dereq_('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction ZSWAP32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {bits: 9});\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {bits: 5});\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window,src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window,src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window,src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more conveniend processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0 /*crc32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = ZSWAP32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = {bits: state.distbits};\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) -1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) -1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' insdead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, ZSWAP32 returns signed too\n if ((state.flags ? hold : ZSWAP32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./inffast\":34,\"./inftrees\":36}],36:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n var i=0;\n /* process all codes and make table entries */\n for (;;) {\n i++;\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n},{\"../utils/common\":27}],37:[function(_dereq_,module,exports){\n'use strict';\n\nmodule.exports = {\n '2': 'need dictionary', /* Z_NEED_DICT 2 */\n '1': 'stream end', /* Z_STREAM_END 1 */\n '0': '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n},{}],38:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\nvar extra_lbits = /* extra bits for each length code */\n [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];\n\nvar extra_dbits = /* extra bits for each distance code */\n [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];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array insdead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES+2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH-MIN_MATCH+1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nvar StaticTreeDesc = function (static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n};\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nvar TreeDesc = function(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n};\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short (s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c*2]/*.Code*/, tree[c*2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max]*2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max+1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n*2 +1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n*2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n-base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n*2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length-1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits+1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m*2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m*2 + 1]/*.Len*/)*tree[m*2]/*.Freq*/;\n tree[m*2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS+1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits-1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES-1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1< dist code (0..29) */\n dist = 0;\n for (code = 0 ; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */\n for ( ; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n*2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n*2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES+1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n*2 + 1]/*.Len*/ = 5;\n static_dtree[n*2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc =new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n*2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK*2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n*2;\n var _m2 = m*2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j+1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx*2] << 8) | (s.pending_buf[s.d_buf + lx*2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code+LITERALS+1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n*2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node*2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n*2 + 1]/*.Dad*/ = tree[m*2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code+1)*2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6*2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10*2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138*2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count-3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count-3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count-11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex]*2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3*(max_blindex+1) + 5+5+4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes-1, 5);\n send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank]*2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes-1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes-1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n*2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK<<1)+(last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES<<1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len+3+7) >>> 3;\n static_lenb = (s.static_len+3+7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len+4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES<<1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES<<1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code+1, s.d_desc.max_code+1, max_blindex+1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc*2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc]+LITERALS+1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize-1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n},{\"../utils/common\":27}],39:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n},{}]},{},[9])\n(9)\n}));\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroIOFPaisagem.vue?vue&type=style&index=0&id=3d1b079c&prod&lang=css\"","import { factory } from '../../utils/factory.js';\nvar name = 'hasNumericValue';\nvar dependencies = ['typed', 'isNumeric'];\nexport var createHasNumericValue = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n isNumeric\n } = _ref;\n /**\n * Test whether a value is an numeric value.\n *\n * In case of a string, true is returned if the string contains a numeric value.\n *\n * Syntax:\n *\n * math.hasNumericValue(x)\n *\n * Examples:\n *\n * math.hasNumericValue(2) // returns true\n * math.hasNumericValue('2') // returns true\n * math.isNumeric('2') // returns false\n * math.hasNumericValue(0) // returns true\n * math.hasNumericValue(math.bignumber(500)) // returns true\n * math.hasNumericValue(math.fraction(4)) // returns true\n * math.hasNumericValue(math.complex('2-4i')) // returns false\n * math.hasNumericValue(false) // returns true\n * math.hasNumericValue([2.3, 'foo', false]) // returns [true, false, true]\n *\n * See also:\n *\n * isZero, isPositive, isNegative, isInteger, isNumeric\n *\n * @param {*} x Value to be tested\n * @return {boolean} Returns true when `x` is a `number`, `BigNumber`,\n * `Fraction`, `Boolean`, or a `String` containing number. Returns false for other types.\n * Throws an error in case of unknown types.\n */\n return typed(name, {\n boolean: () => true,\n string: function string(x) {\n return x.trim().length > 0 && !isNaN(Number(x));\n },\n any: function any(x) {\n return isNumeric(x);\n }\n });\n});","import { hasOwnProperty } from './object.js';\n\n/**\n * Get a property of a plain object\n * Throws an error in case the object is not a plain object or the\n * property is not defined on the object itself\n * @param {Object} object\n * @param {string} prop\n * @return {*} Returns the property value when safe\n */\nfunction getSafeProperty(object, prop) {\n // only allow getting safe properties of a plain object\n if (isPlainObject(object) && isSafeProperty(object, prop)) {\n return object[prop];\n }\n if (typeof object[prop] === 'function' && isSafeMethod(object, prop)) {\n throw new Error('Cannot access method \"' + prop + '\" as a property');\n }\n throw new Error('No access to property \"' + prop + '\"');\n}\n\n/**\n * Set a property on a plain object.\n * Throws an error in case the object is not a plain object or the\n * property would override an inherited property like .constructor or .toString\n * @param {Object} object\n * @param {string} prop\n * @param {*} value\n * @return {*} Returns the value\n */\n// TODO: merge this function into access.js?\nfunction setSafeProperty(object, prop, value) {\n // only allow setting safe properties of a plain object\n if (isPlainObject(object) && isSafeProperty(object, prop)) {\n object[prop] = value;\n return value;\n }\n throw new Error('No access to property \"' + prop + '\"');\n}\nfunction getSafeProperties(object) {\n return Object.keys(object).filter(prop => hasOwnProperty(object, prop));\n}\nfunction hasSafeProperty(object, prop) {\n return prop in object;\n}\n\n/**\n * Test whether a property is safe to use for an object.\n * For example .toString and .constructor are not safe\n * @param {string} prop\n * @return {boolean} Returns true when safe\n */\nfunction isSafeProperty(object, prop) {\n if (!object || typeof object !== 'object') {\n return false;\n }\n // SAFE: whitelisted\n // e.g length\n if (hasOwnProperty(safeNativeProperties, prop)) {\n return true;\n }\n // UNSAFE: inherited from Object prototype\n // e.g constructor\n if (prop in Object.prototype) {\n // 'in' is used instead of hasOwnProperty for nodejs v0.10\n // which is inconsistent on root prototypes. It is safe\n // here because Object.prototype is a root object\n return false;\n }\n // UNSAFE: inherited from Function prototype\n // e.g call, apply\n if (prop in Function.prototype) {\n // 'in' is used instead of hasOwnProperty for nodejs v0.10\n // which is inconsistent on root prototypes. It is safe\n // here because Function.prototype is a root object\n return false;\n }\n return true;\n}\n\n/**\n * Validate whether a method is safe.\n * Throws an error when that's not the case.\n * @param {Object} object\n * @param {string} method\n * @return {function} Returns the method when valid\n */\nfunction getSafeMethod(object, method) {\n if (!isSafeMethod(object, method)) {\n throw new Error('No access to method \"' + method + '\"');\n }\n return object[method];\n}\n\n/**\n * Check whether a method is safe.\n * Throws an error when that's not the case (for example for `constructor`).\n * @param {Object} object\n * @param {string} method\n * @return {boolean} Returns true when safe, false otherwise\n */\nfunction isSafeMethod(object, method) {\n if (object === null || object === undefined || typeof object[method] !== 'function') {\n return false;\n }\n // UNSAFE: ghosted\n // e.g overridden toString\n // Note that IE10 doesn't support __proto__ and we can't do this check there.\n if (hasOwnProperty(object, method) && Object.getPrototypeOf && method in Object.getPrototypeOf(object)) {\n return false;\n }\n // SAFE: whitelisted\n // e.g toString\n if (hasOwnProperty(safeNativeMethods, method)) {\n return true;\n }\n // UNSAFE: inherited from Object prototype\n // e.g constructor\n if (method in Object.prototype) {\n // 'in' is used instead of hasOwnProperty for nodejs v0.10\n // which is inconsistent on root prototypes. It is safe\n // here because Object.prototype is a root object\n return false;\n }\n // UNSAFE: inherited from Function prototype\n // e.g call, apply\n if (method in Function.prototype) {\n // 'in' is used instead of hasOwnProperty for nodejs v0.10\n // which is inconsistent on root prototypes. It is safe\n // here because Function.prototype is a root object\n return false;\n }\n return true;\n}\nfunction isPlainObject(object) {\n return typeof object === 'object' && object && object.constructor === Object;\n}\nvar safeNativeProperties = {\n length: true,\n name: true\n};\nvar safeNativeMethods = {\n toString: true,\n valueOf: true,\n toLocaleString: true\n};\nexport { getSafeProperty };\nexport { setSafeProperty };\nexport { isSafeProperty };\nexport { hasSafeProperty };\nexport { getSafeProperties };\nexport { getSafeMethod };\nexport { isSafeMethod };\nexport { isPlainObject };","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaAdministracaoRetrato.vue?vue&type=style&index=0&id=02cd9e86&prod&lang=css\"","import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nimport { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js';\nimport { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';\nimport { createMatAlgo08xS0Sid } from '../../type/matrix/utils/matAlgo08xS0Sid.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { rightLogShiftNumber } from '../../plain/number/index.js';\nimport { createUseMatrixForArrayScalar } from './useMatrixForArrayScalar.js';\nvar name = 'rightLogShift';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix', 'concat'];\nexport var createRightLogShift = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n zeros,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo01xDSid = createMatAlgo01xDSid({\n typed\n });\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo08xS0Sid = createMatAlgo08xS0Sid({\n typed,\n equalScalar\n });\n var matAlgo10xSids = createMatAlgo10xSids({\n typed,\n DenseMatrix\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var useMatrixForArrayScalar = createUseMatrixForArrayScalar({\n typed,\n matrix\n });\n\n /**\n * Bitwise right logical shift of value x by y number of bits, `x >>> y`.\n * For matrices, the function is evaluated element wise.\n * For units, the function is evaluated on the best prefix base.\n *\n * Syntax:\n *\n * math.rightLogShift(x, y)\n *\n * Examples:\n *\n * math.rightLogShift(4, 2) // returns number 1\n *\n * math.rightLogShift([16, 32, 64], 4) // returns Array [1, 2, 4]\n *\n * See also:\n *\n * bitAnd, bitNot, bitOr, bitXor, leftShift, rightLogShift\n *\n * @param {number | Array | Matrix} x Value to be shifted\n * @param {number} y Amount of shifts\n * @return {number | Array | Matrix} `x` zero-filled shifted right `y` times\n */\n\n return typed(name, {\n 'number, number': rightLogShiftNumber,\n // 'BigNumber, BigNumber': ..., // TODO: implement BigNumber support for rightLogShift\n\n 'SparseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(y, 0)) {\n return x.clone();\n }\n return matAlgo11xS0s(x, y, self, false);\n }),\n 'DenseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(y, 0)) {\n return x.clone();\n }\n return matAlgo14xDs(x, y, self, false);\n }),\n 'number | BigNumber, SparseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(x, 0)) {\n return zeros(y.size(), y.storage());\n }\n return matAlgo10xSids(y, x, self, true);\n }),\n 'number | BigNumber, DenseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(x, 0)) {\n return zeros(y.size(), y.storage());\n }\n return matAlgo14xDs(y, x, self, true);\n })\n }, useMatrixForArrayScalar, matrixAlgorithmSuite({\n SS: matAlgo08xS0Sid,\n DS: matAlgo01xDSid,\n SD: matAlgo02xDS0\n }));\n});","import { factory } from '../../utils/factory.js';\nimport { extend } from '../../utils/object.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nvar name = 'divide';\nvar dependencies = ['typed', 'matrix', 'multiply', 'equalScalar', 'divideScalar', 'inv'];\nexport var createDivide = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n multiply,\n equalScalar,\n divideScalar,\n inv\n } = _ref;\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n\n /**\n * Divide two values, `x / y`.\n * To divide matrices, `x` is multiplied with the inverse of `y`: `x * inv(y)`.\n *\n * Syntax:\n *\n * math.divide(x, y)\n *\n * Examples:\n *\n * math.divide(2, 3) // returns number 0.6666666666666666\n *\n * const a = math.complex(5, 14)\n * const b = math.complex(4, 1)\n * math.divide(a, b) // returns Complex 2 + 3i\n *\n * const c = [[7, -6], [13, -4]]\n * const d = [[1, 2], [4, 3]]\n * math.divide(c, d) // returns Array [[-9, 4], [-11, 6]]\n *\n * const e = math.unit('18 km')\n * math.divide(e, 4.5) // returns Unit 4 km\n *\n * See also:\n *\n * multiply\n *\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Numerator\n * @param {number | BigNumber | Fraction | Complex | Array | Matrix} y Denominator\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Quotient, `x / y`\n */\n return typed('divide', extend({\n // we extend the signatures of divideScalar with signatures dealing with matrices\n\n 'Array | Matrix, Array | Matrix': function ArrayMatrixArrayMatrix(x, y) {\n // TODO: implement matrix right division using pseudo inverse\n // https://www.mathworks.nl/help/matlab/ref/mrdivide.html\n // https://www.gnu.org/software/octave/doc/interpreter/Arithmetic-Ops.html\n // https://stackoverflow.com/questions/12263932/how-does-gnu-octave-matrix-division-work-getting-unexpected-behaviour\n return multiply(x, inv(y));\n },\n 'DenseMatrix, any': function DenseMatrixAny(x, y) {\n return matAlgo14xDs(x, y, divideScalar, false);\n },\n 'SparseMatrix, any': function SparseMatrixAny(x, y) {\n return matAlgo11xS0s(x, y, divideScalar, false);\n },\n 'Array, any': function ArrayAny(x, y) {\n // use matrix implementation\n return matAlgo14xDs(matrix(x), y, divideScalar, false).valueOf();\n },\n 'any, Array | Matrix': function anyArrayMatrix(x, y) {\n return multiply(x, inv(y));\n }\n }, divideScalar.signatures));\n});","import { isBigNumber } from '../../utils/is.js';\nimport { resize } from '../../utils/array.js';\nimport { isInteger } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'identity';\nvar dependencies = ['typed', 'config', 'matrix', 'BigNumber', 'DenseMatrix', 'SparseMatrix'];\nexport var createIdentity = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n BigNumber,\n DenseMatrix,\n SparseMatrix\n } = _ref;\n /**\n * Create a 2-dimensional identity matrix with size m x n or n x n.\n * The matrix has ones on the diagonal and zeros elsewhere.\n *\n * Syntax:\n *\n * math.identity(n)\n * math.identity(n, format)\n * math.identity(m, n)\n * math.identity(m, n, format)\n * math.identity([m, n])\n * math.identity([m, n], format)\n *\n * Examples:\n *\n * math.identity(3) // returns [[1, 0, 0], [0, 1, 0], [0, 0, 1]]\n * math.identity(3, 2) // returns [[1, 0], [0, 1], [0, 0]]\n *\n * const A = [[1, 2, 3], [4, 5, 6]]\n * math.identity(math.size(A)) // returns [[1, 0, 0], [0, 1, 0]]\n *\n * See also:\n *\n * diag, ones, zeros, size, range\n *\n * @param {...number | Matrix | Array} size The size for the matrix\n * @param {string} [format] The Matrix storage format\n *\n * @return {Matrix | Array | number} A matrix with ones on the diagonal.\n */\n return typed(name, {\n '': function _() {\n return config.matrix === 'Matrix' ? matrix([]) : [];\n },\n string: function string(format) {\n return matrix(format);\n },\n 'number | BigNumber': function numberBigNumber(rows) {\n return _identity(rows, rows, config.matrix === 'Matrix' ? 'dense' : undefined);\n },\n 'number | BigNumber, string': function numberBigNumberString(rows, format) {\n return _identity(rows, rows, format);\n },\n 'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(rows, cols) {\n return _identity(rows, cols, config.matrix === 'Matrix' ? 'dense' : undefined);\n },\n 'number | BigNumber, number | BigNumber, string': function numberBigNumberNumberBigNumberString(rows, cols, format) {\n return _identity(rows, cols, format);\n },\n Array: function Array(size) {\n return _identityVector(size);\n },\n 'Array, string': function ArrayString(size, format) {\n return _identityVector(size, format);\n },\n Matrix: function Matrix(size) {\n return _identityVector(size.valueOf(), size.storage());\n },\n 'Matrix, string': function MatrixString(size, format) {\n return _identityVector(size.valueOf(), format);\n }\n });\n function _identityVector(size, format) {\n switch (size.length) {\n case 0:\n return format ? matrix(format) : [];\n case 1:\n return _identity(size[0], size[0], format);\n case 2:\n return _identity(size[0], size[1], format);\n default:\n throw new Error('Vector containing two values expected');\n }\n }\n\n /**\n * Create an identity matrix\n * @param {number | BigNumber} rows\n * @param {number | BigNumber} cols\n * @param {string} [format]\n * @returns {Matrix}\n * @private\n */\n function _identity(rows, cols, format) {\n // BigNumber constructor with the right precision\n var Big = isBigNumber(rows) || isBigNumber(cols) ? BigNumber : null;\n if (isBigNumber(rows)) rows = rows.toNumber();\n if (isBigNumber(cols)) cols = cols.toNumber();\n if (!isInteger(rows) || rows < 1) {\n throw new Error('Parameters in function identity must be positive integers');\n }\n if (!isInteger(cols) || cols < 1) {\n throw new Error('Parameters in function identity must be positive integers');\n }\n var one = Big ? new BigNumber(1) : 1;\n var defaultValue = Big ? new Big(0) : 0;\n var size = [rows, cols];\n\n // check we need to return a matrix\n if (format) {\n // create diagonal matrix (use optimized implementation for storage format)\n if (format === 'sparse') {\n return SparseMatrix.diagonal(size, one, 0, defaultValue);\n }\n if (format === 'dense') {\n return DenseMatrix.diagonal(size, one, 0, defaultValue);\n }\n throw new TypeError(\"Unknown matrix type \\\"\".concat(format, \"\\\"\"));\n }\n\n // create and resize array\n var res = resize([], size, defaultValue);\n // fill in ones on the diagonal\n var minimum = rows < cols ? rows : cols;\n // fill diagonal\n for (var d = 0; d < minimum; d++) {\n res[d][d] = one;\n }\n return res;\n }\n});","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nvar name = 'im';\nvar dependencies = ['typed'];\nexport var createIm = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Get the imaginary part of a complex number.\n * For a complex number `a + bi`, the function returns `b`.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.im(x)\n *\n * Examples:\n *\n * const a = math.complex(2, 3)\n * math.re(a) // returns number 2\n * math.im(a) // returns number 3\n *\n * math.re(math.complex('-5.2i')) // returns number -5.2\n * math.re(math.complex(2.4)) // returns number 0\n *\n * See also:\n *\n * re, conj, abs, arg\n *\n * @param {number | BigNumber | Complex | Array | Matrix} x\n * A complex number or array with complex numbers\n * @return {number | BigNumber | Array | Matrix} The imaginary part of x\n */\n return typed(name, {\n number: () => 0,\n 'BigNumber | Fraction': x => x.mul(0),\n Complex: x => x.im,\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport { factory } from '../../../utils/factory.js';\nvar name = 'qr';\nvar dependencies = ['typed', 'matrix', 'zeros', 'identity', 'isZero', 'equal', 'sign', 'sqrt', 'conj', 'unaryMinus', 'addScalar', 'divideScalar', 'multiplyScalar', 'subtractScalar', 'complex'];\nexport var createQr = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n zeros,\n identity,\n isZero,\n equal,\n sign,\n sqrt,\n conj,\n unaryMinus,\n addScalar,\n divideScalar,\n multiplyScalar,\n subtractScalar,\n complex\n } = _ref;\n /**\n * Calculate the Matrix QR decomposition. Matrix `A` is decomposed in\n * two matrices (`Q`, `R`) where `Q` is an\n * orthogonal matrix and `R` is an upper triangular matrix.\n *\n * Syntax:\n *\n * math.qr(A)\n *\n * Example:\n *\n * const m = [\n * [1, -1, 4],\n * [1, 4, -2],\n * [1, 4, 2],\n * [1, -1, 0]\n * ]\n * const result = math.qr(m)\n * // r = {\n * // Q: [\n * // [0.5, -0.5, 0.5],\n * // [0.5, 0.5, -0.5],\n * // [0.5, 0.5, 0.5],\n * // [0.5, -0.5, -0.5],\n * // ],\n * // R: [\n * // [2, 3, 2],\n * // [0, 5, -2],\n * // [0, 0, 4],\n * // [0, 0, 0]\n * // ]\n * // }\n *\n * See also:\n *\n * lup, lusolve\n *\n * @param {Matrix | Array} A A two dimensional matrix or array\n * for which to get the QR decomposition.\n *\n * @return {{Q: Array | Matrix, R: Array | Matrix}} Q: the orthogonal\n * matrix and R: the upper triangular matrix\n */\n return _extends(typed(name, {\n DenseMatrix: function DenseMatrix(m) {\n return _denseQR(m);\n },\n SparseMatrix: function SparseMatrix(m) {\n return _sparseQR(m);\n },\n Array: function Array(a) {\n // create dense matrix from array\n var m = matrix(a);\n // lup, use matrix implementation\n var r = _denseQR(m);\n // result\n return {\n Q: r.Q.valueOf(),\n R: r.R.valueOf()\n };\n }\n }), {\n _denseQRimpl\n });\n function _denseQRimpl(m) {\n // rows & columns (m x n)\n var rows = m._size[0]; // m\n var cols = m._size[1]; // n\n\n var Q = identity([rows], 'dense');\n var Qdata = Q._data;\n var R = m.clone();\n var Rdata = R._data;\n\n // vars\n var i, j, k;\n var w = zeros([rows], '');\n for (k = 0; k < Math.min(cols, rows); ++k) {\n /*\n * **k-th Household matrix**\n *\n * The matrix I - 2*v*transpose(v)\n * x = first column of A\n * x1 = first element of x\n * alpha = x1 / |x1| * |x|\n * e1 = tranpose([1, 0, 0, ...])\n * u = x - alpha * e1\n * v = u / |u|\n *\n * Household matrix = I - 2 * v * tranpose(v)\n *\n * * Initially Q = I and R = A.\n * * Household matrix is a reflection in a plane normal to v which\n * will zero out all but the top right element in R.\n * * Appplying reflection to both Q and R will not change product.\n * * Repeat this process on the (1,1) minor to get R as an upper\n * triangular matrix.\n * * Reflections leave the magnitude of the columns of Q unchanged\n * so Q remains othoganal.\n *\n */\n\n var pivot = Rdata[k][k];\n var sgn = unaryMinus(equal(pivot, 0) ? 1 : sign(pivot));\n var conjSgn = conj(sgn);\n var alphaSquared = 0;\n for (i = k; i < rows; i++) {\n alphaSquared = addScalar(alphaSquared, multiplyScalar(Rdata[i][k], conj(Rdata[i][k])));\n }\n var alpha = multiplyScalar(sgn, sqrt(alphaSquared));\n if (!isZero(alpha)) {\n // first element in vector u\n var u1 = subtractScalar(pivot, alpha);\n\n // w = v * u1 / |u| (only elements k to (rows-1) are used)\n w[k] = 1;\n for (i = k + 1; i < rows; i++) {\n w[i] = divideScalar(Rdata[i][k], u1);\n }\n\n // tau = - conj(u1 / alpha)\n var tau = unaryMinus(conj(divideScalar(u1, alpha)));\n var s = void 0;\n\n /*\n * tau and w have been choosen so that\n *\n * 2 * v * tranpose(v) = tau * w * tranpose(w)\n */\n\n /*\n * -- calculate R = R - tau * w * tranpose(w) * R --\n * Only do calculation with rows k to (rows-1)\n * Additionally columns 0 to (k-1) will not be changed by this\n * multiplication so do not bother recalculating them\n */\n for (j = k; j < cols; j++) {\n s = 0.0;\n\n // calculate jth element of [tranpose(w) * R]\n for (i = k; i < rows; i++) {\n s = addScalar(s, multiplyScalar(conj(w[i]), Rdata[i][j]));\n }\n\n // calculate the jth element of [tau * transpose(w) * R]\n s = multiplyScalar(s, tau);\n for (i = k; i < rows; i++) {\n Rdata[i][j] = multiplyScalar(subtractScalar(Rdata[i][j], multiplyScalar(w[i], s)), conjSgn);\n }\n }\n /*\n * -- calculate Q = Q - tau * Q * w * transpose(w) --\n * Q is a square matrix (rows x rows)\n * Only do calculation with columns k to (rows-1)\n * Additionally rows 0 to (k-1) will not be changed by this\n * multiplication so do not bother recalculating them\n */\n for (i = 0; i < rows; i++) {\n s = 0.0;\n\n // calculate ith element of [Q * w]\n for (j = k; j < rows; j++) {\n s = addScalar(s, multiplyScalar(Qdata[i][j], w[j]));\n }\n\n // calculate the ith element of [tau * Q * w]\n s = multiplyScalar(s, tau);\n for (j = k; j < rows; ++j) {\n Qdata[i][j] = divideScalar(subtractScalar(Qdata[i][j], multiplyScalar(s, conj(w[j]))), conjSgn);\n }\n }\n }\n }\n\n // return matrices\n return {\n Q,\n R,\n toString: function toString() {\n return 'Q: ' + this.Q.toString() + '\\nR: ' + this.R.toString();\n }\n };\n }\n function _denseQR(m) {\n var ret = _denseQRimpl(m);\n var Rdata = ret.R._data;\n if (m._data.length > 0) {\n var zero = Rdata[0][0].type === 'Complex' ? complex(0) : 0;\n for (var i = 0; i < Rdata.length; ++i) {\n for (var j = 0; j < i && j < (Rdata[0] || []).length; ++j) {\n Rdata[i][j] = zero;\n }\n }\n }\n return ret;\n }\n function _sparseQR(m) {\n throw new Error('qr not implemented for sparse matrices yet');\n }\n});","import { reshape as arrayReshape } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'reshape';\nvar dependencies = ['typed', 'isInteger', 'matrix'];\nexport var createReshape = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n isInteger\n } = _ref;\n /**\n * Reshape a multi dimensional array to fit the specified dimensions\n *\n * Syntax:\n *\n * math.reshape(x, sizes)\n *\n * Examples:\n *\n * math.reshape([1, 2, 3, 4, 5, 6], [2, 3])\n * // returns Array [[1, 2, 3], [4, 5, 6]]\n *\n * math.reshape([[1, 2], [3, 4]], [1, 4])\n * // returns Array [[1, 2, 3, 4]]\n *\n * math.reshape([[1, 2], [3, 4]], [4])\n * // returns Array [1, 2, 3, 4]\n *\n * const x = math.matrix([1, 2, 3, 4, 5, 6, 7, 8])\n * math.reshape(x, [2, 2, 2])\n * // returns Matrix [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]\n *\n * math.reshape([1, 2, 3, 4], [-1, 2])\n * // returns Matrix [[1, 2], [3, 4]]\n *\n * See also:\n *\n * size, squeeze, resize\n *\n * @param {Array | Matrix | *} x Matrix to be reshaped\n * @param {number[]} sizes One dimensional array with integral sizes for\n * each dimension. One -1 is allowed as wildcard,\n * which calculates this dimension automatically.\n *\n * @return {* | Array | Matrix} A reshaped clone of matrix `x`\n *\n * @throws {TypeError} If `sizes` does not contain solely integers\n * @throws {DimensionError} If the product of the new dimension sizes does\n * not equal that of the old ones\n */\n return typed(name, {\n 'Matrix, Array': function MatrixArray(x, sizes) {\n return x.reshape(sizes, true);\n },\n 'Array, Array': function ArrayArray(x, sizes) {\n sizes.forEach(function (size) {\n if (!isInteger(size)) {\n throw new TypeError('Invalid size for dimension: ' + size);\n }\n });\n return arrayReshape(x, sizes);\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { xgcdNumber } from '../../plain/number/index.js';\nvar name = 'xgcd';\nvar dependencies = ['typed', 'config', 'matrix', 'BigNumber'];\nexport var createXgcd = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n BigNumber\n } = _ref;\n /**\n * Calculate the extended greatest common divisor for two values.\n * See https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm.\n *\n * Syntax:\n *\n * math.xgcd(a, b)\n *\n * Examples:\n *\n * math.xgcd(8, 12) // returns [4, -1, 1]\n * math.gcd(8, 12) // returns 4\n * math.xgcd(36163, 21199) // returns [1247, -7, 12]\n *\n * See also:\n *\n * gcd, lcm\n *\n * @param {number | BigNumber} a An integer number\n * @param {number | BigNumber} b An integer number\n * @return {Array} Returns an array containing 3 integers `[div, m, n]`\n * where `div = gcd(a, b)` and `a*m + b*n = div`\n */\n return typed(name, {\n 'number, number': function numberNumber(a, b) {\n var res = xgcdNumber(a, b);\n return config.matrix === 'Array' ? res : matrix(res);\n },\n 'BigNumber, BigNumber': _xgcdBigNumber\n // TODO: implement support for Fraction\n });\n\n /**\n * Calculate xgcd for two BigNumbers\n * @param {BigNumber} a\n * @param {BigNumber} b\n * @return {BigNumber[]} result\n * @private\n */\n function _xgcdBigNumber(a, b) {\n // source: https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm\n var\n // used to swap two variables\n t;\n var\n // quotient\n q;\n var\n // remainder\n r;\n var zero = new BigNumber(0);\n var one = new BigNumber(1);\n var x = zero;\n var lastx = one;\n var y = one;\n var lasty = zero;\n if (!a.isInt() || !b.isInt()) {\n throw new Error('Parameters in function xgcd must be integer numbers');\n }\n while (!b.isZero()) {\n q = a.div(b).floor();\n r = a.mod(b);\n t = x;\n x = lastx.minus(q.times(x));\n lastx = t;\n t = y;\n y = lasty.minus(q.times(y));\n lasty = t;\n a = b;\n b = r;\n }\n var res;\n if (a.lt(zero)) {\n res = [a.neg(), lastx.neg(), lasty.neg()];\n } else {\n res = [a, !a.isZero() ? lastx : 0, lasty];\n }\n return config.matrix === 'Array' ? res : matrix(res);\n }\n});","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nimport { log10Number } from '../../plain/number/index.js';\nvar name = 'log10';\nvar dependencies = ['typed', 'config', 'Complex'];\nexport var createLog10 = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n Complex: _Complex\n } = _ref;\n /**\n * Calculate the 10-base logarithm of a value. This is the same as calculating `log(x, 10)`.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.log10(x)\n *\n * Examples:\n *\n * math.log10(0.00001) // returns -5\n * math.log10(10000) // returns 4\n * math.log(10000) / math.log(10) // returns 4\n * math.pow(10, 4) // returns 10000\n *\n * See also:\n *\n * exp, log, log1p, log2\n *\n * @param {number | BigNumber | Complex | Array | Matrix} x\n * Value for which to calculate the logarithm.\n * @return {number | BigNumber | Complex | Array | Matrix}\n * Returns the 10-base logarithm of `x`\n */\n return typed(name, {\n number: function number(x) {\n if (x >= 0 || config.predictable) {\n return log10Number(x);\n } else {\n // negative value -> complex value computation\n return new _Complex(x, 0).log().div(Math.LN10);\n }\n },\n Complex: function Complex(x) {\n return new _Complex(x).log().div(Math.LN10);\n },\n BigNumber: function BigNumber(x) {\n if (!x.isNegative() || config.predictable) {\n return x.log();\n } else {\n // downgrade to number, return Complex valued result\n return new _Complex(x.toNumber(), 0).log().div(Math.LN10);\n }\n },\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","import { factory } from '../../utils/factory.js';\nimport { acothNumber } from '../../plain/number/index.js';\nvar name = 'acoth';\nvar dependencies = ['typed', 'config', 'Complex', 'BigNumber'];\nexport var createAcoth = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n Complex,\n BigNumber: _BigNumber\n } = _ref;\n /**\n * Calculate the hyperbolic arccotangent of a value,\n * defined as `acoth(x) = atanh(1/x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.\n *\n * To avoid confusion with the matrix hyperbolic arccotangent, this\n * function does not apply to matrices.\n *\n * Syntax:\n *\n * math.acoth(x)\n *\n * Examples:\n *\n * math.acoth(0.5) // returns 0.8047189562170503\n *\n * See also:\n *\n * acsch, asech\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic arccotangent of x\n */\n return typed(name, {\n number: function number(x) {\n if (x >= 1 || x <= -1 || config.predictable) {\n return acothNumber(x);\n }\n return new Complex(x, 0).acoth();\n },\n Complex: function Complex(x) {\n return x.acoth();\n },\n BigNumber: function BigNumber(x) {\n return new _BigNumber(1).div(x).atanh();\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { atanhNumber } from '../../plain/number/index.js';\nvar name = 'atanh';\nvar dependencies = ['typed', 'config', 'Complex'];\nexport var createAtanh = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n Complex\n } = _ref;\n /**\n * Calculate the hyperbolic arctangent of a value,\n * defined as `atanh(x) = ln((1 + x)/(1 - x)) / 2`.\n *\n * To avoid confusion with the matrix hyperbolic arctangent, this function\n * does not apply to matrices.\n *\n * Syntax:\n *\n * math.atanh(x)\n *\n * Examples:\n *\n * math.atanh(0.5) // returns 0.5493061443340549\n *\n * See also:\n *\n * acosh, asinh\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic arctangent of x\n */\n return typed(name, {\n number: function number(x) {\n if (x <= 1 && x >= -1 || config.predictable) {\n return atanhNumber(x);\n }\n return new Complex(x, 0).atanh();\n },\n Complex: function Complex(x) {\n return x.atanh();\n },\n BigNumber: function BigNumber(x) {\n return x.atanh();\n }\n });\n});","import { clone } from '../../../utils/object.js';\nexport function createComplexEigs(_ref) {\n var {\n addScalar,\n subtract,\n flatten,\n multiply,\n multiplyScalar,\n divideScalar,\n sqrt,\n abs,\n bignumber,\n diag,\n inv,\n qr,\n usolve,\n usolveAll,\n equal,\n complex,\n larger,\n smaller,\n matrixFromColumns,\n dot\n } = _ref;\n /**\n * @param {number[][]} arr the matrix to find eigenvalues of\n * @param {number} N size of the matrix\n * @param {number|BigNumber} prec precision, anything lower will be considered zero\n * @param {'number'|'BigNumber'|'Complex'} type\n * @param {boolean} findVectors should we find eigenvectors?\n *\n * @returns {{ values: number[], vectors: number[][] }}\n */\n function complexEigs(arr, N, prec, type, findVectors) {\n if (findVectors === undefined) {\n findVectors = true;\n }\n\n // TODO check if any row/col are zero except the diagonal\n\n // make sure corresponding rows and columns have similar magnitude\n // important because of numerical stability\n // MODIFIES arr by side effect!\n var R = balance(arr, N, prec, type, findVectors);\n\n // R is the row transformation matrix\n // arr = A' = R A R⁻¹, A is the original matrix\n // (if findVectors is false, R is undefined)\n // (And so to return to original matrix: A = R⁻¹ arr R)\n\n // TODO if magnitudes of elements vary over many orders,\n // move greatest elements to the top left corner\n\n // using similarity transformations, reduce the matrix\n // to Hessenberg form (upper triangular plus one subdiagonal row)\n // updates the transformation matrix R with new row operationsq\n // MODIFIES arr by side effect!\n reduceToHessenberg(arr, N, prec, type, findVectors, R);\n // still true that original A = R⁻¹ arr R)\n\n // find eigenvalues\n var {\n values,\n C\n } = iterateUntilTriangular(arr, N, prec, type, findVectors);\n\n // values is the list of eigenvalues, C is the column\n // transformation matrix that transforms arr, the hessenberg\n // matrix, to upper triangular\n // (So U = C⁻¹ arr C and the relationship between current arr\n // and original A is unchanged.)\n\n var vectors;\n if (findVectors) {\n vectors = findEigenvectors(arr, N, C, R, values, prec, type);\n vectors = matrixFromColumns(...vectors);\n }\n return {\n values,\n vectors\n };\n }\n\n /**\n * @param {number[][]} arr\n * @param {number} N\n * @param {number} prec\n * @param {'number'|'BigNumber'|'Complex'} type\n * @returns {number[][]}\n */\n function balance(arr, N, prec, type, findVectors) {\n var big = type === 'BigNumber';\n var cplx = type === 'Complex';\n var realzero = big ? bignumber(0) : 0;\n var one = big ? bignumber(1) : cplx ? complex(1) : 1;\n var realone = big ? bignumber(1) : 1;\n\n // base of the floating-point arithmetic\n var radix = big ? bignumber(10) : 2;\n var radixSq = multiplyScalar(radix, radix);\n\n // the diagonal transformation matrix R\n var Rdiag;\n if (findVectors) {\n Rdiag = Array(N).fill(one);\n }\n\n // this isn't the only time we loop thru the matrix...\n var last = false;\n while (!last) {\n // ...haha I'm joking! unless...\n last = true;\n for (var i = 0; i < N; i++) {\n // compute the taxicab norm of i-th column and row\n // TODO optimize for complex numbers\n var colNorm = realzero;\n var rowNorm = realzero;\n for (var j = 0; j < N; j++) {\n if (i === j) continue;\n var c = abs(arr[i][j]); // should be real\n colNorm = addScalar(colNorm, c);\n rowNorm = addScalar(rowNorm, c);\n }\n if (!equal(colNorm, 0) && !equal(rowNorm, 0)) {\n // find integer power closest to balancing the matrix\n // (we want to scale only by integer powers of radix,\n // so that we don't lose any precision due to round-off)\n\n var f = realone;\n var _c = colNorm;\n var rowDivRadix = divideScalar(rowNorm, radix);\n var rowMulRadix = multiplyScalar(rowNorm, radix);\n while (smaller(_c, rowDivRadix)) {\n _c = multiplyScalar(_c, radixSq);\n f = multiplyScalar(f, radix);\n }\n while (larger(_c, rowMulRadix)) {\n _c = divideScalar(_c, radixSq);\n f = divideScalar(f, radix);\n }\n\n // check whether balancing is needed\n // condition = (c + rowNorm) / f < 0.95 * (colNorm + rowNorm)\n var condition = smaller(divideScalar(addScalar(_c, rowNorm), f), multiplyScalar(addScalar(colNorm, rowNorm), 0.95));\n\n // apply balancing similarity transformation\n if (condition) {\n // we should loop once again to check whether\n // another rebalancing is needed\n last = false;\n var g = divideScalar(1, f);\n for (var _j = 0; _j < N; _j++) {\n if (i === _j) {\n continue;\n }\n arr[i][_j] = multiplyScalar(arr[i][_j], f);\n arr[_j][i] = multiplyScalar(arr[_j][i], g);\n }\n\n // keep track of transformations\n if (findVectors) {\n Rdiag[i] = multiplyScalar(Rdiag[i], f);\n }\n }\n }\n }\n }\n\n // return the diagonal row transformation matrix\n return diag(Rdiag);\n }\n\n /**\n * @param {number[][]} arr\n * @param {number} N\n * @param {number} prec\n * @param {'number'|'BigNumber'|'Complex'} type\n * @param {boolean} findVectors\n * @param {number[][]} R the row transformation matrix that will be modified\n */\n function reduceToHessenberg(arr, N, prec, type, findVectors, R) {\n var big = type === 'BigNumber';\n var cplx = type === 'Complex';\n var zero = big ? bignumber(0) : cplx ? complex(0) : 0;\n if (big) {\n prec = bignumber(prec);\n }\n for (var i = 0; i < N - 2; i++) {\n // Find the largest subdiag element in the i-th col\n\n var maxIndex = 0;\n var max = zero;\n for (var j = i + 1; j < N; j++) {\n var el = arr[j][i];\n if (smaller(abs(max), abs(el))) {\n max = el;\n maxIndex = j;\n }\n }\n\n // This col is pivoted, no need to do anything\n if (smaller(abs(max), prec)) {\n continue;\n }\n if (maxIndex !== i + 1) {\n // Interchange maxIndex-th and (i+1)-th row\n var tmp1 = arr[maxIndex];\n arr[maxIndex] = arr[i + 1];\n arr[i + 1] = tmp1;\n\n // Interchange maxIndex-th and (i+1)-th column\n for (var _j2 = 0; _j2 < N; _j2++) {\n var tmp2 = arr[_j2][maxIndex];\n arr[_j2][maxIndex] = arr[_j2][i + 1];\n arr[_j2][i + 1] = tmp2;\n }\n\n // keep track of transformations\n if (findVectors) {\n var tmp3 = R[maxIndex];\n R[maxIndex] = R[i + 1];\n R[i + 1] = tmp3;\n }\n }\n\n // Reduce following rows and columns\n for (var _j3 = i + 2; _j3 < N; _j3++) {\n var n = divideScalar(arr[_j3][i], max);\n if (n === 0) {\n continue;\n }\n\n // from j-th row subtract n-times (i+1)th row\n for (var k = 0; k < N; k++) {\n arr[_j3][k] = subtract(arr[_j3][k], multiplyScalar(n, arr[i + 1][k]));\n }\n\n // to (i+1)th column add n-times j-th column\n for (var _k = 0; _k < N; _k++) {\n arr[_k][i + 1] = addScalar(arr[_k][i + 1], multiplyScalar(n, arr[_k][_j3]));\n }\n\n // keep track of transformations\n if (findVectors) {\n for (var _k2 = 0; _k2 < N; _k2++) {\n R[_j3][_k2] = subtract(R[_j3][_k2], multiplyScalar(n, R[i + 1][_k2]));\n }\n }\n }\n }\n return R;\n }\n\n /**\n * @returns {{values: values, C: Matrix}}\n * @see Press, Wiliams: Numerical recipes in Fortran 77\n * @see https://en.wikipedia.org/wiki/QR_algorithm\n */\n function iterateUntilTriangular(A, N, prec, type, findVectors) {\n var big = type === 'BigNumber';\n var cplx = type === 'Complex';\n var one = big ? bignumber(1) : cplx ? complex(1) : 1;\n if (big) {\n prec = bignumber(prec);\n }\n\n // The Francis Algorithm\n // The core idea of this algorithm is that doing successive\n // A' = Q⁺AQ transformations will eventually converge to block-\n // upper-triangular with diagonal blocks either 1x1 or 2x2.\n // The Q here is the one from the QR decomposition, A = QR.\n // Since the eigenvalues of a block-upper-triangular matrix are\n // the eigenvalues of its diagonal blocks and we know how to find\n // eigenvalues of a 2x2 matrix, we know the eigenvalues of A.\n\n var arr = clone(A);\n\n // the list of converged eigenvalues\n var lambdas = [];\n\n // size of arr, which will get smaller as eigenvalues converge\n var n = N;\n\n // the diagonal of the block-diagonal matrix that turns\n // converged 2x2 matrices into upper triangular matrices\n var Sdiag = [];\n\n // N×N matrix describing the overall transformation done during the QR algorithm\n var Qtotal = findVectors ? diag(Array(N).fill(one)) : undefined;\n\n // n×n matrix describing the QR transformations done since last convergence\n var Qpartial = findVectors ? diag(Array(n).fill(one)) : undefined;\n\n // last eigenvalue converged before this many steps\n var lastConvergenceBefore = 0;\n while (lastConvergenceBefore <= 100) {\n lastConvergenceBefore += 1;\n\n // TODO if the convergence is slow, do something clever\n\n // Perform the factorization\n\n var k = 0; // TODO set close to an eigenvalue\n\n for (var i = 0; i < n; i++) {\n arr[i][i] = subtract(arr[i][i], k);\n }\n\n // TODO do an implicit QR transformation\n var {\n Q,\n R\n } = qr(arr);\n arr = multiply(R, Q);\n for (var _i = 0; _i < n; _i++) {\n arr[_i][_i] = addScalar(arr[_i][_i], k);\n }\n\n // keep track of transformations\n if (findVectors) {\n Qpartial = multiply(Qpartial, Q);\n }\n\n // The rightmost diagonal element converged to an eigenvalue\n if (n === 1 || smaller(abs(arr[n - 1][n - 2]), prec)) {\n lastConvergenceBefore = 0;\n lambdas.push(arr[n - 1][n - 1]);\n\n // keep track of transformations\n if (findVectors) {\n Sdiag.unshift([[1]]);\n inflateMatrix(Qpartial, N);\n Qtotal = multiply(Qtotal, Qpartial);\n if (n > 1) {\n Qpartial = diag(Array(n - 1).fill(one));\n }\n }\n\n // reduce the matrix size\n n -= 1;\n arr.pop();\n for (var _i2 = 0; _i2 < n; _i2++) {\n arr[_i2].pop();\n }\n\n // The rightmost diagonal 2x2 block converged\n } else if (n === 2 || smaller(abs(arr[n - 2][n - 3]), prec)) {\n lastConvergenceBefore = 0;\n var ll = eigenvalues2x2(arr[n - 2][n - 2], arr[n - 2][n - 1], arr[n - 1][n - 2], arr[n - 1][n - 1]);\n lambdas.push(...ll);\n\n // keep track of transformations\n if (findVectors) {\n Sdiag.unshift(jordanBase2x2(arr[n - 2][n - 2], arr[n - 2][n - 1], arr[n - 1][n - 2], arr[n - 1][n - 1], ll[0], ll[1], prec, type));\n inflateMatrix(Qpartial, N);\n Qtotal = multiply(Qtotal, Qpartial);\n if (n > 2) {\n Qpartial = diag(Array(n - 2).fill(one));\n }\n }\n\n // reduce the matrix size\n n -= 2;\n arr.pop();\n arr.pop();\n for (var _i3 = 0; _i3 < n; _i3++) {\n arr[_i3].pop();\n arr[_i3].pop();\n }\n }\n if (n === 0) {\n break;\n }\n }\n\n // standard sorting\n lambdas.sort((a, b) => +subtract(abs(a), abs(b)));\n\n // the algorithm didn't converge\n if (lastConvergenceBefore > 100) {\n var err = Error('The eigenvalues failed to converge. Only found these eigenvalues: ' + lambdas.join(', '));\n err.values = lambdas;\n err.vectors = [];\n throw err;\n }\n\n // combine the overall QR transformation Qtotal with the subsequent\n // transformation S that turns the diagonal 2x2 blocks to upper triangular\n var C = findVectors ? multiply(Qtotal, blockDiag(Sdiag, N)) : undefined;\n return {\n values: lambdas,\n C\n };\n }\n\n /**\n * @param {Matrix} A hessenberg-form matrix\n * @param {number} N size of A\n * @param {Matrix} C column transformation matrix that turns A into upper triangular\n * @param {Matrix} R similarity that turns original matrix into A\n * @param {number[]} values array of eigenvalues of A\n * @param {'number'|'BigNumber'|'Complex'} type\n * @returns {number[][]} eigenvalues\n */\n function findEigenvectors(A, N, C, R, values, prec, type) {\n var Cinv = inv(C);\n var U = multiply(Cinv, A, C);\n var big = type === 'BigNumber';\n var cplx = type === 'Complex';\n var zero = big ? bignumber(0) : cplx ? complex(0) : 0;\n var one = big ? bignumber(1) : cplx ? complex(1) : 1;\n\n // turn values into a kind of \"multiset\"\n // this way it is easier to find eigenvectors\n var uniqueValues = [];\n var multiplicities = [];\n for (var λ of values) {\n var i = indexOf(uniqueValues, λ, equal);\n if (i === -1) {\n uniqueValues.push(λ);\n multiplicities.push(1);\n } else {\n multiplicities[i] += 1;\n }\n }\n\n // find eigenvectors by solving U − λE = 0\n // TODO replace with an iterative eigenvector algorithm\n // (this one might fail for imprecise eigenvalues)\n\n var vectors = [];\n var len = uniqueValues.length;\n var b = Array(N).fill(zero);\n var E = diag(Array(N).fill(one));\n\n // eigenvalues for which usolve failed (due to numerical error)\n var failedLambdas = [];\n var _loop = function _loop() {\n var λ = uniqueValues[_i4];\n var S = subtract(U, multiply(λ, E)); // the characteristic matrix\n\n var solutions = usolveAll(S, b);\n solutions.shift(); // ignore the null vector\n\n // looks like we missed something, try inverse iteration\n while (solutions.length < multiplicities[_i4]) {\n var approxVec = inverseIterate(S, N, solutions, prec, type);\n if (approxVec == null) {\n // no more vectors were found\n failedLambdas.push(λ);\n break;\n }\n solutions.push(approxVec);\n }\n\n // Transform back into original array coordinates\n var correction = multiply(inv(R), C);\n solutions = solutions.map(v => multiply(correction, v));\n vectors.push(...solutions.map(v => flatten(v)));\n };\n for (var _i4 = 0; _i4 < len; _i4++) {\n _loop();\n }\n if (failedLambdas.length !== 0) {\n var err = new Error('Failed to find eigenvectors for the following eigenvalues: ' + failedLambdas.join(', '));\n err.values = values;\n err.vectors = vectors;\n throw err;\n }\n return vectors;\n }\n\n /**\n * Compute the eigenvalues of an 2x2 matrix\n * @return {[number,number]}\n */\n function eigenvalues2x2(a, b, c, d) {\n // λ± = ½ trA ± ½ √( tr²A - 4 detA )\n var trA = addScalar(a, d);\n var detA = subtract(multiplyScalar(a, d), multiplyScalar(b, c));\n var x = multiplyScalar(trA, 0.5);\n var y = multiplyScalar(sqrt(subtract(multiplyScalar(trA, trA), multiplyScalar(4, detA))), 0.5);\n return [addScalar(x, y), subtract(x, y)];\n }\n\n /**\n * For an 2x2 matrix compute the transformation matrix S,\n * so that SAS⁻¹ is an upper triangular matrix\n * @return {[[number,number],[number,number]]}\n * @see https://math.berkeley.edu/~ogus/old/Math_54-05/webfoils/jordan.pdf\n * @see http://people.math.harvard.edu/~knill/teaching/math21b2004/exhibits/2dmatrices/index.html\n */\n function jordanBase2x2(a, b, c, d, l1, l2, prec, type) {\n var big = type === 'BigNumber';\n var cplx = type === 'Complex';\n var zero = big ? bignumber(0) : cplx ? complex(0) : 0;\n var one = big ? bignumber(1) : cplx ? complex(1) : 1;\n\n // matrix is already upper triangular\n // return an identity matrix\n if (smaller(abs(c), prec)) {\n return [[one, zero], [zero, one]];\n }\n\n // matrix is diagonalizable\n // return its eigenvectors as columns\n if (larger(abs(subtract(l1, l2)), prec)) {\n return [[subtract(l1, d), subtract(l2, d)], [c, c]];\n }\n\n // matrix is not diagonalizable\n // compute off-diagonal elements of N = A - λI\n // N₁₂ = 0 ⇒ S = ( N⃗₁, I⃗₁ )\n // N₁₂ ≠ 0 ⇒ S = ( N⃗₂, I⃗₂ )\n\n var na = subtract(a, l1);\n var nb = subtract(b, l1);\n var nc = subtract(c, l1);\n var nd = subtract(d, l1);\n if (smaller(abs(nb), prec)) {\n return [[na, one], [nc, zero]];\n } else {\n return [[nb, zero], [nd, one]];\n }\n }\n\n /**\n * Enlarge the matrix from n×n to N×N, setting the new\n * elements to 1 on diagonal and 0 elsewhere\n */\n function inflateMatrix(arr, N) {\n // add columns\n for (var i = 0; i < arr.length; i++) {\n arr[i].push(...Array(N - arr[i].length).fill(0));\n }\n\n // add rows\n for (var _i5 = arr.length; _i5 < N; _i5++) {\n arr.push(Array(N).fill(0));\n arr[_i5][_i5] = 1;\n }\n return arr;\n }\n\n /**\n * Create a block-diagonal matrix with the given square matrices on the diagonal\n * @param {Matrix[] | number[][][]} arr array of matrices to be placed on the diagonal\n * @param {number} N the size of the resulting matrix\n */\n function blockDiag(arr, N) {\n var M = [];\n for (var i = 0; i < N; i++) {\n M[i] = Array(N).fill(0);\n }\n var I = 0;\n for (var sub of arr) {\n var n = sub.length;\n for (var _i6 = 0; _i6 < n; _i6++) {\n for (var j = 0; j < n; j++) {\n M[I + _i6][I + j] = sub[_i6][j];\n }\n }\n I += n;\n }\n return M;\n }\n\n /**\n * Finds the index of an element in an array using a custom equality function\n * @template T\n * @param {Array} arr array in which to search\n * @param {T} el the element to find\n * @param {function(T, T): boolean} fn the equality function, first argument is an element of `arr`, the second is always `el`\n * @returns {number} the index of `el`, or -1 when it's not in `arr`\n */\n function indexOf(arr, el, fn) {\n for (var i = 0; i < arr.length; i++) {\n if (fn(arr[i], el)) {\n return i;\n }\n }\n return -1;\n }\n\n /**\n * Provided a near-singular upper-triangular matrix A and a list of vectors,\n * finds an eigenvector of A with the smallest eigenvalue, which is orthogonal\n * to each vector in the list\n * @template T\n * @param {T[][]} A near-singular square matrix\n * @param {number} N dimension\n * @param {T[][]} orthog list of vectors\n * @param {number} prec epsilon\n * @param {'number'|'BigNumber'|'Complex'} type\n * @return {T[] | null} eigenvector\n *\n * @see Numerical Recipes for Fortran 77 – 11.7 Eigenvalues or Eigenvectors by Inverse Iteration\n */\n function inverseIterate(A, N, orthog, prec, type) {\n var largeNum = type === 'BigNumber' ? bignumber(1000) : 1000;\n var b; // the vector\n\n // you better choose a random vector before I count to five\n var i = 0;\n while (true) {\n b = randomOrthogonalVector(N, orthog, type);\n b = usolve(A, b);\n if (larger(norm(b), largeNum)) {\n break;\n }\n if (++i >= 5) {\n return null;\n }\n }\n\n // you better converge before I count to ten\n i = 0;\n while (true) {\n var c = usolve(A, b);\n if (smaller(norm(orthogonalComplement(b, [c])), prec)) {\n break;\n }\n if (++i >= 10) {\n return null;\n }\n b = normalize(c);\n }\n return b;\n }\n\n /**\n * Generates a random unit vector of dimension N, orthogonal to each vector in the list\n * @template T\n * @param {number} N dimension\n * @param {T[][]} orthog list of vectors\n * @param {'number'|'BigNumber'|'Complex'} type\n * @returns {T[]} random vector\n */\n function randomOrthogonalVector(N, orthog, type) {\n var big = type === 'BigNumber';\n var cplx = type === 'Complex';\n\n // generate random vector with the correct type\n var v = Array(N).fill(0).map(_ => 2 * Math.random() - 1);\n if (big) {\n v = v.map(n => bignumber(n));\n }\n if (cplx) {\n v = v.map(n => complex(n));\n }\n\n // project to orthogonal complement\n v = orthogonalComplement(v, orthog);\n\n // normalize\n return normalize(v, type);\n }\n\n /**\n * Project vector v to the orthogonal complement of an array of vectors\n */\n function orthogonalComplement(v, orthog) {\n for (var w of orthog) {\n // v := v − (w, v)/∥w∥² w\n v = subtract(v, multiply(divideScalar(dot(w, v), dot(w, w)), w));\n }\n return v;\n }\n\n /**\n * Calculate the norm of a vector.\n * We can't use math.norm because factory can't handle circular dependency.\n * Seriously, I'm really fed up with factory.\n */\n function norm(v) {\n return abs(sqrt(dot(v, v)));\n }\n\n /**\n * Normalize a vector\n * @template T\n * @param {T[]} v\n * @param {'number'|'BigNumber'|'Complex'} type\n * @returns {T[]} normalized vec\n */\n function normalize(v, type) {\n var big = type === 'BigNumber';\n var cplx = type === 'Complex';\n var one = big ? bignumber(1) : cplx ? complex(1) : 1;\n return multiply(divideScalar(one, norm(v)), v);\n }\n return complexEigs;\n}","import { clone } from '../../../utils/object.js';\nexport function createRealSymmetric(_ref) {\n var {\n config,\n addScalar,\n subtract,\n abs,\n atan,\n cos,\n sin,\n multiplyScalar,\n inv,\n bignumber,\n multiply,\n add\n } = _ref;\n /**\n * @param {number[] | BigNumber[]} arr\n * @param {number} N\n * @param {number} prec\n * @param {'number' | 'BigNumber'} type\n */\n function main(arr, N) {\n var prec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : config.epsilon;\n var type = arguments.length > 3 ? arguments[3] : undefined;\n if (type === 'number') {\n return diag(arr, prec);\n }\n if (type === 'BigNumber') {\n return diagBig(arr, prec);\n }\n throw TypeError('Unsupported data type: ' + type);\n }\n\n // diagonalization implementation for number (efficient)\n function diag(x, precision) {\n var N = x.length;\n var e0 = Math.abs(precision / N);\n var psi;\n var Sij = new Array(N);\n // Sij is Identity Matrix\n for (var i = 0; i < N; i++) {\n Sij[i] = createArray(N, 0);\n Sij[i][i] = 1.0;\n }\n // initial error\n var Vab = getAij(x);\n while (Math.abs(Vab[1]) >= Math.abs(e0)) {\n var _i = Vab[0][0];\n var j = Vab[0][1];\n psi = getTheta(x[_i][_i], x[j][j], x[_i][j]);\n x = x1(x, psi, _i, j);\n Sij = Sij1(Sij, psi, _i, j);\n Vab = getAij(x);\n }\n var Ei = createArray(N, 0); // eigenvalues\n for (var _i2 = 0; _i2 < N; _i2++) {\n Ei[_i2] = x[_i2][_i2];\n }\n return sorting(clone(Ei), clone(Sij));\n }\n\n // diagonalization implementation for bigNumber\n function diagBig(x, precision) {\n var N = x.length;\n var e0 = abs(precision / N);\n var psi;\n var Sij = new Array(N);\n // Sij is Identity Matrix\n for (var i = 0; i < N; i++) {\n Sij[i] = createArray(N, 0);\n Sij[i][i] = 1.0;\n }\n // initial error\n var Vab = getAijBig(x);\n while (abs(Vab[1]) >= abs(e0)) {\n var _i3 = Vab[0][0];\n var j = Vab[0][1];\n psi = getThetaBig(x[_i3][_i3], x[j][j], x[_i3][j]);\n x = x1Big(x, psi, _i3, j);\n Sij = Sij1Big(Sij, psi, _i3, j);\n Vab = getAijBig(x);\n }\n var Ei = createArray(N, 0); // eigenvalues\n for (var _i4 = 0; _i4 < N; _i4++) {\n Ei[_i4] = x[_i4][_i4];\n }\n // return [clone(Ei), clone(Sij)]\n return sorting(clone(Ei), clone(Sij));\n }\n\n // get angle\n function getTheta(aii, ajj, aij) {\n var denom = ajj - aii;\n if (Math.abs(denom) <= config.epsilon) {\n return Math.PI / 4.0;\n } else {\n return 0.5 * Math.atan(2.0 * aij / (ajj - aii));\n }\n }\n\n // get angle\n function getThetaBig(aii, ajj, aij) {\n var denom = subtract(ajj, aii);\n if (abs(denom) <= config.epsilon) {\n return bignumber(-1).acos().div(4);\n } else {\n return multiplyScalar(0.5, atan(multiply(2.0, aij, inv(denom))));\n }\n }\n\n // update eigvec\n function Sij1(Sij, theta, i, j) {\n var N = Sij.length;\n var c = Math.cos(theta);\n var s = Math.sin(theta);\n var Ski = createArray(N, 0);\n var Skj = createArray(N, 0);\n for (var k = 0; k < N; k++) {\n Ski[k] = c * Sij[k][i] - s * Sij[k][j];\n Skj[k] = s * Sij[k][i] + c * Sij[k][j];\n }\n for (var _k = 0; _k < N; _k++) {\n Sij[_k][i] = Ski[_k];\n Sij[_k][j] = Skj[_k];\n }\n return Sij;\n }\n // update eigvec for overlap\n function Sij1Big(Sij, theta, i, j) {\n var N = Sij.length;\n var c = cos(theta);\n var s = sin(theta);\n var Ski = createArray(N, bignumber(0));\n var Skj = createArray(N, bignumber(0));\n for (var k = 0; k < N; k++) {\n Ski[k] = subtract(multiplyScalar(c, Sij[k][i]), multiplyScalar(s, Sij[k][j]));\n Skj[k] = addScalar(multiplyScalar(s, Sij[k][i]), multiplyScalar(c, Sij[k][j]));\n }\n for (var _k2 = 0; _k2 < N; _k2++) {\n Sij[_k2][i] = Ski[_k2];\n Sij[_k2][j] = Skj[_k2];\n }\n return Sij;\n }\n\n // update matrix\n function x1Big(Hij, theta, i, j) {\n var N = Hij.length;\n var c = bignumber(cos(theta));\n var s = bignumber(sin(theta));\n var c2 = multiplyScalar(c, c);\n var s2 = multiplyScalar(s, s);\n var Aki = createArray(N, bignumber(0));\n var Akj = createArray(N, bignumber(0));\n // 2cs Hij\n var csHij = multiply(bignumber(2), c, s, Hij[i][j]);\n // Aii\n var Aii = addScalar(subtract(multiplyScalar(c2, Hij[i][i]), csHij), multiplyScalar(s2, Hij[j][j]));\n var Ajj = add(multiplyScalar(s2, Hij[i][i]), csHij, multiplyScalar(c2, Hij[j][j]));\n // 0 to i\n for (var k = 0; k < N; k++) {\n Aki[k] = subtract(multiplyScalar(c, Hij[i][k]), multiplyScalar(s, Hij[j][k]));\n Akj[k] = addScalar(multiplyScalar(s, Hij[i][k]), multiplyScalar(c, Hij[j][k]));\n }\n // Modify Hij\n Hij[i][i] = Aii;\n Hij[j][j] = Ajj;\n Hij[i][j] = bignumber(0);\n Hij[j][i] = bignumber(0);\n // 0 to i\n for (var _k3 = 0; _k3 < N; _k3++) {\n if (_k3 !== i && _k3 !== j) {\n Hij[i][_k3] = Aki[_k3];\n Hij[_k3][i] = Aki[_k3];\n Hij[j][_k3] = Akj[_k3];\n Hij[_k3][j] = Akj[_k3];\n }\n }\n return Hij;\n }\n\n // update matrix\n function x1(Hij, theta, i, j) {\n var N = Hij.length;\n var c = Math.cos(theta);\n var s = Math.sin(theta);\n var c2 = c * c;\n var s2 = s * s;\n var Aki = createArray(N, 0);\n var Akj = createArray(N, 0);\n // Aii\n var Aii = c2 * Hij[i][i] - 2 * c * s * Hij[i][j] + s2 * Hij[j][j];\n var Ajj = s2 * Hij[i][i] + 2 * c * s * Hij[i][j] + c2 * Hij[j][j];\n // 0 to i\n for (var k = 0; k < N; k++) {\n Aki[k] = c * Hij[i][k] - s * Hij[j][k];\n Akj[k] = s * Hij[i][k] + c * Hij[j][k];\n }\n // Modify Hij\n Hij[i][i] = Aii;\n Hij[j][j] = Ajj;\n Hij[i][j] = 0;\n Hij[j][i] = 0;\n // 0 to i\n for (var _k4 = 0; _k4 < N; _k4++) {\n if (_k4 !== i && _k4 !== j) {\n Hij[i][_k4] = Aki[_k4];\n Hij[_k4][i] = Aki[_k4];\n Hij[j][_k4] = Akj[_k4];\n Hij[_k4][j] = Akj[_k4];\n }\n }\n return Hij;\n }\n\n // get max off-diagonal value from Upper Diagonal\n function getAij(Mij) {\n var N = Mij.length;\n var maxMij = 0;\n var maxIJ = [0, 1];\n for (var i = 0; i < N; i++) {\n for (var j = i + 1; j < N; j++) {\n if (Math.abs(maxMij) < Math.abs(Mij[i][j])) {\n maxMij = Math.abs(Mij[i][j]);\n maxIJ = [i, j];\n }\n }\n }\n return [maxIJ, maxMij];\n }\n\n // get max off-diagonal value from Upper Diagonal\n function getAijBig(Mij) {\n var N = Mij.length;\n var maxMij = 0;\n var maxIJ = [0, 1];\n for (var i = 0; i < N; i++) {\n for (var j = i + 1; j < N; j++) {\n if (abs(maxMij) < abs(Mij[i][j])) {\n maxMij = abs(Mij[i][j]);\n maxIJ = [i, j];\n }\n }\n }\n return [maxIJ, maxMij];\n }\n\n // sort results\n function sorting(E, S) {\n var N = E.length;\n var values = Array(N);\n var vectors = Array(N);\n for (var k = 0; k < N; k++) {\n vectors[k] = Array(N);\n }\n for (var i = 0; i < N; i++) {\n var minID = 0;\n var minE = E[0];\n for (var j = 0; j < E.length; j++) {\n if (abs(E[j]) < abs(minE)) {\n minID = j;\n minE = E[minID];\n }\n }\n values[i] = E.splice(minID, 1)[0];\n for (var _k5 = 0; _k5 < N; _k5++) {\n vectors[_k5][i] = S[_k5][minID];\n S[_k5].splice(minID, 1);\n }\n }\n return {\n values,\n vectors\n };\n }\n\n /**\n * Create an array of a certain size and fill all items with an initial value\n * @param {number} size\n * @param {number} value\n * @return {number[]}\n */\n function createArray(size, value) {\n // TODO: as soon as all browsers support Array.fill, use that instead (IE doesn't support it)\n var array = new Array(size);\n for (var i = 0; i < size; i++) {\n array[i] = value;\n }\n return array;\n }\n return main;\n}","import { factory } from '../../utils/factory.js';\nimport { format } from '../../utils/string.js';\nimport { createComplexEigs } from './eigs/complexEigs.js';\nimport { createRealSymmetric } from './eigs/realSymetric.js';\nimport { typeOf, isNumber, isBigNumber, isComplex, isFraction } from '../../utils/is.js';\nvar name = 'eigs';\n\n// The absolute state of math.js's dependency system:\nvar dependencies = ['config', 'typed', 'matrix', 'addScalar', 'equal', 'subtract', 'abs', 'atan', 'cos', 'sin', 'multiplyScalar', 'divideScalar', 'inv', 'bignumber', 'multiply', 'add', 'larger', 'column', 'flatten', 'number', 'complex', 'sqrt', 'diag', 'qr', 'usolve', 'usolveAll', 'im', 're', 'smaller', 'matrixFromColumns', 'dot'];\nexport var createEigs = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n config,\n typed,\n matrix,\n addScalar,\n subtract,\n equal,\n abs,\n atan,\n cos,\n sin,\n multiplyScalar,\n divideScalar,\n inv,\n bignumber,\n multiply,\n add,\n larger,\n column,\n flatten,\n number,\n complex,\n sqrt,\n diag,\n qr,\n usolve,\n usolveAll,\n im,\n re,\n smaller,\n matrixFromColumns,\n dot\n } = _ref;\n var doRealSymetric = createRealSymmetric({\n config,\n addScalar,\n subtract,\n column,\n flatten,\n equal,\n abs,\n atan,\n cos,\n sin,\n multiplyScalar,\n inv,\n bignumber,\n complex,\n multiply,\n add\n });\n var doComplexEigs = createComplexEigs({\n config,\n addScalar,\n subtract,\n multiply,\n multiplyScalar,\n flatten,\n divideScalar,\n sqrt,\n abs,\n bignumber,\n diag,\n qr,\n inv,\n usolve,\n usolveAll,\n equal,\n complex,\n larger,\n smaller,\n matrixFromColumns,\n dot\n });\n\n /**\n * Compute eigenvalues and eigenvectors of a matrix. The eigenvalues are sorted by their absolute value, ascending.\n * An eigenvalue with multiplicity k will be listed k times. The eigenvectors are returned as columns of a matrix –\n * the eigenvector that belongs to the j-th eigenvalue in the list (eg. `values[j]`) is the j-th column (eg. `column(vectors, j)`).\n * If the algorithm fails to converge, it will throw an error – in that case, however, you may still find useful information\n * in `err.values` and `err.vectors`.\n *\n * Syntax:\n *\n * math.eigs(x, [prec])\n *\n * Examples:\n *\n * const { eigs, multiply, column, transpose } = math\n * const H = [[5, 2.3], [2.3, 1]]\n * const ans = eigs(H) // returns {values: [E1,E2...sorted], vectors: [v1,v2.... corresponding vectors as columns]}\n * const E = ans.values\n * const U = ans.vectors\n * multiply(H, column(U, 0)) // returns multiply(E[0], column(U, 0))\n * const UTxHxU = multiply(transpose(U), H, U) // diagonalizes H\n * E[0] == UTxHxU[0][0] // returns true\n *\n * See also:\n *\n * inv\n *\n * @param {Array | Matrix} x Matrix to be diagonalized\n *\n * @param {number | BigNumber} [prec] Precision, default value: 1e-15\n * @return {{values: Array|Matrix, vectors: Array|Matrix}} Object containing an array of eigenvalues and a matrix with eigenvectors as columns.\n *\n */\n return typed('eigs', {\n Array: function Array(x) {\n var mat = matrix(x);\n return computeValuesAndVectors(mat);\n },\n 'Array, number|BigNumber': function ArrayNumberBigNumber(x, prec) {\n var mat = matrix(x);\n return computeValuesAndVectors(mat, prec);\n },\n Matrix: function Matrix(mat) {\n var {\n values,\n vectors\n } = computeValuesAndVectors(mat);\n return {\n values: matrix(values),\n vectors: matrix(vectors)\n };\n },\n 'Matrix, number|BigNumber': function MatrixNumberBigNumber(mat, prec) {\n var {\n values,\n vectors\n } = computeValuesAndVectors(mat, prec);\n return {\n values: matrix(values),\n vectors: matrix(vectors)\n };\n }\n });\n function computeValuesAndVectors(mat, prec) {\n if (prec === undefined) {\n prec = config.epsilon;\n }\n var size = mat.size();\n if (size.length !== 2 || size[0] !== size[1]) {\n throw new RangeError('Matrix must be square (size: ' + format(size) + ')');\n }\n var arr = mat.toArray();\n var N = size[0];\n if (isReal(arr, N, prec)) {\n coerceReal(arr, N);\n if (isSymmetric(arr, N, prec)) {\n var _type = coerceTypes(mat, arr, N);\n return doRealSymetric(arr, N, prec, _type);\n }\n }\n var type = coerceTypes(mat, arr, N);\n return doComplexEigs(arr, N, prec, type);\n }\n\n /** @return {boolean} */\n function isSymmetric(arr, N, prec) {\n for (var i = 0; i < N; i++) {\n for (var j = i; j < N; j++) {\n // TODO proper comparison of bignum and frac\n if (larger(bignumber(abs(subtract(arr[i][j], arr[j][i]))), prec)) {\n return false;\n }\n }\n }\n return true;\n }\n\n /** @return {boolean} */\n function isReal(arr, N, prec) {\n for (var i = 0; i < N; i++) {\n for (var j = 0; j < N; j++) {\n // TODO proper comparison of bignum and frac\n if (larger(bignumber(abs(im(arr[i][j]))), prec)) {\n return false;\n }\n }\n }\n return true;\n }\n function coerceReal(arr, N) {\n for (var i = 0; i < N; i++) {\n for (var j = 0; j < N; j++) {\n arr[i][j] = re(arr[i][j]);\n }\n }\n }\n\n /** @return {'number' | 'BigNumber' | 'Complex'} */\n function coerceTypes(mat, arr, N) {\n /** @type {string} */\n var type = mat.datatype();\n if (type === 'number' || type === 'BigNumber' || type === 'Complex') {\n return type;\n }\n var hasNumber = false;\n var hasBig = false;\n var hasComplex = false;\n for (var i = 0; i < N; i++) {\n for (var j = 0; j < N; j++) {\n var el = arr[i][j];\n if (isNumber(el) || isFraction(el)) {\n hasNumber = true;\n } else if (isBigNumber(el)) {\n hasBig = true;\n } else if (isComplex(el)) {\n hasComplex = true;\n } else {\n throw TypeError('Unsupported type in Matrix: ' + typeOf(el));\n }\n }\n }\n if (hasBig && hasComplex) {\n console.warn('Complex BigNumbers not supported, this operation will lose precission.');\n }\n if (hasComplex) {\n for (var _i = 0; _i < N; _i++) {\n for (var _j = 0; _j < N; _j++) {\n arr[_i][_j] = complex(arr[_i][_j]);\n }\n }\n return 'Complex';\n }\n if (hasBig) {\n for (var _i2 = 0; _i2 < N; _i2++) {\n for (var _j2 = 0; _j2 < N; _j2++) {\n arr[_i2][_j2] = bignumber(arr[_i2][_j2]);\n }\n }\n return 'BigNumber';\n }\n if (hasNumber) {\n for (var _i3 = 0; _i3 < N; _i3++) {\n for (var _j3 = 0; _j3 < N; _j3++) {\n arr[_i3][_j3] = number(arr[_i3][_j3]);\n }\n }\n return 'number';\n } else {\n throw TypeError('Matrix contains unsupported types only.');\n }\n }\n});","import { isInteger } from '../../utils/number.js';\nimport { product } from '../../utils/product.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'permutations';\nvar dependencies = ['typed', 'factorial'];\nexport var createPermutations = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n factorial\n } = _ref;\n /**\n * Compute the number of ways of obtaining an ordered subset of `k` elements\n * from a set of `n` elements.\n *\n * Permutations only takes integer arguments.\n * The following condition must be enforced: k <= n.\n *\n * Syntax:\n *\n * math.permutations(n)\n * math.permutations(n, k)\n *\n * Examples:\n *\n * math.permutations(5) // 120\n * math.permutations(5, 3) // 60\n *\n * See also:\n *\n * combinations, combinationsWithRep, factorial\n *\n * @param {number | BigNumber} n The number of objects in total\n * @param {number | BigNumber} [k] The number of objects in the subset\n * @return {number | BigNumber} The number of permutations\n */\n return typed(name, {\n 'number | BigNumber': factorial,\n 'number, number': function numberNumber(n, k) {\n if (!isInteger(n) || n < 0) {\n throw new TypeError('Positive integer value expected in function permutations');\n }\n if (!isInteger(k) || k < 0) {\n throw new TypeError('Positive integer value expected in function permutations');\n }\n if (k > n) {\n throw new TypeError('second argument k must be less than or equal to first argument n');\n }\n // Permute n objects, k at a time\n return product(n - k + 1, n);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(n, k) {\n var result, i;\n if (!isPositiveInteger(n) || !isPositiveInteger(k)) {\n throw new TypeError('Positive integer value expected in function permutations');\n }\n if (k.gt(n)) {\n throw new TypeError('second argument k must be less than or equal to first argument n');\n }\n var one = n.mul(0).add(1);\n result = one;\n for (i = n.minus(k).plus(1); i.lte(n); i = i.plus(1)) {\n result = result.times(i);\n }\n return result;\n }\n\n // TODO: implement support for collection in permutations\n });\n});\n\n/**\n * Test whether BigNumber n is a positive integer\n * @param {BigNumber} n\n * @returns {boolean} isPositiveInteger\n */\nfunction isPositiveInteger(n) {\n return n.isInteger() && n.gte(0);\n}","import Decimal from 'decimal.js';\nimport { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nimport { nearlyEqual } from '../../utils/number.js';\nimport { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nvar name = 'floor';\nvar dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];\nexport var createFloorNumber = /* #__PURE__ */factory(name, ['typed', 'config', 'round'], _ref => {\n var {\n typed,\n config,\n round\n } = _ref;\n return typed(name, {\n number: function number(x) {\n if (nearlyEqual(x, round(x), config.epsilon)) {\n return round(x);\n } else {\n return Math.floor(x);\n }\n },\n 'number, number': function numberNumber(x, n) {\n if (nearlyEqual(x, round(x, n), config.epsilon)) {\n return round(x, n);\n } else {\n var [number, exponent] = \"\".concat(x, \"e\").split('e');\n var result = Math.floor(Number(\"\".concat(number, \"e\").concat(Number(exponent) + n)));\n [number, exponent] = \"\".concat(result, \"e\").split('e');\n return Number(\"\".concat(number, \"e\").concat(Number(exponent) - n));\n }\n }\n });\n});\nexport var createFloor = /* #__PURE__ */factory(name, dependencies, _ref2 => {\n var {\n typed,\n config,\n round,\n matrix,\n equalScalar,\n zeros,\n DenseMatrix\n } = _ref2;\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n var floorNumber = createFloorNumber({\n typed,\n config,\n round\n });\n /**\n * Round a value towards minus infinity.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.floor(x)\n * math.floor(x, n)\n *\n * Examples:\n *\n * math.floor(3.2) // returns number 3\n * math.floor(3.8) // returns number 3\n * math.floor(-4.2) // returns number -5\n * math.floor(-4.7) // returns number -5\n *\n * math.floor(3.212, 2) // returns number 3.21\n * math.floor(3.288, 2) // returns number 3.28\n * math.floor(-4.212, 2) // returns number -4.22\n * math.floor(-4.782, 2) // returns number -4.79\n *\n * const c = math.complex(3.24, -2.71)\n * math.floor(c) // returns Complex 3 - 3i\n * math.floor(c, 1) // returns Complex 3.2 -2.8i\n *\n * math.floor([3.2, 3.8, -4.7]) // returns Array [3, 3, -5]\n * math.floor([3.21, 3.82, -4.71], 1) // returns Array [3.2, 3.8, -4.8]\n *\n * math.floor(math.tau, [2, 3]) // returns Array [6.28, 6.283]\n *\n * // Note that floor(array, array) currently not implemented.\n *\n * See also:\n *\n * ceil, fix, round\n *\n * @param {number | BigNumber | Fraction | Complex | Array | Matrix} x Number to be rounded\n * @param {number | BigNumber | Array} [n=0] Number of decimals\n * @return {number | BigNumber | Fraction | Complex | Array | Matrix} Rounded value\n */\n return typed('floor', {\n number: floorNumber.signatures.number,\n 'number,number': floorNumber.signatures['number,number'],\n Complex: function Complex(x) {\n return x.floor();\n },\n 'Complex, number': function ComplexNumber(x, n) {\n return x.floor(n);\n },\n 'Complex, BigNumber': function ComplexBigNumber(x, n) {\n return x.floor(n.toNumber());\n },\n BigNumber: function BigNumber(x) {\n if (bigNearlyEqual(x, round(x), config.epsilon)) {\n return round(x);\n } else {\n return x.floor();\n }\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, n) {\n if (bigNearlyEqual(x, round(x, n), config.epsilon)) {\n return round(x, n);\n } else {\n return x.toDecimalPlaces(n.toNumber(), Decimal.ROUND_FLOOR);\n }\n },\n Fraction: function Fraction(x) {\n return x.floor();\n },\n 'Fraction, number': function FractionNumber(x, n) {\n return x.floor(n);\n },\n 'Fraction, BigNumber': function FractionBigNumber(x, n) {\n return x.floor(n.toNumber());\n },\n 'Array | Matrix': typed.referToSelf(self => x => {\n // deep map collection, skip zeros since floor(0) = 0\n return deepMap(x, self, true);\n }),\n 'Array, number | BigNumber': typed.referToSelf(self => (x, n) => {\n // deep map collection, skip zeros since ceil(0) = 0\n return deepMap(x, i => self(i, n), true);\n }),\n 'SparseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n return matAlgo11xS0s(x, y, self, false);\n }),\n 'DenseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n return matAlgo14xDs(x, y, self, false);\n }),\n 'number | Complex | Fraction | BigNumber, Array': typed.referToSelf(self => (x, y) => {\n // use matrix implementation\n return matAlgo14xDs(matrix(y), x, self, true).valueOf();\n }),\n 'number | Complex | Fraction | BigNumber, Matrix': typed.referToSelf(self => (x, y) => {\n if (equalScalar(x, 0)) return zeros(y.size(), y.storage());\n if (y.storage() === 'dense') {\n return matAlgo14xDs(y, x, self, true);\n }\n return matAlgo12xSfs(y, x, self, true);\n })\n });\n});","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","import { factory } from '../../utils/factory.js';\nimport { createTrigUnit } from './trigUnit.js';\nvar name = 'sin';\nvar dependencies = ['typed'];\nexport var createSin = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n var trigUnit = createTrigUnit({\n typed\n });\n\n /**\n * Calculate the sine of a value.\n *\n * To avoid confusion with the matrix sine, this function does not apply\n * to matrices.\n *\n * Syntax:\n *\n * math.sin(x)\n *\n * Examples:\n *\n * math.sin(2) // returns number 0.9092974268256813\n * math.sin(math.pi / 4) // returns number 0.7071067811865475\n * math.sin(math.unit(90, 'deg')) // returns number 1\n * math.sin(math.unit(30, 'deg')) // returns number 0.5\n *\n * const angle = 0.2\n * math.pow(math.sin(angle), 2) + math.pow(math.cos(angle), 2) // returns number ~1\n *\n * See also:\n *\n * cos, tan\n *\n * @param {number | BigNumber | Complex | Unit} x Function input\n * @return {number | BigNumber | Complex} Sine of x\n */\n return typed(name, {\n number: Math.sin,\n 'Complex | BigNumber': x => x.sin()\n }, trigUnit);\n});","import { factory } from '../../utils/factory.js';\nimport { isMatrix } from '../../utils/is.js';\nimport { clone } from '../../utils/object.js';\nimport { validateIndex } from '../../utils/array.js';\nvar name = 'column';\nvar dependencies = ['typed', 'Index', 'matrix', 'range'];\nexport var createColumn = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n Index,\n matrix,\n range\n } = _ref;\n /**\n * Return a column from a Matrix.\n *\n * Syntax:\n *\n * math.column(value, index)\n *\n * Example:\n *\n * // get a column\n * const d = [[1, 2], [3, 4]]\n * math.column(d, 1) // returns [[2], [4]]\n *\n * See also:\n *\n * row\n *\n * @param {Array | Matrix } value An array or matrix\n * @param {number} column The index of the column\n * @return {Array | Matrix} The retrieved column\n */\n return typed(name, {\n 'Matrix, number': _column,\n 'Array, number': function ArrayNumber(value, column) {\n return _column(matrix(clone(value)), column).valueOf();\n }\n });\n\n /**\n * Retrieve a column of a matrix\n * @param {Matrix } value A matrix\n * @param {number} column The index of the column\n * @return {Matrix} The retrieved column\n */\n function _column(value, column) {\n // check dimensions\n if (value.size().length !== 2) {\n throw new Error('Only two dimensional matrix is supported');\n }\n validateIndex(column, value.size()[1]);\n var rowRange = range(0, value.size()[0]);\n var index = new Index(rowRange, column);\n var result = value.subset(index);\n return isMatrix(result) ? result : matrix([[result]]);\n }\n});","import { factory } from '../../utils/factory.js';\nimport { acotNumber } from '../../plain/number/index.js';\nvar name = 'acot';\nvar dependencies = ['typed', 'BigNumber'];\nexport var createAcot = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n BigNumber: _BigNumber\n } = _ref;\n /**\n * Calculate the inverse cotangent of a value, defined as `acot(x) = atan(1/x)`.\n *\n * To avoid confusion with the matrix arccotanget, this function does not\n * apply to matrices.\n *\n * Syntax:\n *\n * math.acot(x)\n *\n * Examples:\n *\n * math.acot(0.5) // returns number 1.1071487177940904\n * math.acot(2) // returns number 0.4636476090008061\n * math.acot(math.cot(1.5)) // returns number 1.5\n *\n * See also:\n *\n * cot, atan\n *\n * @param {number | BigNumber| Complex} x Function input\n * @return {number | BigNumber| Complex} The arc cotangent of x\n */\n return typed(name, {\n number: acotNumber,\n Complex: function Complex(x) {\n return x.acot();\n },\n BigNumber: function BigNumber(x) {\n return new _BigNumber(1).div(x).atan();\n }\n });\n});","function getSortingParams(table) {\r\n return {\r\n sortBy: table.$attrs['sort-by'] || table.sortBy,\r\n sortDesc: table.$attrs['sort-desc'] || table.sortDesc,\r\n }\r\n}\r\nexport function sortData(data, table) {\r\n const { sortBy, sortDesc } = getSortingParams(table)\r\n\r\n if (!sortBy) return data\r\n return [...data].sort((a, b) => {\r\n let aVal = getNestedValue(a, sortBy)\r\n let bVal = getNestedValue(b, sortBy)\r\n\r\n aVal = normalizeValue(aVal)\r\n bVal = normalizeValue(bVal)\r\n if (aVal === null && bVal !== null) return sortDesc ? 1 : -1\r\n if (bVal === null && aVal !== null) return sortDesc ? -1 : 1\r\n if (aVal === null && bVal === null) return 0\r\n if (sortDesc) {\r\n return aVal < bVal ? 1 : aVal > bVal ? -1 : 0\r\n }\r\n return aVal > bVal ? 1 : aVal < bVal ? -1 : 0\r\n })\r\n}\r\nfunction normalizeValue(value) {\r\n if (value === null || value === undefined) return null\r\n if (typeof value === 'string' && value.includes('/')) {\r\n const [part1, part2] = value.split('/').map((part) => Number(part.trim()))\r\n return part1 + part2 / 100\r\n }\r\n if (typeof value === 'string' && !isNaN(Date.parse(value))) {\r\n return new Date(value).getTime()\r\n }\r\n if (!isNaN(Number(value))) {\r\n return Number(value)\r\n }\r\n if (typeof value === 'string') {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n}\r\nfunction getNestedValue(obj, path) {\r\n return path.split('.').reduce((acc, key) => (acc && acc[key] !== undefined ? acc[key] : null), obj)\r\n}\r\n","import { deepMap } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'factorial';\nvar dependencies = ['typed', 'gamma'];\nexport var createFactorial = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n gamma\n } = _ref;\n /**\n * Compute the factorial of a value\n *\n * Factorial only supports an integer value as argument.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.factorial(n)\n *\n * Examples:\n *\n * math.factorial(5) // returns 120\n * math.factorial(3) // returns 6\n *\n * See also:\n *\n * combinations, combinationsWithRep, gamma, permutations\n *\n * @param {number | BigNumber | Array | Matrix} n An integer number\n * @return {number | BigNumber | Array | Matrix} The factorial of `n`\n */\n return typed(name, {\n number: function number(n) {\n if (n < 0) {\n throw new Error('Value must be non-negative');\n }\n return gamma(n + 1);\n },\n BigNumber: function BigNumber(n) {\n if (n.isNegative()) {\n throw new Error('Value must be non-negative');\n }\n return gamma(n.plus(1));\n },\n 'Array | Matrix': typed.referToSelf(self => n => deepMap(n, self))\n });\n});","export default function gapData(context, dataInicio, dataFim) {\r\n if (dataInicio > dataFim) {\r\n context.$message.error('Data final deve ser maior que a data inicial!')\r\n return false\r\n }\r\n return true\r\n}\r\n","import { isInteger } from '../../utils/number.js';\nvar n1 = 'number';\nexport function isIntegerNumber(x) {\n return isInteger(x);\n}\nisIntegerNumber.signature = n1;\nexport function isNegativeNumber(x) {\n return x < 0;\n}\nisNegativeNumber.signature = n1;\nexport function isPositiveNumber(x) {\n return x > 0;\n}\nisPositiveNumber.signature = n1;\nexport function isZeroNumber(x) {\n return x === 0;\n}\nisZeroNumber.signature = n1;\nexport function isNaNNumber(x) {\n return Number.isNaN(x);\n}\nisNaNNumber.signature = n1;","/*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W100 */\nvar cptable = {version:\"1.15.0\"};\ncptable[437] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[620] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[737] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[850] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[852] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[857] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[861] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[865] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[866] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[874] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[895] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[932] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[135] = \"����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[224] = \"����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[237] = \"����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[250] = \"����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[936] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nD[254] = \"����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[254].length; ++j) if(D[254][j].charCodeAt(0) !== 0xFFFD) { e[D[254][j]] = 65024 + j; d[65024 + j] = D[254][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[949] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[950] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[201] = \"����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[1250] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1251] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1252] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1253] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1254] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1255] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1256] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1257] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1258] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10000] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10006] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10007] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10008] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[176] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[10029] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10079] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10081] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[28591] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\n// eslint-disable-next-line no-undef\nif (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = cptable;\n/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ft=javascript: */\n/*jshint newcap: false */\n(function(root, factory) {\n /*jshint ignore:start */\n /*eslint-disable */\n \"use strict\";\n if(typeof cptable === \"undefined\") {\n if(typeof require !== \"undefined\"){\n var cpt = cptable;\n if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = factory(cpt);\n else root.cptable = factory(cpt);\n } else throw new Error(\"cptable not found\");\n } else cptable = factory(cptable);\n /*eslint-enable */\n /*jshint ignore:end */\n}(this, function(cpt){\n \"use strict\";\n /*global module, Buffer */\n var magic = {\n \"1200\":\"utf16le\",\n \"1201\":\"utf16be\",\n \"12000\":\"utf32le\",\n \"12001\":\"utf32be\",\n \"16969\":\"utf64le\",\n \"20127\":\"ascii\",\n \"65000\":\"utf7\",\n \"65001\":\"utf8\"\n };\n\n var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000];\n var dbcs_cache = [932,936,949,950];\n var magic_cache = [65001];\n var magic_decode = {};\n var magic_encode = {};\n var cpdcache = {};\n var cpecache = {};\n\n var sfcc = function sfcc(x) { return String.fromCharCode(x); };\n var cca = function cca(x) { return x.charCodeAt(0); };\n\n var has_buf = (typeof Buffer !== 'undefined');\n var Buffer_from = function(){};\n if(has_buf) {\n var nbfs = !Buffer.from;\n if(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n // $FlowIgnore\n if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n\n var mdl = 1024, mdb = Buffer.allocUnsafe(mdl);\n var make_EE = function make_EE(E){\n var EE = Buffer.allocUnsafe(65536);\n for(var i = 0; i < 65536;++i) EE[i] = 0;\n var keys = Object.keys(E), len = keys.length;\n for(var ee = 0, e = keys[ee]; ee < len; ++ee) {\n if(!(e = keys[ee])) continue;\n EE[e.charCodeAt(0)] = E[e];\n }\n return EE;\n };\n var sbcs_encode = function make_sbcs_encode(cp) {\n var EE = make_EE(cpt[cp].enc);\n return function sbcs_e(data, ofmt) {\n var len = data.length;\n var out, i=0, j=0, D=0, w=0;\n if(typeof data === 'string') {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)];\n } else if(Buffer.isBuffer(data)) {\n out = Buffer.allocUnsafe(2*len);\n j = 0;\n for(i = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) out[j++] = EE[D];\n else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; }\n else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; }\n else {\n w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3;\n if(w < 65536) out[j++] = EE[w];\n else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; }\n }\n }\n out = out.slice(0,j);\n } else {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)];\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var sbcs_decode = function make_sbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c=\"\";\n for(d=0;d>8;\n }\n return function sbcs_d(data) {\n var len = data.length, i=0, j=0;\n if(2 * len > mdl) { mdl = 2 * len; mdb = Buffer.allocUnsafe(mdl); }\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n }\n return mdb.slice(0, 2 * len).toString('ucs2');\n };\n };\n var dbcs_encode = function make_dbcs_encode(cp) {\n var E = cpt[cp].enc;\n var EE = Buffer.allocUnsafe(131072);\n for(var i = 0; i < 131072; ++i) EE[i] = 0;\n var keys = Object.keys(E);\n for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) {\n if(!(e = keys[ee])) continue;\n var f = e.charCodeAt(0);\n EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8;\n }\n return function dbcs_e(data, ofmt) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, jj=0, k=0, D=0;\n if(typeof data === 'string') {\n for(i = k = 0; i < len; ++i) {\n j = data.charCodeAt(i)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n out = out.slice(0,k);\n } else if(Buffer.isBuffer(data)) {\n for(i = k = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) j = D;\n else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; }\n else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; }\n else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; }\n if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; }\n else { jj = j-65536;\n j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n out = out.slice(0,k);\n } else {\n for(i = k = 0; i < len; i++) {\n j = data[i].charCodeAt(0)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var dbcs_decode = function make_dbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c, w=0, j=0, i=0;\n for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;}\n for(d = 0; d < D.length; ++d) {\n if(!(c=D[d])) continue;\n w = c.charCodeAt(0);\n j = 2*d;\n DD[j] = w&255; DD[j+1] = w>>8;\n }\n return function dbcs_d(data) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, k=0;\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n }\n return out.slice(0,k).toString('ucs2');\n };\n };\n magic_decode[65001] = function utf8_d(data) {\n if(typeof data === \"string\") return utf8_d(data.split(\"\").map(cca));\n var len = data.length, w = 0, ww = 0;\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n var i = 0;\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(var j = 1, k = 0, D = 0; i < len; i+=j) {\n j = 1; D = data[i];\n if(D < 128) w = D;\n else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; }\n else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255;\n }\n }\n return mdb.slice(0,k).toString('ucs2');\n };\n magic_encode[65001] = function utf8_e(data, ofmt) {\n if(has_buf && Buffer.isBuffer(data)) {\n if(!ofmt || ofmt === 'buf') return data;\n if(ofmt !== 'arr') return data.toString('binary');\n return [].slice.call(data);\n }\n var len = data.length, w = 0, ww = 0, j = 0;\n var direct = typeof data === \"string\";\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n for(var i = 0; i < len; ++i) {\n w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) mdb[j++] = w;\n else if(w <= 0x07FF) {\n mdb[j++] = 192 + (w >> 6);\n mdb[j++] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800; ++i;\n ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10);\n mdb[j++] = 240 + ((ww>>>18) & 0x07);\n mdb[j++] = 144 + ((ww>>>12) & 0x3F);\n mdb[j++] = 128 + ((ww>>>6) & 0x3F);\n mdb[j++] = 128 + (ww & 0x3F);\n } else {\n mdb[j++] = 224 + (w >> 12);\n mdb[j++] = 128 + ((w >> 6)&63);\n mdb[j++] = 128 + (w&63);\n }\n }\n if(!ofmt || ofmt === 'buf') return mdb.slice(0,j);\n if(ofmt !== 'arr') return mdb.slice(0,j).toString('binary');\n return [].slice.call(mdb, 0, j);\n };\n }\n\n var encache = function encache() {\n if(has_buf) {\n if(cpdcache[sbcs_cache[0]]) return;\n var i=0, s=0;\n for(i = 0; i < sbcs_cache.length; ++i) {\n s = sbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = sbcs_decode(s);\n cpecache[s] = sbcs_encode(s);\n }\n }\n for(i = 0; i < dbcs_cache.length; ++i) {\n s = dbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = dbcs_decode(s);\n cpecache[s] = dbcs_encode(s);\n }\n }\n for(i = 0; i < magic_cache.length; ++i) {\n s = magic_cache[i];\n if(magic_decode[s]) cpdcache[s] = magic_decode[s];\n if(magic_encode[s]) cpecache[s] = magic_encode[s];\n }\n }\n };\n var null_enc = function(data, ofmt) { void ofmt; return \"\"; };\n var cp_decache = function cp_decache(cp) { delete cpdcache[cp]; delete cpecache[cp]; };\n var decache = function decache() {\n if(has_buf) {\n if(!cpdcache[sbcs_cache[0]]) return;\n sbcs_cache.forEach(cp_decache);\n dbcs_cache.forEach(cp_decache);\n magic_cache.forEach(cp_decache);\n }\n last_enc = null_enc; last_cp = 0;\n };\n var cache = {\n encache: encache,\n decache: decache,\n sbcs: sbcs_cache,\n dbcs: dbcs_cache\n };\n\n encache();\n\n var BM = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var SetD = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?\";\n var last_enc = null_enc, last_cp = 0;\n var encode = function encode(cp, data, ofmt) {\n if(cp === last_cp && last_enc) { return last_enc(data, ofmt); }\n if(cpecache[cp]) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); }\n if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8');\n var len = data.length;\n var out = has_buf ? Buffer.allocUnsafe(4*len) : [], w=0, i=0, j = 0, ww=0;\n var C = cpt[cp], E, M = \"\";\n var isstr = typeof data === 'string';\n if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) {\n w = E[isstr? data.charAt(i) : data[i]];\n if(w > 255) {\n out[j] = w>>8;\n out[++j] = w&255;\n } else out[j] = w&255;\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else if(w <= 0x07FF) {\n out[j] = 192 + (w >> 6);\n out[++j] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800;\n ww = (isstr ? data.charCodeAt(++i) : data[++i].charCodeAt(0)) - 0xDC00 + (w << 10);\n out[j] = 240 + ((ww>>>18) & 0x07);\n out[++j] = 144 + ((ww>>>12) & 0x3F);\n out[++j] = 128 + ((ww>>>6) & 0x3F);\n out[++j] = 128 + (ww & 0x3F);\n } else {\n out[j] = 224 + (w >> 12);\n out[++j] = 128 + ((w >> 6)&63);\n out[++j] = 128 + (w&63);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else throw new Error(\"bad ascii \" + w);\n }\n break;\n case \"utf16le\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w&255;\n out[j++] = w>>8;\n }\n break;\n case \"utf16be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w>>8;\n out[j++] = w&255;\n }\n break;\n case \"utf32le\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255;\n }\n break;\n case \"utf32be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j+3] = w&255; w >>= 8;\n out[j+2] = w&255; w >>= 8;\n out[j+1] = w&255; w >>= 8;\n out[j] = w&255;\n j+=4;\n }\n break;\n case \"utf7\":\n for(i = 0; i < len; i++) {\n var c = isstr ? data.charAt(i) : data[i].charAt(0);\n if(c === \"+\") { out[j++] = 0x2b; out[j++] = 0x2d; continue; }\n if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; }\n var tt = encode(1201, c);\n out[j++] = 0x2b;\n out[j++] = BM.charCodeAt(tt[0]>>2);\n out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4));\n out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6));\n out[j++] = 0x2d;\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n out = out.slice(0,j);\n if(!has_buf) return (ofmt == 'str') ? (out).map(sfcc).join(\"\") : out;\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n var decode = function decode(cp, data) {\n var F; if((F=cpdcache[cp])) return F(data);\n if(typeof data === \"string\") return decode(cp, data.split(\"\").map(cca));\n var len = data.length, out = new Array(len), s=\"\", w=0, i=0, j=1, k=0, ww=0;\n var C = cpt[cp], D, M=\"\";\n if(C && (D=C.dec)) {\n for(i = 0; i < len; i+=j) {\n j = 2;\n s = D[(data[i]<<8)+ data[i+1]];\n if(!s) {\n j = 1;\n s = D[data[i]];\n }\n if(!s) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]);\n out[k++] = s;\n }\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(; i < len; i+=j) {\n j = 1;\n if(data[i] < 128) w = data[i];\n else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; }\n else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { out[k++] = String.fromCharCode(w); }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]);\n k = len; break;\n case \"utf16le\":\n if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2;\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]);\n }\n break;\n case \"utf16be\":\n if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2;\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]);\n }\n break;\n case \"utf32le\":\n if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] === 0 && data[3] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf32be\":\n if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] === 0 && data[0] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf7\":\n if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) {\n if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5;\n else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4;\n }\n for(; i < len; i+=j) {\n if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; }\n j=1;\n if(data[i+1] === 0x2d) { j = 2; out[k++] = \"+\"; continue; }\n // eslint-disable-next-line no-useless-escape\n while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\\/]/)) j++;\n var dash = 0;\n if(data[i+j] === 0x2d) { ++j; dash=1; }\n var tt = [];\n var o64 = \"\";\n var c1=0, c2=0, c3=0;\n var e1=0, e2=0, e3=0, e4=0;\n for(var l = 1; l < j - dash;) {\n e1 = BM.indexOf(String.fromCharCode(data[i+l++]));\n e2 = BM.indexOf(String.fromCharCode(data[i+l++]));\n c1 = e1 << 2 | e2 >> 4;\n tt.push(c1);\n e3 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e3 === -1) break;\n c2 = (e2 & 15) << 4 | e3 >> 2;\n tt.push(c2);\n e4 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e4 === -1) break;\n c3 = (e3 & 3) << 6 | e4;\n if(e4 < 64) tt.push(c3);\n }\n o64 = decode(1201, tt);\n for(l = 0; l < o64.length; ++l) out[k++] = o64.charAt(l);\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n return out.slice(0,k).join(\"\");\n };\n var hascp = function hascp(cp) { return !!(cpt[cp] || magic[cp]); };\n cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache };\n return cpt;\n}));\n","import { bitAndBigNumber } from '../../utils/bignumber/bitwise.js';\nimport { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo06xS0S0 } from '../../type/matrix/utils/matAlgo06xS0S0.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { bitAndNumber } from '../../plain/number/index.js';\nvar name = 'bitAnd';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'concat'];\nexport var createBitAnd = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n concat\n } = _ref;\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo06xS0S0 = createMatAlgo06xS0S0({\n typed,\n equalScalar\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Bitwise AND two values, `x & y`.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.bitAnd(x, y)\n *\n * Examples:\n *\n * math.bitAnd(53, 131) // returns number 1\n *\n * math.bitAnd([1, 12, 31], 42) // returns Array [0, 8, 10]\n *\n * See also:\n *\n * bitNot, bitOr, bitXor, leftShift, rightArithShift, rightLogShift\n *\n * @param {number | BigNumber | Array | Matrix} x First value to and\n * @param {number | BigNumber | Array | Matrix} y Second value to and\n * @return {number | BigNumber | Array | Matrix} AND of `x` and `y`\n */\n return typed(name, {\n 'number, number': bitAndNumber,\n 'BigNumber, BigNumber': bitAndBigNumber\n }, matrixAlgorithmSuite({\n SS: matAlgo06xS0S0,\n DS: matAlgo02xDS0,\n Ss: matAlgo11xS0s\n }));\n});","import { factory } from '../../../utils/factory.js';\nimport { createSolveValidation } from './utils/solveValidation.js';\nvar name = 'usolveAll';\nvar dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtractScalar', 'equalScalar', 'DenseMatrix'];\nexport var createUsolveAll = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n divideScalar,\n multiplyScalar,\n subtractScalar,\n equalScalar,\n DenseMatrix\n } = _ref;\n var solveValidation = createSolveValidation({\n DenseMatrix\n });\n\n /**\n * Finds all solutions of a linear equation system by backward substitution. Matrix must be an upper triangular matrix.\n *\n * `U * x = b`\n *\n * Syntax:\n *\n * math.usolveAll(U, b)\n *\n * Examples:\n *\n * const a = [[-2, 3], [2, 1]]\n * const b = [11, 9]\n * const x = usolveAll(a, b) // [ [[8], [9]] ]\n *\n * See also:\n *\n * usolve, lup, slu, usolve, lusolve\n *\n * @param {Matrix, Array} U A N x N matrix or array (U)\n * @param {Matrix, Array} b A column vector with the b values\n *\n * @return {DenseMatrix[] | Array[]} An array of affine-independent column vectors (x) that solve the linear system\n */\n return typed(name, {\n 'SparseMatrix, Array | Matrix': function SparseMatrixArrayMatrix(m, b) {\n return _sparseBackwardSubstitution(m, b);\n },\n 'DenseMatrix, Array | Matrix': function DenseMatrixArrayMatrix(m, b) {\n return _denseBackwardSubstitution(m, b);\n },\n 'Array, Array | Matrix': function ArrayArrayMatrix(a, b) {\n var m = matrix(a);\n var R = _denseBackwardSubstitution(m, b);\n return R.map(r => r.valueOf());\n }\n });\n function _denseBackwardSubstitution(m, b_) {\n // the algorithm is derived from\n // https://www.overleaf.com/read/csvgqdxggyjv\n\n // array of right-hand sides\n var B = [solveValidation(m, b_, true)._data.map(e => e[0])];\n var M = m._data;\n var rows = m._size[0];\n var columns = m._size[1];\n\n // loop columns backwards\n for (var i = columns - 1; i >= 0; i--) {\n var L = B.length;\n\n // loop right-hand sides\n for (var k = 0; k < L; k++) {\n var b = B[k];\n if (!equalScalar(M[i][i], 0)) {\n // non-singular row\n\n b[i] = divideScalar(b[i], M[i][i]);\n for (var j = i - 1; j >= 0; j--) {\n // b[j] -= b[i] * M[j,i]\n b[j] = subtractScalar(b[j], multiplyScalar(b[i], M[j][i]));\n }\n } else if (!equalScalar(b[i], 0)) {\n // singular row, nonzero RHS\n\n if (k === 0) {\n // There is no valid solution\n return [];\n } else {\n // This RHS is invalid but other solutions may still exist\n B.splice(k, 1);\n k -= 1;\n L -= 1;\n }\n } else if (k === 0) {\n // singular row, RHS is zero\n\n var bNew = [...b];\n bNew[i] = 1;\n for (var _j = i - 1; _j >= 0; _j--) {\n bNew[_j] = subtractScalar(bNew[_j], M[_j][i]);\n }\n B.push(bNew);\n }\n }\n }\n return B.map(x => new DenseMatrix({\n data: x.map(e => [e]),\n size: [rows, 1]\n }));\n }\n function _sparseBackwardSubstitution(m, b_) {\n // array of right-hand sides\n var B = [solveValidation(m, b_, true)._data.map(e => e[0])];\n var rows = m._size[0];\n var columns = m._size[1];\n var values = m._values;\n var index = m._index;\n var ptr = m._ptr;\n\n // loop columns backwards\n for (var i = columns - 1; i >= 0; i--) {\n var L = B.length;\n\n // loop right-hand sides\n for (var k = 0; k < L; k++) {\n var b = B[k];\n\n // values & indices (column i)\n var iValues = [];\n var iIndices = [];\n\n // first & last indeces in column\n var firstIndex = ptr[i];\n var lastIndex = ptr[i + 1];\n\n // find the value at [i, i]\n var Mii = 0;\n for (var j = lastIndex - 1; j >= firstIndex; j--) {\n var J = index[j];\n // check row\n if (J === i) {\n Mii = values[j];\n } else if (J < i) {\n // store upper triangular\n iValues.push(values[j]);\n iIndices.push(J);\n }\n }\n if (!equalScalar(Mii, 0)) {\n // non-singular row\n\n b[i] = divideScalar(b[i], Mii);\n\n // loop upper triangular\n for (var _j2 = 0, _lastIndex = iIndices.length; _j2 < _lastIndex; _j2++) {\n var _J = iIndices[_j2];\n b[_J] = subtractScalar(b[_J], multiplyScalar(b[i], iValues[_j2]));\n }\n } else if (!equalScalar(b[i], 0)) {\n // singular row, nonzero RHS\n\n if (k === 0) {\n // There is no valid solution\n return [];\n } else {\n // This RHS is invalid but other solutions may still exist\n B.splice(k, 1);\n k -= 1;\n L -= 1;\n }\n } else if (k === 0) {\n // singular row, RHS is zero\n\n var bNew = [...b];\n bNew[i] = 1;\n\n // loop upper triangular\n for (var _j3 = 0, _lastIndex2 = iIndices.length; _j3 < _lastIndex2; _j3++) {\n var _J2 = iIndices[_j3];\n bNew[_J2] = subtractScalar(bNew[_J2], iValues[_j3]);\n }\n B.push(bNew);\n }\n }\n }\n return B.map(x => new DenseMatrix({\n data: x.map(e => [e]),\n size: [rows, 1]\n }));\n }\n});","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoRentabilidadeRetrato.vue?vue&type=style&index=0&id=52a8c93a&prod&lang=css\"","export var printTemplate = /\\$([\\w.]+)/g;","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","import { factory } from '../../utils/factory.js';\nimport { isMatrix } from '../../utils/is.js';\nvar name = 'dot';\nvar dependencies = ['typed', 'addScalar', 'multiplyScalar', 'conj', 'size'];\nexport var createDot = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n addScalar,\n multiplyScalar,\n conj,\n size\n } = _ref;\n /**\n * Calculate the dot product of two vectors. The dot product of\n * `A = [a1, a2, ..., an]` and `B = [b1, b2, ..., bn]` is defined as:\n *\n * dot(A, B) = conj(a1) * b1 + conj(a2) * b2 + ... + conj(an) * bn\n *\n * Syntax:\n *\n * math.dot(x, y)\n *\n * Examples:\n *\n * math.dot([2, 4, 1], [2, 2, 3]) // returns number 15\n * math.multiply([2, 4, 1], [2, 2, 3]) // returns number 15\n *\n * See also:\n *\n * multiply, cross\n *\n * @param {Array | Matrix} x First vector\n * @param {Array | Matrix} y Second vector\n * @return {number} Returns the dot product of `x` and `y`\n */\n return typed(name, {\n 'Array | DenseMatrix, Array | DenseMatrix': _denseDot,\n 'SparseMatrix, SparseMatrix': _sparseDot\n });\n function _validateDim(x, y) {\n var xSize = _size(x);\n var ySize = _size(y);\n var xLen, yLen;\n if (xSize.length === 1) {\n xLen = xSize[0];\n } else if (xSize.length === 2 && xSize[1] === 1) {\n xLen = xSize[0];\n } else {\n throw new RangeError('Expected a column vector, instead got a matrix of size (' + xSize.join(', ') + ')');\n }\n if (ySize.length === 1) {\n yLen = ySize[0];\n } else if (ySize.length === 2 && ySize[1] === 1) {\n yLen = ySize[0];\n } else {\n throw new RangeError('Expected a column vector, instead got a matrix of size (' + ySize.join(', ') + ')');\n }\n if (xLen !== yLen) throw new RangeError('Vectors must have equal length (' + xLen + ' != ' + yLen + ')');\n if (xLen === 0) throw new RangeError('Cannot calculate the dot product of empty vectors');\n return xLen;\n }\n function _denseDot(a, b) {\n var N = _validateDim(a, b);\n var adata = isMatrix(a) ? a._data : a;\n var adt = isMatrix(a) ? a._datatype : undefined;\n var bdata = isMatrix(b) ? b._data : b;\n var bdt = isMatrix(b) ? b._datatype : undefined;\n\n // are these 2-dimensional column vectors? (as opposed to 1-dimensional vectors)\n var aIsColumn = _size(a).length === 2;\n var bIsColumn = _size(b).length === 2;\n var add = addScalar;\n var mul = multiplyScalar;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n var dt = adt;\n // find signatures that matches (dt, dt)\n add = typed.find(addScalar, [dt, dt]);\n mul = typed.find(multiplyScalar, [dt, dt]);\n }\n\n // both vectors 1-dimensional\n if (!aIsColumn && !bIsColumn) {\n var c = mul(conj(adata[0]), bdata[0]);\n for (var i = 1; i < N; i++) {\n c = add(c, mul(conj(adata[i]), bdata[i]));\n }\n return c;\n }\n\n // a is 1-dim, b is column\n if (!aIsColumn && bIsColumn) {\n var _c = mul(conj(adata[0]), bdata[0][0]);\n for (var _i = 1; _i < N; _i++) {\n _c = add(_c, mul(conj(adata[_i]), bdata[_i][0]));\n }\n return _c;\n }\n\n // a is column, b is 1-dim\n if (aIsColumn && !bIsColumn) {\n var _c2 = mul(conj(adata[0][0]), bdata[0]);\n for (var _i2 = 1; _i2 < N; _i2++) {\n _c2 = add(_c2, mul(conj(adata[_i2][0]), bdata[_i2]));\n }\n return _c2;\n }\n\n // both vectors are column\n if (aIsColumn && bIsColumn) {\n var _c3 = mul(conj(adata[0][0]), bdata[0][0]);\n for (var _i3 = 1; _i3 < N; _i3++) {\n _c3 = add(_c3, mul(conj(adata[_i3][0]), bdata[_i3][0]));\n }\n return _c3;\n }\n }\n function _sparseDot(x, y) {\n _validateDim(x, y);\n var xindex = x._index;\n var xvalues = x._values;\n var yindex = y._index;\n var yvalues = y._values;\n\n // TODO optimize add & mul using datatype\n var c = 0;\n var add = addScalar;\n var mul = multiplyScalar;\n var i = 0;\n var j = 0;\n while (i < xindex.length && j < yindex.length) {\n var I = xindex[i];\n var J = yindex[j];\n if (I < J) {\n i++;\n continue;\n }\n if (I > J) {\n j++;\n continue;\n }\n if (I === J) {\n c = add(c, mul(xvalues[i], yvalues[j]));\n i++;\n j++;\n }\n }\n return c;\n }\n\n // TODO remove this once #1771 is fixed\n function _size(x) {\n return isMatrix(x) ? x.size() : size(x);\n }\n});","import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nimport { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js';\nimport { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';\nimport { createMatAlgo08xS0Sid } from '../../type/matrix/utils/matAlgo08xS0Sid.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { createUseMatrixForArrayScalar } from './useMatrixForArrayScalar.js';\nimport { leftShiftNumber } from '../../plain/number/index.js';\nimport { leftShiftBigNumber } from '../../utils/bignumber/bitwise.js';\nvar name = 'leftShift';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix', 'concat'];\nexport var createLeftShift = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n zeros,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo01xDSid = createMatAlgo01xDSid({\n typed\n });\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo08xS0Sid = createMatAlgo08xS0Sid({\n typed,\n equalScalar\n });\n var matAlgo10xSids = createMatAlgo10xSids({\n typed,\n DenseMatrix\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var useMatrixForArrayScalar = createUseMatrixForArrayScalar({\n typed,\n matrix\n });\n\n /**\n * Bitwise left logical shift of a value x by y number of bits, `x << y`.\n * For matrices, the function is evaluated element wise.\n * For units, the function is evaluated on the best prefix base.\n *\n * Syntax:\n *\n * math.leftShift(x, y)\n *\n * Examples:\n *\n * math.leftShift(1, 2) // returns number 4\n *\n * math.leftShift([1, 2, 4], 4) // returns Array [16, 32, 64]\n *\n * See also:\n *\n * leftShift, bitNot, bitOr, bitXor, rightArithShift, rightLogShift\n *\n * @param {number | BigNumber | Array | Matrix} x Value to be shifted\n * @param {number | BigNumber} y Amount of shifts\n * @return {number | BigNumber | Array | Matrix} `x` shifted left `y` times\n */\n return typed(name, {\n 'number, number': leftShiftNumber,\n 'BigNumber, BigNumber': leftShiftBigNumber,\n 'SparseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(y, 0)) {\n return x.clone();\n }\n return matAlgo11xS0s(x, y, self, false);\n }),\n 'DenseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(y, 0)) {\n return x.clone();\n }\n return matAlgo14xDs(x, y, self, false);\n }),\n 'number | BigNumber, SparseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(x, 0)) {\n return zeros(y.size(), y.storage());\n }\n return matAlgo10xSids(y, x, self, true);\n }),\n 'number | BigNumber, DenseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(x, 0)) {\n return zeros(y.size(), y.storage());\n }\n return matAlgo14xDs(y, x, self, true);\n })\n }, useMatrixForArrayScalar, matrixAlgorithmSuite({\n SS: matAlgo08xS0Sid,\n DS: matAlgo01xDSid,\n SD: matAlgo02xDS0\n }));\n});","/* eslint-disable no-loss-of-precision */\n\nimport { isInteger } from '../../utils/number.js';\nimport { product } from '../../utils/product.js';\nexport function gammaNumber(n) {\n var x;\n if (isInteger(n)) {\n if (n <= 0) {\n return isFinite(n) ? Infinity : NaN;\n }\n if (n > 171) {\n return Infinity; // Will overflow\n }\n\n return product(1, n - 1);\n }\n if (n < 0.5) {\n return Math.PI / (Math.sin(Math.PI * n) * gammaNumber(1 - n));\n }\n if (n >= 171.35) {\n return Infinity; // will overflow\n }\n\n if (n > 85.0) {\n // Extended Stirling Approx\n var twoN = n * n;\n var threeN = twoN * n;\n var fourN = threeN * n;\n var fiveN = fourN * n;\n return Math.sqrt(2 * Math.PI / n) * Math.pow(n / Math.E, n) * (1 + 1 / (12 * n) + 1 / (288 * twoN) - 139 / (51840 * threeN) - 571 / (2488320 * fourN) + 163879 / (209018880 * fiveN) + 5246819 / (75246796800 * fiveN * n));\n }\n --n;\n x = gammaP[0];\n for (var i = 1; i < gammaP.length; ++i) {\n x += gammaP[i] / (n + i);\n }\n var t = n + gammaG + 0.5;\n return Math.sqrt(2 * Math.PI) * Math.pow(t, n + 0.5) * Math.exp(-t) * x;\n}\ngammaNumber.signature = 'number';\n\n// TODO: comment on the variables g and p\n\nexport var gammaG = 4.7421875;\nexport var gammaP = [0.99999999999999709182, 57.156235665862923517, -59.597960355475491248, 14.136097974741747174, -0.49191381609762019978, 0.33994649984811888699e-4, 0.46523628927048575665e-4, -0.98374475304879564677e-4, 0.15808870322491248884e-3, -0.21026444172410488319e-3, 0.21743961811521264320e-3, -0.16431810653676389022e-3, 0.84418223983852743293e-4, -0.26190838401581408670e-4, 0.36899182659531622704e-5];\n\n// lgamma implementation ref: https://mrob.com/pub/ries/lanczos-gamma.html#code\n\n// log(2 * pi) / 2\nexport var lnSqrt2PI = 0.91893853320467274178;\nexport var lgammaG = 5; // Lanczos parameter \"g\"\nexport var lgammaN = 7; // Range of coefficients \"n\"\n\nexport var lgammaSeries = [1.000000000190015, 76.18009172947146, -86.50532032941677, 24.01409824083091, -1.231739572450155, 0.1208650973866179e-2, -0.5395239384953e-5];\nexport function lgammaNumber(n) {\n if (n < 0) return NaN;\n if (n === 0) return Infinity;\n if (!isFinite(n)) return n;\n if (n < 0.5) {\n // Use Euler's reflection formula:\n // gamma(z) = PI / (sin(PI * z) * gamma(1 - z))\n return Math.log(Math.PI / Math.sin(Math.PI * n)) - lgammaNumber(1 - n);\n }\n\n // Compute the logarithm of the Gamma function using the Lanczos method\n\n n = n - 1;\n var base = n + lgammaG + 0.5; // Base of the Lanczos exponential\n var sum = lgammaSeries[0];\n\n // We start with the terms that have the smallest coefficients and largest denominator\n for (var i = lgammaN - 1; i >= 1; i--) {\n sum += lgammaSeries[i] / (n + i);\n }\n return lnSqrt2PI + (n + 0.5) * Math.log(base) - base + Math.log(sum);\n}\nlgammaNumber.signature = 'number';","import { clone } from '../../utils/object.js';\nimport { format } from '../../utils/string.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'transpose';\nvar dependencies = ['typed', 'matrix'];\nexport var createTranspose = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix\n } = _ref;\n /**\n * Transpose a matrix. All values of the matrix are reflected over its\n * main diagonal. Only applicable to two dimensional matrices containing\n * a vector (i.e. having size `[1,n]` or `[n,1]`). One dimensional\n * vectors and scalars return the input unchanged.\n *\n * Syntax:\n *\n * math.transpose(x)\n *\n * Examples:\n *\n * const A = [[1, 2, 3], [4, 5, 6]]\n * math.transpose(A) // returns [[1, 4], [2, 5], [3, 6]]\n *\n * See also:\n *\n * diag, inv, subset, squeeze\n *\n * @param {Array | Matrix} x Matrix to be transposed\n * @return {Array | Matrix} The transposed matrix\n */\n return typed(name, {\n Array: x => transposeMatrix(matrix(x)).valueOf(),\n Matrix: transposeMatrix,\n any: clone // scalars\n });\n\n function transposeMatrix(x) {\n // matrix size\n var size = x.size();\n\n // result\n var c;\n\n // process dimensions\n switch (size.length) {\n case 1:\n // vector\n c = x.clone();\n break;\n case 2:\n {\n // rows and columns\n var rows = size[0];\n var columns = size[1];\n\n // check columns\n if (columns === 0) {\n // throw exception\n throw new RangeError('Cannot transpose a 2D matrix with no columns (size: ' + format(size) + ')');\n }\n\n // process storage format\n switch (x.storage()) {\n case 'dense':\n c = _denseTranspose(x, rows, columns);\n break;\n case 'sparse':\n c = _sparseTranspose(x, rows, columns);\n break;\n }\n }\n break;\n default:\n // multi dimensional\n throw new RangeError('Matrix must be a vector or two dimensional (size: ' + format(size) + ')');\n }\n return c;\n }\n function _denseTranspose(m, rows, columns) {\n // matrix array\n var data = m._data;\n // transposed matrix data\n var transposed = [];\n var transposedRow;\n // loop columns\n for (var j = 0; j < columns; j++) {\n // initialize row\n transposedRow = transposed[j] = [];\n // loop rows\n for (var i = 0; i < rows; i++) {\n // set data\n transposedRow[i] = clone(data[i][j]);\n }\n }\n // return matrix\n return m.createDenseMatrix({\n data: transposed,\n size: [columns, rows],\n datatype: m._datatype\n });\n }\n function _sparseTranspose(m, rows, columns) {\n // matrix arrays\n var values = m._values;\n var index = m._index;\n var ptr = m._ptr;\n // result matrices\n var cvalues = values ? [] : undefined;\n var cindex = [];\n var cptr = [];\n // row counts\n var w = [];\n for (var x = 0; x < rows; x++) {\n w[x] = 0;\n }\n // vars\n var p, l, j;\n // loop values in matrix\n for (p = 0, l = index.length; p < l; p++) {\n // number of values in row\n w[index[p]]++;\n }\n // cumulative sum\n var sum = 0;\n // initialize cptr with the cummulative sum of row counts\n for (var i = 0; i < rows; i++) {\n // update cptr\n cptr.push(sum);\n // update sum\n sum += w[i];\n // update w\n w[i] = cptr[i];\n }\n // update cptr\n cptr.push(sum);\n // loop columns\n for (j = 0; j < columns; j++) {\n // values & index in column\n for (var k0 = ptr[j], k1 = ptr[j + 1], k = k0; k < k1; k++) {\n // C values & index\n var q = w[index[k]]++;\n // C[j, i] = A[i, j]\n cindex[q] = j;\n // check we need to process values (pattern matrix)\n if (values) {\n cvalues[q] = clone(values[k]);\n }\n }\n }\n // return matrix\n return m.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [columns, rows],\n datatype: m._datatype\n });\n }\n});","import { factory } from '../../utils/factory.js';\nimport { sinhNumber } from '../../plain/number/index.js';\nvar name = 'sinh';\nvar dependencies = ['typed'];\nexport var createSinh = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Calculate the hyperbolic sine of a value,\n * defined as `sinh(x) = 1/2 * (exp(x) - exp(-x))`.\n *\n * To avoid confusion with the matrix hyperbolic sine, this function does\n * not apply to matrices.\n *\n * Syntax:\n *\n * math.sinh(x)\n *\n * Examples:\n *\n * math.sinh(0.5) // returns number 0.5210953054937474\n *\n * See also:\n *\n * cosh, tanh\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic sine of x\n */\n return typed(name, {\n number: sinhNumber,\n 'Complex | BigNumber': x => x.sinh()\n });\n});","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';\nimport { nearlyEqual } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { createCompareUnits } from './compareUnits.js';\nvar name = 'largerEq';\nvar dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];\nexport var createLargerEq = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo07xSSf = createMatAlgo07xSSf({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var compareUnits = createCompareUnits({\n typed\n });\n\n /**\n * Test whether value x is larger or equal to y.\n *\n * The function returns true when x is larger than y or the relative\n * difference between x and y is smaller than the configured epsilon. The\n * function cannot be used to compare values smaller than approximately 2.22e-16.\n *\n * For matrices, the function is evaluated element wise.\n * Strings are compared by their numerical value.\n *\n * Syntax:\n *\n * math.largerEq(x, y)\n *\n * Examples:\n *\n * math.larger(2, 1 + 1) // returns false\n * math.largerEq(2, 1 + 1) // returns true\n *\n * See also:\n *\n * equal, unequal, smaller, smallerEq, larger, compare\n *\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} x First value to compare\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} y Second value to compare\n * @return {boolean | Array | Matrix} Returns true when the x is larger or equal to y, else returns false\n */\n return typed(name, createLargerEqNumber({\n typed,\n config\n }), {\n 'boolean, boolean': (x, y) => x >= y,\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.gte(y) || bigNearlyEqual(x, y, config.epsilon);\n },\n 'Fraction, Fraction': (x, y) => x.compare(y) !== -1,\n 'Complex, Complex': function ComplexComplex() {\n throw new TypeError('No ordering relation is defined for complex numbers');\n }\n }, compareUnits, matrixAlgorithmSuite({\n SS: matAlgo07xSSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n});\nexport var createLargerEqNumber = /* #__PURE__ */factory(name, ['typed', 'config'], _ref2 => {\n var {\n typed,\n config\n } = _ref2;\n return typed(name, {\n 'number, number': function numberNumber(x, y) {\n return x >= y || nearlyEqual(x, y, config.epsilon);\n }\n });\n});","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return stringSlice(that, index, index + search.length) === search;\n }\n});\n","import { factory } from '../../utils/factory.js';\nimport { isInteger } from '../../utils/number.js';\nimport { product } from '../../utils/product.js';\nvar name = 'combinationsWithRep';\nvar dependencies = ['typed'];\nexport var createCombinationsWithRep = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Compute the number of ways of picking `k` unordered outcomes from `n`\n * possibilities, allowing individual outcomes to be repeated more than once.\n *\n * CombinationsWithRep only takes integer arguments.\n * The following condition must be enforced: k <= n + k -1.\n *\n * Syntax:\n *\n * math.combinationsWithRep(n, k)\n *\n * Examples:\n *\n * math.combinationsWithRep(7, 5) // returns 462\n *\n * See also:\n *\n * combinations, permutations, factorial\n *\n * @param {number | BigNumber} n Total number of objects in the set\n * @param {number | BigNumber} k Number of objects in the subset\n * @return {number | BigNumber} Number of possible combinations with replacement.\n */\n return typed(name, {\n 'number, number': function numberNumber(n, k) {\n if (!isInteger(n) || n < 0) {\n throw new TypeError('Positive integer value expected in function combinationsWithRep');\n }\n if (!isInteger(k) || k < 0) {\n throw new TypeError('Positive integer value expected in function combinationsWithRep');\n }\n if (n < 1) {\n throw new TypeError('k must be less than or equal to n + k - 1');\n }\n if (k < n - 1) {\n var _prodrange = product(n, n + k - 1);\n return _prodrange / product(1, k);\n }\n var prodrange = product(k + 1, n + k - 1);\n return prodrange / product(1, n - 1);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(n, k) {\n var BigNumber = n.constructor;\n var result, i;\n var one = new BigNumber(1);\n var nMinusOne = n.minus(one);\n if (!isPositiveInteger(n) || !isPositiveInteger(k)) {\n throw new TypeError('Positive integer value expected in function combinationsWithRep');\n }\n if (n.lt(one)) {\n throw new TypeError('k must be less than or equal to n + k - 1 in function combinationsWithRep');\n }\n result = one;\n if (k.lt(nMinusOne)) {\n for (i = one; i.lte(nMinusOne); i = i.plus(one)) {\n result = result.times(k.plus(i)).dividedBy(i);\n }\n } else {\n for (i = one; i.lte(k); i = i.plus(one)) {\n result = result.times(nMinusOne.plus(i)).dividedBy(i);\n }\n }\n return result;\n }\n });\n});\n\n/**\n * Test whether BigNumber n is a positive integer\n * @param {BigNumber} n\n * @returns {boolean} isPositiveInteger\n */\nfunction isPositiveInteger(n) {\n return n.isInteger() && n.gte(0);\n}","import { factory } from '../../utils/factory.js';\nimport { createTrigUnit } from './trigUnit.js';\nvar name = 'tan';\nvar dependencies = ['typed'];\nexport var createTan = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n var trigUnit = createTrigUnit({\n typed\n });\n\n /**\n * Calculate the tangent of a value. `tan(x)` is equal to `sin(x) / cos(x)`.\n *\n * To avoid confusion with the matrix tangent, this function does not apply\n * to matrices.\n *\n * Syntax:\n *\n * math.tan(x)\n *\n * Examples:\n *\n * math.tan(0.5) // returns number 0.5463024898437905\n * math.sin(0.5) / math.cos(0.5) // returns number 0.5463024898437905\n * math.tan(math.pi / 4) // returns number 1\n * math.tan(math.unit(45, 'deg')) // returns number 1\n *\n * See also:\n *\n * atan, sin, cos\n *\n * @param {number | BigNumber | Complex | Unit} x Function input\n * @return {number | BigNumber | Complex} Tangent of x\n */\n return typed(name, {\n number: Math.tan,\n 'Complex | BigNumber': x => x.tan()\n }, trigUnit);\n});","import { isIndex } from '../../utils/is.js';\nimport { clone } from '../../utils/object.js';\nimport { isEmptyIndex, validateIndex, validateIndexSourceSize } from '../../utils/array.js';\nimport { getSafeProperty, setSafeProperty } from '../../utils/customs.js';\nimport { DimensionError } from '../../error/DimensionError.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'subset';\nvar dependencies = ['typed', 'matrix', 'zeros', 'add'];\nexport var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n zeros,\n add\n } = _ref;\n /**\n * Get or set a subset of a matrix or string.\n *\n * Syntax:\n * math.subset(value, index) // retrieve a subset\n * math.subset(value, index, replacement [, defaultValue]) // replace a subset\n *\n * Examples:\n *\n * // get a subset\n * const d = [[1, 2], [3, 4]]\n * math.subset(d, math.index(1, 0)) // returns 3\n * math.subset(d, math.index([0, 1], 1)) // returns [[2], [4]]\n * math.subset(d, math.index([false, true], 0)) // returns [[3]]\n *\n * // replace a subset\n * const e = []\n * const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 0, 6]]\n * const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 0, 6], [0, 7, 0]]\n * math.subset(g, math.index([false, true], 1), 8) // returns [[5, 0, 6], [0, 8, 0]]\n *\n * // get submatrix using ranges\n * const M = [\n * [1,2,3],\n * [4,5,6],\n * [7,8,9]\n * ]\n * math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1, 2, 3], [4, 5, 6]]\n *\n * See also:\n *\n * size, resize, squeeze, index\n *\n * @param {Array | Matrix | string} matrix An array, matrix, or string\n * @param {Index} index\n * For each dimension of the target, specifies an index or a list of\n * indices to fetch or set. `subset` uses the cartesian product of\n * the indices specified in each dimension.\n * @param {*} [replacement] An array, matrix, or scalar.\n * If provided, the subset is replaced with replacement.\n * If not provided, the subset is returned\n * @param {*} [defaultValue=undefined] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * math.matrix elements will be left undefined.\n * @return {Array | Matrix | string} Either the retrieved subset or the updated matrix.\n */\n\n return typed(name, {\n // get subset\n 'Matrix, Index': function MatrixIndex(value, index) {\n if (isEmptyIndex(index)) {\n return matrix();\n }\n validateIndexSourceSize(value, index);\n return value.subset(index);\n },\n 'Array, Index': typed.referTo('Matrix, Index', function (subsetRef) {\n return function (value, index) {\n var subsetResult = subsetRef(matrix(value), index);\n return index.isScalar() ? subsetResult : subsetResult.valueOf();\n };\n }),\n 'Object, Index': _getObjectProperty,\n 'string, Index': _getSubstring,\n // set subset\n 'Matrix, Index, any, any': function MatrixIndexAnyAny(value, index, replacement, defaultValue) {\n if (isEmptyIndex(index)) {\n return value;\n }\n validateIndexSourceSize(value, index);\n return value.clone().subset(index, _broadcastReplacement(replacement, index), defaultValue);\n },\n 'Array, Index, any, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {\n return function (value, index, replacement, defaultValue) {\n var subsetResult = subsetRef(matrix(value), index, replacement, defaultValue);\n return subsetResult.isMatrix ? subsetResult.valueOf() : subsetResult;\n };\n }),\n 'Array, Index, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {\n return function (value, index, replacement) {\n return subsetRef(matrix(value), index, replacement, undefined).valueOf();\n };\n }),\n 'Matrix, Index, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {\n return function (value, index, replacement) {\n return subsetRef(value, index, replacement, undefined);\n };\n }),\n 'string, Index, string': _setSubstring,\n 'string, Index, string, string': _setSubstring,\n 'Object, Index, any': _setObjectProperty\n });\n\n /**\n * Broadcasts a replacment value to be the same size as index\n * @param {number | BigNumber | Array | Matrix} replacement Replacement value to try to broadcast\n * @param {*} index Index value\n * @returns broadcasted replacement that matches the size of index\n */\n\n function _broadcastReplacement(replacement, index) {\n if (typeof replacement === 'string') {\n throw new Error('can\\'t boradcast a string');\n }\n if (index._isScalar) {\n return replacement;\n }\n var indexSize = index.size();\n if (indexSize.every(d => d > 0)) {\n try {\n return add(replacement, zeros(indexSize));\n } catch (error) {\n return replacement;\n }\n } else {\n return replacement;\n }\n }\n});\n\n/**\n * Retrieve a subset of a string\n * @param {string} str string from which to get a substring\n * @param {Index} index An index or list of indices (character positions)\n * @returns {string} substring\n * @private\n */\nfunction _getSubstring(str, index) {\n if (!isIndex(index)) {\n // TODO: better error message\n throw new TypeError('Index expected');\n }\n if (isEmptyIndex(index)) {\n return '';\n }\n validateIndexSourceSize(Array.from(str), index);\n if (index.size().length !== 1) {\n throw new DimensionError(index.size().length, 1);\n }\n\n // validate whether the range is out of range\n var strLen = str.length;\n validateIndex(index.min()[0], strLen);\n validateIndex(index.max()[0], strLen);\n var range = index.dimension(0);\n var substr = '';\n range.forEach(function (v) {\n substr += str.charAt(v);\n });\n return substr;\n}\n\n/**\n * Replace a substring in a string\n * @param {string} str string to be replaced\n * @param {Index} index An index or list of indices (character positions)\n * @param {string} replacement Replacement string\n * @param {string} [defaultValue] Default value to be used when resizing\n * the string. is ' ' by default\n * @returns {string} result\n * @private\n */\nfunction _setSubstring(str, index, replacement, defaultValue) {\n if (!index || index.isIndex !== true) {\n // TODO: better error message\n throw new TypeError('Index expected');\n }\n if (isEmptyIndex(index)) {\n return str;\n }\n validateIndexSourceSize(Array.from(str), index);\n if (index.size().length !== 1) {\n throw new DimensionError(index.size().length, 1);\n }\n if (defaultValue !== undefined) {\n if (typeof defaultValue !== 'string' || defaultValue.length !== 1) {\n throw new TypeError('Single character expected as defaultValue');\n }\n } else {\n defaultValue = ' ';\n }\n var range = index.dimension(0);\n var len = range.size()[0];\n if (len !== replacement.length) {\n throw new DimensionError(range.size()[0], replacement.length);\n }\n\n // validate whether the range is out of range\n var strLen = str.length;\n validateIndex(index.min()[0]);\n validateIndex(index.max()[0]);\n\n // copy the string into an array with characters\n var chars = [];\n for (var i = 0; i < strLen; i++) {\n chars[i] = str.charAt(i);\n }\n range.forEach(function (v, i) {\n chars[v] = replacement.charAt(i[0]);\n });\n\n // initialize undefined characters with a space\n if (chars.length > strLen) {\n for (var _i = strLen - 1, _len = chars.length; _i < _len; _i++) {\n if (!chars[_i]) {\n chars[_i] = defaultValue;\n }\n }\n }\n return chars.join('');\n}\n\n/**\n * Retrieve a property from an object\n * @param {Object} object\n * @param {Index} index\n * @return {*} Returns the value of the property\n * @private\n */\nfunction _getObjectProperty(object, index) {\n if (isEmptyIndex(index)) {\n return undefined;\n }\n if (index.size().length !== 1) {\n throw new DimensionError(index.size(), 1);\n }\n var key = index.dimension(0);\n if (typeof key !== 'string') {\n throw new TypeError('String expected as index to retrieve an object property');\n }\n return getSafeProperty(object, key);\n}\n\n/**\n * Set a property on an object\n * @param {Object} object\n * @param {Index} index\n * @param {*} replacement\n * @return {*} Returns the updated object\n * @private\n */\nfunction _setObjectProperty(object, index, replacement) {\n if (isEmptyIndex(index)) {\n return object;\n }\n if (index.size().length !== 1) {\n throw new DimensionError(index.size(), 1);\n }\n var key = index.dimension(0);\n if (typeof key !== 'string') {\n throw new TypeError('String expected as index to retrieve an object property');\n }\n\n // clone the object, and apply the property to the clone\n var updated = clone(object);\n setSafeProperty(updated, key, replacement);\n return updated;\n}","import { factory } from '../../utils/factory.js';\nvar name = 'sylvester';\nvar dependencies = ['typed', 'schur', 'matrixFromColumns', 'matrix', 'multiply', 'range', 'concat', 'transpose', 'index', 'subset', 'add', 'subtract', 'identity', 'lusolve', 'abs'];\nexport var createSylvester = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n schur,\n matrixFromColumns,\n matrix,\n multiply,\n range,\n concat,\n transpose,\n index,\n subset,\n add,\n subtract,\n identity,\n lusolve,\n abs\n } = _ref;\n /**\n *\n * Solves the real-valued Sylvester equation AX+XB=C for X, where A, B and C are\n * matrices of appropriate dimensions, being A and B squared. Notice that other\n * equivalent definitions for the Sylvester equation exist and this function\n * assumes the one presented in the original publication of the the Bartels-\n * Stewart algorithm, which is implemented by this function.\n * https://en.wikipedia.org/wiki/Sylvester_equation\n *\n * Syntax:\n *\n * math.sylvester(A, B, C)\n *\n * Examples:\n *\n * const A = [[-1, -2], [1, 1]]\n * const B = [[2, -1], [1, -2]]\n * const C = [[-3, 2], [3, 0]]\n * math.sylvester(A, B, C) // returns DenseMatrix [[-0.25, 0.25], [1.5, -1.25]]\n *\n * See also:\n *\n * schur, lyap\n *\n * @param {Matrix | Array} A Matrix A\n * @param {Matrix | Array} B Matrix B\n * @param {Matrix | Array} C Matrix C\n * @return {Matrix | Array} Matrix X, solving the Sylvester equation\n */\n return typed(name, {\n 'Matrix, Matrix, Matrix': _sylvester,\n 'Array, Matrix, Matrix': function ArrayMatrixMatrix(A, B, C) {\n return _sylvester(matrix(A), B, C);\n },\n 'Array, Array, Matrix': function ArrayArrayMatrix(A, B, C) {\n return _sylvester(matrix(A), matrix(B), C);\n },\n 'Array, Matrix, Array': function ArrayMatrixArray(A, B, C) {\n return _sylvester(matrix(A), B, matrix(C));\n },\n 'Matrix, Array, Matrix': function MatrixArrayMatrix(A, B, C) {\n return _sylvester(A, matrix(B), C);\n },\n 'Matrix, Array, Array': function MatrixArrayArray(A, B, C) {\n return _sylvester(A, matrix(B), matrix(C));\n },\n 'Matrix, Matrix, Array': function MatrixMatrixArray(A, B, C) {\n return _sylvester(A, B, matrix(C));\n },\n 'Array, Array, Array': function ArrayArrayArray(A, B, C) {\n return _sylvester(matrix(A), matrix(B), matrix(C)).toArray();\n }\n });\n function _sylvester(A, B, C) {\n var n = B.size()[0];\n var m = A.size()[0];\n var sA = schur(A);\n var F = sA.T;\n var U = sA.U;\n var sB = schur(multiply(-1, B));\n var G = sB.T;\n var V = sB.U;\n var D = multiply(multiply(transpose(U), C), V);\n var all = range(0, m);\n var y = [];\n var hc = (a, b) => concat(a, b, 1);\n var vc = (a, b) => concat(a, b, 0);\n for (var k = 0; k < n; k++) {\n if (k < n - 1 && abs(subset(G, index(k + 1, k))) > 1e-5) {\n var RHS = vc(subset(D, index(all, k)), subset(D, index(all, k + 1)));\n for (var j = 0; j < k; j++) {\n RHS = add(RHS, vc(multiply(y[j], subset(G, index(j, k))), multiply(y[j], subset(G, index(j, k + 1)))));\n }\n var gkk = multiply(identity(m), multiply(-1, subset(G, index(k, k))));\n var gmk = multiply(identity(m), multiply(-1, subset(G, index(k + 1, k))));\n var gkm = multiply(identity(m), multiply(-1, subset(G, index(k, k + 1))));\n var gmm = multiply(identity(m), multiply(-1, subset(G, index(k + 1, k + 1))));\n var LHS = vc(hc(add(F, gkk), gmk), hc(gkm, add(F, gmm)));\n var yAux = lusolve(LHS, RHS);\n y[k] = yAux.subset(index(range(0, m), 0));\n y[k + 1] = yAux.subset(index(range(m, 2 * m), 0));\n k++;\n } else {\n var _RHS = subset(D, index(all, k));\n for (var _j = 0; _j < k; _j++) {\n _RHS = add(_RHS, multiply(y[_j], subset(G, index(_j, k))));\n }\n var _gkk = subset(G, index(k, k));\n var _LHS = subtract(F, multiply(_gkk, identity(m)));\n y[k] = lusolve(_LHS, _RHS);\n }\n }\n var Y = matrix(matrixFromColumns(...y));\n var X = multiply(U, multiply(Y, transpose(V)));\n return X;\n }\n});","import { factory } from '../../../utils/factory.js';\nvar name = 'createUnit';\nvar dependencies = ['typed', 'Unit'];\nexport var createCreateUnit = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n Unit\n } = _ref;\n /**\n * Create a user-defined unit and register it with the Unit type.\n *\n * Syntax:\n *\n * math.createUnit({\n * baseUnit1: {\n * aliases: [string, ...]\n * prefixes: object\n * },\n * unit2: {\n * definition: string,\n * aliases: [string, ...]\n * prefixes: object,\n * offset: number\n * },\n * unit3: string // Shortcut\n * })\n *\n * // Another shortcut:\n * math.createUnit(string, unit : string, [object])\n *\n * Examples:\n *\n * math.createUnit('foo')\n * math.createUnit('knot', {definition: '0.514444444 m/s', aliases: ['knots', 'kt', 'kts']})\n * math.createUnit('mph', '1 mile/hour')\n * math.createUnit('km', math.unit(1000, 'm'))\n *\n * @param {string} name The name of the new unit. Must be unique. Example: 'knot'\n * @param {string, UnitDefinition, Unit} definition Definition of the unit in terms of existing units. For example, '0.514444444 m / s'.\n * @param {Object} options (optional) An object containing any of the following properties:\n * - `prefixes {string}` \"none\", \"short\", \"long\", \"binary_short\", or \"binary_long\". The default is \"none\".\n * - `aliases {Array}` Array of strings. Example: ['knots', 'kt', 'kts']\n * - `offset {Numeric}` An offset to apply when converting from the unit. For example, the offset for celsius is 273.15. Default is 0.\n *\n * See also:\n *\n * unit\n *\n * @return {Unit} The new unit\n */\n return typed(name, {\n // General function signature. First parameter is an object where each property is the definition of a new unit. The object keys are the unit names and the values are the definitions. The values can be objects, strings, or Units. If a property is an empty object or an empty string, a new base unit is created. The second parameter is the options.\n 'Object, Object': function ObjectObject(obj, options) {\n return Unit.createUnit(obj, options);\n },\n // Same as above but without the options.\n Object: function Object(obj) {\n return Unit.createUnit(obj, {});\n },\n // Shortcut method for creating one unit.\n 'string, Unit | string | Object, Object': function stringUnitStringObjectObject(name, def, options) {\n var obj = {};\n obj[name] = def;\n return Unit.createUnit(obj, options);\n },\n // Same as above but without the options.\n 'string, Unit | string | Object': function stringUnitStringObject(name, def) {\n var obj = {};\n obj[name] = def;\n return Unit.createUnit(obj, {});\n },\n // Without a definition, creates a base unit.\n string: function string(name) {\n var obj = {};\n obj[name] = {};\n return Unit.createUnit(obj, {});\n }\n });\n});","/**\n * Create a syntax error with the message:\n * 'Wrong number of arguments in function ( provided, - expected)'\n * @param {string} fn Function name\n * @param {number} count Actual argument count\n * @param {number} min Minimum required argument count\n * @param {number} [max] Maximum required argument count\n * @extends Error\n */\nexport function ArgumentsError(fn, count, min, max) {\n if (!(this instanceof ArgumentsError)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n this.fn = fn;\n this.count = count;\n this.min = min;\n this.max = max;\n this.message = 'Wrong number of arguments in function ' + fn + ' (' + count + ' provided, ' + min + (max !== undefined && max !== null ? '-' + max : '') + ' expected)';\n this.stack = new Error().stack;\n}\nArgumentsError.prototype = new Error();\nArgumentsError.prototype.constructor = Error;\nArgumentsError.prototype.name = 'ArgumentsError';\nArgumentsError.prototype.isArgumentsError = true;","// pdfGenerator.js global function\r\nimport useJwt from '@/auth/jwt/useJwt'\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\n\r\nexport async function generateAndDownloadPdf(\r\n vueInstance,\r\n htmlContent,\r\n nomeInstituto,\r\n periodoFiltro,\r\n nomeRelatorio,\r\n informacoesInstituto,\r\n relatorioPaisagem,\r\n idInstituto,\r\n\r\n margin = undefined,\r\n footerTemplate = undefined,\r\n headerTemplate = undefined,\r\n nomeArquivo = undefined,\r\n) {\r\n if (typeof vueInstance.sweetAlert === 'function') {\r\n vueInstance.sweetAlert(true)\r\n } else {\r\n Swal.fire({\r\n title: 'Carregando...',\r\n showConfirmButton: false,\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n }\r\n\r\n const style = `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n loader.css\" />\r\n favicon.ico\" />\r\n \r\n\r\n \r\n\r\n `\r\n\r\n const fullHtmlContent = `\r\n \r\n \r\n ${style}\r\n \r\n ${htmlContent}\r\n \r\n \r\n `\r\n\r\n try {\r\n const response = await useJwt.post(\r\n 'relatorio/GetGerarRelatorioPDF',\r\n {\r\n htmlContent: fullHtmlContent,\r\n nomeInstituto,\r\n periodoFiltro,\r\n nomeRelatorio,\r\n informacoesInstituto,\r\n idInstituto,\r\n relatorioPaisagem,\r\n\r\n margin,\r\n footerTemplate,\r\n headerTemplate,\r\n },\r\n { responseType: 'blob' },\r\n )\r\n handlePdfResponse(response.data, vueInstance, nomeArquivo)\r\n } catch (error) {\r\n console.error('Erro ao enviar HTML para o backend:', error)\r\n if (typeof vueInstance.sweetAlert === 'function') {\r\n vueInstance.sweetAlert(false)\r\n } else {\r\n Swal.close()\r\n }\r\n }\r\n}\r\n\r\nfunction handlePdfResponse(pdfData, vueInstance, nomeArquivo) {\r\n try {\r\n const nome = nomeArquivo || 'relatorio.pdf'\r\n const blob = new Blob([pdfData], { type: 'application/pdf' })\r\n const url = window.URL.createObjectURL(blob)\r\n const link = document.createElement('a')\r\n link.href = url\r\n link.setAttribute('download', nome)\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n if (typeof vueInstance.sweetAlert === 'function') {\r\n vueInstance.sweetAlert(false)\r\n } else {\r\n Swal.close()\r\n }\r\n } catch (error) {\r\n console.error('Erro ao gerar PDF:', error)\r\n if (typeof vueInstance.sweetAlert === 'function') {\r\n vueInstance.sweetAlert(false)\r\n } else {\r\n Swal.close()\r\n }\r\n }\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroIOF.vue?vue&type=style&index=0&id=7d0fb47b&prod&lang=css\"","import { containsCollections, deepForEach, reduce } from '../../utils/collection.js';\nimport { arraySize } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nimport { improveErrorMessage } from './utils/improveErrorMessage.js';\nvar name = 'mean';\nvar dependencies = ['typed', 'add', 'divide'];\nexport var createMean = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n add,\n divide\n } = _ref;\n /**\n * Compute the mean value of matrix or a list with values.\n * In case of a multidimensional array, the mean of the flattened array\n * will be calculated. When `dim` is provided, the maximum over the selected\n * dimension will be calculated. Parameter `dim` is zero-based.\n *\n * Syntax:\n *\n * math.mean(a, b, c, ...)\n * math.mean(A)\n * math.mean(A, dimension)\n *\n * Examples:\n *\n * math.mean(2, 1, 4, 3) // returns 2.5\n * math.mean([1, 2.7, 3.2, 4]) // returns 2.725\n *\n * math.mean([[2, 5], [6, 3], [1, 7]], 0) // returns [3, 5]\n * math.mean([[2, 5], [6, 3], [1, 7]], 1) // returns [3.5, 4.5, 4]\n *\n * See also:\n *\n * median, min, max, sum, prod, std, variance\n *\n * @param {... *} args A single matrix or or multiple scalar values\n * @return {*} The mean of all values\n */\n return typed(name, {\n // mean([a, b, c, d, ...])\n 'Array | Matrix': _mean,\n // mean([a, b, c, d, ...], dim)\n 'Array | Matrix, number | BigNumber': _nmeanDim,\n // mean(a, b, c, d, ...)\n '...': function _(args) {\n if (containsCollections(args)) {\n throw new TypeError('Scalar values expected in function mean');\n }\n return _mean(args);\n }\n });\n\n /**\n * Calculate the mean value in an n-dimensional array, returning a\n * n-1 dimensional array\n * @param {Array} array\n * @param {number} dim\n * @return {number} mean\n * @private\n */\n function _nmeanDim(array, dim) {\n try {\n var sum = reduce(array, dim, add);\n var s = Array.isArray(array) ? arraySize(array) : array.size();\n return divide(sum, s[dim]);\n } catch (err) {\n throw improveErrorMessage(err, 'mean');\n }\n }\n\n /**\n * Recursively calculate the mean value in an n-dimensional array\n * @param {Array} array\n * @return {number} mean\n * @private\n */\n function _mean(array) {\n var sum;\n var num = 0;\n deepForEach(array, function (value) {\n try {\n sum = sum === undefined ? value : add(sum, value);\n num++;\n } catch (err) {\n throw improveErrorMessage(err, 'mean', value);\n }\n });\n if (num === 0) {\n throw new Error('Cannot calculate the mean of an empty array');\n }\n return divide(sum, num);\n }\n});","import { factory } from '../../../utils/factory.js';\nimport { DimensionError } from '../../../error/DimensionError.js';\nvar name = 'matAlgo04xSidSid';\nvar dependencies = ['typed', 'equalScalar'];\nexport var createMatAlgo04xSidSid = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n equalScalar\n } = _ref;\n /**\n * Iterates over SparseMatrix A and SparseMatrix B nonzero items and invokes the callback function f(Aij, Bij).\n * Callback function invoked MAX(NNZA, NNZB) times\n *\n *\n * ┌ f(Aij, Bij) ; A(i,j) !== 0 && B(i,j) !== 0\n * C(i,j) = ┤ A(i,j) ; A(i,j) !== 0 && B(i,j) === 0\n * └ B(i,j) ; A(i,j) === 0\n *\n *\n * @param {Matrix} a The SparseMatrix instance (A)\n * @param {Matrix} b The SparseMatrix instance (B)\n * @param {Function} callback The f(Aij,Bij) operation to invoke\n *\n * @return {Matrix} SparseMatrix (C)\n *\n * see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294\n */\n return function matAlgo04xSidSid(a, b, callback) {\n // sparse matrix arrays\n var avalues = a._values;\n var aindex = a._index;\n var aptr = a._ptr;\n var asize = a._size;\n var adt = a._datatype;\n // sparse matrix arrays\n var bvalues = b._values;\n var bindex = b._index;\n var bptr = b._ptr;\n var bsize = b._size;\n var bdt = b._datatype;\n\n // validate dimensions\n if (asize.length !== bsize.length) {\n throw new DimensionError(asize.length, bsize.length);\n }\n\n // check rows & columns\n if (asize[0] !== bsize[0] || asize[1] !== bsize[1]) {\n throw new RangeError('Dimension mismatch. Matrix A (' + asize + ') must match Matrix B (' + bsize + ')');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string' && adt === bdt) {\n // datatype\n dt = adt;\n // find signature that matches (dt, dt)\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result arrays\n var cvalues = avalues && bvalues ? [] : undefined;\n var cindex = [];\n var cptr = [];\n\n // workspace\n var xa = avalues && bvalues ? [] : undefined;\n var xb = avalues && bvalues ? [] : undefined;\n // marks indicating we have a value in x for a given column\n var wa = [];\n var wb = [];\n\n // vars\n var i, j, k, k0, k1;\n\n // loop columns\n for (j = 0; j < columns; j++) {\n // update cptr\n cptr[j] = cindex.length;\n // columns mark\n var mark = j + 1;\n // loop A(:,j)\n for (k0 = aptr[j], k1 = aptr[j + 1], k = k0; k < k1; k++) {\n // row\n i = aindex[k];\n // update c\n cindex.push(i);\n // update workspace\n wa[i] = mark;\n // check we need to process values\n if (xa) {\n xa[i] = avalues[k];\n }\n }\n // loop B(:,j)\n for (k0 = bptr[j], k1 = bptr[j + 1], k = k0; k < k1; k++) {\n // row\n i = bindex[k];\n // check row exists in A\n if (wa[i] === mark) {\n // update record in xa @ i\n if (xa) {\n // invoke callback\n var v = cf(xa[i], bvalues[k]);\n // check for zero\n if (!eq(v, zero)) {\n // update workspace\n xa[i] = v;\n } else {\n // remove mark (index will be removed later)\n wa[i] = null;\n }\n }\n } else {\n // update c\n cindex.push(i);\n // update workspace\n wb[i] = mark;\n // check we need to process values\n if (xb) {\n xb[i] = bvalues[k];\n }\n }\n }\n // check we need to process values (non pattern matrix)\n if (xa && xb) {\n // initialize first index in j\n k = cptr[j];\n // loop index in j\n while (k < cindex.length) {\n // row\n i = cindex[k];\n // check workspace has value @ i\n if (wa[i] === mark) {\n // push value (Aij != 0 || (Aij != 0 && Bij != 0))\n cvalues[k] = xa[i];\n // increment pointer\n k++;\n } else if (wb[i] === mark) {\n // push value (bij != 0)\n cvalues[k] = xb[i];\n // increment pointer\n k++;\n } else {\n // remove index @ k\n cindex.splice(k, 1);\n }\n }\n }\n }\n // update cptr\n cptr[columns] = cindex.length;\n\n // return sparse matrix\n return a.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","import { factory } from '../../utils/factory.js';\nimport { cscNumber } from '../../plain/number/index.js';\nimport { createTrigUnit } from './trigUnit.js';\nvar name = 'csc';\nvar dependencies = ['typed', 'BigNumber'];\nexport var createCsc = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n BigNumber: _BigNumber\n } = _ref;\n var trigUnit = createTrigUnit({\n typed\n });\n\n /**\n * Calculate the cosecant of a value, defined as `csc(x) = 1/sin(x)`.\n *\n * To avoid confusion with the matrix cosecant, this function does not\n * apply to matrices.\n *\n * Syntax:\n *\n * math.csc(x)\n *\n * Examples:\n *\n * math.csc(2) // returns number 1.099750170294617\n * 1 / math.sin(2) // returns number 1.099750170294617\n *\n * See also:\n *\n * sin, sec, cot\n *\n * @param {number | BigNumber | Complex | Unit} x Function input\n * @return {number | BigNumber | Complex} Cosecant of x\n */\n return typed(name, {\n number: cscNumber,\n Complex: x => x.csc(),\n BigNumber: x => new _BigNumber(1).div(x.sin())\n }, trigUnit);\n});","import { factory } from '../../utils/factory.js';\nimport { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo09xS0Sf } from '../../type/matrix/utils/matAlgo09xS0Sf.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'dotMultiply';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar', 'concat'];\nexport var createDotMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n multiplyScalar,\n concat\n } = _ref;\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo09xS0Sf = createMatAlgo09xS0Sf({\n typed,\n equalScalar\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Multiply two matrices element wise. The function accepts both matrices and\n * scalar values.\n *\n * Syntax:\n *\n * math.dotMultiply(x, y)\n *\n * Examples:\n *\n * math.dotMultiply(2, 4) // returns 8\n *\n * a = [[9, 5], [6, 1]]\n * b = [[3, 2], [5, 2]]\n *\n * math.dotMultiply(a, b) // returns [[27, 10], [30, 2]]\n * math.multiply(a, b) // returns [[52, 28], [23, 14]]\n *\n * See also:\n *\n * multiply, divide, dotDivide\n *\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Left hand value\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Right hand value\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Multiplication of `x` and `y`\n */\n return typed(name, matrixAlgorithmSuite({\n elop: multiplyScalar,\n SS: matAlgo09xS0Sf,\n DS: matAlgo02xDS0,\n Ss: matAlgo11xS0s\n }));\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('vue-html2pdf',{ref:\"html2Pdfportrait\",attrs:{\"show-layout\":false,\"float-layout\":true,\"enable-download\":false,\"preview-modal\":false,\"paginate-elements-by-height\":2000,\"filename\":\"ConsigPrev - Relatório\",\"pdf-quality\":2,\"manual-pagination\":false,\"pdf-format\":\"a4\",\"pdf-orientation\":\"portrait\",\"pdf-content-width\":\"100%\"}},[_vm._t(\"default\",null,{\"slot\":\"pdf-content\"})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioRetrato.vue?vue&type=template&id=1c0cbb5c\"\nimport script from \"./relatorioRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioRetrato.vue?vue&type=style&index=0&id=1c0cbb5c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { factory } from '../../utils/factory.js';\nimport { addNumber } from '../../plain/number/index.js';\nvar name = 'addScalar';\nvar dependencies = ['typed'];\nexport var createAddScalar = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Add two scalar values, `x + y`.\n * This function is meant for internal use: it is used by the public function\n * `add`\n *\n * This function does not support collections (Array or Matrix).\n *\n * @param {number | BigNumber | Fraction | Complex | Unit} x First value to add\n * @param {number | BigNumber | Fraction | Complex} y Second value to add\n * @return {number | BigNumber | Fraction | Complex | Unit} Sum of `x` and `y`\n * @private\n */\n return typed(name, {\n 'number, number': addNumber,\n 'Complex, Complex': function ComplexComplex(x, y) {\n return x.add(y);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.plus(y);\n },\n 'Fraction, Fraction': function FractionFraction(x, y) {\n return x.add(y);\n },\n 'Unit, Unit': typed.referToSelf(self => (x, y) => {\n if (x.value === null || x.value === undefined) {\n throw new Error('Parameter x contains a unit with undefined value');\n }\n if (y.value === null || y.value === undefined) {\n throw new Error('Parameter y contains a unit with undefined value');\n }\n if (!x.equalBase(y)) throw new Error('Units do not match');\n var res = x.clone();\n res.value = typed.find(self, [res.valueType(), y.valueType()])(res.value, y.value);\n res.fixPrefix = false;\n return res;\n })\n });\n});","import { arraySize } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nimport { isMatrix } from '../../utils/is.js';\nvar name = 'ifft';\nvar dependencies = ['typed', 'fft', 'dotDivide', 'conj'];\nexport var createIfft = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n fft,\n dotDivide,\n conj\n } = _ref;\n /**\n * Calculate N-dimensional inverse fourier transform\n *\n * Syntax:\n *\n * math.ifft(arr)\n *\n * Examples:\n *\n * math.ifft([[2, 2], [0, 0]]) // returns [[{re:1, im:0}, {re:0, im:0}], [{re:1, im:0}, {re:0, im:0}]]\n *\n * See Also:\n *\n * fft\n *\n * @param {Array | Matrix} arr An array or matrix\n * @return {Array | Matrix} N-dimensional fourier transformation of the array\n */\n return typed(name, {\n 'Array | Matrix': function ArrayMatrix(arr) {\n var size = isMatrix(arr) ? arr.size() : arraySize(arr);\n return dotDivide(conj(fft(conj(arr))), size.reduce((acc, curr) => acc * curr, 1));\n }\n });\n});","import { bitXor as bigBitXor } from '../../utils/bignumber/bitwise.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { bitXorNumber } from '../../plain/number/index.js';\nvar name = 'bitXor';\nvar dependencies = ['typed', 'matrix', 'DenseMatrix', 'concat'];\nexport var createBitXor = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo07xSSf = createMatAlgo07xSSf({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Bitwise XOR two values, `x ^ y`.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.bitXor(x, y)\n *\n * Examples:\n *\n * math.bitXor(1, 2) // returns number 3\n *\n * math.bitXor([2, 3, 4], 4) // returns Array [6, 7, 0]\n *\n * See also:\n *\n * bitAnd, bitNot, bitOr, leftShift, rightArithShift, rightLogShift\n *\n * @param {number | BigNumber | Array | Matrix} x First value to xor\n * @param {number | BigNumber | Array | Matrix} y Second value to xor\n * @return {number | BigNumber | Array | Matrix} XOR of `x` and `y`\n */\n return typed(name, {\n 'number, number': bitXorNumber,\n 'BigNumber, BigNumber': bigBitXor\n }, matrixAlgorithmSuite({\n SS: matAlgo07xSSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n});","import { factory } from '../../../utils/factory.js';\nimport { createSolveValidation } from './utils/solveValidation.js';\nvar name = 'lsolve';\nvar dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtractScalar', 'equalScalar', 'DenseMatrix'];\nexport var createLsolve = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n divideScalar,\n multiplyScalar,\n subtractScalar,\n equalScalar,\n DenseMatrix\n } = _ref;\n var solveValidation = createSolveValidation({\n DenseMatrix\n });\n\n /**\n * Finds one solution of a linear equation system by forwards substitution. Matrix must be a lower triangular matrix. Throws an error if there's no solution.\n *\n * `L * x = b`\n *\n * Syntax:\n *\n * math.lsolve(L, b)\n *\n * Examples:\n *\n * const a = [[-2, 3], [2, 1]]\n * const b = [11, 9]\n * const x = lsolve(a, b) // [[-5.5], [20]]\n *\n * See also:\n *\n * lsolveAll, lup, slu, usolve, lusolve\n *\n * @param {Matrix, Array} L A N x N matrix or array (L)\n * @param {Matrix, Array} b A column vector with the b values\n *\n * @return {DenseMatrix | Array} A column vector with the linear system solution (x)\n */\n return typed(name, {\n 'SparseMatrix, Array | Matrix': function SparseMatrixArrayMatrix(m, b) {\n return _sparseForwardSubstitution(m, b);\n },\n 'DenseMatrix, Array | Matrix': function DenseMatrixArrayMatrix(m, b) {\n return _denseForwardSubstitution(m, b);\n },\n 'Array, Array | Matrix': function ArrayArrayMatrix(a, b) {\n var m = matrix(a);\n var r = _denseForwardSubstitution(m, b);\n return r.valueOf();\n }\n });\n function _denseForwardSubstitution(m, b) {\n // validate matrix and vector, return copy of column vector b\n b = solveValidation(m, b, true);\n var bdata = b._data;\n var rows = m._size[0];\n var columns = m._size[1];\n\n // result\n var x = [];\n var mdata = m._data;\n\n // loop columns\n for (var j = 0; j < columns; j++) {\n var bj = bdata[j][0] || 0;\n var xj = void 0;\n if (!equalScalar(bj, 0)) {\n // non-degenerate row, find solution\n\n var vjj = mdata[j][j];\n if (equalScalar(vjj, 0)) {\n throw new Error('Linear system cannot be solved since matrix is singular');\n }\n xj = divideScalar(bj, vjj);\n\n // loop rows\n for (var i = j + 1; i < rows; i++) {\n bdata[i] = [subtractScalar(bdata[i][0] || 0, multiplyScalar(xj, mdata[i][j]))];\n }\n } else {\n // degenerate row, we can choose any value\n xj = 0;\n }\n x[j] = [xj];\n }\n return new DenseMatrix({\n data: x,\n size: [rows, 1]\n });\n }\n function _sparseForwardSubstitution(m, b) {\n // validate matrix and vector, return copy of column vector b\n b = solveValidation(m, b, true);\n var bdata = b._data;\n var rows = m._size[0];\n var columns = m._size[1];\n var values = m._values;\n var index = m._index;\n var ptr = m._ptr;\n\n // result\n var x = [];\n\n // loop columns\n for (var j = 0; j < columns; j++) {\n var bj = bdata[j][0] || 0;\n if (!equalScalar(bj, 0)) {\n // non-degenerate row, find solution\n\n var vjj = 0;\n // matrix values & indices (column j)\n var jValues = [];\n var jIndices = [];\n\n // first and last index in the column\n var firstIndex = ptr[j];\n var lastIndex = ptr[j + 1];\n\n // values in column, find value at [j, j]\n for (var k = firstIndex; k < lastIndex; k++) {\n var i = index[k];\n\n // check row (rows are not sorted!)\n if (i === j) {\n vjj = values[k];\n } else if (i > j) {\n // store lower triangular\n jValues.push(values[k]);\n jIndices.push(i);\n }\n }\n\n // at this point we must have a value in vjj\n if (equalScalar(vjj, 0)) {\n throw new Error('Linear system cannot be solved since matrix is singular');\n }\n var xj = divideScalar(bj, vjj);\n for (var _k = 0, l = jIndices.length; _k < l; _k++) {\n var _i = jIndices[_k];\n bdata[_i] = [subtractScalar(bdata[_i][0] || 0, multiplyScalar(xj, jValues[_k]))];\n }\n x[j] = [xj];\n } else {\n // degenerate row, we can choose any value\n x[j] = [0];\n }\n }\n return new DenseMatrix({\n data: x,\n size: [rows, 1]\n });\n }\n});","import { factory } from '../../../utils/factory.js';\nimport { DimensionError } from '../../../error/DimensionError.js';\nvar name = 'matAlgo03xDSf';\nvar dependencies = ['typed'];\nexport var createMatAlgo03xDSf = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Iterates over SparseMatrix items and invokes the callback function f(Dij, Sij).\n * Callback function invoked M*N times.\n *\n *\n * ┌ f(Dij, Sij) ; S(i,j) !== 0\n * C(i,j) = ┤\n * └ f(Dij, 0) ; otherwise\n *\n *\n * @param {Matrix} denseMatrix The DenseMatrix instance (D)\n * @param {Matrix} sparseMatrix The SparseMatrix instance (C)\n * @param {Function} callback The f(Dij,Sij) operation to invoke, where Dij = DenseMatrix(i,j) and Sij = SparseMatrix(i,j)\n * @param {boolean} inverse A true value indicates callback should be invoked f(Sij,Dij)\n *\n * @return {Matrix} DenseMatrix (C)\n *\n * see https://github.com/josdejong/mathjs/pull/346#issuecomment-97477571\n */\n return function matAlgo03xDSf(denseMatrix, sparseMatrix, callback, inverse) {\n // dense matrix arrays\n var adata = denseMatrix._data;\n var asize = denseMatrix._size;\n var adt = denseMatrix._datatype;\n // sparse matrix arrays\n var bvalues = sparseMatrix._values;\n var bindex = sparseMatrix._index;\n var bptr = sparseMatrix._ptr;\n var bsize = sparseMatrix._size;\n var bdt = sparseMatrix._datatype;\n\n // validate dimensions\n if (asize.length !== bsize.length) {\n throw new DimensionError(asize.length, bsize.length);\n }\n\n // check rows & columns\n if (asize[0] !== bsize[0] || asize[1] !== bsize[1]) {\n throw new RangeError('Dimension mismatch. Matrix A (' + asize + ') must match Matrix B (' + bsize + ')');\n }\n\n // sparse matrix cannot be a Pattern matrix\n if (!bvalues) {\n throw new Error('Cannot perform operation on Dense Matrix and Pattern Sparse Matrix');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // zero value\n var zero = 0;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string' && adt === bdt) {\n // datatype\n dt = adt;\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result (DenseMatrix)\n var cdata = [];\n\n // initialize dense matrix\n for (var z = 0; z < rows; z++) {\n // initialize row\n cdata[z] = [];\n }\n\n // workspace\n var x = [];\n // marks indicating we have a value in x for a given column\n var w = [];\n\n // loop columns in b\n for (var j = 0; j < columns; j++) {\n // column mark\n var mark = j + 1;\n // values in column j\n for (var k0 = bptr[j], k1 = bptr[j + 1], k = k0; k < k1; k++) {\n // row\n var i = bindex[k];\n // update workspace\n x[i] = inverse ? cf(bvalues[k], adata[i][j]) : cf(adata[i][j], bvalues[k]);\n w[i] = mark;\n }\n // process workspace\n for (var y = 0; y < rows; y++) {\n // check we have a calculated value for current row\n if (w[y] === mark) {\n // use calculated value\n cdata[y][j] = x[y];\n } else {\n // calculate value\n cdata[y][j] = inverse ? cf(zero, adata[y][j]) : cf(adata[y][j], zero);\n }\n }\n }\n\n // return dense matrix\n return denseMatrix.createDenseMatrix({\n data: cdata,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroLancamentoRetrato.vue?vue&type=style&index=0&id=ee2824a8&prod&lang=css\"","import { flatten } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'setSize';\nvar dependencies = ['typed', 'compareNatural'];\nexport var createSetSize = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n compareNatural\n } = _ref;\n /**\n * Count the number of elements of a (multi)set. When a second parameter is 'true', count only the unique values.\n * A multi-dimension array will be converted to a single-dimension array before the operation.\n *\n * Syntax:\n *\n * math.setSize(set)\n * math.setSize(set, unique)\n *\n * Examples:\n *\n * math.setSize([1, 2, 2, 4]) // returns 4\n * math.setSize([1, 2, 2, 4], true) // returns 3\n *\n * See also:\n *\n * setUnion, setIntersect, setDifference\n *\n * @param {Array | Matrix} a A multiset\n * @param {boolean} [unique] If true, only the unique values are counted. False by default\n * @return {number} The number of elements of the (multi)set\n */\n return typed(name, {\n 'Array | Matrix': function ArrayMatrix(a) {\n return Array.isArray(a) ? flatten(a).length : flatten(a.toArray()).length;\n },\n 'Array | Matrix, boolean': function ArrayMatrixBoolean(a, unique) {\n if (unique === false || a.length === 0) {\n return Array.isArray(a) ? flatten(a).length : flatten(a.toArray()).length;\n } else {\n var b = flatten(Array.isArray(a) ? a : a.toArray()).sort(compareNatural);\n var count = 1;\n for (var i = 1; i < b.length; i++) {\n if (compareNatural(b[i], b[i - 1]) !== 0) {\n count++;\n }\n }\n return count;\n }\n }\n });\n});","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","import { factory } from '../../../utils/factory.js';\nimport { DimensionError } from '../../../error/DimensionError.js';\nvar name = 'matAlgo02xDS0';\nvar dependencies = ['typed', 'equalScalar'];\nexport var createMatAlgo02xDS0 = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n equalScalar\n } = _ref;\n /**\n * Iterates over SparseMatrix nonzero items and invokes the callback function f(Dij, Sij).\n * Callback function invoked NNZ times (number of nonzero items in SparseMatrix).\n *\n *\n * ┌ f(Dij, Sij) ; S(i,j) !== 0\n * C(i,j) = ┤\n * └ 0 ; otherwise\n *\n *\n * @param {Matrix} denseMatrix The DenseMatrix instance (D)\n * @param {Matrix} sparseMatrix The SparseMatrix instance (S)\n * @param {Function} callback The f(Dij,Sij) operation to invoke, where Dij = DenseMatrix(i,j) and Sij = SparseMatrix(i,j)\n * @param {boolean} inverse A true value indicates callback should be invoked f(Sij,Dij)\n *\n * @return {Matrix} SparseMatrix (C)\n *\n * see https://github.com/josdejong/mathjs/pull/346#issuecomment-97477571\n */\n return function matAlgo02xDS0(denseMatrix, sparseMatrix, callback, inverse) {\n // dense matrix arrays\n var adata = denseMatrix._data;\n var asize = denseMatrix._size;\n var adt = denseMatrix._datatype;\n // sparse matrix arrays\n var bvalues = sparseMatrix._values;\n var bindex = sparseMatrix._index;\n var bptr = sparseMatrix._ptr;\n var bsize = sparseMatrix._size;\n var bdt = sparseMatrix._datatype;\n\n // validate dimensions\n if (asize.length !== bsize.length) {\n throw new DimensionError(asize.length, bsize.length);\n }\n\n // check rows & columns\n if (asize[0] !== bsize[0] || asize[1] !== bsize[1]) {\n throw new RangeError('Dimension mismatch. Matrix A (' + asize + ') must match Matrix B (' + bsize + ')');\n }\n\n // sparse matrix cannot be a Pattern matrix\n if (!bvalues) {\n throw new Error('Cannot perform operation on Dense Matrix and Pattern Sparse Matrix');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string' && adt === bdt) {\n // datatype\n dt = adt;\n // find signature that matches (dt, dt)\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result (SparseMatrix)\n var cvalues = [];\n var cindex = [];\n var cptr = [];\n\n // loop columns in b\n for (var j = 0; j < columns; j++) {\n // update cptr\n cptr[j] = cindex.length;\n // values in column j\n for (var k0 = bptr[j], k1 = bptr[j + 1], k = k0; k < k1; k++) {\n // row\n var i = bindex[k];\n // update C(i,j)\n var cij = inverse ? cf(bvalues[k], adata[i][j]) : cf(adata[i][j], bvalues[k]);\n // check for nonzero\n if (!eq(cij, zero)) {\n // push i & v\n cindex.push(i);\n cvalues.push(cij);\n }\n }\n }\n // update cptr\n cptr[columns] = cindex.length;\n\n // return sparse matrix\n return sparseMatrix.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+/;\nvar TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] === '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part === '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) === '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix === 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index === partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() === ':') {\n if (charAt(input, 1) !== ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex === 8) return;\n if (chr() === ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() === '.') {\n if (length === 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() === '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece === 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;\n }\n if (numbersSeen !== 4) return;\n break;\n } else if (chr() === ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex !== 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length === 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length === 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw new TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw new TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');\n input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) {\n buffer += toLowerCase(chr);\n } else if (chr === ':') {\n if (stateOverride && (\n (url.isSpecial() !== hasOwn(specialSchemes, buffer)) ||\n (buffer === 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme === 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme === 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme === url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] === '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr === '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme === 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr === '/' && codePoints[pointer + 1] === '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr === '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr === EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr === '/' || (chr === '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr === '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr === '/' || chr === '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr === '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr !== '/' && chr !== '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr === '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint === ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer === '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme === 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr === ':' && !seenBracket) {\n if (buffer === '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride === HOSTNAME) return;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer === '') return INVALID_HOST;\n if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr === '[') seenBracket = true;\n else if (chr === ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer !== '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr === '/' || chr === '\\\\') state = FILE_SLASH;\n else if (base && base.scheme === 'file') {\n switch (chr) {\n case EOF:\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n break;\n case '?':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n break;\n case '#':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n break;\n default:\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr === '/' || chr === '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr === EOF || chr === '/' || chr === '\\\\' || chr === '?' || chr === '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer === '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host === 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr !== '/' && chr !== '\\\\') continue;\n } else if (!stateOverride && chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n state = PATH;\n if (chr !== '/') continue;\n } break;\n\n case PATH:\n if (\n chr === EOF || chr === '/' ||\n (chr === '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr === '?' || chr === '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n if (chr === \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr === '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) === '[') {\n if (charAt(input, input.length - 1) !== ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme === 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username !== '' || this.password !== '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme === 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw new TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme === 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme === 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port === '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search === '') {\n this.query = null;\n } else {\n if (charAt(search, 0) === '?') search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash === '') {\n this.fragment = null;\n return;\n }\n if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","/**\n * Create a typed-function which checks the types of the arguments and\n * can match them against multiple provided signatures. The typed-function\n * automatically converts inputs in order to find a matching signature.\n * Typed functions throw informative errors in case of wrong input arguments.\n *\n * See the library [typed-function](https://github.com/josdejong/typed-function)\n * for detailed documentation.\n *\n * Syntax:\n *\n * math.typed(name, signatures) : function\n * math.typed(signatures) : function\n *\n * Examples:\n *\n * // create a typed function with multiple types per argument (type union)\n * const fn2 = typed({\n * 'number | boolean': function (b) {\n * return 'b is a number or boolean'\n * },\n * 'string, number | boolean': function (a, b) {\n * return 'a is a string, b is a number or boolean'\n * }\n * })\n *\n * // create a typed function with an any type argument\n * const log = typed({\n * 'string, any': function (event, data) {\n * console.log('event: ' + event + ', data: ' + JSON.stringify(data))\n * }\n * })\n *\n * @param {string} [name] Optional name for the typed-function\n * @param {Object} signatures Object with one or multiple function signatures\n * @returns {function} The created typed-function.\n */\n\nimport { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit } from '../../utils/is.js';\nimport typedFunction from 'typed-function';\nimport { digits } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nimport { isMap } from '../../utils/map.js';\n\n// returns a new instance of typed-function\nvar _createTyped2 = function _createTyped() {\n // initially, return the original instance of typed-function\n // consecutively, return a new instance from typed.create.\n _createTyped2 = typedFunction.create;\n return typedFunction;\n};\nvar dependencies = ['?BigNumber', '?Complex', '?DenseMatrix', '?Fraction'];\n\n/**\n * Factory function for creating a new typed instance\n * @param {Object} dependencies Object with data types like Complex and BigNumber\n * @returns {Function}\n */\nexport var createTyped = /* #__PURE__ */factory('typed', dependencies, function createTyped(_ref) {\n var {\n BigNumber,\n Complex,\n DenseMatrix,\n Fraction\n } = _ref;\n // TODO: typed-function must be able to silently ignore signatures with unknown data types\n\n // get a new instance of typed-function\n var typed = _createTyped2();\n\n // define all types. The order of the types determines in which order function\n // arguments are type-checked (so for performance it's important to put the\n // most used types first).\n typed.clear();\n typed.addTypes([{\n name: 'number',\n test: isNumber\n }, {\n name: 'Complex',\n test: isComplex\n }, {\n name: 'BigNumber',\n test: isBigNumber\n }, {\n name: 'Fraction',\n test: isFraction\n }, {\n name: 'Unit',\n test: isUnit\n },\n // The following type matches a valid variable name, i.e., an alphanumeric\n // string starting with an alphabetic character. It is used (at least)\n // in the definition of the derivative() function, as the argument telling\n // what to differentiate over must (currently) be a variable.\n {\n name: 'identifier',\n test: s => isString && /^(?:[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])*$/.test(s)\n }, {\n name: 'string',\n test: isString\n }, {\n name: 'Chain',\n test: isChain\n }, {\n name: 'Array',\n test: isArray\n }, {\n name: 'Matrix',\n test: isMatrix\n }, {\n name: 'DenseMatrix',\n test: isDenseMatrix\n }, {\n name: 'SparseMatrix',\n test: isSparseMatrix\n }, {\n name: 'Range',\n test: isRange\n }, {\n name: 'Index',\n test: isIndex\n }, {\n name: 'boolean',\n test: isBoolean\n }, {\n name: 'ResultSet',\n test: isResultSet\n }, {\n name: 'Help',\n test: isHelp\n }, {\n name: 'function',\n test: isFunction\n }, {\n name: 'Date',\n test: isDate\n }, {\n name: 'RegExp',\n test: isRegExp\n }, {\n name: 'null',\n test: isNull\n }, {\n name: 'undefined',\n test: isUndefined\n }, {\n name: 'AccessorNode',\n test: isAccessorNode\n }, {\n name: 'ArrayNode',\n test: isArrayNode\n }, {\n name: 'AssignmentNode',\n test: isAssignmentNode\n }, {\n name: 'BlockNode',\n test: isBlockNode\n }, {\n name: 'ConditionalNode',\n test: isConditionalNode\n }, {\n name: 'ConstantNode',\n test: isConstantNode\n }, {\n name: 'FunctionNode',\n test: isFunctionNode\n }, {\n name: 'FunctionAssignmentNode',\n test: isFunctionAssignmentNode\n }, {\n name: 'IndexNode',\n test: isIndexNode\n }, {\n name: 'Node',\n test: isNode\n }, {\n name: 'ObjectNode',\n test: isObjectNode\n }, {\n name: 'OperatorNode',\n test: isOperatorNode\n }, {\n name: 'ParenthesisNode',\n test: isParenthesisNode\n }, {\n name: 'RangeNode',\n test: isRangeNode\n }, {\n name: 'RelationalNode',\n test: isRelationalNode\n }, {\n name: 'SymbolNode',\n test: isSymbolNode\n }, {\n name: 'Map',\n test: isMap\n }, {\n name: 'Object',\n test: isObject\n } // order 'Object' last, it matches on other classes too\n ]);\n\n typed.addConversions([{\n from: 'number',\n to: 'BigNumber',\n convert: function convert(x) {\n if (!BigNumber) {\n throwNoBignumber(x);\n }\n\n // note: conversion from number to BigNumber can fail if x has >15 digits\n if (digits(x) > 15) {\n throw new TypeError('Cannot implicitly convert a number with >15 significant digits to BigNumber ' + '(value: ' + x + '). ' + 'Use function bignumber(x) to convert to BigNumber.');\n }\n return new BigNumber(x);\n }\n }, {\n from: 'number',\n to: 'Complex',\n convert: function convert(x) {\n if (!Complex) {\n throwNoComplex(x);\n }\n return new Complex(x, 0);\n }\n }, {\n from: 'BigNumber',\n to: 'Complex',\n convert: function convert(x) {\n if (!Complex) {\n throwNoComplex(x);\n }\n return new Complex(x.toNumber(), 0);\n }\n }, {\n from: 'Fraction',\n to: 'BigNumber',\n convert: function convert(x) {\n throw new TypeError('Cannot implicitly convert a Fraction to BigNumber or vice versa. ' + 'Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.');\n }\n }, {\n from: 'Fraction',\n to: 'Complex',\n convert: function convert(x) {\n if (!Complex) {\n throwNoComplex(x);\n }\n return new Complex(x.valueOf(), 0);\n }\n }, {\n from: 'number',\n to: 'Fraction',\n convert: function convert(x) {\n if (!Fraction) {\n throwNoFraction(x);\n }\n var f = new Fraction(x);\n if (f.valueOf() !== x) {\n throw new TypeError('Cannot implicitly convert a number to a Fraction when there will be a loss of precision ' + '(value: ' + x + '). ' + 'Use function fraction(x) to convert to Fraction.');\n }\n return f;\n }\n }, {\n // FIXME: add conversion from Fraction to number, for example for `sqrt(fraction(1,3))`\n // from: 'Fraction',\n // to: 'number',\n // convert: function (x) {\n // return x.valueOf()\n // }\n // }, {\n from: 'string',\n to: 'number',\n convert: function convert(x) {\n var n = Number(x);\n if (isNaN(n)) {\n throw new Error('Cannot convert \"' + x + '\" to a number');\n }\n return n;\n }\n }, {\n from: 'string',\n to: 'BigNumber',\n convert: function convert(x) {\n if (!BigNumber) {\n throwNoBignumber(x);\n }\n try {\n return new BigNumber(x);\n } catch (err) {\n throw new Error('Cannot convert \"' + x + '\" to BigNumber');\n }\n }\n }, {\n from: 'string',\n to: 'Fraction',\n convert: function convert(x) {\n if (!Fraction) {\n throwNoFraction(x);\n }\n try {\n return new Fraction(x);\n } catch (err) {\n throw new Error('Cannot convert \"' + x + '\" to Fraction');\n }\n }\n }, {\n from: 'string',\n to: 'Complex',\n convert: function convert(x) {\n if (!Complex) {\n throwNoComplex(x);\n }\n try {\n return new Complex(x);\n } catch (err) {\n throw new Error('Cannot convert \"' + x + '\" to Complex');\n }\n }\n }, {\n from: 'boolean',\n to: 'number',\n convert: function convert(x) {\n return +x;\n }\n }, {\n from: 'boolean',\n to: 'BigNumber',\n convert: function convert(x) {\n if (!BigNumber) {\n throwNoBignumber(x);\n }\n return new BigNumber(+x);\n }\n }, {\n from: 'boolean',\n to: 'Fraction',\n convert: function convert(x) {\n if (!Fraction) {\n throwNoFraction(x);\n }\n return new Fraction(+x);\n }\n }, {\n from: 'boolean',\n to: 'string',\n convert: function convert(x) {\n return String(x);\n }\n }, {\n from: 'Array',\n to: 'Matrix',\n convert: function convert(array) {\n if (!DenseMatrix) {\n throwNoMatrix();\n }\n return new DenseMatrix(array);\n }\n }, {\n from: 'Matrix',\n to: 'Array',\n convert: function convert(matrix) {\n return matrix.valueOf();\n }\n }]);\n\n // Provide a suggestion on how to call a function elementwise\n // This was added primarily as guidance for the v10 -> v11 transition,\n // and could potentially be removed in the future if it no longer seems\n // to be helpful.\n typed.onMismatch = (name, args, signatures) => {\n var usualError = typed.createError(name, args, signatures);\n if (['wrongType', 'mismatch'].includes(usualError.data.category) && args.length === 1 && isCollection(args[0]) &&\n // check if the function can be unary:\n signatures.some(sig => !sig.params.includes(','))) {\n var err = new TypeError(\"Function '\".concat(name, \"' doesn't apply to matrices. To call it \") + \"elementwise on a matrix 'M', try 'map(M, \".concat(name, \")'.\"));\n err.data = usualError.data;\n throw err;\n }\n throw usualError;\n };\n\n // Provide a suggestion on how to call a function elementwise\n // This was added primarily as guidance for the v10 -> v11 transition,\n // and could potentially be removed in the future if it no longer seems\n // to be helpful.\n typed.onMismatch = (name, args, signatures) => {\n var usualError = typed.createError(name, args, signatures);\n if (['wrongType', 'mismatch'].includes(usualError.data.category) && args.length === 1 && isCollection(args[0]) &&\n // check if the function can be unary:\n signatures.some(sig => !sig.params.includes(','))) {\n var err = new TypeError(\"Function '\".concat(name, \"' doesn't apply to matrices. To call it \") + \"elementwise on a matrix 'M', try 'map(M, \".concat(name, \")'.\"));\n err.data = usualError.data;\n throw err;\n }\n throw usualError;\n };\n return typed;\n});\nfunction throwNoBignumber(x) {\n throw new Error(\"Cannot convert value \".concat(x, \" into a BigNumber: no class 'BigNumber' provided\"));\n}\nfunction throwNoComplex(x) {\n throw new Error(\"Cannot convert value \".concat(x, \" into a Complex number: no class 'Complex' provided\"));\n}\nfunction throwNoMatrix() {\n throw new Error('Cannot convert array into a Matrix: no class \\'DenseMatrix\\' provided');\n}\nfunction throwNoFraction(x) {\n throw new Error(\"Cannot convert value \".concat(x, \" into a Fraction, no class 'Fraction' provided.\"));\n}","import { isArray, isBigNumber, isCollection, isIndex, isMatrix, isNumber, isString, typeOf } from '../../utils/is.js';\nimport { isInteger } from '../../utils/number.js';\nimport { format } from '../../utils/string.js';\nimport { clone, deepStrictEqual } from '../../utils/object.js';\nimport { arraySize, getArrayDataType, processSizesWildcard, unsqueeze, validateIndex } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nimport { DimensionError } from '../../error/DimensionError.js';\nimport { maxArgumentCount } from '../../utils/function.js';\nvar name = 'SparseMatrix';\nvar dependencies = ['typed', 'equalScalar', 'Matrix'];\nexport var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n equalScalar,\n Matrix\n } = _ref;\n /**\n * Sparse Matrix implementation. This type implements\n * a [Compressed Column Storage](https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_column_(CSC_or_CCS))\n * format for two-dimensional sparse matrices.\n * @class SparseMatrix\n */\n function SparseMatrix(data, datatype) {\n if (!(this instanceof SparseMatrix)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n if (datatype && !isString(datatype)) {\n throw new Error('Invalid datatype: ' + datatype);\n }\n if (isMatrix(data)) {\n // create from matrix\n _createFromMatrix(this, data, datatype);\n } else if (data && isArray(data.index) && isArray(data.ptr) && isArray(data.size)) {\n // initialize fields\n this._values = data.values;\n this._index = data.index;\n this._ptr = data.ptr;\n this._size = data.size;\n this._datatype = datatype || data.datatype;\n } else if (isArray(data)) {\n // create from array\n _createFromArray(this, data, datatype);\n } else if (data) {\n // unsupported type\n throw new TypeError('Unsupported type of data (' + typeOf(data) + ')');\n } else {\n // nothing provided\n this._values = [];\n this._index = [];\n this._ptr = [0];\n this._size = [0, 0];\n this._datatype = datatype;\n }\n }\n function _createFromMatrix(matrix, source, datatype) {\n // check matrix type\n if (source.type === 'SparseMatrix') {\n // clone arrays\n matrix._values = source._values ? clone(source._values) : undefined;\n matrix._index = clone(source._index);\n matrix._ptr = clone(source._ptr);\n matrix._size = clone(source._size);\n matrix._datatype = datatype || source._datatype;\n } else {\n // build from matrix data\n _createFromArray(matrix, source.valueOf(), datatype || source._datatype);\n }\n }\n function _createFromArray(matrix, data, datatype) {\n // initialize fields\n matrix._values = [];\n matrix._index = [];\n matrix._ptr = [];\n matrix._datatype = datatype;\n // discover rows & columns, do not use math.size() to avoid looping array twice\n var rows = data.length;\n var columns = 0;\n\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n if (isString(datatype)) {\n // find signature that matches (datatype, datatype)\n eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;\n // convert 0 to the same datatype\n zero = typed.convert(0, datatype);\n }\n\n // check we have rows (empty array)\n if (rows > 0) {\n // column index\n var j = 0;\n do {\n // store pointer to values index\n matrix._ptr.push(matrix._index.length);\n // loop rows\n for (var i = 0; i < rows; i++) {\n // current row\n var row = data[i];\n // check row is an array\n if (isArray(row)) {\n // update columns if needed (only on first column)\n if (j === 0 && columns < row.length) {\n columns = row.length;\n }\n // check row has column\n if (j < row.length) {\n // value\n var v = row[j];\n // check value != 0\n if (!eq(v, zero)) {\n // store value\n matrix._values.push(v);\n // index\n matrix._index.push(i);\n }\n }\n } else {\n // update columns if needed (only on first column)\n if (j === 0 && columns < 1) {\n columns = 1;\n }\n // check value != 0 (row is a scalar)\n if (!eq(row, zero)) {\n // store value\n matrix._values.push(row);\n // index\n matrix._index.push(i);\n }\n }\n }\n // increment index\n j++;\n } while (j < columns);\n }\n // store number of values in ptr\n matrix._ptr.push(matrix._index.length);\n // size\n matrix._size = [rows, columns];\n }\n SparseMatrix.prototype = new Matrix();\n\n /**\n * Create a new SparseMatrix\n */\n SparseMatrix.prototype.createSparseMatrix = function (data, datatype) {\n return new SparseMatrix(data, datatype);\n };\n\n /**\n * Attach type information\n */\n Object.defineProperty(SparseMatrix, 'name', {\n value: 'SparseMatrix'\n });\n SparseMatrix.prototype.constructor = SparseMatrix;\n SparseMatrix.prototype.type = 'SparseMatrix';\n SparseMatrix.prototype.isSparseMatrix = true;\n\n /**\n * Get the matrix type\n *\n * Usage:\n * const matrixType = matrix.getDataType() // retrieves the matrix type\n *\n * @memberOf SparseMatrix\n * @return {string} type information; if multiple types are found from the Matrix, it will return \"mixed\"\n */\n SparseMatrix.prototype.getDataType = function () {\n return getArrayDataType(this._values, typeOf);\n };\n\n /**\n * Get the storage format used by the matrix.\n *\n * Usage:\n * const format = matrix.storage() // retrieve storage format\n *\n * @memberof SparseMatrix\n * @return {string} The storage format.\n */\n SparseMatrix.prototype.storage = function () {\n return 'sparse';\n };\n\n /**\n * Get the datatype of the data stored in the matrix.\n *\n * Usage:\n * const format = matrix.datatype() // retrieve matrix datatype\n *\n * @memberof SparseMatrix\n * @return {string} The datatype.\n */\n SparseMatrix.prototype.datatype = function () {\n return this._datatype;\n };\n\n /**\n * Create a new SparseMatrix\n * @memberof SparseMatrix\n * @param {Array} data\n * @param {string} [datatype]\n */\n SparseMatrix.prototype.create = function (data, datatype) {\n return new SparseMatrix(data, datatype);\n };\n\n /**\n * Get the matrix density.\n *\n * Usage:\n * const density = matrix.density() // retrieve matrix density\n *\n * @memberof SparseMatrix\n * @return {number} The matrix density.\n */\n SparseMatrix.prototype.density = function () {\n // rows & columns\n var rows = this._size[0];\n var columns = this._size[1];\n // calculate density\n return rows !== 0 && columns !== 0 ? this._index.length / (rows * columns) : 0;\n };\n\n /**\n * Get a subset of the matrix, or replace a subset of the matrix.\n *\n * Usage:\n * const subset = matrix.subset(index) // retrieve subset\n * const value = matrix.subset(index, replacement) // replace subset\n *\n * @memberof SparseMatrix\n * @param {Index} index\n * @param {Array | Matrix | *} [replacement]\n * @param {*} [defaultValue=0] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be filled with zeros.\n */\n SparseMatrix.prototype.subset = function (index, replacement, defaultValue) {\n // check it is a pattern matrix\n if (!this._values) {\n throw new Error('Cannot invoke subset on a Pattern only matrix');\n }\n\n // check arguments\n switch (arguments.length) {\n case 1:\n return _getsubset(this, index);\n\n // intentional fall through\n case 2:\n case 3:\n return _setsubset(this, index, replacement, defaultValue);\n default:\n throw new SyntaxError('Wrong number of arguments');\n }\n };\n function _getsubset(matrix, idx) {\n // check idx\n if (!isIndex(idx)) {\n throw new TypeError('Invalid index');\n }\n var isScalar = idx.isScalar();\n if (isScalar) {\n // return a scalar\n return matrix.get(idx.min());\n }\n // validate dimensions\n var size = idx.size();\n if (size.length !== matrix._size.length) {\n throw new DimensionError(size.length, matrix._size.length);\n }\n\n // vars\n var i, ii, k, kk;\n\n // validate if any of the ranges in the index is out of range\n var min = idx.min();\n var max = idx.max();\n for (i = 0, ii = matrix._size.length; i < ii; i++) {\n validateIndex(min[i], matrix._size[i]);\n validateIndex(max[i], matrix._size[i]);\n }\n\n // matrix arrays\n var mvalues = matrix._values;\n var mindex = matrix._index;\n var mptr = matrix._ptr;\n\n // rows & columns dimensions for result matrix\n var rows = idx.dimension(0);\n var columns = idx.dimension(1);\n\n // workspace & permutation vector\n var w = [];\n var pv = [];\n\n // loop rows in resulting matrix\n rows.forEach(function (i, r) {\n // update permutation vector\n pv[i] = r[0];\n // mark i in workspace\n w[i] = true;\n });\n\n // result matrix arrays\n var values = mvalues ? [] : undefined;\n var index = [];\n var ptr = [];\n\n // loop columns in result matrix\n columns.forEach(function (j) {\n // update ptr\n ptr.push(index.length);\n // loop values in column j\n for (k = mptr[j], kk = mptr[j + 1]; k < kk; k++) {\n // row\n i = mindex[k];\n // check row is in result matrix\n if (w[i] === true) {\n // push index\n index.push(pv[i]);\n // check we need to process values\n if (values) {\n values.push(mvalues[k]);\n }\n }\n }\n });\n // update ptr\n ptr.push(index.length);\n\n // return matrix\n return new SparseMatrix({\n values,\n index,\n ptr,\n size,\n datatype: matrix._datatype\n });\n }\n function _setsubset(matrix, index, submatrix, defaultValue) {\n // check index\n if (!index || index.isIndex !== true) {\n throw new TypeError('Invalid index');\n }\n\n // get index size and check whether the index contains a single value\n var iSize = index.size();\n var isScalar = index.isScalar();\n\n // calculate the size of the submatrix, and convert it into an Array if needed\n var sSize;\n if (isMatrix(submatrix)) {\n // submatrix size\n sSize = submatrix.size();\n // use array representation\n submatrix = submatrix.toArray();\n } else {\n // get submatrix size (array, scalar)\n sSize = arraySize(submatrix);\n }\n\n // check index is a scalar\n if (isScalar) {\n // verify submatrix is a scalar\n if (sSize.length !== 0) {\n throw new TypeError('Scalar expected');\n }\n // set value\n matrix.set(index.min(), submatrix, defaultValue);\n } else {\n // validate dimensions, index size must be one or two dimensions\n if (iSize.length !== 1 && iSize.length !== 2) {\n throw new DimensionError(iSize.length, matrix._size.length, '<');\n }\n\n // check submatrix and index have the same dimensions\n if (sSize.length < iSize.length) {\n // calculate number of missing outer dimensions\n var i = 0;\n var outer = 0;\n while (iSize[i] === 1 && sSize[i] === 1) {\n i++;\n }\n while (iSize[i] === 1) {\n outer++;\n i++;\n }\n // unsqueeze both outer and inner dimensions\n submatrix = unsqueeze(submatrix, iSize.length, outer, sSize);\n }\n\n // check whether the size of the submatrix matches the index size\n if (!deepStrictEqual(iSize, sSize)) {\n throw new DimensionError(iSize, sSize, '>');\n }\n\n // insert the sub matrix\n if (iSize.length === 1) {\n // if the replacement index only has 1 dimension, go trough each one and set its value\n var range = index.dimension(0);\n range.forEach(function (dataIndex, subIndex) {\n validateIndex(dataIndex);\n matrix.set([dataIndex, 0], submatrix[subIndex[0]], defaultValue);\n });\n } else {\n // if the replacement index has 2 dimensions, go through each one and set the value in the correct index\n var firstDimensionRange = index.dimension(0);\n var secondDimensionRange = index.dimension(1);\n firstDimensionRange.forEach(function (firstDataIndex, firstSubIndex) {\n validateIndex(firstDataIndex);\n secondDimensionRange.forEach(function (secondDataIndex, secondSubIndex) {\n validateIndex(secondDataIndex);\n matrix.set([firstDataIndex, secondDataIndex], submatrix[firstSubIndex[0]][secondSubIndex[0]], defaultValue);\n });\n });\n }\n }\n return matrix;\n }\n\n /**\n * Get a single element from the matrix.\n * @memberof SparseMatrix\n * @param {number[]} index Zero-based index\n * @return {*} value\n */\n SparseMatrix.prototype.get = function (index) {\n if (!isArray(index)) {\n throw new TypeError('Array expected');\n }\n if (index.length !== this._size.length) {\n throw new DimensionError(index.length, this._size.length);\n }\n\n // check it is a pattern matrix\n if (!this._values) {\n throw new Error('Cannot invoke get on a Pattern only matrix');\n }\n\n // row and column\n var i = index[0];\n var j = index[1];\n\n // check i, j are valid\n validateIndex(i, this._size[0]);\n validateIndex(j, this._size[1]);\n\n // find value index\n var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);\n // check k is prior to next column k and it is in the correct row\n if (k < this._ptr[j + 1] && this._index[k] === i) {\n return this._values[k];\n }\n return 0;\n };\n\n /**\n * Replace a single element in the matrix.\n * @memberof SparseMatrix\n * @param {number[]} index Zero-based index\n * @param {*} v\n * @param {*} [defaultValue] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be set to zero.\n * @return {SparseMatrix} self\n */\n SparseMatrix.prototype.set = function (index, v, defaultValue) {\n if (!isArray(index)) {\n throw new TypeError('Array expected');\n }\n if (index.length !== this._size.length) {\n throw new DimensionError(index.length, this._size.length);\n }\n\n // check it is a pattern matrix\n if (!this._values) {\n throw new Error('Cannot invoke set on a Pattern only matrix');\n }\n\n // row and column\n var i = index[0];\n var j = index[1];\n\n // rows & columns\n var rows = this._size[0];\n var columns = this._size[1];\n\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n if (isString(this._datatype)) {\n // find signature that matches (datatype, datatype)\n eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;\n // convert 0 to the same datatype\n zero = typed.convert(0, this._datatype);\n }\n\n // check we need to resize matrix\n if (i > rows - 1 || j > columns - 1) {\n // resize matrix\n _resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);\n // update rows & columns\n rows = this._size[0];\n columns = this._size[1];\n }\n\n // check i, j are valid\n validateIndex(i, rows);\n validateIndex(j, columns);\n\n // find value index\n var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);\n // check k is prior to next column k and it is in the correct row\n if (k < this._ptr[j + 1] && this._index[k] === i) {\n // check value != 0\n if (!eq(v, zero)) {\n // update value\n this._values[k] = v;\n } else {\n // remove value from matrix\n _remove(k, j, this._values, this._index, this._ptr);\n }\n } else {\n if (!eq(v, zero)) {\n // insert value @ (i, j)\n _insert(k, i, j, v, this._values, this._index, this._ptr);\n }\n }\n return this;\n };\n function _getValueIndex(i, top, bottom, index) {\n // check row is on the bottom side\n if (bottom - top === 0) {\n return bottom;\n }\n // loop rows [top, bottom[\n for (var r = top; r < bottom; r++) {\n // check we found value index\n if (index[r] === i) {\n return r;\n }\n }\n // we did not find row\n return top;\n }\n function _remove(k, j, values, index, ptr) {\n // remove value @ k\n values.splice(k, 1);\n index.splice(k, 1);\n // update pointers\n for (var x = j + 1; x < ptr.length; x++) {\n ptr[x]--;\n }\n }\n function _insert(k, i, j, v, values, index, ptr) {\n // insert value\n values.splice(k, 0, v);\n // update row for k\n index.splice(k, 0, i);\n // update column pointers\n for (var x = j + 1; x < ptr.length; x++) {\n ptr[x]++;\n }\n }\n\n /**\n * Resize the matrix to the given size. Returns a copy of the matrix when\n * `copy=true`, otherwise return the matrix itself (resize in place).\n *\n * @memberof SparseMatrix\n * @param {number[] | Matrix} size The new size the matrix should have.\n * Since sparse matrices are always two-dimensional,\n * size must be two numbers in either an array or a matrix\n * @param {*} [defaultValue=0] Default value, filled in on new entries.\n * If not provided, the matrix elements will\n * be filled with zeros.\n * @param {boolean} [copy] Return a resized copy of the matrix\n *\n * @return {Matrix} The resized matrix\n */\n SparseMatrix.prototype.resize = function (size, defaultValue, copy) {\n // validate arguments\n if (!isCollection(size)) {\n throw new TypeError('Array or Matrix expected');\n }\n\n // SparseMatrix input is always 2d, flatten this into 1d if it's indeed a vector\n var sizeArray = size.valueOf().map(value => {\n return Array.isArray(value) && value.length === 1 ? value[0] : value;\n });\n if (sizeArray.length !== 2) {\n throw new Error('Only two dimensions matrix are supported');\n }\n\n // check sizes\n sizeArray.forEach(function (value) {\n if (!isNumber(value) || !isInteger(value) || value < 0) {\n throw new TypeError('Invalid size, must contain positive integers ' + '(size: ' + format(sizeArray) + ')');\n }\n });\n\n // matrix to resize\n var m = copy ? this.clone() : this;\n // resize matrix\n return _resize(m, sizeArray[0], sizeArray[1], defaultValue);\n };\n function _resize(matrix, rows, columns, defaultValue) {\n // value to insert at the time of growing matrix\n var value = defaultValue || 0;\n\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n if (isString(matrix._datatype)) {\n // find signature that matches (datatype, datatype)\n eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;\n // convert 0 to the same datatype\n zero = typed.convert(0, matrix._datatype);\n // convert value to the same datatype\n value = typed.convert(value, matrix._datatype);\n }\n\n // should we insert the value?\n var ins = !eq(value, zero);\n\n // old columns and rows\n var r = matrix._size[0];\n var c = matrix._size[1];\n var i, j, k;\n\n // check we need to increase columns\n if (columns > c) {\n // loop new columns\n for (j = c; j < columns; j++) {\n // update matrix._ptr for current column\n matrix._ptr[j] = matrix._values.length;\n // check we need to insert matrix._values\n if (ins) {\n // loop rows\n for (i = 0; i < r; i++) {\n // add new matrix._values\n matrix._values.push(value);\n // update matrix._index\n matrix._index.push(i);\n }\n }\n }\n // store number of matrix._values in matrix._ptr\n matrix._ptr[columns] = matrix._values.length;\n } else if (columns < c) {\n // truncate matrix._ptr\n matrix._ptr.splice(columns + 1, c - columns);\n // truncate matrix._values and matrix._index\n matrix._values.splice(matrix._ptr[columns], matrix._values.length);\n matrix._index.splice(matrix._ptr[columns], matrix._index.length);\n }\n // update columns\n c = columns;\n\n // check we need to increase rows\n if (rows > r) {\n // check we have to insert values\n if (ins) {\n // inserts\n var n = 0;\n // loop columns\n for (j = 0; j < c; j++) {\n // update matrix._ptr for current column\n matrix._ptr[j] = matrix._ptr[j] + n;\n // where to insert matrix._values\n k = matrix._ptr[j + 1] + n;\n // pointer\n var p = 0;\n // loop new rows, initialize pointer\n for (i = r; i < rows; i++, p++) {\n // add value\n matrix._values.splice(k + p, 0, value);\n // update matrix._index\n matrix._index.splice(k + p, 0, i);\n // increment inserts\n n++;\n }\n }\n // store number of matrix._values in matrix._ptr\n matrix._ptr[c] = matrix._values.length;\n }\n } else if (rows < r) {\n // deletes\n var d = 0;\n // loop columns\n for (j = 0; j < c; j++) {\n // update matrix._ptr for current column\n matrix._ptr[j] = matrix._ptr[j] - d;\n // where matrix._values start for next column\n var k0 = matrix._ptr[j];\n var k1 = matrix._ptr[j + 1] - d;\n // loop matrix._index\n for (k = k0; k < k1; k++) {\n // row\n i = matrix._index[k];\n // check we need to delete value and matrix._index\n if (i > rows - 1) {\n // remove value\n matrix._values.splice(k, 1);\n // remove item from matrix._index\n matrix._index.splice(k, 1);\n // increase deletes\n d++;\n }\n }\n }\n // update matrix._ptr for current column\n matrix._ptr[j] = matrix._values.length;\n }\n // update matrix._size\n matrix._size[0] = rows;\n matrix._size[1] = columns;\n // return matrix\n return matrix;\n }\n\n /**\n * Reshape the matrix to the given size. Returns a copy of the matrix when\n * `copy=true`, otherwise return the matrix itself (reshape in place).\n *\n * NOTE: This might be better suited to copy by default, instead of modifying\n * in place. For now, it operates in place to remain consistent with\n * resize().\n *\n * @memberof SparseMatrix\n * @param {number[]} sizes The new size the matrix should have.\n * Since sparse matrices are always two-dimensional,\n * size must be two numbers in either an array or a matrix\n * @param {boolean} [copy] Return a reshaped copy of the matrix\n *\n * @return {Matrix} The reshaped matrix\n */\n SparseMatrix.prototype.reshape = function (sizes, copy) {\n // validate arguments\n if (!isArray(sizes)) {\n throw new TypeError('Array expected');\n }\n if (sizes.length !== 2) {\n throw new Error('Sparse matrices can only be reshaped in two dimensions');\n }\n\n // check sizes\n sizes.forEach(function (value) {\n if (!isNumber(value) || !isInteger(value) || value <= -2 || value === 0) {\n throw new TypeError('Invalid size, must contain positive integers or -1 ' + '(size: ' + format(sizes) + ')');\n }\n });\n var currentLength = this._size[0] * this._size[1];\n sizes = processSizesWildcard(sizes, currentLength);\n var newLength = sizes[0] * sizes[1];\n\n // m * n must not change\n if (currentLength !== newLength) {\n throw new Error('Reshaping sparse matrix will result in the wrong number of elements');\n }\n\n // matrix to reshape\n var m = copy ? this.clone() : this;\n\n // return unchanged if the same shape\n if (this._size[0] === sizes[0] && this._size[1] === sizes[1]) {\n return m;\n }\n\n // Convert to COO format (generate a column index)\n var colIndex = [];\n for (var i = 0; i < m._ptr.length; i++) {\n for (var j = 0; j < m._ptr[i + 1] - m._ptr[i]; j++) {\n colIndex.push(i);\n }\n }\n\n // Clone the values array\n var values = m._values.slice();\n\n // Clone the row index array\n var rowIndex = m._index.slice();\n\n // Transform the (row, column) indices\n for (var _i = 0; _i < m._index.length; _i++) {\n var r1 = rowIndex[_i];\n var c1 = colIndex[_i];\n var flat = r1 * m._size[1] + c1;\n colIndex[_i] = flat % sizes[1];\n rowIndex[_i] = Math.floor(flat / sizes[1]);\n }\n\n // Now reshaping is supposed to preserve the row-major order, BUT these sparse matrices are stored\n // in column-major order, so we have to reorder the value array now. One option is to use a multisort,\n // sorting several arrays based on some other array.\n\n // OR, we could easily just:\n\n // 1. Remove all values from the matrix\n m._values.length = 0;\n m._index.length = 0;\n m._ptr.length = sizes[1] + 1;\n m._size = sizes.slice();\n for (var _i2 = 0; _i2 < m._ptr.length; _i2++) {\n m._ptr[_i2] = 0;\n }\n\n // 2. Re-insert all elements in the proper order (simplified code from SparseMatrix.prototype.set)\n // This step is probably the most time-consuming\n for (var h = 0; h < values.length; h++) {\n var _i3 = rowIndex[h];\n var _j = colIndex[h];\n var v = values[h];\n var k = _getValueIndex(_i3, m._ptr[_j], m._ptr[_j + 1], m._index);\n _insert(k, _i3, _j, v, m._values, m._index, m._ptr);\n }\n\n // The value indices are inserted out of order, but apparently that's... still OK?\n\n return m;\n };\n\n /**\n * Create a clone of the matrix\n * @memberof SparseMatrix\n * @return {SparseMatrix} clone\n */\n SparseMatrix.prototype.clone = function () {\n var m = new SparseMatrix({\n values: this._values ? clone(this._values) : undefined,\n index: clone(this._index),\n ptr: clone(this._ptr),\n size: clone(this._size),\n datatype: this._datatype\n });\n return m;\n };\n\n /**\n * Retrieve the size of the matrix.\n * @memberof SparseMatrix\n * @returns {number[]} size\n */\n SparseMatrix.prototype.size = function () {\n return this._size.slice(0); // copy the Array\n };\n\n /**\n * Create a new matrix with the results of the callback function executed on\n * each entry of the matrix.\n * @memberof SparseMatrix\n * @param {Function} callback The callback function is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix being traversed.\n * @param {boolean} [skipZeros] Invoke callback function for non-zero values only.\n *\n * @return {SparseMatrix} matrix\n */\n SparseMatrix.prototype.map = function (callback, skipZeros) {\n // check it is a pattern matrix\n if (!this._values) {\n throw new Error('Cannot invoke map on a Pattern only matrix');\n }\n // matrix instance\n var me = this;\n // rows and columns\n var rows = this._size[0];\n var columns = this._size[1];\n // invoke callback\n var args = maxArgumentCount(callback);\n var invoke = function invoke(v, i, j) {\n // invoke callback\n if (args === 1) return callback(v);\n if (args === 2) return callback(v, [i, j]);\n return callback(v, [i, j], me);\n };\n // invoke _map\n return _map(this, 0, rows - 1, 0, columns - 1, invoke, skipZeros);\n };\n\n /**\n * Create a new matrix with the results of the callback function executed on the interval\n * [minRow..maxRow, minColumn..maxColumn].\n */\n function _map(matrix, minRow, maxRow, minColumn, maxColumn, callback, skipZeros) {\n // result arrays\n var values = [];\n var index = [];\n var ptr = [];\n\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n if (isString(matrix._datatype)) {\n // find signature that matches (datatype, datatype)\n eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;\n // convert 0 to the same datatype\n zero = typed.convert(0, matrix._datatype);\n }\n\n // invoke callback\n var invoke = function invoke(v, x, y) {\n // invoke callback\n v = callback(v, x, y);\n // check value != 0\n if (!eq(v, zero)) {\n // store value\n values.push(v);\n // index\n index.push(x);\n }\n };\n // loop columns\n for (var j = minColumn; j <= maxColumn; j++) {\n // store pointer to values index\n ptr.push(values.length);\n // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]\n var k0 = matrix._ptr[j];\n var k1 = matrix._ptr[j + 1];\n if (skipZeros) {\n // loop k within [k0, k1[\n for (var k = k0; k < k1; k++) {\n // row index\n var i = matrix._index[k];\n // check i is in range\n if (i >= minRow && i <= maxRow) {\n // value @ k\n invoke(matrix._values[k], i - minRow, j - minColumn);\n }\n }\n } else {\n // create a cache holding all defined values\n var _values = {};\n for (var _k = k0; _k < k1; _k++) {\n var _i4 = matrix._index[_k];\n _values[_i4] = matrix._values[_k];\n }\n\n // loop over all rows (indexes can be unordered so we can't use that),\n // and either read the value or zero\n for (var _i5 = minRow; _i5 <= maxRow; _i5++) {\n var value = _i5 in _values ? _values[_i5] : 0;\n invoke(value, _i5 - minRow, j - minColumn);\n }\n }\n }\n\n // store number of values in ptr\n ptr.push(values.length);\n // return sparse matrix\n return new SparseMatrix({\n values,\n index,\n ptr,\n size: [maxRow - minRow + 1, maxColumn - minColumn + 1]\n });\n }\n\n /**\n * Execute a callback function on each entry of the matrix.\n * @memberof SparseMatrix\n * @param {Function} callback The callback function is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix being traversed.\n * @param {boolean} [skipZeros] Invoke callback function for non-zero values only.\n * If false, the indices are guaranteed to be in order,\n * if true, the indices can be unordered.\n */\n SparseMatrix.prototype.forEach = function (callback, skipZeros) {\n // check it is a pattern matrix\n if (!this._values) {\n throw new Error('Cannot invoke forEach on a Pattern only matrix');\n }\n // matrix instance\n var me = this;\n // rows and columns\n var rows = this._size[0];\n var columns = this._size[1];\n // loop columns\n for (var j = 0; j < columns; j++) {\n // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]\n var k0 = this._ptr[j];\n var k1 = this._ptr[j + 1];\n if (skipZeros) {\n // loop k within [k0, k1[\n for (var k = k0; k < k1; k++) {\n // row index\n var i = this._index[k];\n\n // value @ k\n callback(this._values[k], [i, j], me);\n }\n } else {\n // create a cache holding all defined values\n var values = {};\n for (var _k2 = k0; _k2 < k1; _k2++) {\n var _i6 = this._index[_k2];\n values[_i6] = this._values[_k2];\n }\n\n // loop over all rows (indexes can be unordered so we can't use that),\n // and either read the value or zero\n for (var _i7 = 0; _i7 < rows; _i7++) {\n var value = _i7 in values ? values[_i7] : 0;\n callback(value, [_i7, j], me);\n }\n }\n }\n };\n\n /**\n * Iterate over the matrix elements, skipping zeros\n * @return {Iterable<{ value, index: number[] }>}\n */\n SparseMatrix.prototype[Symbol.iterator] = function* () {\n if (!this._values) {\n throw new Error('Cannot iterate a Pattern only matrix');\n }\n var columns = this._size[1];\n for (var j = 0; j < columns; j++) {\n var k0 = this._ptr[j];\n var k1 = this._ptr[j + 1];\n for (var k = k0; k < k1; k++) {\n // row index\n var i = this._index[k];\n yield {\n value: this._values[k],\n index: [i, j]\n };\n }\n }\n };\n\n /**\n * Create an Array with a copy of the data of the SparseMatrix\n * @memberof SparseMatrix\n * @returns {Array} array\n */\n SparseMatrix.prototype.toArray = function () {\n return _toArray(this._values, this._index, this._ptr, this._size, true);\n };\n\n /**\n * Get the primitive value of the SparseMatrix: a two dimensions array\n * @memberof SparseMatrix\n * @returns {Array} array\n */\n SparseMatrix.prototype.valueOf = function () {\n return _toArray(this._values, this._index, this._ptr, this._size, false);\n };\n function _toArray(values, index, ptr, size, copy) {\n // rows and columns\n var rows = size[0];\n var columns = size[1];\n // result\n var a = [];\n // vars\n var i, j;\n // initialize array\n for (i = 0; i < rows; i++) {\n a[i] = [];\n for (j = 0; j < columns; j++) {\n a[i][j] = 0;\n }\n }\n\n // loop columns\n for (j = 0; j < columns; j++) {\n // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]\n var k0 = ptr[j];\n var k1 = ptr[j + 1];\n // loop k within [k0, k1[\n for (var k = k0; k < k1; k++) {\n // row index\n i = index[k];\n // set value (use one for pattern matrix)\n a[i][j] = values ? copy ? clone(values[k]) : values[k] : 1;\n }\n }\n return a;\n }\n\n /**\n * Get a string representation of the matrix, with optional formatting options.\n * @memberof SparseMatrix\n * @param {Object | number | Function} [options] Formatting options. See\n * lib/utils/number:format for a\n * description of the available\n * options.\n * @returns {string} str\n */\n SparseMatrix.prototype.format = function (options) {\n // rows and columns\n var rows = this._size[0];\n var columns = this._size[1];\n // density\n var density = this.density();\n // rows & columns\n var str = 'Sparse Matrix [' + format(rows, options) + ' x ' + format(columns, options) + '] density: ' + format(density, options) + '\\n';\n // loop columns\n for (var j = 0; j < columns; j++) {\n // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]\n var k0 = this._ptr[j];\n var k1 = this._ptr[j + 1];\n // loop k within [k0, k1[\n for (var k = k0; k < k1; k++) {\n // row index\n var i = this._index[k];\n // append value\n str += '\\n (' + format(i, options) + ', ' + format(j, options) + ') ==> ' + (this._values ? format(this._values[k], options) : 'X');\n }\n }\n return str;\n };\n\n /**\n * Get a string representation of the matrix\n * @memberof SparseMatrix\n * @returns {string} str\n */\n SparseMatrix.prototype.toString = function () {\n return format(this.toArray());\n };\n\n /**\n * Get a JSON representation of the matrix\n * @memberof SparseMatrix\n * @returns {Object}\n */\n SparseMatrix.prototype.toJSON = function () {\n return {\n mathjs: 'SparseMatrix',\n values: this._values,\n index: this._index,\n ptr: this._ptr,\n size: this._size,\n datatype: this._datatype\n };\n };\n\n /**\n * Get the kth Matrix diagonal.\n *\n * @memberof SparseMatrix\n * @param {number | BigNumber} [k=0] The kth diagonal where the vector will retrieved.\n *\n * @returns {Matrix} The matrix vector with the diagonal values.\n */\n SparseMatrix.prototype.diagonal = function (k) {\n // validate k if any\n if (k) {\n // convert BigNumber to a number\n if (isBigNumber(k)) {\n k = k.toNumber();\n }\n // is must be an integer\n if (!isNumber(k) || !isInteger(k)) {\n throw new TypeError('The parameter k must be an integer number');\n }\n } else {\n // default value\n k = 0;\n }\n var kSuper = k > 0 ? k : 0;\n var kSub = k < 0 ? -k : 0;\n\n // rows & columns\n var rows = this._size[0];\n var columns = this._size[1];\n\n // number diagonal values\n var n = Math.min(rows - kSub, columns - kSuper);\n\n // diagonal arrays\n var values = [];\n var index = [];\n var ptr = [];\n // initial ptr value\n ptr[0] = 0;\n // loop columns\n for (var j = kSuper; j < columns && values.length < n; j++) {\n // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]\n var k0 = this._ptr[j];\n var k1 = this._ptr[j + 1];\n // loop x within [k0, k1[\n for (var x = k0; x < k1; x++) {\n // row index\n var i = this._index[x];\n // check row\n if (i === j - kSuper + kSub) {\n // value on this column\n values.push(this._values[x]);\n // store row\n index[values.length - 1] = i - kSub;\n // exit loop\n break;\n }\n }\n }\n // close ptr\n ptr.push(values.length);\n // return matrix\n return new SparseMatrix({\n values,\n index,\n ptr,\n size: [n, 1]\n });\n };\n\n /**\n * Generate a matrix from a JSON object\n * @memberof SparseMatrix\n * @param {Object} json An object structured like\n * `{\"mathjs\": \"SparseMatrix\", \"values\": [], \"index\": [], \"ptr\": [], \"size\": []}`,\n * where mathjs is optional\n * @returns {SparseMatrix}\n */\n SparseMatrix.fromJSON = function (json) {\n return new SparseMatrix(json);\n };\n\n /**\n * Create a diagonal matrix.\n *\n * @memberof SparseMatrix\n * @param {Array} size The matrix size.\n * @param {number | Array | Matrix } value The values for the diagonal.\n * @param {number | BigNumber} [k=0] The kth diagonal where the vector will be filled in.\n * @param {number} [defaultValue] The default value for non-diagonal\n * @param {string} [datatype] The Matrix datatype, values must be of this datatype.\n *\n * @returns {SparseMatrix}\n */\n SparseMatrix.diagonal = function (size, value, k, defaultValue, datatype) {\n if (!isArray(size)) {\n throw new TypeError('Array expected, size parameter');\n }\n if (size.length !== 2) {\n throw new Error('Only two dimensions matrix are supported');\n }\n\n // map size & validate\n size = size.map(function (s) {\n // check it is a big number\n if (isBigNumber(s)) {\n // convert it\n s = s.toNumber();\n }\n // validate arguments\n if (!isNumber(s) || !isInteger(s) || s < 1) {\n throw new Error('Size values must be positive integers');\n }\n return s;\n });\n\n // validate k if any\n if (k) {\n // convert BigNumber to a number\n if (isBigNumber(k)) {\n k = k.toNumber();\n }\n // is must be an integer\n if (!isNumber(k) || !isInteger(k)) {\n throw new TypeError('The parameter k must be an integer number');\n }\n } else {\n // default value\n k = 0;\n }\n\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n if (isString(datatype)) {\n // find signature that matches (datatype, datatype)\n eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;\n // convert 0 to the same datatype\n zero = typed.convert(0, datatype);\n }\n var kSuper = k > 0 ? k : 0;\n var kSub = k < 0 ? -k : 0;\n\n // rows and columns\n var rows = size[0];\n var columns = size[1];\n\n // number of non-zero items\n var n = Math.min(rows - kSub, columns - kSuper);\n\n // value extraction function\n var _value;\n\n // check value\n if (isArray(value)) {\n // validate array\n if (value.length !== n) {\n // number of values in array must be n\n throw new Error('Invalid value array length');\n }\n // define function\n _value = function _value(i) {\n // return value @ i\n return value[i];\n };\n } else if (isMatrix(value)) {\n // matrix size\n var ms = value.size();\n // validate matrix\n if (ms.length !== 1 || ms[0] !== n) {\n // number of values in array must be n\n throw new Error('Invalid matrix length');\n }\n // define function\n _value = function _value(i) {\n // return value @ i\n return value.get([i]);\n };\n } else {\n // define function\n _value = function _value() {\n // return value\n return value;\n };\n }\n\n // create arrays\n var values = [];\n var index = [];\n var ptr = [];\n\n // loop items\n for (var j = 0; j < columns; j++) {\n // number of rows with value\n ptr.push(values.length);\n // diagonal index\n var i = j - kSuper;\n // check we need to set diagonal value\n if (i >= 0 && i < n) {\n // get value @ i\n var v = _value(i);\n // check for zero\n if (!eq(v, zero)) {\n // column\n index.push(i + kSub);\n // add value\n values.push(v);\n }\n }\n }\n // last value should be number of values\n ptr.push(values.length);\n // create SparseMatrix\n return new SparseMatrix({\n values,\n index,\n ptr,\n size: [rows, columns]\n });\n };\n\n /**\n * Swap rows i and j in Matrix.\n *\n * @memberof SparseMatrix\n * @param {number} i Matrix row index 1\n * @param {number} j Matrix row index 2\n *\n * @return {Matrix} The matrix reference\n */\n SparseMatrix.prototype.swapRows = function (i, j) {\n // check index\n if (!isNumber(i) || !isInteger(i) || !isNumber(j) || !isInteger(j)) {\n throw new Error('Row index must be positive integers');\n }\n // check dimensions\n if (this._size.length !== 2) {\n throw new Error('Only two dimensional matrix is supported');\n }\n // validate index\n validateIndex(i, this._size[0]);\n validateIndex(j, this._size[0]);\n\n // swap rows\n SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr);\n // return current instance\n return this;\n };\n\n /**\n * Loop rows with data in column j.\n *\n * @param {number} j Column\n * @param {Array} values Matrix values\n * @param {Array} index Matrix row indeces\n * @param {Array} ptr Matrix column pointers\n * @param {Function} callback Callback function invoked for every row in column j\n */\n SparseMatrix._forEachRow = function (j, values, index, ptr, callback) {\n // indeces for column j\n var k0 = ptr[j];\n var k1 = ptr[j + 1];\n // loop\n for (var k = k0; k < k1; k++) {\n // invoke callback\n callback(index[k], values[k]);\n }\n };\n\n /**\n * Swap rows x and y in Sparse Matrix data structures.\n *\n * @param {number} x Matrix row index 1\n * @param {number} y Matrix row index 2\n * @param {number} columns Number of columns in matrix\n * @param {Array} values Matrix values\n * @param {Array} index Matrix row indeces\n * @param {Array} ptr Matrix column pointers\n */\n SparseMatrix._swapRows = function (x, y, columns, values, index, ptr) {\n // loop columns\n for (var j = 0; j < columns; j++) {\n // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]\n var k0 = ptr[j];\n var k1 = ptr[j + 1];\n // find value index @ x\n var kx = _getValueIndex(x, k0, k1, index);\n // find value index @ x\n var ky = _getValueIndex(y, k0, k1, index);\n // check both rows exist in matrix\n if (kx < k1 && ky < k1 && index[kx] === x && index[ky] === y) {\n // swap values (check for pattern matrix)\n if (values) {\n var v = values[kx];\n values[kx] = values[ky];\n values[ky] = v;\n }\n // next column\n continue;\n }\n // check x row exist & no y row\n if (kx < k1 && index[kx] === x && (ky >= k1 || index[ky] !== y)) {\n // value @ x (check for pattern matrix)\n var vx = values ? values[kx] : undefined;\n // insert value @ y\n index.splice(ky, 0, y);\n if (values) {\n values.splice(ky, 0, vx);\n }\n // remove value @ x (adjust array index if needed)\n index.splice(ky <= kx ? kx + 1 : kx, 1);\n if (values) {\n values.splice(ky <= kx ? kx + 1 : kx, 1);\n }\n // next column\n continue;\n }\n // check y row exist & no x row\n if (ky < k1 && index[ky] === y && (kx >= k1 || index[kx] !== x)) {\n // value @ y (check for pattern matrix)\n var vy = values ? values[ky] : undefined;\n // insert value @ x\n index.splice(kx, 0, x);\n if (values) {\n values.splice(kx, 0, vy);\n }\n // remove value @ y (adjust array index if needed)\n index.splice(kx <= ky ? ky + 1 : ky, 1);\n if (values) {\n values.splice(kx <= ky ? ky + 1 : ky, 1);\n }\n }\n }\n };\n return SparseMatrix;\n}, {\n isClass: true\n});","export function noBignumber() {\n throw new Error('No \"bignumber\" implementation available');\n}\nexport function noFraction() {\n throw new Error('No \"fraction\" implementation available');\n}\nexport function noMatrix() {\n throw new Error('No \"matrix\" implementation available');\n}\nexport function noIndex() {\n throw new Error('No \"index\" implementation available');\n}\nexport function noSubset() {\n throw new Error('No \"matrix\" implementation available');\n}","import { factory } from '../../../utils/factory.js';\nvar name = 'matAlgo10xSids';\nvar dependencies = ['typed', 'DenseMatrix'];\nexport var createMatAlgo10xSids = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n DenseMatrix\n } = _ref;\n /**\n * Iterates over SparseMatrix S nonzero items and invokes the callback function f(Sij, b).\n * Callback function invoked NZ times (number of nonzero items in S).\n *\n *\n * ┌ f(Sij, b) ; S(i,j) !== 0\n * C(i,j) = ┤\n * └ b ; otherwise\n *\n *\n * @param {Matrix} s The SparseMatrix instance (S)\n * @param {Scalar} b The Scalar value\n * @param {Function} callback The f(Aij,b) operation to invoke\n * @param {boolean} inverse A true value indicates callback should be invoked f(b,Sij)\n *\n * @return {Matrix} DenseMatrix (C)\n *\n * https://github.com/josdejong/mathjs/pull/346#issuecomment-97626813\n */\n return function matAlgo10xSids(s, b, callback, inverse) {\n // sparse matrix arrays\n var avalues = s._values;\n var aindex = s._index;\n var aptr = s._ptr;\n var asize = s._size;\n var adt = s._datatype;\n\n // sparse matrix cannot be a Pattern matrix\n if (!avalues) {\n throw new Error('Cannot perform operation on Pattern Sparse Matrix and Scalar value');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string') {\n // datatype\n dt = adt;\n // convert b to the same datatype\n b = typed.convert(b, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result arrays\n var cdata = [];\n\n // workspaces\n var x = [];\n // marks indicating we have a value in x for a given column\n var w = [];\n\n // loop columns\n for (var j = 0; j < columns; j++) {\n // columns mark\n var mark = j + 1;\n // values in j\n for (var k0 = aptr[j], k1 = aptr[j + 1], k = k0; k < k1; k++) {\n // row\n var r = aindex[k];\n // update workspace\n x[r] = avalues[k];\n w[r] = mark;\n }\n // loop rows\n for (var i = 0; i < rows; i++) {\n // initialize C on first column\n if (j === 0) {\n // create row array\n cdata[i] = [];\n }\n // check sparse matrix has a value @ i,j\n if (w[i] === mark) {\n // invoke callback, update C\n cdata[i][j] = inverse ? cf(b, x[i]) : cf(x[i], b);\n } else {\n // dense matrix value @ i, j\n cdata[i][j] = b;\n }\n }\n }\n\n // return dense matrix\n return new DenseMatrix({\n data: cdata,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioTaxaJuros.vue?vue&type=style&index=0&id=6e9e24cd&prod&lang=css\"","/**\n * Permutes a vector; x = P'b. In MATLAB notation, x(p)=b.\n *\n * @param {Array} p The permutation vector of length n. null value denotes identity\n * @param {Array} b The input vector\n *\n * @return {Array} The output vector x = P'b\n */\nexport function csIpvec(p, b) {\n // vars\n var k;\n var n = b.length;\n var x = [];\n // check permutation vector was provided, p = null denotes identity\n if (p) {\n // loop vector\n for (k = 0; k < n; k++) {\n // apply permutation\n x[p[k]] = b[k];\n }\n } else {\n // loop vector\n for (k = 0; k < n; k++) {\n // x[i] = b[i]\n x[k] = b[k];\n }\n }\n return x;\n}","import { isArray, isMatrix } from '../../../utils/is.js';\nimport { factory } from '../../../utils/factory.js';\nimport { createSolveValidation } from './utils/solveValidation.js';\nimport { csIpvec } from '../sparse/csIpvec.js';\nvar name = 'lusolve';\nvar dependencies = ['typed', 'matrix', 'lup', 'slu', 'usolve', 'lsolve', 'DenseMatrix'];\nexport var createLusolve = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n lup,\n slu,\n usolve,\n lsolve,\n DenseMatrix\n } = _ref;\n var solveValidation = createSolveValidation({\n DenseMatrix\n });\n\n /**\n * Solves the linear system `A * x = b` where `A` is an [n x n] matrix and `b` is a [n] column vector.\n *\n * Syntax:\n *\n * math.lusolve(A, b) // returns column vector with the solution to the linear system A * x = b\n * math.lusolve(lup, b) // returns column vector with the solution to the linear system A * x = b, lup = math.lup(A)\n *\n * Examples:\n *\n * const m = [[1, 0, 0, 0], [0, 2, 0, 0], [0, 0, 3, 0], [0, 0, 0, 4]]\n *\n * const x = math.lusolve(m, [-1, -1, -1, -1]) // x = [[-1], [-0.5], [-1/3], [-0.25]]\n *\n * const f = math.lup(m)\n * const x1 = math.lusolve(f, [-1, -1, -1, -1]) // x1 = [[-1], [-0.5], [-1/3], [-0.25]]\n * const x2 = math.lusolve(f, [1, 2, 1, -1]) // x2 = [[1], [1], [1/3], [-0.25]]\n *\n * const a = [[-2, 3], [2, 1]]\n * const b = [11, 9]\n * const x = math.lusolve(a, b) // [[2], [5]]\n *\n * See also:\n *\n * lup, slu, lsolve, usolve\n *\n * @param {Matrix | Array | Object} A Invertible Matrix or the Matrix LU decomposition\n * @param {Matrix | Array} b Column Vector\n * @param {number} [order] The Symbolic Ordering and Analysis order, see slu for details. Matrix must be a SparseMatrix\n * @param {Number} [threshold] Partial pivoting threshold (1 for partial pivoting), see slu for details. Matrix must be a SparseMatrix.\n *\n * @return {DenseMatrix | Array} Column vector with the solution to the linear system A * x = b\n */\n return typed(name, {\n 'Array, Array | Matrix': function ArrayArrayMatrix(a, b) {\n a = matrix(a);\n var d = lup(a);\n var x = _lusolve(d.L, d.U, d.p, null, b);\n return x.valueOf();\n },\n 'DenseMatrix, Array | Matrix': function DenseMatrixArrayMatrix(a, b) {\n var d = lup(a);\n return _lusolve(d.L, d.U, d.p, null, b);\n },\n 'SparseMatrix, Array | Matrix': function SparseMatrixArrayMatrix(a, b) {\n var d = lup(a);\n return _lusolve(d.L, d.U, d.p, null, b);\n },\n 'SparseMatrix, Array | Matrix, number, number': function SparseMatrixArrayMatrixNumberNumber(a, b, order, threshold) {\n var d = slu(a, order, threshold);\n return _lusolve(d.L, d.U, d.p, d.q, b);\n },\n 'Object, Array | Matrix': function ObjectArrayMatrix(d, b) {\n return _lusolve(d.L, d.U, d.p, d.q, b);\n }\n });\n function _toMatrix(a) {\n if (isMatrix(a)) {\n return a;\n }\n if (isArray(a)) {\n return matrix(a);\n }\n throw new TypeError('Invalid Matrix LU decomposition');\n }\n function _lusolve(l, u, p, q, b) {\n // verify decomposition\n l = _toMatrix(l);\n u = _toMatrix(u);\n\n // apply row permutations if needed (b is a DenseMatrix)\n if (p) {\n b = solveValidation(l, b, true);\n b._data = csIpvec(p, b._data);\n }\n\n // use forward substitution to resolve L * y = b\n var y = lsolve(l, b);\n // use backward substitution to resolve U * x = y\n var x = usolve(u, y);\n\n // apply column permutations if needed (x is a DenseMatrix)\n if (q) {\n x._data = csIpvec(q, x._data);\n }\n return x;\n }\n});",";(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*!\r\n * decimal.js v10.4.3\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The maximum exponent magnitude.\r\n // The limit on the value of `toExpNeg`, `toExpPos`, `minE` and `maxE`.\r\n var EXP_LIMIT = 9e15, // 0 to 9e15\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n // Base conversion alphabet.\r\n NUMERALS = '0123456789abcdef',\r\n\r\n // The natural logarithm of 10 (1025 digits).\r\n LN10 = '2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058',\r\n\r\n // Pi (1025 digits).\r\n PI = '3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789',\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n DEFAULTS = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed at run-time using the `Decimal.config` method.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used when rounding to `precision`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend (JavaScript %).\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 The IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.\r\n //\r\n // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian\r\n // division (9) are commonly used for the modulus operation. The other rounding modes can also\r\n // be used, but they may not give useful results.\r\n modulo: 1, // 0 to 9\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -EXP_LIMIT\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to EXP_LIMIT\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // JavaScript numbers: -324 (5e-324)\r\n minE: -EXP_LIMIT, // -1 to -EXP_LIMIT\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // JavaScript numbers: 308 (1.7976931348623157e+308)\r\n maxE: EXP_LIMIT, // 1 to EXP_LIMIT\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n crypto: false // true/false\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n Decimal, inexact, noConflict, quadrant,\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n precisionLimitExceeded = decimalError + 'Precision limit exceeded',\r\n cryptoUnavailable = decimalError + 'crypto unavailable',\r\n tag = '[object Decimal]',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isBinary = /^0b([01]+(\\.[01]*)?|\\.[01]+)(p[+-]?\\d+)?$/i,\r\n isHex = /^0x([0-9a-f]+(\\.[0-9a-f]*)?|\\.[0-9a-f]+)(p[+-]?\\d+)?$/i,\r\n isOctal = /^0o([0-7]+(\\.[0-7]*)?|\\.[0-7]+)(p[+-]?\\d+)?$/i,\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n\r\n LN10_PRECISION = LN10.length - 1,\r\n PI_PRECISION = PI.length - 1,\r\n\r\n // Decimal.prototype object\r\n P = { toStringTag: tag };\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * ceil\r\n * clampedTo clamp\r\n * comparedTo cmp\r\n * cosine cos\r\n * cubeRoot cbrt\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy divToInt\r\n * equals eq\r\n * floor\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * hyperbolicCosine cosh\r\n * hyperbolicSine sinh\r\n * hyperbolicTangent tanh\r\n * inverseCosine acos\r\n * inverseHyperbolicCosine acosh\r\n * inverseHyperbolicSine asinh\r\n * inverseHyperbolicTangent atanh\r\n * inverseSine asin\r\n * inverseTangent atan\r\n * isFinite\r\n * isInteger isInt\r\n * isNaN\r\n * isNegative isNeg\r\n * isPositive isPos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * [maximum] [max]\r\n * [minimum] [min]\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * round\r\n * sine sin\r\n * squareRoot sqrt\r\n * tangent tan\r\n * times mul\r\n * toBinary\r\n * toDecimalPlaces toDP\r\n * toExponential\r\n * toFixed\r\n * toFraction\r\n * toHexadecimal toHex\r\n * toNearest\r\n * toNumber\r\n * toOctal\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits toSD\r\n * toString\r\n * truncated trunc\r\n * valueOf toJSON\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s < 0) x.s = 1;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of positive Infinity.\r\n *\r\n */\r\n P.ceil = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal clamped to the range\r\n * delineated by `min` and `max`.\r\n *\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n P.clampedTo = P.clamp = function (min, max) {\r\n var k,\r\n x = this,\r\n Ctor = x.constructor;\r\n min = new Ctor(min);\r\n max = new Ctor(max);\r\n if (!min.s || !max.s) return new Ctor(NaN);\r\n if (min.gt(max)) throw Error(invalidArgument + max);\r\n k = x.cmp(min);\r\n return k < 0 ? min : x.cmp(max) > 0 ? max : new Ctor(x);\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value,\r\n * NaN if the value of either Decimal is NaN.\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this,\r\n xd = x.d,\r\n yd = (y = new x.constructor(y)).d,\r\n xs = x.s,\r\n ys = y.s;\r\n\r\n // Either NaN or ±Infinity?\r\n if (!xd || !yd) {\r\n return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Either zero?\r\n if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;\r\n\r\n // Signs differ?\r\n if (xs !== ys) return xs;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;\r\n\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * cos(0) = 1\r\n * cos(-0) = 1\r\n * cos(Infinity) = NaN\r\n * cos(-Infinity) = NaN\r\n * cos(NaN) = NaN\r\n *\r\n */\r\n P.cosine = P.cos = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.d) return new Ctor(NaN);\r\n\r\n // cos(0) = cos(-0) = 1\r\n if (!x.d[0]) return new Ctor(1);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = cosine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n *\r\n * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * cbrt(0) = 0\r\n * cbrt(-0) = -0\r\n * cbrt(1) = 1\r\n * cbrt(-1) = -1\r\n * cbrt(N) = N\r\n * cbrt(-I) = -I\r\n * cbrt(I) = I\r\n *\r\n * Math.cbrt(x) = (x < 0 ? -Math.pow(-x, 1/3) : Math.pow(x, 1/3))\r\n *\r\n */\r\n P.cubeRoot = P.cbrt = function () {\r\n var e, m, n, r, rep, s, sd, t, t3, t3plusx,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = x.s * mathpow(x.s * x, 1 / 3);\r\n\r\n // Math.cbrt underflow/overflow?\r\n // Pass x to Math.pow as integer, then adjust the exponent of the result.\r\n if (!s || Math.abs(s) == 1 / 0) {\r\n n = digitsToString(x.d);\r\n e = x.e;\r\n\r\n // Adjust n exponent so it is a multiple of 3 away from x exponent.\r\n if (s = (e - n.length + 1) % 3) n += (s == 1 || s == -2 ? '0' : '00');\r\n s = mathpow(n, 1 / 3);\r\n\r\n // Rarely, e may be one less than the result exponent value.\r\n e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n r.s = x.s;\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Halley's method.\r\n // TODO? Compare Newton's method.\r\n for (;;) {\r\n t = r;\r\n t3 = t.times(t).times(t);\r\n t3plusx = t3.plus(x);\r\n r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or 4999\r\n // , i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var w,\r\n d = this.d,\r\n n = NaN;\r\n\r\n if (d) {\r\n w = d.length - 1;\r\n n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) n--;\r\n if (n < 0) n = 0;\r\n }\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.divToInt = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of negative Infinity.\r\n *\r\n */\r\n P.floor = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 3);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n var k = this.cmp(y);\r\n return k == 1 || k === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [1, Infinity]\r\n *\r\n * cosh(x) = 1 + x^2/2! + x^4/4! + x^6/6! + ...\r\n *\r\n * cosh(0) = 1\r\n * cosh(-0) = 1\r\n * cosh(Infinity) = Infinity\r\n * cosh(-Infinity) = Infinity\r\n * cosh(NaN) = NaN\r\n *\r\n * x time taken (ms) result\r\n * 1000 9 9.8503555700852349694e+433\r\n * 10000 25 4.4034091128314607936e+4342\r\n * 100000 171 1.4033316802130615897e+43429\r\n * 1000000 3817 1.5166076984010437725e+434294\r\n * 10000000 abandoned after 2 minute wait\r\n *\r\n * TODO? Compare performance of cosh(x) = 0.5 * (exp(x) + exp(-x))\r\n *\r\n */\r\n P.hyperbolicCosine = P.cosh = function () {\r\n var k, n, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor,\r\n one = new Ctor(1);\r\n\r\n if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);\r\n if (x.isZero()) return one;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n // Argument reduction: cos(4x) = 1 - 8cos^2(x) + 8cos^4(x) + 1\r\n // i.e. cos(x) = 1 - cos^2(x/4)(8 - 8cos^2(x/4))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n // TODO? Estimation reused from cosine() and may not be optimal here.\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n n = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n n = '2.3283064365386962890625e-10';\r\n }\r\n\r\n x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true);\r\n\r\n // Reverse argument reduction\r\n var cosh2_x,\r\n i = k,\r\n d8 = new Ctor(8);\r\n for (; i--;) {\r\n cosh2_x = x.times(x);\r\n x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));\r\n }\r\n\r\n return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * sinh(x) = x + x^3/3! + x^5/5! + x^7/7! + ...\r\n *\r\n * sinh(0) = 0\r\n * sinh(-0) = -0\r\n * sinh(Infinity) = Infinity\r\n * sinh(-Infinity) = -Infinity\r\n * sinh(NaN) = NaN\r\n *\r\n * x time taken (ms)\r\n * 10 2 ms\r\n * 100 5 ms\r\n * 1000 14 ms\r\n * 10000 82 ms\r\n * 100000 886 ms 1.4033316802130615897e+43429\r\n * 200000 2613 ms\r\n * 300000 5407 ms\r\n * 400000 8824 ms\r\n * 500000 13026 ms 8.7080643612718084129e+217146\r\n * 1000000 48543 ms\r\n *\r\n * TODO? Compare performance of sinh(x) = 0.5 * (exp(x) - exp(-x))\r\n *\r\n */\r\n P.hyperbolicSine = P.sinh = function () {\r\n var k, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n } else {\r\n\r\n // Alternative argument reduction: sinh(3x) = sinh(x)(3 + 4sinh^2(x))\r\n // i.e. sinh(x) = sinh(x/3)(3 + 4sinh^2(x/3))\r\n // 3 multiplications and 1 addition\r\n\r\n // Argument reduction: sinh(5x) = sinh(x)(5 + sinh^2(x)(20 + 16sinh^2(x)))\r\n // i.e. sinh(x) = sinh(x/5)(5 + sinh^2(x/5)(20 + 16sinh^2(x/5)))\r\n // 4 multiplications and 2 additions\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n\r\n // Reverse argument reduction\r\n var sinh2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sinh2_x = x.times(x);\r\n x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));\r\n }\r\n }\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * tanh(x) = sinh(x) / cosh(x)\r\n *\r\n * tanh(0) = 0\r\n * tanh(-0) = -0\r\n * tanh(Infinity) = 1\r\n * tanh(-Infinity) = -1\r\n * tanh(NaN) = NaN\r\n *\r\n */\r\n P.hyperbolicTangent = P.tanh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(x.s);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 7;\r\n Ctor.rounding = 1;\r\n\r\n return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of\r\n * this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [0, pi]\r\n *\r\n * acos(x) = pi/2 - asin(x)\r\n *\r\n * acos(0) = pi/2\r\n * acos(-0) = pi/2\r\n * acos(1) = 0\r\n * acos(-1) = pi\r\n * acos(1/2) = pi/3\r\n * acos(-1/2) = 2*pi/3\r\n * acos(|x| > 1) = NaN\r\n * acos(NaN) = NaN\r\n *\r\n */\r\n P.inverseCosine = P.acos = function () {\r\n var halfPi,\r\n x = this,\r\n Ctor = x.constructor,\r\n k = x.abs().cmp(1),\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n return k === 0\r\n // |x| is 1\r\n ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0)\r\n // |x| > 1 or x is NaN\r\n : new Ctor(NaN);\r\n }\r\n\r\n if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n // TODO? Special case acos(0.5) = pi/3 and acos(-0.5) = 2*pi/3\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.asin();\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return halfPi.minus(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [1, Infinity]\r\n * Range: [0, Infinity]\r\n *\r\n * acosh(x) = ln(x + sqrt(x^2 - 1))\r\n *\r\n * acosh(x < 1) = NaN\r\n * acosh(NaN) = NaN\r\n * acosh(Infinity) = Infinity\r\n * acosh(-Infinity) = NaN\r\n * acosh(0) = NaN\r\n * acosh(-0) = NaN\r\n * acosh(1) = 0\r\n * acosh(-1) = NaN\r\n *\r\n */\r\n P.inverseHyperbolicCosine = P.acosh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);\r\n if (!x.isFinite()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).minus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * asinh(x) = ln(x + sqrt(x^2 + 1))\r\n *\r\n * asinh(NaN) = NaN\r\n * asinh(Infinity) = Infinity\r\n * asinh(-Infinity) = -Infinity\r\n * asinh(0) = 0\r\n * asinh(-0) = -0\r\n *\r\n */\r\n P.inverseHyperbolicSine = P.asinh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).plus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * atanh(x) = 0.5 * ln((1 + x) / (1 - x))\r\n *\r\n * atanh(|x| > 1) = NaN\r\n * atanh(NaN) = NaN\r\n * atanh(Infinity) = NaN\r\n * atanh(-Infinity) = NaN\r\n * atanh(0) = 0\r\n * atanh(-0) = -0\r\n * atanh(1) = Infinity\r\n * atanh(-1) = -Infinity\r\n *\r\n */\r\n P.inverseHyperbolicTangent = P.atanh = function () {\r\n var pr, rm, wpr, xsd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n xsd = x.sd();\r\n\r\n if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);\r\n\r\n Ctor.precision = wpr = xsd - x.e;\r\n\r\n x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);\r\n\r\n Ctor.precision = pr + 4;\r\n Ctor.rounding = 1;\r\n\r\n x = x.ln();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(0.5);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * asin(x) = 2*atan(x/(1 + sqrt(1 - x^2)))\r\n *\r\n * asin(0) = 0\r\n * asin(-0) = -0\r\n * asin(1/2) = pi/6\r\n * asin(-1/2) = -pi/6\r\n * asin(1) = pi/2\r\n * asin(-1) = -pi/2\r\n * asin(|x| > 1) = NaN\r\n * asin(NaN) = NaN\r\n *\r\n * TODO? Compare performance of Taylor series.\r\n *\r\n */\r\n P.inverseSine = P.asin = function () {\r\n var halfPi, k,\r\n pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n k = x.abs().cmp(1);\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n\r\n // |x| is 1\r\n if (k === 0) {\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n halfPi.s = x.s;\r\n return halfPi;\r\n }\r\n\r\n // |x| > 1 or x is NaN\r\n return new Ctor(NaN);\r\n }\r\n\r\n // TODO? Special case asin(1/2) = pi/6 and asin(-1/2) = -pi/6\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n *\r\n * atan(0) = 0\r\n * atan(-0) = -0\r\n * atan(1) = pi/4\r\n * atan(-1) = -pi/4\r\n * atan(Infinity) = pi/2\r\n * atan(-Infinity) = -pi/2\r\n * atan(NaN) = NaN\r\n *\r\n */\r\n P.inverseTangent = P.atan = function () {\r\n var i, j, k, n, px, t, r, wpr, x2,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (!x.isFinite()) {\r\n if (!x.s) return new Ctor(NaN);\r\n if (pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.5);\r\n r.s = x.s;\r\n return r;\r\n }\r\n } else if (x.isZero()) {\r\n return new Ctor(x);\r\n } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.25);\r\n r.s = x.s;\r\n return r;\r\n }\r\n\r\n Ctor.precision = wpr = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n // TODO? if (x >= 1 && pr <= PI_PRECISION) atan(x) = halfPi * x.s - atan(1 / x);\r\n\r\n // Argument reduction\r\n // Ensure |x| < 0.42\r\n // atan(x) = 2 * atan(x / (1 + sqrt(1 + x^2)))\r\n\r\n k = Math.min(28, wpr / LOG_BASE + 2 | 0);\r\n\r\n for (i = k; i; --i) x = x.div(x.times(x).plus(1).sqrt().plus(1));\r\n\r\n external = false;\r\n\r\n j = Math.ceil(wpr / LOG_BASE);\r\n n = 1;\r\n x2 = x.times(x);\r\n r = new Ctor(x);\r\n px = x;\r\n\r\n // atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n for (; i !== -1;) {\r\n px = px.times(x2);\r\n t = r.minus(px.div(n += 2));\r\n\r\n px = px.times(x2);\r\n r = t.plus(px.div(n += 2));\r\n\r\n if (r.d[j] !== void 0) for (i = j; r.d[i] === t.d[i] && i--;);\r\n }\r\n\r\n if (k) r = r.times(2 << (k - 1));\r\n\r\n external = true;\r\n\r\n return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is a finite number, otherwise return false.\r\n *\r\n */\r\n P.isFinite = function () {\r\n return !!this.d;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isInt = function () {\r\n return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is NaN, otherwise return false.\r\n *\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isNeg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.isPos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0 or -0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return !!this.d && this.d[0] === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * If no base is specified, return log[10](arg).\r\n *\r\n * log[base](arg) = ln(arg) / ln(base)\r\n *\r\n * The result will always be correctly rounded if the base of the log is 10, and 'almost always'\r\n * otherwise:\r\n *\r\n * Depending on the rounding mode, the result may be incorrectly rounded if the first fifteen\r\n * rounding digits are [49]99999999999999 or [50]00000000000000. In that case, the maximum error\r\n * between the result and the correctly rounded result will be one ulp (unit in the last place).\r\n *\r\n * log[-b](a) = NaN\r\n * log[0](a) = NaN\r\n * log[1](a) = NaN\r\n * log[NaN](a) = NaN\r\n * log[Infinity](a) = NaN\r\n * log[b](0) = -Infinity\r\n * log[b](-0) = -Infinity\r\n * log[b](-a) = NaN\r\n * log[b](1) = 0\r\n * log[b](Infinity) = Infinity\r\n * log[b](NaN) = NaN\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var isBase10, d, denominator, k, inf, num, sd, r,\r\n arg = this,\r\n Ctor = arg.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding,\r\n guard = 5;\r\n\r\n // Default base is 10.\r\n if (base == null) {\r\n base = new Ctor(10);\r\n isBase10 = true;\r\n } else {\r\n base = new Ctor(base);\r\n d = base.d;\r\n\r\n // Return NaN if base is negative, or non-finite, or is 0 or 1.\r\n if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN);\r\n\r\n isBase10 = base.eq(10);\r\n }\r\n\r\n d = arg.d;\r\n\r\n // Is arg negative, non-finite, 0 or 1?\r\n if (arg.s < 0 || !d || !d[0] || arg.eq(1)) {\r\n return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0);\r\n }\r\n\r\n // The result will have a non-terminating decimal expansion if base is 10 and arg is not an\r\n // integer power of 10.\r\n if (isBase10) {\r\n if (d.length > 1) {\r\n inf = true;\r\n } else {\r\n for (k = d[0]; k % 10 === 0;) k /= 10;\r\n inf = k !== 1;\r\n }\r\n }\r\n\r\n external = false;\r\n sd = pr + guard;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n\r\n // The result will have 5 rounding digits.\r\n r = divide(num, denominator, sd, 1);\r\n\r\n // If at a rounding boundary, i.e. the result's rounding digits are [49]9999 or [50]0000,\r\n // calculate 10 further digits.\r\n //\r\n // If the result is known to have an infinite decimal expansion, repeat this until it is clear\r\n // that the result is above or below the boundary. Otherwise, if after calculating the 10\r\n // further digits, the last 14 are nines, round up and assume the result is exact.\r\n // Also assume the result is exact if the last 14 are zero.\r\n //\r\n // Example of a result that will be incorrectly rounded:\r\n // log[1048576](4503599627370502) = 2.60000000000000009610279511444746...\r\n // The above result correctly rounded using ROUND_CEIL to 1 decimal place should be 2.7, but it\r\n // will be given as 2.6 as there are 15 zeros immediately after the requested decimal place, so\r\n // the exact result would be assumed to be 2.6, which rounded using ROUND_CEIL to 1 decimal\r\n // place is still 2.6.\r\n if (checkRoundingDigits(r.d, k = pr, rm)) {\r\n\r\n do {\r\n sd += 10;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n r = divide(num, denominator, sd, 1);\r\n\r\n if (!inf) {\r\n\r\n // Check for 14 nines from the 2nd rounding digit, as the first may be 4.\r\n if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n\r\n break;\r\n }\r\n } while (checkRoundingDigits(r.d, k += 10, rm));\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.max = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'lt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.min = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'gt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return y negated if x is finite and y is ±Infinity.\r\n else if (x.d) y.s = -y.s;\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with different signs.\r\n // Return NaN if both are ±Infinity with the same sign.\r\n else y = new Ctor(y.d || x.s !== y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.plus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return y negated if x is zero and y is non-zero.\r\n if (yd[0]) y.s = -y.s;\r\n\r\n // Return x if y is zero and x is non-zero.\r\n else if (xd[0]) y = new Ctor(x);\r\n\r\n // Return zero if both are zero.\r\n // From IEEE 754 (2008) 6.3: 0 - 0 = -0 - -0 = -0 when rounding to -Infinity.\r\n else return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n e = mathfloor(y.e / LOG_BASE);\r\n xe = mathfloor(x.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of\r\n // zeros needing to be prepended, but this can be avoided while still ensuring correct\r\n // rounding by limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to `xd` if shorter.\r\n // Don't add zeros to `yd` if shorter as subtraction only needs to start at `yd` length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * The result depends on the modulo mode.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // Return NaN if x is ±Infinity or NaN, or y is NaN or ±0.\r\n if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);\r\n\r\n // Return x if y is ±Infinity or x is ±0.\r\n if (!y.d || x.d && !x.d[0]) {\r\n return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);\r\n }\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n\r\n if (Ctor.modulo == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // result = x - q * y where 0 <= result < abs(y)\r\n q = divide(x, y.abs(), 0, 3, 1);\r\n q.s *= y.s;\r\n } else {\r\n q = divide(x, y, 0, Ctor.modulo, 1);\r\n }\r\n\r\n q = q.times(y);\r\n\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return naturalExponential(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return naturalLogarithm(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var carry, d, e, i, k, len, pr, rm, xd, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with the same sign.\r\n // Return NaN if both are ±Infinity with different signs.\r\n // Return y if x is finite and y is ±Infinity.\r\n else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!yd[0]) y = new Ctor(x);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n k = mathfloor(x.e / LOG_BASE);\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var k,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n if (x.d) {\r\n k = getPrecision(x.d);\r\n if (z && x.e + 1 > k) k = x.e + 1;\r\n } else {\r\n k = NaN;\r\n }\r\n\r\n return k;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.round = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n return finalise(new Ctor(x), x.e + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n *\r\n * sin(0) = 0\r\n * sin(-0) = -0\r\n * sin(Infinity) = NaN\r\n * sin(-Infinity) = NaN\r\n * sin(NaN) = NaN\r\n *\r\n */\r\n P.sine = P.sin = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = sine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, sd, r, rep, t,\r\n x = this,\r\n d = x.d,\r\n e = x.e,\r\n s = x.s,\r\n Ctor = x.constructor;\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !d || !d[0]) {\r\n return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0);\r\n }\r\n\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(d);\r\n\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, sd + 2, 1)).times(0.5);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * tan(0) = 0\r\n * tan(-0) = -0\r\n * tan(Infinity) = NaN\r\n * tan(-Infinity) = NaN\r\n * tan(NaN) = NaN\r\n *\r\n */\r\n P.tangent = P.tan = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n x = x.sin();\r\n x.s = 1;\r\n x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new Decimal whose value is this Decimal times `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n y.s *= x.s;\r\n\r\n // If either is NaN, ±Infinity or ±0...\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd\r\n\r\n // Return NaN if either is NaN.\r\n // Return NaN if x is ±0 and y is ±Infinity, or y is ±0 and x is ±Infinity.\r\n ? NaN\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n // Return ±0 if either is ±0.\r\n : !xd || !yd ? y.s / 0 : y.s * 0);\r\n }\r\n\r\n e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = getBase10Exponent(r, e);\r\n\r\n return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 2, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toBinary = function (sd, rm) {\r\n return toStringBinary(this, 2, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.toDP = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return finalise(x, dp + x.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), dp + 1, rm);\r\n str = finiteToString(x, true, dp + 1);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = finalise(new Ctor(x), dp + x.e + 1, rm);\r\n str = finiteToString(y, false, dp + y.e + 1);\r\n }\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return an array representing the value of this Decimal as a simple fraction with an integer\r\n * numerator and an integer denominator.\r\n *\r\n * The denominator will be a positive non-zero value less than or equal to the specified maximum\r\n * denominator. If a maximum denominator is not specified, the denominator will be the lowest\r\n * value necessary to represent the number exactly.\r\n *\r\n * [maxD] {number|string|Decimal} Maximum denominator. Integer >= 1 and < Infinity.\r\n *\r\n */\r\n P.toFraction = function (maxD) {\r\n var d, d0, d1, d2, e, k, n, n0, n1, pr, q, r,\r\n x = this,\r\n xd = x.d,\r\n Ctor = x.constructor;\r\n\r\n if (!xd) return new Ctor(x);\r\n\r\n n1 = d0 = new Ctor(1);\r\n d1 = n0 = new Ctor(0);\r\n\r\n d = new Ctor(d1);\r\n e = d.e = getPrecision(xd) - x.e - 1;\r\n k = e % LOG_BASE;\r\n d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k);\r\n\r\n if (maxD == null) {\r\n\r\n // d is 10**e, the minimum max-denominator needed.\r\n maxD = e > 0 ? d : n1;\r\n } else {\r\n n = new Ctor(maxD);\r\n if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n);\r\n maxD = n.gt(d) ? (e > 0 ? d : n1) : n;\r\n }\r\n\r\n external = false;\r\n n = new Ctor(digitsToString(xd));\r\n pr = Ctor.precision;\r\n Ctor.precision = e = xd.length * LOG_BASE * 2;\r\n\r\n for (;;) {\r\n q = divide(n, d, 0, 1, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.cmp(maxD) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n d2 = n1;\r\n n1 = n0.plus(q.times(d2));\r\n n0 = d2;\r\n d2 = d;\r\n d = n.minus(q.times(d2));\r\n n = d2;\r\n }\r\n\r\n d2 = divide(maxD.minus(d0), d1, 0, 1, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1?\r\n r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1\r\n ? [n1, d1] : [n0, d0];\r\n\r\n Ctor.precision = pr;\r\n external = true;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 16, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toHexadecimal = P.toHex = function (sd, rm) {\r\n return toStringBinary(this, 16, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Returns a new Decimal whose value is the nearest multiple of `y` in the direction of rounding\r\n * mode `rm`, or `Decimal.rounding` if `rm` is omitted, to the value of this Decimal.\r\n *\r\n * The return value will always have the same sign as this Decimal, unless either this Decimal\r\n * or `y` is NaN, in which case the return value will be also be NaN.\r\n *\r\n * The return value is not affected by the value of `precision`.\r\n *\r\n * y {number|string|Decimal} The magnitude to round to a multiple of.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toNearest() rounding mode not an integer: {rm}'\r\n * 'toNearest() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toNearest = function (y, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n\r\n if (y == null) {\r\n\r\n // If x is not finite, return x.\r\n if (!x.d) return x;\r\n\r\n y = new Ctor(1);\r\n rm = Ctor.rounding;\r\n } else {\r\n y = new Ctor(y);\r\n if (rm === void 0) {\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(rm, 0, 8);\r\n }\r\n\r\n // If x is not finite, return x if y is not NaN, else NaN.\r\n if (!x.d) return y.s ? x : y;\r\n\r\n // If y is not finite, return Infinity with the sign of x if y is Infinity, else NaN.\r\n if (!y.d) {\r\n if (y.s) y.s = x.s;\r\n return y;\r\n }\r\n }\r\n\r\n // If y is not zero, calculate the nearest multiple of y to x.\r\n if (y.d[0]) {\r\n external = false;\r\n x = divide(x, y, 0, rm, 1).times(y);\r\n external = true;\r\n finalise(x);\r\n\r\n // If y is zero, return zero with the sign of x.\r\n } else {\r\n y.s = x.s;\r\n x = y;\r\n }\r\n\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n * Zero keeps its sign.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 8, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toOctal = function (sd, rm) {\r\n return toStringBinary(this, 8, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`, rounded\r\n * to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * ECMAScript compliant.\r\n *\r\n * pow(x, NaN) = NaN\r\n * pow(x, ±0) = 1\r\n\r\n * pow(NaN, non-zero) = NaN\r\n * pow(abs(x) > 1, +Infinity) = +Infinity\r\n * pow(abs(x) > 1, -Infinity) = +0\r\n * pow(abs(x) == 1, ±Infinity) = NaN\r\n * pow(abs(x) < 1, +Infinity) = +0\r\n * pow(abs(x) < 1, -Infinity) = +Infinity\r\n * pow(+Infinity, y > 0) = +Infinity\r\n * pow(+Infinity, y < 0) = +0\r\n * pow(-Infinity, odd integer > 0) = -Infinity\r\n * pow(-Infinity, even integer > 0) = +Infinity\r\n * pow(-Infinity, odd integer < 0) = -0\r\n * pow(-Infinity, even integer < 0) = +0\r\n * pow(+0, y > 0) = +0\r\n * pow(+0, y < 0) = +Infinity\r\n * pow(-0, odd integer > 0) = -0\r\n * pow(-0, even integer > 0) = +0\r\n * pow(-0, odd integer < 0) = -Infinity\r\n * pow(-0, even integer < 0) = +Infinity\r\n * pow(finite x < 0, finite non-integer) = NaN\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * Assuming the first 15 rounding digits are each equally likely to be any digit 0-9, the\r\n * probability of an incorrectly rounded result\r\n * P([49]9{14} | [50]0{14}) = 2 * 0.2 * 10^-14 = 4e-15 = 1/2.5e+14\r\n * i.e. 1 in 250,000,000,000,000\r\n *\r\n * If a result is incorrectly rounded the maximum error will be 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, rm, s,\r\n x = this,\r\n Ctor = x.constructor,\r\n yn = +(y = new Ctor(y));\r\n\r\n // Either ±Infinity, NaN or ±0?\r\n if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));\r\n\r\n x = new Ctor(x);\r\n\r\n if (x.eq(1)) return x;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (y.eq(1)) return finalise(x, pr, rm);\r\n\r\n // y exponent\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = intPow(Ctor, x, k, pr);\r\n return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm);\r\n }\r\n\r\n s = x.s;\r\n\r\n // if x is negative\r\n if (s < 0) {\r\n\r\n // if y is not an integer\r\n if (e < y.d.length - 1) return new Ctor(NaN);\r\n\r\n // Result is positive if x is negative and the last digit of integer y is even.\r\n if ((y.d[e] & 1) == 0) s = 1;\r\n\r\n // if x.eq(-1)\r\n if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {\r\n x.s = s;\r\n return x;\r\n }\r\n }\r\n\r\n // Estimate result exponent.\r\n // x^y = 10^e, where e = y * log10(x)\r\n // log10(x) = log10(x_significand) + x_exponent\r\n // log10(x_significand) = ln(x_significand) / ln(10)\r\n k = mathpow(+x, yn);\r\n e = k == 0 || !isFinite(k)\r\n ? mathfloor(yn * (Math.log('0.' + digitsToString(x.d)) / Math.LN10 + x.e + 1))\r\n : new Ctor(k + '').e;\r\n\r\n // Exponent estimate may be incorrect e.g. x: 0.999999999999999999, y: 2.29, e: 0, r.e: -1.\r\n\r\n // Overflow/underflow?\r\n if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0);\r\n\r\n external = false;\r\n Ctor.rounding = x.s = 1;\r\n\r\n // Estimate the extra guard digits needed to ensure five correct rounding digits from\r\n // naturalLogarithm(x). Example of failure without these extra digits (precision: 10):\r\n // new Decimal(2.32456).pow('2087987436534566.46411')\r\n // should be 1.162377823e+764914905173815, but is 1.162355823e+764914905173815\r\n k = Math.min(12, (e + '').length);\r\n\r\n // r = x^y = exp(y*ln(x))\r\n r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr);\r\n\r\n // r may be Infinity, e.g. (0.9999999999999999).pow(-1e+40)\r\n if (r.d) {\r\n\r\n // Truncate to the required precision plus five rounding digits.\r\n r = finalise(r, pr + 5, 1);\r\n\r\n // If the rounding digits are [49]9999 or [50]0000 increase the precision by 10 and recalculate\r\n // the result.\r\n if (checkRoundingDigits(r.d, pr, rm)) {\r\n e = pr + 10;\r\n\r\n // Truncate to the increased precision plus five rounding digits.\r\n r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1);\r\n\r\n // Check for 14 nines from the 2nd rounding digit (the first rounding digit may be 4 or 9).\r\n if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n }\r\n }\r\n\r\n r.s = s;\r\n external = true;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), sd, rm);\r\n str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toSD() digits out of range: {sd}'\r\n * 'toSD() digits not an integer: {sd}'\r\n * 'toSD() rounding mode not an integer: {rm}'\r\n * 'toSD() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toSignificantDigits = P.toSD = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return finalise(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal truncated to a whole number.\r\n *\r\n */\r\n P.truncated = P.trunc = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n * Unlike `toString`, negative zero will include the minus sign.\r\n *\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() ? '-' + str : str;\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * digitsToString P.cubeRoot, P.logarithm, P.squareRoot, P.toFraction, P.toPower,\r\n * finiteToString, naturalExponential, naturalLogarithm\r\n * checkInt32 P.toDecimalPlaces, P.toExponential, P.toFixed, P.toNearest,\r\n * P.toPrecision, P.toSignificantDigits, toStringBinary, random\r\n * checkRoundingDigits P.logarithm, P.toPower, naturalExponential, naturalLogarithm\r\n * convertBase toStringBinary, parseOther\r\n * cos P.cos\r\n * divide P.atanh, P.cubeRoot, P.dividedBy, P.dividedToIntegerBy,\r\n * P.logarithm, P.modulo, P.squareRoot, P.tan, P.tanh, P.toFraction,\r\n * P.toNearest, toStringBinary, naturalExponential, naturalLogarithm,\r\n * taylorSeries, atan2, parseOther\r\n * finalise P.absoluteValue, P.atan, P.atanh, P.ceil, P.cos, P.cosh,\r\n * P.cubeRoot, P.dividedToIntegerBy, P.floor, P.logarithm, P.minus,\r\n * P.modulo, P.negated, P.plus, P.round, P.sin, P.sinh, P.squareRoot,\r\n * P.tan, P.times, P.toDecimalPlaces, P.toExponential, P.toFixed,\r\n * P.toNearest, P.toPower, P.toPrecision, P.toSignificantDigits,\r\n * P.truncated, divide, getLn10, getPi, naturalExponential,\r\n * naturalLogarithm, ceil, floor, round, trunc\r\n * finiteToString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf,\r\n * toStringBinary\r\n * getBase10Exponent P.minus, P.plus, P.times, parseOther\r\n * getLn10 P.logarithm, naturalLogarithm\r\n * getPi P.acos, P.asin, P.atan, toLessThanHalfPi, atan2\r\n * getPrecision P.precision, P.toFraction\r\n * getZeroString digitsToString, finiteToString\r\n * intPow P.toPower, parseOther\r\n * isOdd toLessThanHalfPi\r\n * maxOrMin max, min\r\n * naturalExponential P.naturalExponential, P.toPower\r\n * naturalLogarithm P.acosh, P.asinh, P.atanh, P.logarithm, P.naturalLogarithm,\r\n * P.toPower, naturalExponential\r\n * nonFiniteToString finiteToString, toStringBinary\r\n * parseDecimal Decimal\r\n * parseOther Decimal\r\n * sin P.sin\r\n * taylorSeries P.cosh, P.sinh, cos, sin\r\n * toLessThanHalfPi P.cos, P.sin\r\n * toStringBinary P.toBinary, P.toHexadecimal, P.toOctal\r\n * truncate intPow\r\n *\r\n * Throws: P.logarithm, P.precision, P.toFraction, checkInt32, getLn10, getPi,\r\n * naturalLogarithm, config, parseOther, random, Decimal\r\n */\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Check 5 rounding digits if `repeating` is null, 4 otherwise.\r\n * `repeating == null` if caller is `log` or `pow`,\r\n * `repeating != null` if caller is `naturalLogarithm` or `naturalExponential`.\r\n */\r\n function checkRoundingDigits(d, i, rm, repeating) {\r\n var di, k, r, rd;\r\n\r\n // Get the length of the first word of the array d.\r\n for (k = d[0]; k >= 10; k /= 10) --i;\r\n\r\n // Is the rounding digit in the first word of d?\r\n if (--i < 0) {\r\n i += LOG_BASE;\r\n di = 0;\r\n } else {\r\n di = Math.ceil((i + 1) / LOG_BASE);\r\n i %= LOG_BASE;\r\n }\r\n\r\n // i is the index (0 - 6) of the rounding digit.\r\n // E.g. if within the word 3487563 the first rounding digit is 5,\r\n // then i = 4, k = 1000, rd = 3487563 % 1000 = 563\r\n k = mathpow(10, LOG_BASE - i);\r\n rd = d[di] % k | 0;\r\n\r\n if (repeating == null) {\r\n if (i < 3) {\r\n if (i == 0) rd = rd / 100 | 0;\r\n else if (i == 1) rd = rd / 10 | 0;\r\n r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 50000 || rd == 0;\r\n } else {\r\n r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 ||\r\n (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0;\r\n }\r\n } else {\r\n if (i < 4) {\r\n if (i == 0) rd = rd / 1000 | 0;\r\n else if (i == 1) rd = rd / 100 | 0;\r\n else if (i == 2) rd = rd / 10 | 0;\r\n r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;\r\n } else {\r\n r = ((repeating || rm < 4) && rd + 1 == k ||\r\n (!repeating && rm > 3) && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 1000 | 0) == mathpow(10, i - 3) - 1;\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n // Convert string of `baseIn` to an array of numbers of `baseOut`.\r\n // Eg. convertBase('255', 10, 16) returns [15, 15].\r\n // Eg. convertBase('ff', 16, 10) returns [2, 5, 5].\r\n function convertBase(str, baseIn, baseOut) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n strL = str.length;\r\n\r\n for (; i < strL;) {\r\n for (arrL = arr.length; arrL--;) arr[arrL] *= baseIn;\r\n arr[0] += NUMERALS.indexOf(str.charAt(i++));\r\n for (j = 0; j < arr.length; j++) {\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] === void 0) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n\r\n /*\r\n * cos(x) = 1 - x^2/2! + x^4/4! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function cosine(Ctor, x) {\r\n var k, len, y;\r\n\r\n if (x.isZero()) return x;\r\n\r\n // Argument reduction: cos(4x) = 8*(cos^4(x) - cos^2(x)) + 1\r\n // i.e. cos(x) = 8*(cos^4(x/4) - cos^2(x/4)) + 1\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n len = x.d.length;\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n y = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n y = '2.3283064365386962890625e-10';\r\n }\r\n\r\n Ctor.precision += k;\r\n\r\n x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));\r\n\r\n // Reverse argument reduction\r\n for (var i = k; i--;) {\r\n var cos2x = x.times(x);\r\n x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);\r\n }\r\n\r\n Ctor.precision -= k;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Perform division in the specified base.\r\n */\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k, base) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % base | 0;\r\n carry = temp / base | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, rm, dp, base) {\r\n var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0,\r\n yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(// Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN :\r\n\r\n // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.\r\n xd && xd[0] == 0 || !yd ? sign * 0 : sign / 0);\r\n }\r\n\r\n if (base) {\r\n logBase = 1;\r\n e = x.e - y.e;\r\n } else {\r\n base = BASE;\r\n logBase = LOG_BASE;\r\n e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);\r\n }\r\n\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n // The digit array of a Decimal from toStringBinary may have trailing zeros.\r\n for (i = 0; yd[i] == (xd[i] || 0); i++);\r\n\r\n if (yd[i] > (xd[i] || 0)) e--;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else if (dp) {\r\n sd = pr + (x.e - y.e) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) {\r\n qd.push(1);\r\n more = true;\r\n } else {\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / logBase + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * base + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n more = k || i < xL;\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= base/2\r\n k = base / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k, base);\r\n xd = multiplyInteger(xd, k, base);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= base / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= base) k = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL, base);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL, base);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n\r\n more = rem[0] !== void 0;\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n }\r\n\r\n // logBase is 1 when divide is being used for base conversion.\r\n if (logBase == 1) {\r\n q.e = e;\r\n inexact = more;\r\n } else {\r\n\r\n // To calculate q.e, first get the number of digits of qd[0].\r\n for (i = 1, k = qd[0]; k >= 10; k /= 10) i++;\r\n q.e = i + e * logBase - 1;\r\n\r\n finalise(q, dp ? pr + q.e + 1 : pr, rm, more);\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits using rounding mode `rm`.\r\n * Check for over/under-flow.\r\n */\r\n function finalise(x, sd, rm, isTruncated) {\r\n var digits, i, j, k, rd, roundUp, w, xd, xdi,\r\n Ctor = x.constructor;\r\n\r\n // Don't round if sd is null or undefined.\r\n out: if (sd != null) {\r\n xd = x.d;\r\n\r\n // Infinity/NaN.\r\n if (!xd) return x;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd containing rd, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // digits: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (digits = 1, k = xd[0]; k >= 10; k /= 10) digits++;\r\n i = sd - digits;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / mathpow(10, digits - j - 1) % 10 | 0;\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) {\r\n if (isTruncated) {\r\n\r\n // Needed by `naturalExponential`, `naturalLogarithm` and `squareRoot`.\r\n for (; k++ <= xdi;) xd.push(0);\r\n w = rd = 0;\r\n digits = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (digits = 1; k >= 10; k /= 10) digits++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - digits.\r\n j = i - LOG_BASE + digits;\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0;\r\n }\r\n }\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n isTruncated = isTruncated || sd < 0 ||\r\n xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1));\r\n\r\n // The expression `w % mathpow(10, digits - j - 1)` returns all the digits of w to the right\r\n // of the digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression\r\n // will give 714.\r\n\r\n roundUp = rm < 4\r\n ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xd[0]) {\r\n xd.length = 0;\r\n if (roundUp) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xd[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (roundUp) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n\r\n // i will be the length of xd[0] before k is added.\r\n for (i = 1, j = xd[0]; j >= 10; j /= 10) i++;\r\n j = xd[0] += k;\r\n for (k = 1; j >= 10; j /= 10) k++;\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xd[0] == BASE) xd[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n }\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > Ctor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < Ctor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // Ctor.underflow = true;\r\n } // else Ctor.underflow = false;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function finiteToString(x, isExp, sd) {\r\n if (!x.isFinite()) return nonFiniteToString(x);\r\n var k,\r\n e = x.e,\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (x.e < 0 ? 'e' : 'e+') + x.e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(digits, e) {\r\n var w = digits[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for ( e *= LOG_BASE; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n if (sd > LN10_PRECISION) {\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(precisionLimitExceeded);\r\n }\r\n return finalise(new Ctor(LN10), sd, 1, true);\r\n }\r\n\r\n\r\n function getPi(Ctor, sd, rm) {\r\n if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);\r\n return finalise(new Ctor(PI), sd, rm, true);\r\n }\r\n\r\n\r\n function getPrecision(digits) {\r\n var w = digits.length - 1,\r\n len = w * LOG_BASE + 1;\r\n\r\n w = digits[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) len--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = digits[0]; w >= 10; w /= 10) len++;\r\n }\r\n\r\n return len;\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of Decimal `x` to the power `n`, where `n` is an\r\n * integer of type number.\r\n *\r\n * Implements 'exponentiation by squaring'. Called by `pow` and `parseOther`.\r\n *\r\n */\r\n function intPow(Ctor, x, n, pr) {\r\n var isTruncated,\r\n r = new Ctor(1),\r\n\r\n // Max n of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n k = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (n % 2) {\r\n r = r.times(x);\r\n if (truncate(r.d, k)) isTruncated = true;\r\n }\r\n\r\n n = mathfloor(n / 2);\r\n if (n === 0) {\r\n\r\n // To ensure correct rounding when r.d is truncated, increment the last word if it is zero.\r\n n = r.d.length - 1;\r\n if (isTruncated && r.d[n] === 0) ++r.d[n];\r\n break;\r\n }\r\n\r\n x = x.times(x);\r\n truncate(x.d, k);\r\n }\r\n\r\n external = true;\r\n\r\n return r;\r\n }\r\n\r\n\r\n function isOdd(n) {\r\n return n.d[n.d.length - 1] & 1;\r\n }\r\n\r\n\r\n /*\r\n * Handle `max` and `min`. `ltgt` is 'lt' or 'gt'.\r\n */\r\n function maxOrMin(Ctor, args, ltgt) {\r\n var y,\r\n x = new Ctor(args[0]),\r\n i = 0;\r\n\r\n for (; ++i < args.length;) {\r\n y = new Ctor(args[i]);\r\n if (!y.s) {\r\n x = y;\r\n break;\r\n } else if (x[ltgt](y)) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * Max integer argument: exp('20723265836946413') = 6.3e+9000000000000000\r\n * Min integer argument: exp('-20723265836946411') = 1.2e-9000000000000000\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(Infinity) = Infinity\r\n * exp(-Infinity) = 0\r\n * exp(NaN) = NaN\r\n * exp(±0) = 1\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n * The result will always be correctly rounded.\r\n *\r\n */\r\n function naturalExponential(x, sd) {\r\n var denominator, guard, j, pow, sum, t, wpr,\r\n rep = 0,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // 0/NaN/Infinity?\r\n if (!x.d || !x.d[0] || x.e > 17) {\r\n\r\n return new Ctor(x.d\r\n ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0\r\n : x.s ? x.s < 0 ? 0 : x : 0 / 0);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n // while abs(x) >= 0.1\r\n while (x.e > -2) {\r\n\r\n // x = x / 2^5\r\n x = x.times(t);\r\n k += 5;\r\n }\r\n\r\n // Use 2 * log10(2^k) + 5 (empirically derived) to estimate the increase in precision\r\n // necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(1);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = finalise(pow.times(x), wpr, 1);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n j = k;\r\n while (j--) sum = finalise(sum.times(sum), wpr, 1);\r\n\r\n // Check to see if the first 4 rounding digits are [49]999.\r\n // If so, repeat the summation with a higher precision, otherwise\r\n // e.g. with precision: 18, rounding: 1\r\n // exp(18.404272462595034083567793919843761) = 98372560.1229999999 (should be 98372560.123)\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n\r\n if (rep < 3 && checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += 10;\r\n denominator = pow = t = new Ctor(1);\r\n i = 0;\r\n rep++;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * ln(-n) = NaN\r\n * ln(0) = -Infinity\r\n * ln(-0) = -Infinity\r\n * ln(1) = 0\r\n * ln(Infinity) = Infinity\r\n * ln(-Infinity) = NaN\r\n * ln(NaN) = NaN\r\n *\r\n * ln(n) (n != 1) is non-terminating.\r\n *\r\n */\r\n function naturalLogarithm(y, sd) {\r\n var c, c0, denominator, e, numerator, rep, sum, t, wpr, x1, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // Is x negative or Infinity, NaN, 0 or 1?\r\n if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {\r\n return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n Ctor.precision = wpr += guard;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n\r\n if (Math.abs(e = x.e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = x.e;\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = naturalLogarithm(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n Ctor.precision = pr;\r\n\r\n return sd == null ? finalise(x, pr, rm, external = true) : x;\r\n }\r\n\r\n // x1 is x reduced to a value near 1.\r\n x1 = x;\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = finalise(numerator.times(x2), wpr, 1);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction. Check that e is not 0 because, besides preventing an\r\n // unnecessary calculation, -0 + 0 = +0 and to ensure correct rounding -0 needs to stay -0.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr, 1);\r\n\r\n // Is rm > 3 and the first 4 rounding digits 4999, or rm < 4 (or the summation has\r\n // been repeated previously) and the first 4 rounding digits 9999?\r\n // If so, restart the summation with a higher precision, otherwise\r\n // e.g. with precision: 12, rounding: 1\r\n // ln(135520028.6126091714265381533) = 18.7246299999 when it should be 18.72463.\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n if (checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += guard;\r\n t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = rep = 1;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n // ±Infinity, NaN.\r\n function nonFiniteToString(x) {\r\n // Unsigned.\r\n return String(x.s * x.s / 0);\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48; --len);\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n x.e = e = e - i - 1;\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > x.constructor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < x.constructor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // x.constructor.underflow = true;\r\n } // else x.constructor.underflow = false;\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from a string `str`, which is not a decimal value.\r\n */\r\n function parseOther(x, str) {\r\n var base, Ctor, divisor, i, isFloat, len, p, xd, xe;\r\n\r\n if (str.indexOf('_') > -1) {\r\n str = str.replace(/(\\d)_(?=\\d)/g, '$1');\r\n if (isDecimal.test(str)) return parseDecimal(x, str);\r\n } else if (str === 'Infinity' || str === 'NaN') {\r\n if (!+str) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return x;\r\n }\r\n\r\n if (isHex.test(str)) {\r\n base = 16;\r\n str = str.toLowerCase();\r\n } else if (isBinary.test(str)) {\r\n base = 2;\r\n } else if (isOctal.test(str)) {\r\n base = 8;\r\n } else {\r\n throw Error(invalidArgument + str);\r\n }\r\n\r\n // Is there a binary exponent part?\r\n i = str.search(/p/i);\r\n\r\n if (i > 0) {\r\n p = +str.slice(i + 1);\r\n str = str.substring(2, i);\r\n } else {\r\n str = str.slice(2);\r\n }\r\n\r\n // Convert `str` as an integer then divide the result by `base` raised to a power such that the\r\n // fraction part will be restored.\r\n i = str.indexOf('.');\r\n isFloat = i >= 0;\r\n Ctor = x.constructor;\r\n\r\n if (isFloat) {\r\n str = str.replace('.', '');\r\n len = str.length;\r\n i = len - i;\r\n\r\n // log[10](16) = 1.2041... , log[10](88) = 1.9444....\r\n divisor = intPow(Ctor, new Ctor(base), i, i * 2);\r\n }\r\n\r\n xd = convertBase(str, base, BASE);\r\n xe = xd.length - 1;\r\n\r\n // Remove trailing zeros.\r\n for (i = xe; xd[i] === 0; --i) xd.pop();\r\n if (i < 0) return new Ctor(x.s * 0);\r\n x.e = getBase10Exponent(xd, xe);\r\n x.d = xd;\r\n external = false;\r\n\r\n // At what precision to perform the division to ensure exact conversion?\r\n // maxDecimalIntegerPartDigitCount = ceil(log[10](b) * otherBaseIntegerPartDigitCount)\r\n // log[10](2) = 0.30103, log[10](8) = 0.90309, log[10](16) = 1.20412\r\n // E.g. ceil(1.2 * 3) = 4, so up to 4 decimal digits are needed to represent 3 hex int digits.\r\n // maxDecimalFractionPartDigitCount = {Hex:4|Oct:3|Bin:1} * otherBaseFractionPartDigitCount\r\n // Therefore using 4 * the number of digits of str will always be enough.\r\n if (isFloat) x = divide(x, divisor, len * 4);\r\n\r\n // Multiply by the binary exponent part if present.\r\n if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p));\r\n external = true;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function sine(Ctor, x) {\r\n var k,\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);\r\n }\r\n\r\n // Argument reduction: sin(5x) = 16*sin^5(x) - 20*sin^3(x) + 5*sin(x)\r\n // i.e. sin(x) = 16*sin^5(x/5) - 20*sin^3(x/5) + 5*sin(x/5)\r\n // and sin(x) = sin(x/5)(5 + sin^2(x/5)(16sin^2(x/5) - 20))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x);\r\n\r\n // Reverse argument reduction\r\n var sin2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sin2_x = x.times(x);\r\n x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n // Calculate Taylor series for `cos`, `cosh`, `sin` and `sinh`.\r\n function taylorSeries(Ctor, n, x, y, isHyperbolic) {\r\n var j, t, u, x2,\r\n i = 1,\r\n pr = Ctor.precision,\r\n k = Math.ceil(pr / LOG_BASE);\r\n\r\n external = false;\r\n x2 = x.times(x);\r\n u = new Ctor(y);\r\n\r\n for (;;) {\r\n t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1);\r\n u = isHyperbolic ? y.plus(t) : y.minus(t);\r\n y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1);\r\n t = u.plus(y);\r\n\r\n if (t.d[k] !== void 0) {\r\n for (j = k; t.d[j] === u.d[j] && j--;);\r\n if (j == -1) break;\r\n }\r\n\r\n j = u;\r\n u = y;\r\n y = t;\r\n t = j;\r\n i++;\r\n }\r\n\r\n external = true;\r\n t.d.length = k + 1;\r\n\r\n return t;\r\n }\r\n\r\n\r\n // Exponent e must be positive and non-zero.\r\n function tinyPow(b, e) {\r\n var n = b;\r\n while (--e) n *= b;\r\n return n;\r\n }\r\n\r\n\r\n // Return the absolute value of `x` reduced to less than or equal to half pi.\r\n function toLessThanHalfPi(Ctor, x) {\r\n var t,\r\n isNeg = x.s < 0,\r\n pi = getPi(Ctor, Ctor.precision, 1),\r\n halfPi = pi.times(0.5);\r\n\r\n x = x.abs();\r\n\r\n if (x.lte(halfPi)) {\r\n quadrant = isNeg ? 4 : 1;\r\n return x;\r\n }\r\n\r\n t = x.divToInt(pi);\r\n\r\n if (t.isZero()) {\r\n quadrant = isNeg ? 3 : 2;\r\n } else {\r\n x = x.minus(t.times(pi));\r\n\r\n // 0 <= x < pi\r\n if (x.lte(halfPi)) {\r\n quadrant = isOdd(t) ? (isNeg ? 2 : 3) : (isNeg ? 4 : 1);\r\n return x;\r\n }\r\n\r\n quadrant = isOdd(t) ? (isNeg ? 1 : 4) : (isNeg ? 3 : 2);\r\n }\r\n\r\n return x.minus(pi).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return the value of Decimal `x` as a string in base `baseOut`.\r\n *\r\n * If the optional `sd` argument is present include a binary exponent suffix.\r\n */\r\n function toStringBinary(x, baseOut, sd, rm) {\r\n var base, e, i, k, len, roundUp, str, xd, y,\r\n Ctor = x.constructor,\r\n isExp = sd !== void 0;\r\n\r\n if (isExp) {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n } else {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n }\r\n\r\n if (!x.isFinite()) {\r\n str = nonFiniteToString(x);\r\n } else {\r\n str = finiteToString(x);\r\n i = str.indexOf('.');\r\n\r\n // Use exponential notation according to `toExpPos` and `toExpNeg`? No, but if required:\r\n // maxBinaryExponent = floor((decimalExponent + 1) * log[2](10))\r\n // minBinaryExponent = floor(decimalExponent * log[2](10))\r\n // log[2](10) = 3.321928094887362347870319429489390175864\r\n\r\n if (isExp) {\r\n base = 2;\r\n if (baseOut == 16) {\r\n sd = sd * 4 - 3;\r\n } else if (baseOut == 8) {\r\n sd = sd * 3 - 2;\r\n }\r\n } else {\r\n base = baseOut;\r\n }\r\n\r\n // Convert the number as an integer then divide the result by its base raised to a power such\r\n // that the fraction part will be restored.\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n str = str.replace('.', '');\r\n y = new Ctor(1);\r\n y.e = str.length - i;\r\n y.d = convertBase(finiteToString(y), 10, base);\r\n y.e = y.d.length;\r\n }\r\n\r\n xd = convertBase(str, 10, base);\r\n e = len = xd.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] == 0;) xd.pop();\r\n\r\n if (!xd[0]) {\r\n str = isExp ? '0p+0' : '0';\r\n } else {\r\n if (i < 0) {\r\n e--;\r\n } else {\r\n x = new Ctor(x);\r\n x.d = xd;\r\n x.e = e;\r\n x = divide(x, y, sd, rm, 0, base);\r\n xd = x.d;\r\n e = x.e;\r\n roundUp = inexact;\r\n }\r\n\r\n // The rounding digit, i.e. the digit after the digit that may be rounded up.\r\n i = xd[sd];\r\n k = base / 2;\r\n roundUp = roundUp || xd[sd + 1] !== void 0;\r\n\r\n roundUp = rm < 4\r\n ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2))\r\n : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 ||\r\n rm === (x.s < 0 ? 8 : 7));\r\n\r\n xd.length = sd;\r\n\r\n if (roundUp) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (; ++xd[--sd] > base - 1;) {\r\n xd[sd] = 0;\r\n if (!sd) {\r\n ++e;\r\n xd.unshift(1);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n\r\n // Add binary exponent suffix?\r\n if (isExp) {\r\n if (len > 1) {\r\n if (baseOut == 16 || baseOut == 8) {\r\n i = baseOut == 16 ? 4 : 3;\r\n for (--len; len % i; len++) str += '0';\r\n xd = convertBase(str, base, baseOut);\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // xd[0] will always be be 1\r\n for (i = 1, str = '1.'; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n } else {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n }\r\n\r\n str = str + (e < 0 ? 'p' : 'p+') + e;\r\n } else if (e < 0) {\r\n for (; ++e;) str = '0' + str;\r\n str = '0.' + str;\r\n } else {\r\n if (++e > len) for (e -= len; e-- ;) str += '0';\r\n else if (e < len) str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n str = (baseOut == 16 ? '0x' : baseOut == 2 ? '0b' : baseOut == 8 ? '0o' : '') + str;\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * abs\r\n * acos\r\n * acosh\r\n * add\r\n * asin\r\n * asinh\r\n * atan\r\n * atanh\r\n * atan2\r\n * cbrt\r\n * ceil\r\n * clamp\r\n * clone\r\n * config\r\n * cos\r\n * cosh\r\n * div\r\n * exp\r\n * floor\r\n * hypot\r\n * ln\r\n * log\r\n * log2\r\n * log10\r\n * max\r\n * min\r\n * mod\r\n * mul\r\n * pow\r\n * random\r\n * round\r\n * set\r\n * sign\r\n * sin\r\n * sinh\r\n * sqrt\r\n * sub\r\n * sum\r\n * tan\r\n * tanh\r\n * trunc\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function abs(x) {\r\n return new this(x).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine in radians of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function acos(x) {\r\n return new this(x).acos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function acosh(x) {\r\n return new this(x).acosh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function add(x, y) {\r\n return new this(x).plus(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function asin(x) {\r\n return new this(x).asin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function asinh(x) {\r\n return new this(x).asinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function atan(x) {\r\n return new this(x).atan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function atanh(x) {\r\n return new this(x).atanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi\r\n * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi, pi]\r\n *\r\n * y {number|string|Decimal} The y-coordinate.\r\n * x {number|string|Decimal} The x-coordinate.\r\n *\r\n * atan2(±0, -0) = ±pi\r\n * atan2(±0, +0) = ±0\r\n * atan2(±0, -x) = ±pi for x > 0\r\n * atan2(±0, x) = ±0 for x > 0\r\n * atan2(-y, ±0) = -pi/2 for y > 0\r\n * atan2(y, ±0) = pi/2 for y > 0\r\n * atan2(±y, -Infinity) = ±pi for finite y > 0\r\n * atan2(±y, +Infinity) = ±0 for finite y > 0\r\n * atan2(±Infinity, x) = ±pi/2 for finite x\r\n * atan2(±Infinity, -Infinity) = ±3*pi/4\r\n * atan2(±Infinity, +Infinity) = ±pi/4\r\n * atan2(NaN, x) = NaN\r\n * atan2(y, NaN) = NaN\r\n *\r\n */\r\n function atan2(y, x) {\r\n y = new this(y);\r\n x = new this(x);\r\n var r,\r\n pr = this.precision,\r\n rm = this.rounding,\r\n wpr = pr + 4;\r\n\r\n // Either NaN\r\n if (!y.s || !x.s) {\r\n r = new this(NaN);\r\n\r\n // Both ±Infinity\r\n } else if (!y.d && !x.d) {\r\n r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);\r\n r.s = y.s;\r\n\r\n // x is ±Infinity or y is ±0\r\n } else if (!x.d || y.isZero()) {\r\n r = x.s < 0 ? getPi(this, pr, rm) : new this(0);\r\n r.s = y.s;\r\n\r\n // y is ±Infinity or x is ±0\r\n } else if (!y.d || x.isZero()) {\r\n r = getPi(this, wpr, 1).times(0.5);\r\n r.s = y.s;\r\n\r\n // Both non-zero and finite\r\n } else if (x.s < 0) {\r\n this.precision = wpr;\r\n this.rounding = 1;\r\n r = this.atan(divide(y, x, wpr, 1));\r\n x = getPi(this, wpr, 1);\r\n this.precision = pr;\r\n this.rounding = rm;\r\n r = y.s < 0 ? r.minus(x) : r.plus(x);\r\n } else {\r\n r = this.atan(divide(y, x, wpr, 1));\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cube root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function cbrt(x) {\r\n return new this(x).cbrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using `ROUND_CEIL`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ceil(x) {\r\n return finalise(x = new this(x), x.e + 1, 2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` clamped to the range delineated by `min` and `max`.\r\n *\r\n * x {number|string|Decimal}\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n function clamp(x, min, max) {\r\n return new this(x).clamp(min, max);\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n * maxE {number}\r\n * minE {number}\r\n * modulo {number}\r\n * crypto {boolean|number}\r\n * defaults {true}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') throw Error(decimalError + 'Object expected');\r\n var i, p, v,\r\n useDefaults = obj.defaults === true,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -EXP_LIMIT, 0,\r\n 'toExpPos', 0, EXP_LIMIT,\r\n 'maxE', 0, EXP_LIMIT,\r\n 'minE', -EXP_LIMIT, 0,\r\n 'modulo', 0, 9\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if (p = ps[i], useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if (p = 'crypto', useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (v === true || v === false || v === 0 || v === 1) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n this[p] = true;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n } else {\r\n this[p] = false;\r\n }\r\n } else {\r\n throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cos(x) {\r\n return new this(x).cos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of `x`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cosh(x) {\r\n return new this(x).cosh();\r\n }\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * v {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(v) {\r\n var e, i, t,\r\n x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(v);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (isDecimalInstance(v)) {\r\n x.s = v.s;\r\n\r\n if (external) {\r\n if (!v.d || v.e > Decimal.maxE) {\r\n\r\n // Infinity.\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (v.e < Decimal.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d.slice();\r\n }\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d ? v.d.slice() : v.d;\r\n }\r\n\r\n return;\r\n }\r\n\r\n t = typeof v;\r\n\r\n if (t === 'number') {\r\n if (v === 0) {\r\n x.s = 1 / v < 0 ? -1 : 1;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n if (v < 0) {\r\n v = -v;\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (v === ~~v && v < 1e7) {\r\n for (e = 0, i = v; i >= 10; i /= 10) e++;\r\n\r\n if (external) {\r\n if (e > Decimal.maxE) {\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (e < Decimal.minE) {\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n\r\n return;\r\n\r\n // Infinity, NaN.\r\n } else if (v * 0 !== 0) {\r\n if (!v) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return;\r\n }\r\n\r\n return parseDecimal(x, v.toString());\r\n\r\n } else if (t !== 'string') {\r\n throw Error(invalidArgument + v);\r\n }\r\n\r\n // Minus sign?\r\n if ((i = v.charCodeAt(0)) === 45) {\r\n v = v.slice(1);\r\n x.s = -1;\r\n } else {\r\n // Plus sign?\r\n if (i === 43) v = v.slice(1);\r\n x.s = 1;\r\n }\r\n\r\n return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n Decimal.EUCLID = 9;\r\n\r\n Decimal.config = Decimal.set = config;\r\n Decimal.clone = clone;\r\n Decimal.isDecimal = isDecimalInstance;\r\n\r\n Decimal.abs = abs;\r\n Decimal.acos = acos;\r\n Decimal.acosh = acosh; // ES6\r\n Decimal.add = add;\r\n Decimal.asin = asin;\r\n Decimal.asinh = asinh; // ES6\r\n Decimal.atan = atan;\r\n Decimal.atanh = atanh; // ES6\r\n Decimal.atan2 = atan2;\r\n Decimal.cbrt = cbrt; // ES6\r\n Decimal.ceil = ceil;\r\n Decimal.clamp = clamp;\r\n Decimal.cos = cos;\r\n Decimal.cosh = cosh; // ES6\r\n Decimal.div = div;\r\n Decimal.exp = exp;\r\n Decimal.floor = floor;\r\n Decimal.hypot = hypot; // ES6\r\n Decimal.ln = ln;\r\n Decimal.log = log;\r\n Decimal.log10 = log10; // ES6\r\n Decimal.log2 = log2; // ES6\r\n Decimal.max = max;\r\n Decimal.min = min;\r\n Decimal.mod = mod;\r\n Decimal.mul = mul;\r\n Decimal.pow = pow;\r\n Decimal.random = random;\r\n Decimal.round = round;\r\n Decimal.sign = sign; // ES6\r\n Decimal.sin = sin;\r\n Decimal.sinh = sinh; // ES6\r\n Decimal.sqrt = sqrt;\r\n Decimal.sub = sub;\r\n Decimal.sum = sum;\r\n Decimal.tan = tan;\r\n Decimal.tanh = tanh; // ES6\r\n Decimal.trunc = trunc; // ES6\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n if (obj.defaults !== true) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'maxE', 'minE', 'modulo', 'crypto'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function div(x, y) {\r\n return new this(x).div(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The power to which to raise the base of the natural log.\r\n *\r\n */\r\n function exp(x) {\r\n return new this(x).exp();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` round to an integer using `ROUND_FLOOR`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function floor(x) {\r\n return finalise(x = new this(x), x.e + 1, 3);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of the sum of the squares of the arguments,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * hypot(a, b, ...) = sqrt(a^2 + b^2 + ...)\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function hypot() {\r\n var i, n,\r\n t = new this(0);\r\n\r\n external = false;\r\n\r\n for (i = 0; i < arguments.length;) {\r\n n = new this(arguments[i++]);\r\n if (!n.d) {\r\n if (n.s) {\r\n external = true;\r\n return new this(1 / 0);\r\n }\r\n t = n;\r\n } else if (t.d) {\r\n t = t.plus(n.times(n));\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return t.sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return true if object is a Decimal instance (where Decimal is any Decimal constructor),\r\n * otherwise return false.\r\n *\r\n */\r\n function isDecimalInstance(obj) {\r\n return obj instanceof Decimal || obj && obj.toStringTag === tag || false;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ln(x) {\r\n return new this(x).ln();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the log of `x` to the base `y`, or to base 10 if no base\r\n * is specified, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * log[y](x)\r\n *\r\n * x {number|string|Decimal} The argument of the logarithm.\r\n * y {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n function log(x, y) {\r\n return new this(x).log(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 2 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log2(x) {\r\n return new this(x).log(2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 10 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log10(x) {\r\n return new this(x).log(10);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function max() {\r\n return maxOrMin(this, arguments, 'lt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function min() {\r\n return maxOrMin(this, arguments, 'gt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mod(x, y) {\r\n return new this(x).mod(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mul(x, y) {\r\n return new this(x).mul(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` raised to the power `y`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The base.\r\n * y {number|string|Decimal} The exponent.\r\n *\r\n */\r\n function pow(x, y) {\r\n return new this(x).pow(y);\r\n }\r\n\r\n\r\n /*\r\n * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with\r\n * `sd`, or `Decimal.precision` if `sd` is omitted, significant digits (or less if trailing zeros\r\n * are produced).\r\n *\r\n * [sd] {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive.\r\n *\r\n */\r\n function random(sd) {\r\n var d, e, k, n,\r\n i = 0,\r\n r = new this(1),\r\n rd = [];\r\n\r\n if (sd === void 0) sd = this.precision;\r\n else checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n k = Math.ceil(sd / LOG_BASE);\r\n\r\n if (!this.crypto) {\r\n for (; i < k;) rd[i++] = Math.random() * 1e7 | 0;\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n } else if (crypto.getRandomValues) {\r\n d = crypto.getRandomValues(new Uint32Array(k));\r\n\r\n for (; i < k;) {\r\n n = d[i];\r\n\r\n // 0 <= n < 4294967296\r\n // Probability n >= 4.29e9, is 4967296 / 4294967296 = 0.00116 (1 in 865).\r\n if (n >= 4.29e9) {\r\n d[i] = crypto.getRandomValues(new Uint32Array(1))[0];\r\n } else {\r\n\r\n // 0 <= n <= 4289999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd[i++] = n % 1e7;\r\n }\r\n }\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n d = crypto.randomBytes(k *= 4);\r\n\r\n for (; i < k;) {\r\n\r\n // 0 <= n < 2147483648\r\n n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 0x7f) << 24);\r\n\r\n // Probability n >= 2.14e9, is 7483648 / 2147483648 = 0.0035 (1 in 286).\r\n if (n >= 2.14e9) {\r\n crypto.randomBytes(4).copy(d, i);\r\n } else {\r\n\r\n // 0 <= n <= 2139999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd.push(n % 1e7);\r\n i += 4;\r\n }\r\n }\r\n\r\n i = k / 4;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n\r\n k = rd[--i];\r\n sd %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to sd.\r\n if (k && sd) {\r\n n = mathpow(10, LOG_BASE - sd);\r\n rd[i] = (k / n | 0) * n;\r\n }\r\n\r\n // Remove trailing words which are zero.\r\n for (; rd[i] === 0; i--) rd.pop();\r\n\r\n // Zero?\r\n if (i < 0) {\r\n e = 0;\r\n rd = [0];\r\n } else {\r\n e = -1;\r\n\r\n // Remove leading words which are zero and adjust exponent accordingly.\r\n for (; rd[0] === 0; e -= LOG_BASE) rd.shift();\r\n\r\n // Count the digits of the first word of rd to determine leading zeros.\r\n for (k = 1, n = rd[0]; n >= 10; n /= 10) k++;\r\n\r\n // Adjust the exponent for leading zeros of the first word of rd.\r\n if (k < LOG_BASE) e -= LOG_BASE - k;\r\n }\r\n\r\n r.e = e;\r\n r.d = rd;\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using rounding mode `rounding`.\r\n *\r\n * To emulate `Math.round`, set rounding to 7 (ROUND_HALF_CEIL).\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function round(x) {\r\n return finalise(x = new this(x), x.e + 1, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if x > 0,\r\n * -1 if x < 0,\r\n * 0 if x is 0,\r\n * -0 if x is -0,\r\n * NaN otherwise\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sign(x) {\r\n x = new this(x);\r\n return x.d ? (x.d[0] ? x.s : 0 * x.s) : x.s || NaN;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of `x`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sin(x) {\r\n return new this(x).sin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sinh(x) {\r\n return new this(x).sinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sqrt(x) {\r\n return new this(x).sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function sub(x, y) {\r\n return new this(x).sub(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of the arguments, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * Only the result is rounded, not the intermediate calculations.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function sum() {\r\n var i = 0,\r\n args = arguments,\r\n x = new this(args[i]);\r\n\r\n external = false;\r\n for (; x.s && ++i < args.length;) x = x.plus(args[i]);\r\n external = true;\r\n\r\n return finalise(x, this.precision, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tan(x) {\r\n return new this(x).tan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tanh(x) {\r\n return new this(x).tanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` truncated to an integer.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function trunc(x) {\r\n return finalise(x = new this(x), x.e + 1, 1);\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(DEFAULTS);\r\n Decimal.prototype.constructor = Decimal;\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Create the internal constants from their string values.\r\n LN10 = new Decimal(LN10);\r\n PI = new Decimal(PI);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n if (typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol') {\r\n P[Symbol['for']('nodejs.util.inspect.custom')] = P.toString;\r\n P[Symbol.toStringTag] = 'Decimal';\r\n }\r\n\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self ? self : window;\r\n }\r\n\r\n noConflict = globalScope.Decimal;\r\n Decimal.noConflict = function () {\r\n globalScope.Decimal = noConflict;\r\n return Decimal;\r\n };\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","import { factory } from '../../utils/factory.js';\nimport { cothNumber } from '../../plain/number/index.js';\nvar name = 'coth';\nvar dependencies = ['typed', 'BigNumber'];\nexport var createCoth = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n BigNumber: _BigNumber\n } = _ref;\n /**\n * Calculate the hyperbolic cotangent of a value,\n * defined as `coth(x) = 1 / tanh(x)`.\n *\n * To avoid confusion with the matrix hyperbolic cotangent, this function\n * does not apply to matrices.\n *\n * Syntax:\n *\n * math.coth(x)\n *\n * Examples:\n *\n * // coth(x) = 1 / tanh(x)\n * math.coth(2) // returns 1.0373147207275482\n * 1 / math.tanh(2) // returns 1.0373147207275482\n *\n * See also:\n *\n * sinh, tanh, cosh\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic cotangent of x\n */\n return typed(name, {\n number: cothNumber,\n Complex: x => x.coth(),\n BigNumber: x => new _BigNumber(1).div(x.tanh())\n });\n});","import { factory } from '../../utils/factory.js';\nimport { tanh as _tanh } from '../../utils/number.js';\nvar name = 'tanh';\nvar dependencies = ['typed'];\nexport var createTanh = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Calculate the hyperbolic tangent of a value,\n * defined as `tanh(x) = (exp(2 * x) - 1) / (exp(2 * x) + 1)`.\n *\n * To avoid confusion with matrix hyperbolic tangent, this function does\n * not apply to matrices.\n *\n * Syntax:\n *\n * math.tanh(x)\n *\n * Examples:\n *\n * // tanh(x) = sinh(x) / cosh(x) = 1 / coth(x)\n * math.tanh(0.5) // returns 0.46211715726000974\n * math.sinh(0.5) / math.cosh(0.5) // returns 0.46211715726000974\n * 1 / math.coth(0.5) // returns 0.46211715726000974\n *\n * See also:\n *\n * sinh, cosh, coth\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic tangent of x\n */\n return typed('tanh', {\n number: _tanh,\n 'Complex | BigNumber': x => x.tanh()\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport { DEFAULT_CONFIG } from '../core/config.js';\nimport { MATRIX_OPTIONS, NUMBER_OPTIONS } from '../core/function/config.js';\n\n// create a read-only version of config\nexport var config = /* #__PURE__ */function config(options) {\n if (options) {\n throw new Error('The global config is readonly. \\n' + 'Please create a mathjs instance if you want to change the default configuration. \\n' + 'Example:\\n' + '\\n' + ' import { create, all } from \\'mathjs\\';\\n' + ' const mathjs = create(all);\\n' + ' mathjs.config({ number: \\'BigNumber\\' });\\n');\n }\n return Object.freeze(DEFAULT_CONFIG);\n};\n_extends(config, DEFAULT_CONFIG, {\n MATRIX_OPTIONS,\n NUMBER_OPTIONS\n});","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nimport { unaryMinusNumber } from '../../plain/number/index.js';\nvar name = 'unaryMinus';\nvar dependencies = ['typed'];\nexport var createUnaryMinus = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Inverse the sign of a value, apply a unary minus operation.\n *\n * For matrices, the function is evaluated element wise. Boolean values and\n * strings will be converted to a number. For complex numbers, both real and\n * complex value are inverted.\n *\n * Syntax:\n *\n * math.unaryMinus(x)\n *\n * Examples:\n *\n * math.unaryMinus(3.5) // returns -3.5\n * math.unaryMinus(-4.2) // returns 4.2\n *\n * See also:\n *\n * add, subtract, unaryPlus\n *\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Number to be inverted.\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Returns the value with inverted sign.\n */\n return typed(name, {\n number: unaryMinusNumber,\n 'Complex | BigNumber | Fraction': x => x.neg(),\n Unit: typed.referToSelf(self => x => {\n var res = x.clone();\n res.value = typed.find(self, res.valueType())(x.value);\n return res;\n }),\n // deep map collection, skip zeros since unaryMinus(0) = 0\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self, true))\n\n // TODO: add support for string\n });\n});","import { memoize } from '../function.js';\n\n/**\n * Calculate BigNumber e\n * @param {function} BigNumber BigNumber constructor\n * @returns {BigNumber} Returns e\n */\nexport var createBigNumberE = memoize(function (BigNumber) {\n return new BigNumber(1).exp();\n}, {\n hasher\n});\n\n/**\n * Calculate BigNumber golden ratio, phi = (1+sqrt(5))/2\n * @param {function} BigNumber BigNumber constructor\n * @returns {BigNumber} Returns phi\n */\nexport var createBigNumberPhi = memoize(function (BigNumber) {\n return new BigNumber(1).plus(new BigNumber(5).sqrt()).div(2);\n}, {\n hasher\n});\n\n/**\n * Calculate BigNumber pi.\n * @param {function} BigNumber BigNumber constructor\n * @returns {BigNumber} Returns pi\n */\nexport var createBigNumberPi = memoize(function (BigNumber) {\n return BigNumber.acos(-1);\n}, {\n hasher\n});\n\n/**\n * Calculate BigNumber tau, tau = 2 * pi\n * @param {function} BigNumber BigNumber constructor\n * @returns {BigNumber} Returns tau\n */\nexport var createBigNumberTau = memoize(function (BigNumber) {\n return createBigNumberPi(BigNumber).times(2);\n}, {\n hasher\n});\n\n/**\n * Create a hash for a BigNumber constructor function. The created has is\n * the configured precision\n * @param {Array} args Supposed to contain a single entry with\n * a BigNumber constructor\n * @return {number} precision\n * @private\n */\nfunction hasher(args) {\n return args[0].precision;\n}","import { factory } from '../../../utils/factory.js';\nimport { deepMap } from '../../../utils/collection.js';\nvar name = 'complex';\nvar dependencies = ['typed', 'Complex'];\nexport var createComplex = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n Complex\n } = _ref;\n /**\n * Create a complex value or convert a value to a complex value.\n *\n * Syntax:\n *\n * math.complex() // creates a complex value with zero\n * // as real and imaginary part.\n * math.complex(re : number, im : string) // creates a complex value with provided\n * // values for real and imaginary part.\n * math.complex(re : number) // creates a complex value with provided\n * // real value and zero imaginary part.\n * math.complex(complex : Complex) // clones the provided complex value.\n * math.complex(arg : string) // parses a string into a complex value.\n * math.complex(array : Array) // converts the elements of the array\n * // or matrix element wise into a\n * // complex value.\n * math.complex({re: number, im: number}) // creates a complex value with provided\n * // values for real an imaginary part.\n * math.complex({r: number, phi: number}) // creates a complex value with provided\n * // polar coordinates\n *\n * Examples:\n *\n * const a = math.complex(3, -4) // a = Complex 3 - 4i\n * a.re = 5 // a = Complex 5 - 4i\n * const i = a.im // Number -4\n * const b = math.complex('2 + 6i') // Complex 2 + 6i\n * const c = math.complex() // Complex 0 + 0i\n * const d = math.add(a, b) // Complex 5 + 2i\n *\n * See also:\n *\n * bignumber, boolean, index, matrix, number, string, unit\n *\n * @param {* | Array | Matrix} [args]\n * Arguments specifying the real and imaginary part of the complex number\n * @return {Complex | Array | Matrix} Returns a complex value\n */\n return typed('complex', {\n '': function _() {\n return Complex.ZERO;\n },\n number: function number(x) {\n return new Complex(x, 0);\n },\n 'number, number': function numberNumber(re, im) {\n return new Complex(re, im);\n },\n // TODO: this signature should be redundant\n 'BigNumber, BigNumber': function BigNumberBigNumber(re, im) {\n return new Complex(re.toNumber(), im.toNumber());\n },\n Fraction: function Fraction(x) {\n return new Complex(x.valueOf(), 0);\n },\n Complex: function Complex(x) {\n return x.clone();\n },\n string: function string(x) {\n return Complex(x); // for example '2 + 3i'\n },\n\n null: function _null(x) {\n return Complex(0);\n },\n Object: function Object(x) {\n if ('re' in x && 'im' in x) {\n return new Complex(x.re, x.im);\n }\n if ('r' in x && 'phi' in x || 'abs' in x && 'arg' in x) {\n return new Complex(x);\n }\n throw new Error('Expected object with properties (re and im) or (r and phi) or (abs and arg)');\n },\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","import { factory } from '../../../utils/factory.js';\nimport { createSolveValidation } from './utils/solveValidation.js';\nvar name = 'lsolveAll';\nvar dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtractScalar', 'equalScalar', 'DenseMatrix'];\nexport var createLsolveAll = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n divideScalar,\n multiplyScalar,\n subtractScalar,\n equalScalar,\n DenseMatrix\n } = _ref;\n var solveValidation = createSolveValidation({\n DenseMatrix\n });\n\n /**\n * Finds all solutions of a linear equation system by forwards substitution. Matrix must be a lower triangular matrix.\n *\n * `L * x = b`\n *\n * Syntax:\n *\n * math.lsolveAll(L, b)\n *\n * Examples:\n *\n * const a = [[-2, 3], [2, 1]]\n * const b = [11, 9]\n * const x = lsolveAll(a, b) // [ [[-5.5], [20]] ]\n *\n * See also:\n *\n * lsolve, lup, slu, usolve, lusolve\n *\n * @param {Matrix, Array} L A N x N matrix or array (L)\n * @param {Matrix, Array} b A column vector with the b values\n *\n * @return {DenseMatrix[] | Array[]} An array of affine-independent column vectors (x) that solve the linear system\n */\n return typed(name, {\n 'SparseMatrix, Array | Matrix': function SparseMatrixArrayMatrix(m, b) {\n return _sparseForwardSubstitution(m, b);\n },\n 'DenseMatrix, Array | Matrix': function DenseMatrixArrayMatrix(m, b) {\n return _denseForwardSubstitution(m, b);\n },\n 'Array, Array | Matrix': function ArrayArrayMatrix(a, b) {\n var m = matrix(a);\n var R = _denseForwardSubstitution(m, b);\n return R.map(r => r.valueOf());\n }\n });\n function _denseForwardSubstitution(m, b_) {\n // the algorithm is derived from\n // https://www.overleaf.com/read/csvgqdxggyjv\n\n // array of right-hand sides\n var B = [solveValidation(m, b_, true)._data.map(e => e[0])];\n var M = m._data;\n var rows = m._size[0];\n var columns = m._size[1];\n\n // loop columns\n for (var i = 0; i < columns; i++) {\n var L = B.length;\n\n // loop right-hand sides\n for (var k = 0; k < L; k++) {\n var b = B[k];\n if (!equalScalar(M[i][i], 0)) {\n // non-singular row\n\n b[i] = divideScalar(b[i], M[i][i]);\n for (var j = i + 1; j < columns; j++) {\n // b[j] -= b[i] * M[j,i]\n b[j] = subtractScalar(b[j], multiplyScalar(b[i], M[j][i]));\n }\n } else if (!equalScalar(b[i], 0)) {\n // singular row, nonzero RHS\n\n if (k === 0) {\n // There is no valid solution\n return [];\n } else {\n // This RHS is invalid but other solutions may still exist\n B.splice(k, 1);\n k -= 1;\n L -= 1;\n }\n } else if (k === 0) {\n // singular row, RHS is zero\n\n var bNew = [...b];\n bNew[i] = 1;\n for (var _j = i + 1; _j < columns; _j++) {\n bNew[_j] = subtractScalar(bNew[_j], M[_j][i]);\n }\n B.push(bNew);\n }\n }\n }\n return B.map(x => new DenseMatrix({\n data: x.map(e => [e]),\n size: [rows, 1]\n }));\n }\n function _sparseForwardSubstitution(m, b_) {\n // array of right-hand sides\n var B = [solveValidation(m, b_, true)._data.map(e => e[0])];\n var rows = m._size[0];\n var columns = m._size[1];\n var values = m._values;\n var index = m._index;\n var ptr = m._ptr;\n\n // loop columns\n for (var i = 0; i < columns; i++) {\n var L = B.length;\n\n // loop right-hand sides\n for (var k = 0; k < L; k++) {\n var b = B[k];\n\n // values & indices (column i)\n var iValues = [];\n var iIndices = [];\n\n // first & last indeces in column\n var firstIndex = ptr[i];\n var lastIndex = ptr[i + 1];\n\n // find the value at [i, i]\n var Mii = 0;\n for (var j = firstIndex; j < lastIndex; j++) {\n var J = index[j];\n // check row\n if (J === i) {\n Mii = values[j];\n } else if (J > i) {\n // store lower triangular\n iValues.push(values[j]);\n iIndices.push(J);\n }\n }\n if (!equalScalar(Mii, 0)) {\n // non-singular row\n\n b[i] = divideScalar(b[i], Mii);\n for (var _j2 = 0, _lastIndex = iIndices.length; _j2 < _lastIndex; _j2++) {\n var _J = iIndices[_j2];\n b[_J] = subtractScalar(b[_J], multiplyScalar(b[i], iValues[_j2]));\n }\n } else if (!equalScalar(b[i], 0)) {\n // singular row, nonzero RHS\n\n if (k === 0) {\n // There is no valid solution\n return [];\n } else {\n // This RHS is invalid but other solutions may still exist\n B.splice(k, 1);\n k -= 1;\n L -= 1;\n }\n } else if (k === 0) {\n // singular row, RHS is zero\n\n var bNew = [...b];\n bNew[i] = 1;\n for (var _j3 = 0, _lastIndex2 = iIndices.length; _j3 < _lastIndex2; _j3++) {\n var _J2 = iIndices[_j3];\n bNew[_J2] = subtractScalar(bNew[_J2], iValues[_j3]);\n }\n B.push(bNew);\n }\n }\n }\n return B.map(x => new DenseMatrix({\n data: x.map(e => [e]),\n size: [rows, 1]\n }));\n }\n});","import { factory } from '../../utils/factory.js';\nvar name = 'bellNumbers';\nvar dependencies = ['typed', 'addScalar', 'isNegative', 'isInteger', 'stirlingS2'];\nexport var createBellNumbers = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n addScalar,\n isNegative,\n isInteger,\n stirlingS2\n } = _ref;\n /**\n * The Bell Numbers count the number of partitions of a set. A partition is a pairwise disjoint subset of S whose union is S.\n * bellNumbers only takes integer arguments.\n * The following condition must be enforced: n >= 0\n *\n * Syntax:\n *\n * math.bellNumbers(n)\n *\n * Examples:\n *\n * math.bellNumbers(3) // returns 5\n * math.bellNumbers(8) // returns 4140\n *\n * See also:\n *\n * stirlingS2\n *\n * @param {Number | BigNumber} n Total number of objects in the set\n * @return {Number | BigNumber} B(n)\n */\n return typed(name, {\n 'number | BigNumber': function numberBigNumber(n) {\n if (!isInteger(n) || isNegative(n)) {\n throw new TypeError('Non-negative integer value expected in function bellNumbers');\n }\n\n // Sum (k=0, n) S(n,k).\n var result = 0;\n for (var i = 0; i <= n; i++) {\n result = addScalar(result, stirlingS2(n, i));\n }\n return result;\n }\n });\n});","import { clone } from '../../utils/object.js';\nimport { format } from '../../utils/string.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'trace';\nvar dependencies = ['typed', 'matrix', 'add'];\nexport var createTrace = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n add\n } = _ref;\n /**\n * Calculate the trace of a matrix: the sum of the elements on the main\n * diagonal of a square matrix.\n *\n * Syntax:\n *\n * math.trace(x)\n *\n * Examples:\n *\n * math.trace([[1, 2], [3, 4]]) // returns 5\n *\n * const A = [\n * [1, 2, 3],\n * [-1, 2, 3],\n * [2, 0, 3]\n * ]\n * math.trace(A) // returns 6\n *\n * See also:\n *\n * diag\n *\n * @param {Array | Matrix} x A matrix\n *\n * @return {number} The trace of `x`\n */\n return typed('trace', {\n Array: function _arrayTrace(x) {\n // use dense matrix implementation\n return _denseTrace(matrix(x));\n },\n SparseMatrix: _sparseTrace,\n DenseMatrix: _denseTrace,\n any: clone\n });\n function _denseTrace(m) {\n // matrix size & data\n var size = m._size;\n var data = m._data;\n\n // process dimensions\n switch (size.length) {\n case 1:\n // vector\n if (size[0] === 1) {\n // return data[0]\n return clone(data[0]);\n }\n throw new RangeError('Matrix must be square (size: ' + format(size) + ')');\n case 2:\n {\n // two dimensional\n var rows = size[0];\n var cols = size[1];\n if (rows === cols) {\n // calulate sum\n var sum = 0;\n // loop diagonal\n for (var i = 0; i < rows; i++) {\n sum = add(sum, data[i][i]);\n }\n // return trace\n return sum;\n } else {\n throw new RangeError('Matrix must be square (size: ' + format(size) + ')');\n }\n }\n default:\n // multi dimensional\n throw new RangeError('Matrix must be two dimensional (size: ' + format(size) + ')');\n }\n }\n function _sparseTrace(m) {\n // matrix arrays\n var values = m._values;\n var index = m._index;\n var ptr = m._ptr;\n var size = m._size;\n // check dimensions\n var rows = size[0];\n var columns = size[1];\n // matrix must be square\n if (rows === columns) {\n // calulate sum\n var sum = 0;\n // check we have data (avoid looping columns)\n if (values.length > 0) {\n // loop columns\n for (var j = 0; j < columns; j++) {\n // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]\n var k0 = ptr[j];\n var k1 = ptr[j + 1];\n // loop k within [k0, k1[\n for (var k = k0; k < k1; k++) {\n // row index\n var i = index[k];\n // check row\n if (i === j) {\n // accumulate value\n sum = add(sum, values[k]);\n // exit loop\n break;\n }\n if (i > j) {\n // exit loop, no value on the diagonal for column j\n break;\n }\n }\n }\n }\n // return trace\n return sum;\n }\n throw new RangeError('Matrix must be square (size: ' + format(size) + ')');\n }\n});","import { factory } from '../../utils/factory.js';\nvar name = 'deepEqual';\nvar dependencies = ['typed', 'equal'];\nexport var createDeepEqual = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n equal\n } = _ref;\n /**\n * Test element wise whether two matrices are equal.\n * The function accepts both matrices and scalar values.\n *\n * Strings are compared by their numerical value.\n *\n * Syntax:\n *\n * math.deepEqual(x, y)\n *\n * Examples:\n *\n * math.deepEqual(2, 4) // returns false\n *\n * a = [2, 5, 1]\n * b = [2, 7, 1]\n *\n * math.deepEqual(a, b) // returns false\n * math.equal(a, b) // returns [true, false, true]\n *\n * See also:\n *\n * equal, unequal\n *\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x First matrix to compare\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Second matrix to compare\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix}\n * Returns true when the input matrices have the same size and each of their elements is equal.\n */\n return typed(name, {\n 'any, any': function anyAny(x, y) {\n return _deepEqual(x.valueOf(), y.valueOf());\n }\n });\n\n /**\n * Test whether two arrays have the same size and all elements are equal\n * @param {Array | *} x\n * @param {Array | *} y\n * @return {boolean} Returns true if both arrays are deep equal\n */\n function _deepEqual(x, y) {\n if (Array.isArray(x)) {\n if (Array.isArray(y)) {\n var len = x.length;\n if (len !== y.length) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n if (!_deepEqual(x[i], y[i])) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n } else {\n if (Array.isArray(y)) {\n return false;\n } else {\n return equal(x, y);\n }\n }\n }\n});","import { factory } from '../../utils/factory.js';\n\n// Source: https://en.wikipedia.org/wiki/Physical_constant\n\n// Universal constants\nexport var createSpeedOfLight = /* #__PURE__ */unitFactory('speedOfLight', '299792458', 'm s^-1');\nexport var createGravitationConstant = /* #__PURE__ */unitFactory('gravitationConstant', '6.67430e-11', 'm^3 kg^-1 s^-2');\nexport var createPlanckConstant = /* #__PURE__ */unitFactory('planckConstant', '6.62607015e-34', 'J s');\nexport var createReducedPlanckConstant = /* #__PURE__ */unitFactory('reducedPlanckConstant', '1.0545718176461565e-34', 'J s');\n\n// Electromagnetic constants\nexport var createMagneticConstant = /* #__PURE__ */unitFactory('magneticConstant', '1.25663706212e-6', 'N A^-2');\nexport var createElectricConstant = /* #__PURE__ */unitFactory('electricConstant', '8.8541878128e-12', 'F m^-1');\nexport var createVacuumImpedance = /* #__PURE__ */unitFactory('vacuumImpedance', '376.730313667', 'ohm');\nexport var createCoulomb = /* #__PURE__ */unitFactory('coulomb', '8.987551792261171e9', 'N m^2 C^-2');\nexport var createElementaryCharge = /* #__PURE__ */unitFactory('elementaryCharge', '1.602176634e-19', 'C');\nexport var createBohrMagneton = /* #__PURE__ */unitFactory('bohrMagneton', '9.2740100783e-24', 'J T^-1');\nexport var createConductanceQuantum = /* #__PURE__ */unitFactory('conductanceQuantum', '7.748091729863649e-5', 'S');\nexport var createInverseConductanceQuantum = /* #__PURE__ */unitFactory('inverseConductanceQuantum', '12906.403729652257', 'ohm');\nexport var createMagneticFluxQuantum = /* #__PURE__ */unitFactory('magneticFluxQuantum', '2.0678338484619295e-15', 'Wb');\nexport var createNuclearMagneton = /* #__PURE__ */unitFactory('nuclearMagneton', '5.0507837461e-27', 'J T^-1');\nexport var createKlitzing = /* #__PURE__ */unitFactory('klitzing', '25812.807459304513', 'ohm');\nexport var createJosephson = /* #__PURE__ */unitFactory('josephson', '4.835978484169836e14 Hz V', 'Hz V^-1'); // TODO: support for Hz needed\n\n// Atomic and nuclear constants\nexport var createBohrRadius = /* #__PURE__ */unitFactory('bohrRadius', '5.29177210903e-11', 'm');\nexport var createClassicalElectronRadius = /* #__PURE__ */unitFactory('classicalElectronRadius', '2.8179403262e-15', 'm');\nexport var createElectronMass = /* #__PURE__ */unitFactory('electronMass', '9.1093837015e-31', 'kg');\nexport var createFermiCoupling = /* #__PURE__ */unitFactory('fermiCoupling', '1.1663787e-5', 'GeV^-2');\nexport var createFineStructure = numberFactory('fineStructure', 7.2973525693e-3);\nexport var createHartreeEnergy = /* #__PURE__ */unitFactory('hartreeEnergy', '4.3597447222071e-18', 'J');\nexport var createProtonMass = /* #__PURE__ */unitFactory('protonMass', '1.67262192369e-27', 'kg');\nexport var createDeuteronMass = /* #__PURE__ */unitFactory('deuteronMass', '3.3435830926e-27', 'kg');\nexport var createNeutronMass = /* #__PURE__ */unitFactory('neutronMass', '1.6749271613e-27', 'kg');\nexport var createQuantumOfCirculation = /* #__PURE__ */unitFactory('quantumOfCirculation', '3.6369475516e-4', 'm^2 s^-1');\nexport var createRydberg = /* #__PURE__ */unitFactory('rydberg', '10973731.568160', 'm^-1');\nexport var createThomsonCrossSection = /* #__PURE__ */unitFactory('thomsonCrossSection', '6.6524587321e-29', 'm^2');\nexport var createWeakMixingAngle = numberFactory('weakMixingAngle', 0.22290);\nexport var createEfimovFactor = numberFactory('efimovFactor', 22.7);\n\n// Physico-chemical constants\nexport var createAtomicMass = /* #__PURE__ */unitFactory('atomicMass', '1.66053906660e-27', 'kg');\nexport var createAvogadro = /* #__PURE__ */unitFactory('avogadro', '6.02214076e23', 'mol^-1');\nexport var createBoltzmann = /* #__PURE__ */unitFactory('boltzmann', '1.380649e-23', 'J K^-1');\nexport var createFaraday = /* #__PURE__ */unitFactory('faraday', '96485.33212331001', 'C mol^-1');\nexport var createFirstRadiation = /* #__PURE__ */unitFactory('firstRadiation', '3.7417718521927573e-16', 'W m^2');\n// export const createSpectralRadiance = /* #__PURE__ */ unitFactory('spectralRadiance', '1.1910429723971881e-16', 'W m^2 sr^-1') // TODO spectralRadiance\nexport var createLoschmidt = /* #__PURE__ */unitFactory('loschmidt', '2.686780111798444e25', 'm^-3');\nexport var createGasConstant = /* #__PURE__ */unitFactory('gasConstant', '8.31446261815324', 'J K^-1 mol^-1');\nexport var createMolarPlanckConstant = /* #__PURE__ */unitFactory('molarPlanckConstant', '3.990312712893431e-10', 'J s mol^-1');\nexport var createMolarVolume = /* #__PURE__ */unitFactory('molarVolume', '0.022413969545014137', 'm^3 mol^-1');\nexport var createSackurTetrode = numberFactory('sackurTetrode', -1.16487052358);\nexport var createSecondRadiation = /* #__PURE__ */unitFactory('secondRadiation', '0.014387768775039337', 'm K');\nexport var createStefanBoltzmann = /* #__PURE__ */unitFactory('stefanBoltzmann', '5.67037441918443e-8', 'W m^-2 K^-4');\nexport var createWienDisplacement = /* #__PURE__ */unitFactory('wienDisplacement', '2.897771955e-3', 'm K');\n\n// Adopted values\nexport var createMolarMass = /* #__PURE__ */unitFactory('molarMass', '0.99999999965e-3', 'kg mol^-1');\nexport var createMolarMassC12 = /* #__PURE__ */unitFactory('molarMassC12', '11.9999999958e-3', 'kg mol^-1');\nexport var createGravity = /* #__PURE__ */unitFactory('gravity', '9.80665', 'm s^-2');\n// atm is defined in Unit.js\n\n// Natural units\nexport var createPlanckLength = /* #__PURE__ */unitFactory('planckLength', '1.616255e-35', 'm');\nexport var createPlanckMass = /* #__PURE__ */unitFactory('planckMass', '2.176435e-8', 'kg');\nexport var createPlanckTime = /* #__PURE__ */unitFactory('planckTime', '5.391245e-44', 's');\nexport var createPlanckCharge = /* #__PURE__ */unitFactory('planckCharge', '1.87554603778e-18', 'C');\nexport var createPlanckTemperature = /* #__PURE__ */unitFactory('planckTemperature', '1.416785e+32', 'K');\n\n// helper function to create a factory function which creates a physical constant,\n// a Unit with either a number value or a BigNumber value depending on the configuration\nfunction unitFactory(name, valueStr, unitStr) {\n var dependencies = ['config', 'Unit', 'BigNumber'];\n return factory(name, dependencies, _ref => {\n var {\n config,\n Unit,\n BigNumber\n } = _ref;\n // Note that we can parse into number or BigNumber.\n // We do not parse into Fractions as that doesn't make sense: we would lose precision of the values\n // Therefore we dont use Unit.parse()\n var value = config.number === 'BigNumber' ? new BigNumber(valueStr) : parseFloat(valueStr);\n var unit = new Unit(value, unitStr);\n unit.fixPrefix = true;\n return unit;\n });\n}\n\n// helper function to create a factory function which creates a numeric constant,\n// either a number or BigNumber depending on the configuration\nfunction numberFactory(name, value) {\n var dependencies = ['config', 'BigNumber'];\n return factory(name, dependencies, _ref2 => {\n var {\n config,\n BigNumber\n } = _ref2;\n return config.number === 'BigNumber' ? new BigNumber(value) : value;\n });\n}","import { factory } from '../../../utils/factory.js';\nimport { DimensionError } from '../../../error/DimensionError.js';\nvar name = 'matAlgo01xDSid';\nvar dependencies = ['typed'];\nexport var createMatAlgo01xDSid = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Iterates over SparseMatrix nonzero items and invokes the callback function f(Dij, Sij).\n * Callback function invoked NNZ times (number of nonzero items in SparseMatrix).\n *\n *\n * ┌ f(Dij, Sij) ; S(i,j) !== 0\n * C(i,j) = ┤\n * └ Dij ; otherwise\n *\n *\n * @param {Matrix} denseMatrix The DenseMatrix instance (D)\n * @param {Matrix} sparseMatrix The SparseMatrix instance (S)\n * @param {Function} callback The f(Dij,Sij) operation to invoke, where Dij = DenseMatrix(i,j) and Sij = SparseMatrix(i,j)\n * @param {boolean} inverse A true value indicates callback should be invoked f(Sij,Dij)\n *\n * @return {Matrix} DenseMatrix (C)\n *\n * see https://github.com/josdejong/mathjs/pull/346#issuecomment-97477571\n */\n return function algorithm1(denseMatrix, sparseMatrix, callback, inverse) {\n // dense matrix arrays\n var adata = denseMatrix._data;\n var asize = denseMatrix._size;\n var adt = denseMatrix._datatype;\n // sparse matrix arrays\n var bvalues = sparseMatrix._values;\n var bindex = sparseMatrix._index;\n var bptr = sparseMatrix._ptr;\n var bsize = sparseMatrix._size;\n var bdt = sparseMatrix._datatype;\n\n // validate dimensions\n if (asize.length !== bsize.length) {\n throw new DimensionError(asize.length, bsize.length);\n }\n\n // check rows & columns\n if (asize[0] !== bsize[0] || asize[1] !== bsize[1]) {\n throw new RangeError('Dimension mismatch. Matrix A (' + asize + ') must match Matrix B (' + bsize + ')');\n }\n\n // sparse matrix cannot be a Pattern matrix\n if (!bvalues) {\n throw new Error('Cannot perform operation on Dense Matrix and Pattern Sparse Matrix');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // process data types\n var dt = typeof adt === 'string' && adt === bdt ? adt : undefined;\n // callback function\n var cf = dt ? typed.find(callback, [dt, dt]) : callback;\n\n // vars\n var i, j;\n\n // result (DenseMatrix)\n var cdata = [];\n // initialize c\n for (i = 0; i < rows; i++) {\n cdata[i] = [];\n }\n\n // workspace\n var x = [];\n // marks indicating we have a value in x for a given column\n var w = [];\n\n // loop columns in b\n for (j = 0; j < columns; j++) {\n // column mark\n var mark = j + 1;\n // values in column j\n for (var k0 = bptr[j], k1 = bptr[j + 1], k = k0; k < k1; k++) {\n // row\n i = bindex[k];\n // update workspace\n x[i] = inverse ? cf(bvalues[k], adata[i][j]) : cf(adata[i][j], bvalues[k]);\n // mark i as updated\n w[i] = mark;\n }\n // loop rows\n for (i = 0; i < rows; i++) {\n // check row is in workspace\n if (w[i] === mark) {\n // c[i][j] was already calculated\n cdata[i][j] = x[i];\n } else {\n // item does not exist in S\n cdata[i][j] = adata[i][j];\n }\n }\n }\n\n // return dense matrix\n return denseMatrix.createDenseMatrix({\n data: cdata,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","import { factory } from '../../utils/factory.js';\nimport { isInteger } from '../../utils/number.js';\nimport { isMatrix } from '../../utils/is.js';\nvar name = 'diff';\nvar dependencies = ['typed', 'matrix', 'subtract', 'number'];\nexport var createDiff = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n subtract,\n number\n } = _ref;\n /**\n * Create a new matrix or array of the difference between elements of the given array\n * The optional dim parameter lets you specify the dimension to evaluate the difference of\n * If no dimension parameter is passed it is assumed as dimension 0\n *\n * Dimension is zero-based in javascript and one-based in the parser and can be a number or bignumber\n * Arrays must be 'rectangular' meaning arrays like [1, 2]\n * If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays\n *\n * Syntax:\n *\n * math.diff(arr)\n * math.diff(arr, dim)\n *\n * Examples:\n *\n * const arr = [1, 2, 4, 7, 0]\n * math.diff(arr) // returns [1, 2, 3, -7] (no dimension passed so 0 is assumed)\n * math.diff(math.matrix(arr)) // returns Matrix [1, 2, 3, -7]\n *\n * const arr = [[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [9, 8, 7, 6, 4]]\n * math.diff(arr) // returns [[0, 0, 0, 0, 0], [8, 6, 4, 2, -1]]\n * math.diff(arr, 0) // returns [[0, 0, 0, 0, 0], [8, 6, 4, 2, -1]]\n * math.diff(arr, 1) // returns [[1, 1, 1, 1], [1, 1, 1, 1], [-1, -1, -1, -2]]\n * math.diff(arr, math.bignumber(1)) // returns [[1, 1, 1, 1], [1, 1, 1, 1], [-1, -1, -1, -2]]\n *\n * math.diff(arr, 2) // throws RangeError as arr is 2 dimensional not 3\n * math.diff(arr, -1) // throws RangeError as negative dimensions are not allowed\n *\n * // These will all produce the same result\n * math.diff([[1, 2], [3, 4]])\n * math.diff([math.matrix([1, 2]), math.matrix([3, 4])])\n * math.diff([[1, 2], math.matrix([3, 4])])\n * math.diff([math.matrix([1, 2]), [3, 4]])\n * // They do not produce the same result as math.diff(math.matrix([[1, 2], [3, 4]])) as this returns a matrix\n *\n * See Also:\n *\n * sum\n * subtract\n * partitionSelect\n *\n * @param {Array | Matrix} arr An array or matrix\n * @param {number | BigNumber} dim Dimension\n * @return {Array | Matrix} Difference between array elements in given dimension\n */\n return typed(name, {\n 'Array | Matrix': function ArrayMatrix(arr) {\n // No dimension specified => assume dimension 0\n if (isMatrix(arr)) {\n return matrix(_diff(arr.toArray()));\n } else {\n return _diff(arr);\n }\n },\n 'Array | Matrix, number': function ArrayMatrixNumber(arr, dim) {\n if (!isInteger(dim)) throw new RangeError('Dimension must be a whole number');\n if (isMatrix(arr)) {\n return matrix(_recursive(arr.toArray(), dim));\n } else {\n return _recursive(arr, dim);\n }\n },\n 'Array, BigNumber': typed.referTo('Array,number', selfAn => (arr, dim) => selfAn(arr, number(dim))),\n 'Matrix, BigNumber': typed.referTo('Matrix,number', selfMn => (arr, dim) => selfMn(arr, number(dim)))\n });\n\n /**\n * Recursively find the correct dimension in the array/matrix\n * Then Apply _diff to that dimension\n *\n * @param {Array} arr The array\n * @param {number} dim Dimension\n * @return {Array} resulting array\n */\n function _recursive(arr, dim) {\n if (isMatrix(arr)) {\n arr = arr.toArray(); // Makes sure arrays like [ matrix([0, 1]), matrix([1, 0]) ] are processed properly\n }\n\n if (!Array.isArray(arr)) {\n throw RangeError('Array/Matrix does not have that many dimensions');\n }\n if (dim > 0) {\n var result = [];\n arr.forEach(element => {\n result.push(_recursive(element, dim - 1));\n });\n return result;\n } else if (dim === 0) {\n return _diff(arr);\n } else {\n throw RangeError('Cannot have negative dimension');\n }\n }\n\n /**\n * Difference between elements in the array\n *\n * @param {Array} arr An array\n * @return {Array} resulting array\n */\n function _diff(arr) {\n var result = [];\n var size = arr.length;\n for (var i = 1; i < size; i++) {\n result.push(_ElementDiff(arr[i - 1], arr[i]));\n }\n return result;\n }\n\n /**\n * Difference between 2 objects\n *\n * @param {Object} obj1 First object\n * @param {Object} obj2 Second object\n * @return {Array} resulting array\n */\n function _ElementDiff(obj1, obj2) {\n // Convert matrices to arrays\n if (isMatrix(obj1)) obj1 = obj1.toArray();\n if (isMatrix(obj2)) obj2 = obj2.toArray();\n var obj1IsArray = Array.isArray(obj1);\n var obj2IsArray = Array.isArray(obj2);\n if (obj1IsArray && obj2IsArray) {\n return _ArrayDiff(obj1, obj2);\n }\n if (!obj1IsArray && !obj2IsArray) {\n return subtract(obj2, obj1); // Difference is (second - first) NOT (first - second)\n }\n\n throw TypeError('Cannot calculate difference between 1 array and 1 non-array');\n }\n\n /**\n * Difference of elements in 2 arrays\n *\n * @param {Array} arr1 Array 1\n * @param {Array} arr2 Array 2\n * @return {Array} resulting array\n */\n function _ArrayDiff(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n throw RangeError('Not all sub-arrays have the same length');\n }\n var result = [];\n var size = arr1.length;\n for (var i = 0; i < size; i++) {\n result.push(_ElementDiff(arr1[i], arr2[i]));\n }\n return result;\n }\n});","import { isBigNumber } from '../../utils/is.js';\nimport { format, sign } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'Range';\nvar dependencies = [];\nexport var createRangeClass = /* #__PURE__ */factory(name, dependencies, () => {\n /**\n * Create a range. A range has a start, step, and end, and contains functions\n * to iterate over the range.\n *\n * A range can be constructed as:\n *\n * const range = new Range(start, end)\n * const range = new Range(start, end, step)\n *\n * To get the result of the range:\n * range.forEach(function (x) {\n * console.log(x)\n * })\n * range.map(function (x) {\n * return math.sin(x)\n * })\n * range.toArray()\n *\n * Example usage:\n *\n * const c = new Range(2, 6) // 2:1:5\n * c.toArray() // [2, 3, 4, 5]\n * const d = new Range(2, -3, -1) // 2:-1:-2\n * d.toArray() // [2, 1, 0, -1, -2]\n *\n * @class Range\n * @constructor Range\n * @param {number} start included lower bound\n * @param {number} end excluded upper bound\n * @param {number} [step] step size, default value is 1\n */\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n var hasStart = start !== null && start !== undefined;\n var hasEnd = end !== null && end !== undefined;\n var hasStep = step !== null && step !== undefined;\n if (hasStart) {\n if (isBigNumber(start)) {\n start = start.toNumber();\n } else if (typeof start !== 'number') {\n throw new TypeError('Parameter start must be a number');\n }\n }\n if (hasEnd) {\n if (isBigNumber(end)) {\n end = end.toNumber();\n } else if (typeof end !== 'number') {\n throw new TypeError('Parameter end must be a number');\n }\n }\n if (hasStep) {\n if (isBigNumber(step)) {\n step = step.toNumber();\n } else if (typeof step !== 'number') {\n throw new TypeError('Parameter step must be a number');\n }\n }\n this.start = hasStart ? parseFloat(start) : 0;\n this.end = hasEnd ? parseFloat(end) : 0;\n this.step = hasStep ? parseFloat(step) : 1;\n }\n\n /**\n * Attach type information\n */\n Range.prototype.type = 'Range';\n Range.prototype.isRange = true;\n\n /**\n * Parse a string into a range,\n * The string contains the start, optional step, and end, separated by a colon.\n * If the string does not contain a valid range, null is returned.\n * For example str='0:2:11'.\n * @memberof Range\n * @param {string} str\n * @return {Range | null} range\n */\n Range.parse = function (str) {\n if (typeof str !== 'string') {\n return null;\n }\n var args = str.split(':');\n var nums = args.map(function (arg) {\n return parseFloat(arg);\n });\n var invalid = nums.some(function (num) {\n return isNaN(num);\n });\n if (invalid) {\n return null;\n }\n switch (nums.length) {\n case 2:\n return new Range(nums[0], nums[1]);\n case 3:\n return new Range(nums[0], nums[2], nums[1]);\n default:\n return null;\n }\n };\n\n /**\n * Create a clone of the range\n * @return {Range} clone\n */\n Range.prototype.clone = function () {\n return new Range(this.start, this.end, this.step);\n };\n\n /**\n * Retrieve the size of the range.\n * Returns an array containing one number, the number of elements in the range.\n * @memberof Range\n * @returns {number[]} size\n */\n Range.prototype.size = function () {\n var len = 0;\n var start = this.start;\n var step = this.step;\n var end = this.end;\n var diff = end - start;\n if (sign(step) === sign(diff)) {\n len = Math.ceil(diff / step);\n } else if (diff === 0) {\n len = 0;\n }\n if (isNaN(len)) {\n len = 0;\n }\n return [len];\n };\n\n /**\n * Calculate the minimum value in the range\n * @memberof Range\n * @return {number | undefined} min\n */\n Range.prototype.min = function () {\n var size = this.size()[0];\n if (size > 0) {\n if (this.step > 0) {\n // positive step\n return this.start;\n } else {\n // negative step\n return this.start + (size - 1) * this.step;\n }\n } else {\n return undefined;\n }\n };\n\n /**\n * Calculate the maximum value in the range\n * @memberof Range\n * @return {number | undefined} max\n */\n Range.prototype.max = function () {\n var size = this.size()[0];\n if (size > 0) {\n if (this.step > 0) {\n // positive step\n return this.start + (size - 1) * this.step;\n } else {\n // negative step\n return this.start;\n }\n } else {\n return undefined;\n }\n };\n\n /**\n * Execute a callback function for each value in the range.\n * @memberof Range\n * @param {function} callback The callback method is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Range being traversed.\n */\n Range.prototype.forEach = function (callback) {\n var x = this.start;\n var step = this.step;\n var end = this.end;\n var i = 0;\n if (step > 0) {\n while (x < end) {\n callback(x, [i], this);\n x += step;\n i++;\n }\n } else if (step < 0) {\n while (x > end) {\n callback(x, [i], this);\n x += step;\n i++;\n }\n }\n };\n\n /**\n * Execute a callback function for each value in the Range, and return the\n * results as an array\n * @memberof Range\n * @param {function} callback The callback method is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix being traversed.\n * @returns {Array} array\n */\n Range.prototype.map = function (callback) {\n var array = [];\n this.forEach(function (value, index, obj) {\n array[index[0]] = callback(value, index, obj);\n });\n return array;\n };\n\n /**\n * Create an Array with a copy of the Ranges data\n * @memberof Range\n * @returns {Array} array\n */\n Range.prototype.toArray = function () {\n var array = [];\n this.forEach(function (value, index) {\n array[index[0]] = value;\n });\n return array;\n };\n\n /**\n * Get the primitive value of the Range, a one dimensional array\n * @memberof Range\n * @returns {Array} array\n */\n Range.prototype.valueOf = function () {\n // TODO: implement a caching mechanism for range.valueOf()\n return this.toArray();\n };\n\n /**\n * Get a string representation of the range, with optional formatting options.\n * Output is formatted as 'start:step:end', for example '2:6' or '0:0.2:11'\n * @memberof Range\n * @param {Object | number | function} [options] Formatting options. See\n * lib/utils/number:format for a\n * description of the available\n * options.\n * @returns {string} str\n */\n Range.prototype.format = function (options) {\n var str = format(this.start, options);\n if (this.step !== 1) {\n str += ':' + format(this.step, options);\n }\n str += ':' + format(this.end, options);\n return str;\n };\n\n /**\n * Get a string representation of the range.\n * @memberof Range\n * @returns {string}\n */\n Range.prototype.toString = function () {\n return this.format();\n };\n\n /**\n * Get a JSON representation of the range\n * @memberof Range\n * @returns {Object} Returns a JSON object structured as:\n * `{\"mathjs\": \"Range\", \"start\": 2, \"end\": 4, \"step\": 1}`\n */\n Range.prototype.toJSON = function () {\n return {\n mathjs: 'Range',\n start: this.start,\n end: this.end,\n step: this.step\n };\n };\n\n /**\n * Instantiate a Range from a JSON object\n * @memberof Range\n * @param {Object} json A JSON object structured as:\n * `{\"mathjs\": \"Range\", \"start\": 2, \"end\": 4, \"step\": 1}`\n * @return {Range}\n */\n Range.fromJSON = function (json) {\n return new Range(json.start, json.end, json.step);\n };\n return Range;\n}, {\n isClass: true\n});","import { factory } from '../../../utils/factory.js';\nimport { DimensionError } from '../../../error/DimensionError.js';\nimport { scatter } from '../../../utils/collection.js';\nvar name = 'matAlgo06xS0S0';\nvar dependencies = ['typed', 'equalScalar'];\nexport var createMatAlgo06xS0S0 = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n equalScalar\n } = _ref;\n /**\n * Iterates over SparseMatrix A and SparseMatrix B nonzero items and invokes the callback function f(Aij, Bij).\n * Callback function invoked (Anz U Bnz) times, where Anz and Bnz are the nonzero elements in both matrices.\n *\n *\n * ┌ f(Aij, Bij) ; A(i,j) !== 0 && B(i,j) !== 0\n * C(i,j) = ┤\n * └ 0 ; otherwise\n *\n *\n * @param {Matrix} a The SparseMatrix instance (A)\n * @param {Matrix} b The SparseMatrix instance (B)\n * @param {Function} callback The f(Aij,Bij) operation to invoke\n *\n * @return {Matrix} SparseMatrix (C)\n *\n * see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294\n */\n return function matAlgo06xS0S0(a, b, callback) {\n // sparse matrix arrays\n var avalues = a._values;\n var asize = a._size;\n var adt = a._datatype;\n // sparse matrix arrays\n var bvalues = b._values;\n var bsize = b._size;\n var bdt = b._datatype;\n\n // validate dimensions\n if (asize.length !== bsize.length) {\n throw new DimensionError(asize.length, bsize.length);\n }\n\n // check rows & columns\n if (asize[0] !== bsize[0] || asize[1] !== bsize[1]) {\n throw new RangeError('Dimension mismatch. Matrix A (' + asize + ') must match Matrix B (' + bsize + ')');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string' && adt === bdt) {\n // datatype\n dt = adt;\n // find signature that matches (dt, dt)\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result arrays\n var cvalues = avalues && bvalues ? [] : undefined;\n var cindex = [];\n var cptr = [];\n\n // workspaces\n var x = cvalues ? [] : undefined;\n // marks indicating we have a value in x for a given column\n var w = [];\n // marks indicating value in a given row has been updated\n var u = [];\n\n // loop columns\n for (var j = 0; j < columns; j++) {\n // update cptr\n cptr[j] = cindex.length;\n // columns mark\n var mark = j + 1;\n // scatter the values of A(:,j) into workspace\n scatter(a, j, w, x, u, mark, cindex, cf);\n // scatter the values of B(:,j) into workspace\n scatter(b, j, w, x, u, mark, cindex, cf);\n // check we need to process values (non pattern matrix)\n if (x) {\n // initialize first index in j\n var k = cptr[j];\n // loop index in j\n while (k < cindex.length) {\n // row\n var i = cindex[k];\n // check function was invoked on current row (Aij !=0 && Bij != 0)\n if (u[i] === mark) {\n // value @ i\n var v = x[i];\n // check for zero value\n if (!eq(v, zero)) {\n // push value\n cvalues.push(v);\n // increment pointer\n k++;\n } else {\n // remove value @ i, do not increment pointer\n cindex.splice(k, 1);\n }\n } else {\n // remove value @ i, do not increment pointer\n cindex.splice(k, 1);\n }\n }\n } else {\n // initialize first index in j\n var p = cptr[j];\n // loop index in j\n while (p < cindex.length) {\n // row\n var r = cindex[p];\n // check function was invoked on current row (Aij !=0 && Bij != 0)\n if (u[r] !== mark) {\n // remove value @ i, do not increment pointer\n cindex.splice(p, 1);\n } else {\n // increment pointer\n p++;\n }\n }\n }\n }\n // update cptr\n cptr[columns] = cindex.length;\n\n // return sparse matrix\n return a.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","import { factory } from '../../utils/factory.js';\nvar name = 'sqrt';\nvar dependencies = ['config', 'typed', 'Complex'];\nexport var createSqrt = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n config,\n typed,\n Complex\n } = _ref;\n /**\n * Calculate the square root of a value.\n *\n * For matrices, if you want the matrix square root of a square matrix,\n * use the `sqrtm` function. If you wish to apply `sqrt` elementwise to\n * a matrix M, use `math.map(M, math.sqrt)`.\n *\n * Syntax:\n *\n * math.sqrt(x)\n *\n * Examples:\n *\n * math.sqrt(25) // returns 5\n * math.square(5) // returns 25\n * math.sqrt(-4) // returns Complex 2i\n *\n * See also:\n *\n * square, multiply, cube, cbrt, sqrtm\n *\n * @param {number | BigNumber | Complex | Unit} x\n * Value for which to calculate the square root.\n * @return {number | BigNumber | Complex | Unit}\n * Returns the square root of `x`\n */\n return typed('sqrt', {\n number: _sqrtNumber,\n Complex: function Complex(x) {\n return x.sqrt();\n },\n BigNumber: function BigNumber(x) {\n if (!x.isNegative() || config.predictable) {\n return x.sqrt();\n } else {\n // negative value -> downgrade to number to do complex value computation\n return _sqrtNumber(x.toNumber());\n }\n },\n Unit: function Unit(x) {\n // Someday will work for complex units when they are implemented\n return x.pow(0.5);\n }\n });\n\n /**\n * Calculate sqrt for a number\n * @param {number} x\n * @returns {number | Complex} Returns the square root of x\n * @private\n */\n function _sqrtNumber(x) {\n if (isNaN(x)) {\n return NaN;\n } else if (x >= 0 || config.predictable) {\n return Math.sqrt(x);\n } else {\n return new Complex(x, 0).sqrt();\n }\n }\n});","import { factory } from '../../utils/factory.js';\nimport { isInteger } from '../../utils/number.js';\nimport { arraySize as size } from '../../utils/array.js';\nimport { powNumber } from '../../plain/number/index.js';\nvar name = 'pow';\nvar dependencies = ['typed', 'config', 'identity', 'multiply', 'matrix', 'inv', 'fraction', 'number', 'Complex'];\nexport var createPow = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n identity,\n multiply,\n matrix,\n inv,\n number,\n fraction,\n Complex\n } = _ref;\n /**\n * Calculates the power of x to y, `x ^ y`.\n *\n * Matrix exponentiation is supported for square matrices `x` and integers `y`:\n * when `y` is nonnegative, `x` may be any square matrix; and when `y` is\n * negative, `x` must be invertible, and then this function returns\n * inv(x)^(-y).\n *\n * For cubic roots of negative numbers, the function returns the principal\n * root by default. In order to let the function return the real root,\n * math.js can be configured with `math.config({predictable: true})`.\n * To retrieve all cubic roots of a value, use `math.cbrt(x, true)`.\n *\n * Syntax:\n *\n * math.pow(x, y)\n *\n * Examples:\n *\n * math.pow(2, 3) // returns number 8\n *\n * const a = math.complex(2, 3)\n * math.pow(a, 2) // returns Complex -5 + 12i\n *\n * const b = [[1, 2], [4, 3]]\n * math.pow(b, 2) // returns Array [[9, 8], [16, 17]]\n *\n * const c = [[1, 2], [4, 3]]\n * math.pow(c, -1) // returns Array [[-0.6, 0.4], [0.8, -0.2]]\n *\n * See also:\n *\n * multiply, sqrt, cbrt, nthRoot\n *\n * @param {number | BigNumber | Complex | Unit | Array | Matrix} x The base\n * @param {number | BigNumber | Complex} y The exponent\n * @return {number | BigNumber | Complex | Array | Matrix} The value of `x` to the power `y`\n */\n return typed(name, {\n 'number, number': _pow,\n 'Complex, Complex': function ComplexComplex(x, y) {\n return x.pow(y);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n if (y.isInteger() || x >= 0 || config.predictable) {\n return x.pow(y);\n } else {\n return new Complex(x.toNumber(), 0).pow(y.toNumber(), 0);\n }\n },\n 'Fraction, Fraction': function FractionFraction(x, y) {\n var result = x.pow(y);\n if (result != null) {\n return result;\n }\n if (config.predictable) {\n throw new Error('Result of pow is non-rational and cannot be expressed as a fraction');\n } else {\n return _pow(x.valueOf(), y.valueOf());\n }\n },\n 'Array, number': _powArray,\n 'Array, BigNumber': function ArrayBigNumber(x, y) {\n return _powArray(x, y.toNumber());\n },\n 'Matrix, number': _powMatrix,\n 'Matrix, BigNumber': function MatrixBigNumber(x, y) {\n return _powMatrix(x, y.toNumber());\n },\n 'Unit, number | BigNumber': function UnitNumberBigNumber(x, y) {\n return x.pow(y);\n }\n });\n\n /**\n * Calculates the power of x to y, x^y, for two numbers.\n * @param {number} x\n * @param {number} y\n * @return {number | Complex} res\n * @private\n */\n function _pow(x, y) {\n // Alternatively could define a 'realmode' config option or something, but\n // 'predictable' will work for now\n if (config.predictable && !isInteger(y) && x < 0) {\n // Check to see if y can be represented as a fraction\n try {\n var yFrac = fraction(y);\n var yNum = number(yFrac);\n if (y === yNum || Math.abs((y - yNum) / y) < 1e-14) {\n if (yFrac.d % 2 === 1) {\n return (yFrac.n % 2 === 0 ? 1 : -1) * Math.pow(-x, y);\n }\n }\n } catch (ex) {\n // fraction() throws an error if y is Infinity, etc.\n }\n\n // Unable to express y as a fraction, so continue on\n }\n\n // **for predictable mode** x^Infinity === NaN if x < -1\n // N.B. this behavour is different from `Math.pow` which gives\n // (-2)^Infinity === Infinity\n if (config.predictable && (x < -1 && y === Infinity || x > -1 && x < 0 && y === -Infinity)) {\n return NaN;\n }\n if (isInteger(y) || x >= 0 || config.predictable) {\n return powNumber(x, y);\n } else {\n // TODO: the following infinity checks are duplicated from powNumber. Deduplicate this somehow\n\n // x^Infinity === 0 if -1 < x < 1\n // A real number 0 is returned instead of complex(0)\n if (x * x < 1 && y === Infinity || x * x > 1 && y === -Infinity) {\n return 0;\n }\n return new Complex(x, 0).pow(y, 0);\n }\n }\n\n /**\n * Calculate the power of a 2d array\n * @param {Array} x must be a 2 dimensional, square matrix\n * @param {number} y a integer value (positive if `x` is not invertible)\n * @returns {Array}\n * @private\n */\n function _powArray(x, y) {\n if (!isInteger(y)) {\n throw new TypeError('For A^b, b must be an integer (value is ' + y + ')');\n }\n // verify that A is a 2 dimensional square matrix\n var s = size(x);\n if (s.length !== 2) {\n throw new Error('For A^b, A must be 2 dimensional (A has ' + s.length + ' dimensions)');\n }\n if (s[0] !== s[1]) {\n throw new Error('For A^b, A must be square (size is ' + s[0] + 'x' + s[1] + ')');\n }\n if (y < 0) {\n try {\n return _powArray(inv(x), -y);\n } catch (error) {\n if (error.message === 'Cannot calculate inverse, determinant is zero') {\n throw new TypeError('For A^b, when A is not invertible, b must be a positive integer (value is ' + y + ')');\n }\n throw error;\n }\n }\n var res = identity(s[0]).valueOf();\n var px = x;\n while (y >= 1) {\n if ((y & 1) === 1) {\n res = multiply(px, res);\n }\n y >>= 1;\n px = multiply(px, px);\n }\n return res;\n }\n\n /**\n * Calculate the power of a 2d matrix\n * @param {Matrix} x must be a 2 dimensional, square matrix\n * @param {number} y a positive, integer value\n * @returns {Matrix}\n * @private\n */\n function _powMatrix(x, y) {\n return matrix(_powArray(x.valueOf(), y));\n }\n});","import { factory } from '../../utils/factory.js';\nimport { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js';\nimport { createMatAlgo04xSidSid } from '../../type/matrix/utils/matAlgo04xSidSid.js';\nimport { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'add';\nvar dependencies = ['typed', 'matrix', 'addScalar', 'equalScalar', 'DenseMatrix', 'SparseMatrix', 'concat'];\nexport var createAdd = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n addScalar,\n equalScalar,\n DenseMatrix,\n SparseMatrix,\n concat\n } = _ref;\n var matAlgo01xDSid = createMatAlgo01xDSid({\n typed\n });\n var matAlgo04xSidSid = createMatAlgo04xSidSid({\n typed,\n equalScalar\n });\n var matAlgo10xSids = createMatAlgo10xSids({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n /**\n * Add two or more values, `x + y`.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.add(x, y)\n * math.add(x, y, z, ...)\n *\n * Examples:\n *\n * math.add(2, 3) // returns number 5\n * math.add(2, 3, 4) // returns number 9\n *\n * const a = math.complex(2, 3)\n * const b = math.complex(-4, 1)\n * math.add(a, b) // returns Complex -2 + 4i\n *\n * math.add([1, 2, 3], 4) // returns Array [5, 6, 7]\n *\n * const c = math.unit('5 cm')\n * const d = math.unit('2.1 mm')\n * math.add(c, d) // returns Unit 52.1 mm\n *\n * math.add(\"2.3\", \"4\") // returns number 6.3\n *\n * See also:\n *\n * subtract, sum\n *\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x First value to add\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Second value to add\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Sum of `x` and `y`\n */\n return typed(name, {\n 'any, any': addScalar,\n 'any, any, ...any': typed.referToSelf(self => (x, y, rest) => {\n var result = self(x, y);\n for (var i = 0; i < rest.length; i++) {\n result = self(result, rest[i]);\n }\n return result;\n })\n }, matrixAlgorithmSuite({\n elop: addScalar,\n DS: matAlgo01xDSid,\n SS: matAlgo04xSidSid,\n Ss: matAlgo10xSids\n }));\n});","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioAmortizacaoRetrato.vue?vue&type=style&index=0&id=fb516ef2&prod&lang=css\"","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","import { factory } from '../../utils/factory.js';\nexport var createTrigUnit = /* #__PURE__ */factory('trigUnit', ['typed'], _ref => {\n var {\n typed\n } = _ref;\n return {\n Unit: typed.referToSelf(self => x => {\n if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {\n throw new TypeError('Unit in function cot is no angle');\n }\n return typed.find(self, x.valueType())(x.value);\n })\n };\n});","this.pdfMake = this.pdfMake || {}; this.pdfMake.vfs = {\r\n \"Roboto-Italic.ttf\": \"AAEAAAARAQAABAAQR0RFRqbzo4gAAddgAAACWEdQT1N/jKrdAAHZuAAAWMBHU1VCm18k/AACMngAABX2T1MvMpeDsUwAAAGYAAAAYGNtYXDTfF9iAAAWnAAABoJjdnQgO/gmfQAAL3gAAAD+ZnBnbagFhDIAAB0gAAAPhmdhc3AACAAZAAHXVAAAAAxnbHlmNN3JWAAAOswAAZmmaGVhZAh9pEIAAAEcAAAANmhoZWEMnBKkAAABVAAAACRobXR4VUzdowAAAfgAABSkbG9jYV8SwLgAADB4AAAKVG1heHAI2RDGAAABeAAAACBuYW1lOSJt5gAB1HQAAALAcG9zdP9hAGQAAdc0AAAAIHByZXB5WM7TAAAsqAAAAs4AAQAAAAMCDJn8J2NfDzz1ABsIAAAAAADE8BEuAAAAAODgRcL6N/3VCUMIcwACAAkAAgAAAAAAAAABAAAHbP4MAAAJA/o3/mwJQwgAAbMAAAAAAAAAAAAAAAAFKQABAAAFKQCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAAQAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA5YAZAAAAAAAAAAAAfcAAAH3AAACAABEAnwAyQTHAFIEXABJBa8AugTUADkBWwCsAqgAbQK0/5ADWABrBGcATAGH/48CJQAaAgwANAM0/5AEXABqBFwA+gRcABgEXAA1BFwABQRcAHIEXABtBFwAnQRcAEAEXACUAesAKQGu/5sD8gBCBEIAcAQPADsDqwClBvgAQQUQ/68E1gA7BQ0AcAUYADsEaQA7BEoAOwVJAHQFiQA7AhwASQRIAAcE3gA7BC4AOwbGADsFiQA7BVcAcwTlADsFVwBrBMgAOwScACkEoQCpBQgAYwTxAKUG4gDDBN3/1ASpAKgEpv/sAg8AAAMwAMACD/97Az4ATwOA/4ECZgDQBDkAMQRcAB8EEABGBGAARwQdAEUCswB1BFwAAwRGACAB4wAvAdv/EwPvACAB4wAvBs4AHgRJACAEbQBGBFz/1wRpAEYCoQAgBAEALgKKAEMERwBbA8IAbgXVAIAD2v/FA6z/qgPa/+4CoAA3AeUAIgKg/40FRwBpAeX/8QQ/AFAEg//zBYkAEgQUAEMB3f/4BML/2gM/ANoGGQBeA3kAwwOuAFYETACBBhoAXQOPAPgC5gDoBCYAJgLiAF0C4gBvAm8A1QRm/+YDzAB4AgcApQHt/8gC4gDgA4gAvwOtABEFuQC6Bg8AtQYTAJ4Drf/RB0H/gwQkACgFVwAgBJYAOQSdAB8GjgATBI0AXARvAEQEZgA6BHn/4ASjAEYFcAA2AewALwRSAC4ELgAjAhkAJAVgADUEZgAlB2YAVQcMAEcB7QA0BV0AUgKl/0cFVQBmBHAAQwVlAGMEzQBbAfX/CQQYAD8DpwEYA3MBKAOZAPgDUQEHAeMBDgKZAQECGv+uA6kA3gLlAMMCSP/pAAD9agAA/eoAAP0LAAD99AAA/NsAAPy6Af4BIwPtAPQCEQClBFEARAV5/7IFSABnBRf/xARvAAwFiQBEBG//2wWPAFYFXgCFBSkACgRjAEgEmf/xA+QAhQRmAEUEMAApBAUAigRmACUEawB1AoQAhARN/7gDzgBABKAAYARm/90ELQBKBGUASAQMAIcEPABoBXgAQAVvAE4GZABnBH4AUgQiAGcGGABoBdIAogU8AHMIUP/NCGMARAZRALQFiABCBO4ANgXW/4wHC/+rBJwAJQWJAEQFf//LBOEAlAX+AFsFrQBBBVAAywdNAEIHhABCBeMAigbAAEQE3gA2BTwAdgb6AEkE8f/pBEsARwRwADEDQgAuBK//jQXy/6cD8QAgBHsAMAQyADAEfP/IBcEAMQR6ADAEewAwA7sAYAWhAEkEmgAwBDkAeQZHADAGbAAlBNEAVgYQADEENwAxBC0AMgZWADEEQv+/BEYAIAQtAE4Glf/DBq8AMARwACAEewAwBtMAbgX9AE8ENgAvBvUASgXLAC0Erv+6BCb/ogbWAFsF3gBPBp4AJgW1ACoIwABJB5UALwQE/80Dvf/JBUgAZwRpAEME5ACtA+UAhQVIAGcEZgBDBssAdAX1AFIG0wBuBf0ATwUKAGkEJwBMBNgAQAAA/OcAAP0KAAD+FgAA/jsAAPo3AAD6TgXlAEQE0QAwBDYALwT0ADsEZ//XBEIANQN2ACUEwABEA+cAJQdx/6sGOv+nBXkARASeADAE4wA2BFwALgZaALwFWgB2BdsAOwS+ADAHkwA7BYgAJQf8AEIGvwAlBcEAawSvAFwE+//UBBT/xQb2AKwFNABXBZoAywR9AHkFRgDKBEkAlAVGABwGAACIBJoABATjADYEOQAuBdr/ywTT/8gFhwBEBGYAJQXtADsE0AAwByEAOwYYADEFXQBSBIQAPASE//0Env/5A5n/6QUQ/9QEKf/FBNEALgZiADEGsABIBiYArQUEAGgEKQCwA+kAoAeG/+AGRP/aB74APAZvACME0QBlA/4ATQWCAJsE+gB9BTwAaAXe/8sE1//IAwkA8wP/AAAH9AAAA/8AAAf0AAACrgAAAgQAAAFcAAAEZgAAAikAAAGfAAABAgAAANUAAAAAAAACLQAaAi0AGgUiAKYGGQCYA4r/XgGOALABjgCJAYz/lwGOANICyAC4AtAAlQKt/5QESAB3BG3/9gKeAKEDsQA4BTsAOAF0AFIHbwCWAlUAXQJVAAQDh//wAuIAjwLiAGQC4gCKAuIAkALiAKIC4gB7AuIAqgMfAIgC4QCJAuEAcwHiAI8B4gA+A0cAfgLi/9wC4gAtAuL/qwLi/7wC4v+yAuL/2ALi/94C4v/wAuL/yQLi//gDKf/cAuv/3QLr/8cB4v/oAeL/nQSD//MGJQAKBl8AOQg/ADsFvgAJBfwAHwRcAFEFrQBDBAMASgRSAAsFH//yBSb/5QW7AMwDsQBLB/sANQTbAOsE8QB/BgEAtgasAJIGpQCQBkMAvgRtAE0FZAAkBIv/rQRwAKsEoABBB/sASwH9/xUEXwAzBEIAcAP8/9MEGQAYA+kAQgJEAHcCfABxAfX/5ATXAHUETQBZBGgAdQagAHUGoAB1BMgAdQZoACgAAAAAB/X/qwg1AFwC2P/qAtgAbALYABwD8QBpA/EAJwPxAHAD8ABLA/EASgPx//cD8QAXA/H//QPxAL0D8QBGBAP/3QQLAHUEM/+3BeYAlARGAHkEWwBCBAcAbgQAABIEKQAdBJgARgQ7AB4EmABMBL0AHgXUAB4DmQAeBDQAHgOy//YB2gArBL4AHgSIAEwDrwAeBAAAEgQUAAYDhQAZA5MAHgRG/7AEmABMBEb/sANu/9MEqgAeA9L/1gU+AFIE8AB9BM0ADgVJAG0EWgBIBwr/wwcYAB4FSgBuBKkAHgQ5ACAE/f+JBd3/rwQfABIExgAgBC0AHwSc/8QEAABaBQEAHgRIAFYGIAAeBnkAHgT2AFEFzQAgBC4AIARaACAGRQAeBGT/4APz//oGGP+vBFcAHwTjAB8FDwBqBZcAUARHAHUEhP+3BjEAbQRIAFUESAAeBZgALgSmAEAEHwASBJwARgQUAAADxgAfB+QAHgSH/94C2P/7Atj/8QLYABcC2AAdAtgALwLYAAgC2AA3A3sAkwKgAQsDyAAeBBr/mQSfAEgFIwBEBP0ARAP1ACYFFQBEA/AAJgRdAB4EWgBIBDAAHgRj/6YB7wD8A4kBEgAA/SoD0gDTA9YAIgPwAM4D1wDNA5MAHgOEARIDgwETAuIAjwLiAGQC4gCKAuIAkALiAKIC4gB7AuIAqgVYAIAFgwCBBWgARAWzAIMFtgCDA7gAvARfADkEN/+BBKr/0wRJ/9UEDgArA4kBFAGG/74GcQBMBJYAPgHt/w8EZv+sBGb/4wRm/7gEZgAsBGYAVgRmACQEZgBmBGYAGwRmAEAEZgENAgD/CQH//wkB9gAvAfb/eAH2AC8EMAAeBNoAZAQBAGIEXAAfBBMARARwAEMEaQAjBHwAQgRr/9cEeQBCBB0ARgRcADUETv+/A2gAqQSxACwDmf/pBgr/mgPaAB4EmP/0BL0AHgS9AB4B9wAAAiUAGgU2AC8FNgAvBGQAPgShAKkCiv/0BRD/rwUQ/68FEP+vBRD/rwUQ/68FEP+vBRD/rwUNAHAEaQA7BGkAOwRpADsEaQA7AhwASQIcAEkCHABJAhwASQWJADsFVwBzBVcAcwVXAHMFVwBzBVcAcwUIAGMFCABjBQgAYwUIAGMEqQCoBDkAMQQ5ADEEOQAxBDkAMQQ5ADEEOQAxBDkAMQQQAEYEHQBFBB0ARQQdAEUEHQBFAewALwHsAC8B7AAvAewALwRJACAEbQBGBG0ARgRtAEYEbQBGBG0ARgRHAFsERwBbBEcAWwRHAFsDrP+qA6z/qgUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUNAHAEEABGBQ0AcAQQAEYFDQBwBBAARgUNAHAEEABGBRgAOwT2AEcEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBUkAdARcAAMFSQB0BFwAAwVJAHQEXAADBUkAdARcAAMFiQA7BEYAIAIcAEkB7AARAhwASQHsAC4CHABJAewALwIc/4sB4/9tAhwASQZkAEkDvgAvBEgABwH1/wkE3gA7A+8AIAQuADsB4wAvBC4AOwHj/6IELgA7AnkALwQuADsCvwAvBYkAOwRJACAFiQA7BEkAIAWJADsESQAgBEkAIAVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgTIADsCoQAgBMgAOwKh/58EyAA7AqEAIAScACkEAQAuBJwAKQQBAC4EnAApBAEALgScACkEAQAuBJwAKQQBAC4EoQCpAooAQwShAKkCigBDBKEAqQKyAEMFCABjBEcAWwUIAGMERwBbBQgAYwRHAFsFCABjBEcAWwUIAGMERwBbBQgAYwRHAFsG4gDDBdUAgASpAKgDrP+qBKkAqASm/+wD2v/uBKb/7APa/+4Epv/sA9r/7gdB/4MGjgATBVcAIARmADoEXf+vBF3/rwQHAG4EY/+mBGP/pgRj/6YEY/+mBGP/pgRj/6YEY/+mBFoASAPIAB4DyAAeA8gAHgPIAB4B2gArAdoAKwHaACsB2gArBL0AHgSYAEwEmABMBJgATASYAEwEmABMBFsAQgRbAEIEWwBCBFsAQgQLAHUEY/+mBGP/pgRj/6YEWgBIBFoASARaAEgEWgBIBF0AHgPIAB4DyAAeA8gAHgPIAB4DyAAeBIgATASIAEwEiABMBIgATAS+AB4B2gAOAdoAKwHaACsB5P+CAdoAKwOy//YENAAeA5kAHgOZAB4DmQAeA5kAHgS9AB4EvQAeBL0AHgSYAEwEmABMBJgATAQpAB0EKQAdBCkAHQQAABIEAAASBAAAEgQAABIEBwBuBAcAbgQHAG4EWwBCBFsAQgRbAEIEWwBCBFsAQgRbAEIF5gCUBAsAdQQLAHUEA//dBAP/3QQD/90FEP+vBM0AAwXtABECgAAXBWsAawUN/+0FPQAeAoQAIAUQ/68E1gA7BGkAOwSm/+wFiQA7AhwASQTeADsGxgA7BYkAOwVXAHME5QA7BKEAqQSpAKgE3f/UAhwASQSpAKgEYwBIBDAAKQRmACUChACEBDwAaARSAC4EbQBGBGb/5gPCAG4ETv+/AoQAZQQ8AGgEbQBGBDwAaAZkAGcEaQA7BFEARAScACkCHABJAhwASQRIAAcE/QBEBN4AOwThAJQFEP+vBNYAOwRRAEQEaQA7BYkARAbGADsFiQA7BVcAcwWJAEQE5QA7BQ0AcAShAKkE3f/UBDkAMQQdAEUEewAwBG0ARgRc/9cEEABGA6z/qgPa/8UEHQBFA0IALgQBAC4B4wAvAewALwHb/xMEMgAwA6z/qgbiAMMF1QCABuIAwwXVAIAG4gDDBdUAgASpAKgDrP+qAVsArAJ8AMkEAABEAfX/CQGOAIkGxgA7Bs4AHgUQ/68EOQAxBGkAOwWJAEQEHQBFBHsAMAVeAIUFbwBOBOQArQPlAIUIGQBGCQMAcwScACUD8QAgBQ0AcAQQAEYEqQCoA+QAhQIcAEkHC/+rBfL/pwIcAEkFEP+vBDkAMQUQ/68EOQAxB0H/gwaOABMEaQA7BB0ARQVdAFIEGAA/BBgAPwcL/6sF8v+nBJwAJQPxACAFiQBEBHsAMAWJAEQEewAwBVcAcwRtAEYFSABnBGkAQwVIAGcEaQBDBTwAdgQtADIE4QCUA6z/qgThAJQDrP+qBOEAlAOs/6oFUADLBDkAeQbAAEQGEAAxBGAARwUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUCHABJAewALwIcAA0B4//wBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYFVQBmBHAAQwVVAGYEcABDBVUAZgRwAEMFVQBmBHAAQwVVAGYEcABDBQgAYwRHAFsFCABjBEcAWwVlAGMEzQBbBWUAYwTNAFsFZQBjBM0AWwVlAGMEzQBbBWUAYwTNAFsEqQCoA6z/qgSpAKgDrP+qBKkAqAOs/6oEfgAABKEAqQO7AGAFUADLBDkAeQRRAEQDQgAuBgAAiASaAAQERgAgBN4ALATeACwEUQARA0L/5wURAFgECQA6BKkAqAPkAF4E3f/UA9r/xQQwACkESv/XBhkAmARcABgEXAA1BFwABQRcAHIEcACBBIQAVARwAJQEhAB+BUkAdARcAAMFiQA7BEkAIAUQ/68EOQAxBGkAOwQdAEUCHP/gAez/jQVXAHMEbQBGBMgAOwKhACAFCABjBEcAWwSG/7EE1gA7BFwAHwUYADsEYABHBRgAOwRgAEcFiQA7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AGUAcwAvAEwASQBDAEUATgBTAEUALQAyAC4AMAADAAD/9AAA/2oAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAgAIAAj//wAPAAEAAgAOAAAAAAAAAigAAgBZACUAPgABAEQAXgABAGoAagABAHAAcAABAHUAdQABAIEAgQABAIMAgwABAIYAhgABAIkAiQABAIsAlgABAJgAnwABAKEAowABAKUApgABAKgArQADALEAsQABALoAuwABAL8AvwABAMEAwQABAMMAxAABAMcAxwABAMsAywABAM0AzgABANAA0QABANMA0wABANoA3gABAOEA4QABAOUA5QABAOcA6QABAOsA+wABAP0A/QABAP8BAQABAQMBAwABAQgBCQABARYBGgABARwBHAABASABIgABASQBJwADASoBKwABATMBNAABATYBNgABATsBPAABAUEBRAABAUcBSAABAUsBTQABAVEBUQABAVQBWAABAV0BXgABAWIBYgABAWQBZAABAWgBaAABAWoBbAABAW4BbgABAXABcAABAdUB2wACAewCAAABAgQCBAABAg0CDQABAg8CDwABAhYCGAABAhoCGwABAh0CHQABAiECIQABAiMCJQABAisCKwABAjACMgABAjQCNAABAkICQgABAkUCRQABAkcCRwABAkoCTQABAnkCfQABAo0CkgABApUC/QABAwADvwABA8EDwQABA8MDzQABA88D2AABA9oD9QABA/kD+QABA/sEAgABBAQEBgABBAkEDQABBA8EmgABBJ0EngABBKAEoQABBKMEpgABBLAFDAABBQ4FGAABBRsFKAABAAEAAwAAABAAAAAWAAAAIAABAAEArQACAAEAqACsAAAAAgACAKgArAAAASQBJwAFAAEAAAAWADAACgAFAEYATgBYAGIAbAAEREZMVABqY3lybABuZ3JlawBybGF0bgB2AAVjcHNwAGBrZXJuAGxrZXJuAGZrZXJuAHRrZXJuAHwAAQAAAAEAZAACAAgAAgEyCAgAAgAIAAIAzAQuAAIACAACAjIP/AACAAgAAgBIAIAATgAAAFQAAABaAAAAYAAAAAAAAQAAAAAAAQAEAAAAAgAEAAMAAAACAAQAAQAAAAIABAACAAErTAAFACQASAABGRIABAAAAAMZBhkcGQwAAP//AAIAAAACAAD//wACAAAAAwAA//8AAgAAAAQAAP//AAIAAAABAAIZDgAEAAAZVBt4AAQABQAA/5UAAAAA/4gAAP9WAAAAAAAAAAAAAAAAAAAAAAAA/4gAAAAAAAAAARv2AAQAAAApGXwZihlKGtgZ2BmmGgQZtBnuGlYafBj+GcYZBByiGRYdBBukGqoZChkQHWoZVBoaGgQZphxMGgQZXhloGaYZmBsKHEwaNBxMGRYZchnGGXIZpgABLrQABAAAAIUeQh4IHYwdkh3QHwYgAjbCMNQ08ih8Hn4x6izCH9AlEB5+Hn4hHB5+Hn4efimMJBQefh+mJJIjJB5cJ9IiZB28JzQdmB98I5ovwh4sIN4lkiG4HyweLCIOH1IhZiA4HywgpB7CHewdsh98HiwmHB28H9AdmCBuIG4gbh5+H9AdmB5+Hn4d+h28H9AdmCLCJhwefh5+IG4gbiEcIKQdniYcHn4efh36Hd4eGiamH9AeoB2oHsIeLB2yHZgdqB28HbIdqB3sHbIeGh7kHbIefh/QHZgefiCkHqAgpB6gHagdqB2oH9AdmB36HsIewh4sIRwdsiEcHbIhHB2yJqYmHB28HcYfpiYcIG4e5AABOcYABAAAAPQswChIKEgy9CzWK2goTit2PCArhCzsKE4objUkMi4tMiyuLQIoWjHwK6AycBemN8IXpjccF6YXphemK5IzOihULRgoVDKyKE4ziCycKEg4nChIKEgoSChCLVQteig8KGQoNitaKDYraChOKE4oTihOLTIs1izWLNYs1izWLNYs1itoK3Yrdit2K3YoTihOKE4oTihOMfAXphemF6YXphemF6YXphemF6YXpihUKFQs1izWLNYraCtoK2graChOK3YXpit2F6YrdhemK3YXpit2F6YXpiuELOws7CzsLOwXphemF6YXpihOF6YoThemKE4XpiuSK5Irki0yLTItMi0CMfAoVDHwK6AroCugKDwoPChCKDYoNig2KDYoNig2KDYoPCg8KDwoPCg8KDYoNig2KDwoZChkKGQoZCg8KDwoPChCLQItAi0CMfAoVChIKEgoSBemLNYs1izWLNYs1izWLNYs1izWLNYs1izWLNYrdhemK3YXpit2F6YrdhemK3YXpit2F6YrdhemK3YXpihOF6YoThemKE4XpihOF6YoThemKE4XpihOF6YXpjHwKFQx8ChUMfAoVBemLNYrdihO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/58AOgCyAA8A0v/mANQADgDW/+YA2QATANoADgDdAA4A3gALAOH/5QDm/+YA5//0AO0AEgDyAA8A9v/nAPn/6AD+AAABBAAPAQ0ADwEZ/+YBMwAOATn/5gE6/+cBQwAOAUX/5gFH/+UBSP/oAUn/5QFK/+gBTP/kAVAADgFRAA8BXQAOAWL/5gFk/+YBZgAOAWz/5gFt/+cBbwAOAXAADwPQAAsD0QAPA9z/5gPdAA4EBf/mBA3/5gQQAA4EEwAPBBUADwQeAA4ELgALBDAACwQyAAsENP/lBDX/6ASS/+YElP/lBJX/6ASh/+YAAQD6AAgACgAUABUAFgAXABgAGQAaABsAHAAdACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQGxAbcBvAG/ApUClgKYApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0AtEC0wLVAtcC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLzAvUC9wL5AvsC/QL+AwADAgMEAwYDCAMKAwwDDgMQAxMDFQMXAxkDGwMdAx8DIQMjAyUDJwMpAysDLQMvAzEDMwM1AzcDOQM7Az0DPwNAA0IDRANGA0gDoQOiA6MDpAOlA6YDpwOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D7gPwA/ID9AQJBAsEDQQiBCgELgSYBJ0EoQUiBSQAAwHv//UB8P/uA5v/9QADAA3/5gBB//QAYf/vAAMASv/uAFv/6gHw//AAAwBb/8EB///mAkv/6AADAEoADwBYADIAWwARAAMAW//lAf//6wJL/+0AOwCyABAA0v/gANP/6ADUABAA1v/gANkAFADdABAA4f/hAOb/4ADtABMA8gAQAPn/4AEEABABCP/oAQ0AEAEX/+gBGf/gARv/6AEd/+gBH//oASH/6AE5/+ABQf/oAUX/4AFH/+EBSP/gAUn/4QFK/+ABTf/hAVAAEAFRABABWP/pAWL/3wFk/94BZgAQAWr/6AFs/98Bbv/yAW8AEAFwABAD0QAQA9j/6APb/+gD3P/gBAX/4AQI/+gEC//oBA3/3wQTABAEFQAQBCb/6AQo/+gEKv/oBDT/4QQ1/+AEkv/gBJT/4QSV/+AEof/fAAQAWP/vAFv/3wCa/+4B8P/NAAQADQAUAEEAEQBW/+IAYQATAAUAOP/YAyn/2AMr/9gDLf/YBNr/2AAFACP/wwBY/+8AW//fAJr/7gHw/80ABQBb/6QB8P9UAfX/8QH///ECS//zAAUADQAPAEEADABW/+sAYQAOAkv/6QAGABD/hAAS/4QBhv+EAYr/hAGO/4QBj/+EAAgABP/YAFb/tQBb/8cAbf64AHz/KACB/00Ahv+OAIn/oQAJAe3/7gHv//UB8P/xAfL/8gNn/+4Dk//yA5v/9QOc/+4Dnf/uAAkB7f/lAe//8QHw/+sB8v/pA2f/5QOT/+kDm//xA5z/5QOd/+UAAQCFAAQADAA/AF8AlgCdALIA0gDUANUA1gDXANgA2QDaANsA3ADdAN4A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDxAPYA9wD4APsA/AD+AP8BAAEDAQQBBQEKAQ0BGAEZARoBIgEuAS8BMAEzATQBNQE3ATkBOwFDAUQBVAFWAVgBXAFdAV4BhQPJA8sDzAPOA88D0APRA9ID0wPWA9cD2APaA9sD3APdA94D3wPhA+ID5APlA+YD5wPtBAEEBQQGBAsEDQQOBA8EEAQRBBIEEwQUBBUEFgQaBBwEHQQeBB8EJgQnBCsELQQuBC8EMAQxBDIEMwSSBJYElwSaBJwEnQSfBKEARAAGAA0ACwANAO3/qgDy/68A9/+wAQP/sAEE/68BGP/WARoACwEc/+IBHv+wASAADAEi/7ABQv+wAVH/rwFg/7ABYf+wAWMACwFlAAsBa/+wAXD/rwGEAA0BhQANAYcADQGIAA0BiQANAgX/vwIOAA4CD//tAhIADgIqAA4CK//tAiwADQIuAA4CNP/tA97/8APf/7AD4f/WA+P/sAPkAAsD5v+wA+0ACwP2AA0D9wANA/oADQQB/7AEBgALBAf/sAQM/7AEDgALBBT/8AQW//AEGv+wBBz/sAQd/7AEJ//WBCn/sAQr/9YELwALBDEACwQzAAsEOP+wBQX/vwUM/+0FD//tBRAADgUU/+0FFQANAEUA0v71ANT/9QDW/vUA2v/wAN3/9QDe/+sA4f/nAOb/wwDsAAAA8AAAAPEAAADzAAAA9AAAAPUAAAD2/88A+AAAAPoAAAD7AAAA/gAAAQAAAAEFAAABGf/IASsAAAEz//ABNgAAATn+9QE6/84BPAAAAT4AAAFD//ABRf71AUf/5wFJ/+cBTP/fAVD/9QFTAAABVQAAAVcAAAFcAAABXf/wAWL/0QFk/+wBZv/1AWz/oAFt/9EBb//1A9D/6wPc/vUD3f/wA+AAAAPiAAAD5wAAA+wAAAQCAAAEBf/IBA3/rQQQ//AEHv/wBCMAAAQlAAAELv/rBDD/6wQy/+sENP/nBDcAAASS/vUElP/nBJcAAASh/60ARgDS/+YA1v/mANr/8gDe/+4A4f/oAOb/5gDsAAAA7v/xAPAAAADxAAAA8wAAAPQAAAD1AAAA9v/QAPgAAAD6AAAA+wAAAP4AAAEAAAABBQAAARn/5wErAAABM//yATT/8QE2AAABOf/mATr/zgE8AAABPgAAAUP/8gFE//EBRf/mAUf/6AFJ/+gBUwAAAVUAAAFXAAABXAAAAV3/8gFe//EBYv/nAWT/7QFs/+YBbf/QA9D/7gPc/+YD3f/yA+AAAAPiAAAD5f/xA+cAAAPsAAAEAgAABAX/5wQN/+cEEP/yBBH/8QQe//IEH//xBCMAAAQlAAAELv/uBDD/7gQy/+4ENP/oBDcAAASS/+YElP/oBJcAAASh/+cADwAK/+IADQAUAA7/zwBBABIASv/qAFb/2ABY/+oAYQATAG3/rgB8/80Agf+gAIb/wQCJ/8ABjf/TAkv/zQAQADj/sAA6/+0APf/QArT/0AMp/7ADK/+wAy3/sAM9/9ADP//QA/T/0ASL/9AEjf/QBI//0ATa/7AE3f/tBN//7QAQAC7/7gA5/+4CsP/uArH/7gKy/+4Cs//uAwD/7gMv/+4DMf/uAzP/7gM1/+4DN//uAzn/7gR9/+4Ef//uBNz/7gAQAC7/7AA5/+wCsP/sArH/7AKy/+wCs//sAwD/7AMv/+wDMf/sAzP/7AM1/+wDN//sAzn/7AR9/+wEf//sBNz/7AARADoAFAA7ABIAPQAWArQAFgM7ABIDPQAWAz8AFgPuABID8AASA/IAEgP0ABYEiwAWBI0AFgSPABYE3QAUBN8AFAThABIAEwBT/+wBhQAAAsb/7ALH/+wCyP/sAsn/7ALK/+wDFP/sAxb/7AMY/+wEZv/sBGj/7ARq/+wEbP/sBG7/7ARw/+wEcv/sBHr/7AS7/+wAFQAG//IAC//yAFr/8wBd//MBhP/yAYX/8gGH//IBiP/yAYn/8gLP//MC0P/zAz7/8wP1//MD9v/yA/f/8gP6//IEjP/zBI7/8wSQ//ME3v/zBOD/8wBRAAb/wAAL/8AA0v71ANb+9QDa//AA3v/rAOH/5wDm/8MA7AAAAO7/yQDwAAAA8QAAAPMAAAD0AAAA9QAAAPb/zwD4AAAA+gAAAPsAAAD+AAABAAAAAQUAAAEZ/8gBKwAAATP/8AE0/8kBNgAAATn+9QE6/84BPAAAAT4AAAFD//ABRP/JAUX+9QFH/+cBSf/nAUz/3wFTAAABVQAAAVcAAAFcAAABXf/wAV7/yQFi/9EBZP/sAWz/oAFt/9EBhP/AAYX/wAGH/8ABiP/AAYn/wAPQ/+sD3P71A93/8APgAAAD4gAAA+X/yQPnAAAD7AAAA/b/wAP3/8AD+v/ABAIAAAQF/8gEDf+tBBD/8AQR/8kEHv/wBB//yQQjAAAEJQAABC7/6wQw/+sEMv/rBDT/5wQ3AAAEkv71BJT/5wSXAAAEof+tACIAOP/VADr/5AA7/+wAPf/dAgUADgJNAA4CtP/dAyn/1QMr/9UDLf/VAzv/7AM9/90DP//dA00ADgNOAA4DTwAOA1AADgNRAA4DUgAOA1MADgNoAA4DaQAOA2oADgPu/+wD8P/sA/L/7AP0/90Ei//dBI3/3QSP/90E2v/VBN3/5ATf/+QE4f/sAFsABv/KAAv/ygDS/9IA1v/SANr/9ADe/+0A4f/hAOb/1ADs/9EA7v/vAPD/0QDx/9EA8//RAPT/0QD1/9EA9v/JAPj/0QD6/9EA+//RAP7/0QEA/9EBBf/RAQn/5QEZ/9QBGv/mASD/4wEr/9EBM//0ATT/7wE2/9EBOf/SATr/xAE8/9EBPv/RAUP/9AFE/+8BRf/SAUf/4QFJ/+EBU//RAVX/0QFX/9EBXP/RAV3/9AFe/+8BYv/UAWP/9QFk/+cBbP/SAW3/yQGE/8oBhf/KAYf/ygGI/8oBif/KA9D/7QPc/9ID3f/0A+D/0QPi/9ED5P/mA+X/7wPn/9ED7P/RA+3/5gP2/8oD9//KA/r/ygQC/9EEBf/UBAb/5gQN/9MEDv/mBBD/9AQR/+8EHv/0BB//7wQj/9EEJf/RBC7/7QQv/+YEMP/tBDH/5gQy/+0EM//mBDT/4QQ3/9EEkv/SBJT/4QSX/9EEof/TACkAR//sAEj/7ABJ/+wAS//sAFX/7ACU/+wAmf/sArz/7AK9/+wCvv/sAr//7ALA/+wC2P/sAtr/7ALc/+wC3v/sAuD/7ALi/+wC5P/sAub/7ALo/+wC6v/sAuz/7ALu/+wC8P/sAvL/7ARS/+wEVP/sBFb/7ARY/+wEWv/sBFz/7ARe/+wEYP/sBHT/7AR2/+wEeP/sBHz/7AS3/+wExP/sBMb/7AA2AAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCU/+gAmf/oAYQAEAGFABABhwAQAYgAEAGJABACvP/oAr3/6AK+/+gCv//oAsD/6ALY/+gC2v/oAtz/6ALe/+gC4P/oAuL/6ALk/+gC5v/oAuj/6ALq/+gC7P/oAu7/6ALw/+gC8v/oA/YAEAP3ABAD+gAQBFL/6ARU/+gEVv/oBFj/6ARa/+gEXP/oBF7/6ARg/+gEdP/oBHb/6AR4/+gEfP/oBLf/6ATE/+gExv/oAEoAR//FAEj/xQBJ/8UAS//FAEwAIABPACAAUAAgAFP/gABV/8UAV/+QAFsACwCU/8UAmf/FAdv/kAK8/8UCvf/FAr7/xQK//8UCwP/FAsb/gALH/4ACyP+AAsn/gALK/4AC2P/FAtr/xQLc/8UC3v/FAuD/xQLi/8UC5P/FAub/xQLo/8UC6v/FAuz/xQLu/8UC8P/FAvL/xQMU/4ADFv+AAxj/gAMg/5ADIv+QAyT/kAMm/5ADKP+QBFL/xQRU/8UEVv/FBFj/xQRa/8UEXP/FBF7/xQRg/8UEZv+ABGj/gARq/4AEbP+ABG7/gARw/4AEcv+ABHT/xQR2/8UEeP/FBHr/gAR8/8UEt//FBLv/gATE/8UExv/FBMgAIATKACAEzAAgBNn/kAABAPQABAAGAAsADAAlACcAKAApACoALwAwADMANAA1ADYAOAA6ADsAPAA9AD4APwBJAEoATABPAFEAUgBTAFYAWABaAFsAXQBfAJYAnQCyAYQBhQGHAYgBiQHyAfQB9QH3AfoCBQJKAk0CXwJhAmIClQKWApgCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCqwKsAq0CrgKvArQCvQK+Ar8CwALFAsYCxwLIAskCygLPAtAC0QLTAtUC1wLZAtsC3QLfAuEC4gLjAuQC5QLmAucC6ALpAuoC9AMCAwQDBgMIAwoDDQMPAxEDEgMTAxQDFQMWAxcDGAMaAxwDHgMpAysDLQM7Az0DPgM/A0ADQgNEA0oDSwNMA00DTgNPA1ADUQNSA1MDXgNfA2ADYQNiA2gDaQNqA28DgQOCA4MDhAOIA4kDigOTA+4D8APyA/QD9QP2A/cD+gP8A/0EOQQ7BD0EPwRBBEMERQRHBEkESwRNBE8EUQRSBFMEVARVBFYEVwRYBFkEWgRbBFwEXQReBF8EYARlBGYEZwRoBGkEagRrBGwEbQRuBG8EcARxBHIEegSLBIwEjQSOBI8EkASzBLQEtgS6BLsEvQTDBMUEyATJBMsEzQTQBNIE0wTUBNcE2gTdBN4E3wTgBOEE4wABADUABgALAJYAsQCyALMAtAC9AMEAxwGEAYUBhwGIAYkCBQIGAgcDoQOiA6MDpAOlA6YDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO7A78DwQPFA/YD9wP6BOUE5gTqBO0E8wT4AKcAEP8WABL/FgAl/1YALv74ADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAJT/6wCZ/+sAm//qALL/VgGG/xYBiv8WAY7/FgGP/xYCBf/AAk3/wAKa/1YCm/9WApz/VgKd/1YCnv9WAp//VgKg/1YCtf/eArb/3gK3/94CuP/eArn/3gK6/94Cu//eArz/6wK9/+sCvv/rAr//6wLA/+sCxv/rAsf/6wLI/+sCyf/rAsr/6wLL/+oCzP/qAs3/6gLO/+oCz//oAtD/6ALR/1YC0v/eAtP/VgLU/94C1f9WAtb/3gLY/+sC2v/rAtz/6wLe/+sC4P/rAuL/6wLk/+sC5v/rAuj/6wLq/+sC7P/rAu7/6wLw/+sC8v/rAwD++AMU/+sDFv/rAxj/6wMpABQDKwAUAy0AFAMw/+oDMv/qAzT/6gM2/+oDOP/qAzr/6gM+/+gDTf/A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AiQCJQIOAg8CEAIRAhICEwJVAicCKAIpAioFEwIrAi0CLgIvAjECMwKRA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA14DXwNgA2EDYgNjA2QDZQNmA2cDnQNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9BRoDfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgOPA5AFHQORA5IDlAOTA5UDlgOXA5gDmQOaA5sDnAOeA58DoAUbBRwE5gTnBOgE6QTzBPYE9AT1BPoE+wT8BOoE6wTsBQUFCAUJBQwFDgUPAhsFEQT9BP4E/wUABQEFAgUDBQQFHgUfBSAFIQUSBRQFFQIyBRcCNAUYBRYCMAImAiwFJgUnAAIHAAD6AgECjAHrAeoB6QHoAecB5gHlAeQB4wHiAk0CTAJLAkoCQgIAAf8B/gH9AfwB+wH6AfkB+AH3AfYB9QH0AfMB8gHxAfAB7wHuAe0B7AICAgMCjgKQAo8CkQKNApICbAIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIaAhsFGQIcAh0CHgIfAiACIQIiAiMCJAIlAlUCJwIoAikCKgUTAisCLQIuAi8CMAIxAjICMwI1AjYCOAI3A0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgUaA38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQBR0DkQOSA5QDkwOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAUbBRwE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AT5BPoE+wT8BP0E/gT/BQAFAQUCAhkFAwUEBQUFBgUHBQgFCQUKBQsFDAUNBQ4FDwUQBREFHgUfBSAFIQUSBRQFFQUXAjQFGAUWAiYCLAUmBScAAQABAXsAAQABAEsAAQABALsAAQABADYAAQABABMAAQACAyMDJAACBuQG2AACBuYG2AABBu4AAQbwAAEG8gACAAEAFAAdAAAAAQACAC8ATwABAAMASQBLAoQAAgAAAAEG3gABAAYC1QLWAucC6ANqA3MAAQAGAE0ATgL8A+kD6wRkAAIAAwGUAZQAAAHfAeEAAQI5Aj8ABAACAAIAqACsAAEBJAEnAAEAAQAMACcAKAArADMANQBGAEcASABLAFMAVABVAAIAAgAUAB0AAAJvAngACgACAAYATQBNAAYATgBOAAQC/AL8AAUD6QPpAAMD6wPrAAIEZARkAAEAAgAEABQAHQAAAoACgAAKAosCiwALBKgErwAMAAIABgAaABoAAAAcABwAAQJkAmkAAgJtAm0ACAJvAngACQJ/An8AEwABABQAGgAcAmQCZQJmAmcCaAJpAm0CfwKAAosEqASpBKoEqwSsBK0ErgSvAAEF3gABBeAAAQXiAAEF5AABBeYAAQXoAAEF6gABBewAAQXuAAEF8AABBfIAAQX0AAEF9gABBfgAAQX6AAIF/AYCAAIGAgYIAAIGCAYOAAIGDgYUAAIGFAYaAAIGGgYgAAIGIAYmAAIGJgYsAAIGLAYyAAIGMgY4AAIGOAY+AAMGPgZEBkoAAwZIBk4GVAADBlIGWAZeAAMGXAZiBmgAAwZmBmwGcgADBnAGdgZ8AAMGegaABoYAAwaEBooGkAAEBo4GlAaaBqAABAacBqIGqAauAAUGqgawBrYGvAbCAAUGvAbCBsgGzgbUAAUGzgbUBtoG4AbmAAUG4AbmBuwG8gb4AAUG8gb4Bv4HBAcKAAUHBAcKBxAHFgccAAUHFgccByIHKAcuAAUHKAcuBzQHOgdAAAUHOgdAB0YHTAdSAAYHTAdSB1gHXgdkB2oABgdiB2gHbgd0B3oHgAAGB3gHfgeEB4oHkAeWAAYHjgeUB5oHoAemB6wABgekB6oHsAe2B7wHwgAGB7oHwAfGB8wH0gfYAAYH0AfWB9wH4gfoB+4ABwguB+YH7AfyB/gH/ggEAAcIJgf6CAAIBggMCBIIGAABAOsACgBFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AhQCGAIcAiQCKAIsAjQCQAJIAlAC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4A6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wEAAQEBAgEDAQQBBQEGAQcBMAE0ATYBOAE6ATwBQgFEAUYBSgFNAVoClwKZArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0gLUAtYC2ALaAtwC3gLgAuIC5ALmAugC6gLsAu4C8ALyAvQC9gL4AvoC/AL/AwEDAwMFAwcDCQMLAw0DDwMRAxQDFgMYAxoDHAMeAyADIgMkAyYDKAMqAywDLgMwAzIDNAM2AzgDOgM8Az4DQQNDA0UDRwNJA7kDugO7A7wDvgO/A8ADwQPCA8MDxAPFA8YDxwPeA98D4APhA+ID4wPkA+UD5gPnA+gD6QPqA+sD7APtA+8D8QPzA/UECgQMBA4EHAQjBCkELwSZBJoEngSiBSMFJQABAPoACAAKABQAFQAWABcAGAAZABoAGwAcAB0AJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AGUAZwCBAIMAhACMAI8AkQCTALEAsgCzALQAtQC2ALcAuAC5ALoA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkBLwEzATUBNwE5ATsBQQFDAUUBSQFLAUwBWAFZAbEBtwG8Ab8ClQKWApgCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQC0QLTAtUC1wLZAtsC3QLfAuEC4wLlAucC6QLrAu0C7wLxAvMC9QL3AvkC+wL9Av4DAAMCAwQDBgMIAwoDDAMOAxADEwMVAxcDGQMbAx0DHwMhAyMDJQMnAykDKwMtAy8DMQMzAzUDNwM5AzsDPQM/A0ADQgNEA0YDSAOhA6IDowOkA6UDpgOnA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDyAPJA8oDywPMA80DzgPPA9AD0QPSA9MD1APVA9YD1wPYA9kD2gPbA9wD3QPuA/AD8gP0BAkECwQNBCIEKAQuBJgEnQShBSIFJAHWAAIATQHXAAIAUAHYAAMASgBNAdkAAwBKAFAAAQABAEoB1QACAEoB2wACAFgB2gACAFgAAQADAEoAVwCVAAAAAQABAAEAAQAAAAMEwQACAK0C1wACAKkExwACAK0E1AACAKkEwgACAK0C2AACAKkEsQACAKkEyAACAK0EZAACAK0E1QACAKkDRgACAKkDSAACAKkDRwACAKkDSQACAKkEwAACAKkExQACAdQEwwACAK0EsAACAKkC8QACAdQD+wACAKkEzwACAK0DKQACAdQE2gACAK0E3wACAK0E3QACAKoDQAACAKkE4wACAK0ExgACAdQExAACAK0D/AACAKkE0AACAK0DKgACAdQE2wACAK0E4AACAK0E3gACAKoDQQACAKkE5AACAK0EyQACAKkDAgACAdQEywACAK0DBAACAKkDBgACAdQEzQACAK0DHwACAKkDJQACAdQE2AACAK0D8AACAKkE4QACAK0D7gACAKgEygACAKkDAwACAdQEzAACAK0DBQACAKkDBwACAdQEzgACAK0DIAACAKkDJgACAdQE2QACAK0D8QACAKkE4gACAK0D7wACAKgDGQACAKkDGwACAdQE1gACAK0EvAACAKwDGgACAKkDHAACAdQE1wACAK0EvQACAKwDDAACAKkDDgACAdQE0QACAK0EsgACAKgCqgACAKoCtAACAKkEiwACAK0D9AACAKgEjQACAKsEjwACAKoDDQACAKkDDwACAdQE0gACAK0EswACAKgCxQACAKoCzwACAKkEjAACAK0D9QACAKgEjgACAKsEkAACAKoCwgACAKkCwQACAKgEYgACAKsC9gACAKoEuQACAKwEcwACAKkEewACAK0EdQACAKgEdwACAKsEeQACAKoEdAACAKkEfAACAK0EdgACAKgEeAACAKsEegACAKoEgQACAKkEiQACAK0EgwACAKgEhQACAKsEhwACAKoEggACAKkEigACAK0EhAACAKgEhgACAKsEiAACAKoCmwACAKkEOQACAK0CmgACAKgEOwACAKsCnQACAKoEtAACAKwCowACAKkEUQACAK0CogACAKgEUwACAKsEVQACAKoEtgACAKwCpwACAKkEYwACAK0CpgACAKgEYQACAKsC9QACAKoEuAACAKwCtgACAKkEOgACAK0CtQACAKgEPAACAKsCuAACAKoEtQACAKwCvgACAKkEUgACAK0CvQACAKgEVAACAKsEVgACAKoEtwACAKwCxwACAKkEZgACAK0CxgACAKgEaAACAKsCyQACAKoEuwACAKwCzAACAKkEfgACAK0CywACAKgEgAACAKsDMAACAKoEvwACAKwCrAACAKkEZQACAK0CqwACAKgEZwACAKsCrgACAKoEugACAKwCsQACAKkEfQACAK0CsAACAKgEfwACAKsDLwACAKoEvgACAKwE0wADAKoAqQTcAAMAqgCpAAIAEQAlACkAAAArAC0ABQAvADQACAA2ADsADgA9AD4AFABFAEkAFgBLAE0AGwBPAFQAHgBWAFsAJABdAF4AKgCBAIEALACDAIMALQCGAIYALgCJAIkALwCNAI0AMACYAJsAMQDQANAANQAA\",\r\n \"Roboto-Medium.ttf\": \"AAEAAAARAQAABAAQR0RFRqbzo4gAAcGUAAACWEdQT1OYN0PaAAHD7AAAWPxHU1VCm18k/AACHOgAABX2T1MvMpfnsYsAAAGYAAAAYGNtYXDTfF9iAAAWnAAABoJjdnQgO/gmfQAAL3gAAAD+ZnBnbagFhDIAAB0gAAAPhmdhc3AACAAZAAHBiAAAAAxnbHlml3ag9QAAOswAAYOyaGVhZAiGpEQAAAEcAAAANmhoZWEK9griAAABVAAAACRobXR4QNtY9AAAAfgAABSkbG9jYcJrHvoAADB4AAAKVG1heHAI2RDGAAABeAAAACBuYW1lQmB1PgABvoAAAALmcG9zdP9tAGQAAcFoAAAAIHByZXB5WM7TAAAsqAAAAs4AAQAAAAMCDPWGK6FfDzz1ABkIAAAAAADE8BEuAAAAAODgRcT6Jv3VCWEIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJbvom/j4JYQABAAAAAAAAAAAAAAAAAAAFKQABAAAFKQCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAQAAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA4wAZAAAAAAAAAAAAf0AAAH9AAACHgCMAo4AYATTAFYEjABkBeQAZAUhAFUBVwBSAsUAgQLMACcDjAAcBHEAQgHKACICuABQAjkAhgMfAAEEjABoBIwAqgSMAFIEjABOBIwANwSMAH8EjABzBIwARASMAGcEjABdAhwAfwHrADMEEgA+BIAAjwQoAH4D5AA7By0AWwVOABEFDQCUBTkAZgU5AJQEhQCUBGgAlAVzAGsFrQCUAkQApQRyAC8FDgCUBFIAlAb/AJQFrQCUBYMAZQUbAJQFgwBgBQkAlATYAEsE4AAtBTwAgAUqABEHCwAvBQ0AJgTjAAgE0wBQAiwAhQNVABICLAALA24ANgOVAAICkAA4BFAAVgR/AH0ELQBOBIIAUARJAFEC0wArBIkAUgRyAHoCCgB8AgL/qwQsAH0CCgCMBvgAfAR0AHoEigBOBH8AfQSHAFAC1AB9BB4ASQKqAAoEcwB3A/gAFgXwACMEBgAfA+sADAQGAFECqwA4Af0ArwKrABwFTQB1Ah8AhQSCAGcEtQBfBZ4AXARAAA0B+ACJBPkAXAOSAGMGSQBaA5AAjgPjAFcEawB/BkoAWQPaAJ0DDwCBBEoAXAL1AD0C9QA3ApQAbwTBAJMD6gBJAkQAkAITAGwC9QCCA6cAeQPjAF4FygBfBiIAUwZcAGYD5QBGB37//ARCAEwFgQBpBM8AlQTrAIoGwgBIBKQAaASRAEMEhgBOBJEAgQTsAFAFsAAfAhcAkASaAI0EZAAgAlIAIAWXAJAEhgB9B7AAZQc+AFkCBwCJBY0AVQLQ/94FkQBbBJ0ATQWjAIAE5gB3AiX/rgQ5AFcD3gCQA6oAbgPaAJ0DfgB1AgoAgQKqAHgCTAApA84AdwMoAEsCcwCJAAD8kwAA/WIAAPx0AAD9OgAA/AgAAP0eAmsAzQQ7AG4CRACQBHQAmQXCABoFegBcBTUAIASMAGoFrgCZBIwARwX5AEwFsQBGBVkAbASEAFYEyACXBA0AHgSGAFEEZQBiBA8AWQSGAH0EpwB2AqUAowRoABUEGgBnBPwAMASGAIAEMwBQBI4AUAQqADwEXQB/BdEARgXMAFIGlABlBLQAeASH/+EGeQArBf0AJAVTAGcIgQAtCIwAmQZRAC0FpQCPBQcAkAX9ACYHqQAVBNsASQWmAJIFqAAsBQsAMgZfAE4F+ACOBYUAkQeaAJUH+gCVBiEAFQbwAJkFAgCQBUgAYwdiAKEE6AAXBIAAWgSLAI8DWwCDBPIAJwaHACAEFwBOBJIAhARsAI8ElAAgBgIAjwSRAIQEkgCEA/oAIwXUAFMEzwCEBGUAYAaNAIQG8QB9BSEAIAZvAI8EaQCPBDkAUAaCAJIEcAAuBHL/1wQ5AFIG1gAdBuQAhASG/+gEkgCEB1gAiAZqAHIEaP/hBygAmAYCAIYFFgAaBGMACwdLAKwGPQCaBuUAfgXdAIEJKgClB+4AkAQgACgD9QAyBXoAYASIAE0FGAAQBA0AHgV6AGAEhgBOB1QAiAZWAHUHWACIBmoAcgUQAGcERwBdBPsAcAAA/HAAAPx1AAD9gQAA/aYAAPomAAD6UQYgAJIFEwCEBGj/4QUQAJQEhgB9BGsAjwOjAH0E6gCZBCQAfQgjABUG4AAgBckAmQT7AI8FLgCRBKwAjQaUADQFoAA8BiAAlAUHAIQH3QCUBa0AfQhJAJcG7wB9BjcAZwUEAGAFOQAmBEEAHwcoACkFbwAnBfIAkQTcAGAFcACBBHQAdQWFAIkGGwAKBMT/ywUgAJEEeACNBh8ALAUUACAFrQCZBIYAfQYqAJQFEQCEB3UAlAZ0AI8FjQBVBKMAWwSkAF0EwwAsA6oAJAVpACYEcQAfBPkATwbzAGgG2wBfBlEAPQUoAC8EgwBKBEgAcwe8AEIGpAA/B/UAlAaeAHQFBgBcBC8AVQWoACEFHQBEBU4AfQZGACwFOwAgAxsAZAQUAAAIKQAABBQAAAgpAAACuQAAAgoAAAFcAAAEfwAAAjAAAAGiAAABAAAAANEAAAAAAAACtwBQArcAUAUjAJwGKgB7A5oACAG/AGUBugA3Ac4ANQGjAEsDCwBtAxMAQwMAADUEWwA/BJoAXQLMAIoD/QCNBaoAjQHPAF4HrgBQAnQAbAJpAFUDmQArAvUATAL1ADYC9QBQAvUATgL1ADcC9QBLAvUARwM5AFAC8wBQAvMAUAIDAFMCAwBQA1wAZwL1AEwC9QCCAvUAPQL1ADcC9QA2AvUAUAL1AE4C9QA3AvUASwL1AEcDOQBQAvMAUALzAFACAwBTAgMAUAS1AGIGbgAjBr8AmQiVAJQGOwAjBpsAfQSMAFwF6gAjBC0AKgSbACQFYgBPBX4AKwXkAG4D4wBFCCkAkAUIAG8FFACWBjcAXAbeAFYG0ABeBqwAXASTAGEFigCmBN4APwSAAJwEnQA7CFIAYQIy/6cEkQBlBIAAjwQSAD0EKAB9BA4AJQJRAJwCjgBkAekARwUZACsErQAaBL0AKwcoACsHKAArBQ8AKwa3AEkAAAAACDAAWQg1AFwC9QA9AvUAggL1AEwEHQBPBB0AVwQdADgEHQBfBB0AZgQdADMEHQA9BB0AQwQdAJgEHQBYBCsAQQQ+AAYEXAATBgkAJwR5AAgEiABpBD8AJQQ3AD8EZAB1BL0ATQRrAHYEvQBOBNwAdgYFAHYDtwB2BF4AdgPWACYB/gCGBN0AdgSnAFYDyAB2BDcAPwRoADoDpQAKA7wAdgR5AAgEvQBOBHkACAOdAEYE2QB2BB4ARAWmAE8FWABPBOAAXgWSACMEgABPB1YAJAdYAHYFmQAlBNgAdgRyAHYFXgAnBkUAGwRGAEME4gB2BF0AdgTLACQETAAfBWIAdgSNAEMGhAB2Bw4AdgVhAAkGFgB2BGcAdgSAAD0GjwB2BIQAQgQoAAsGowAbBKAAdgUNAHYFdAAhBfgATgRWAAYExAATBpcAIwSNAEMEjQB2BgAADgTOAE0ERwBDBL0ATgRoADoD9ABFCC0AdgT0ACgC9QA3AvUANgL1AFAC9QBOAvUANwL1AEsC9QBHA7YAjQKuAJgD4AB2BDoADAS2AFYFQQCZBSgAmQQwAIEFNQCZBCgAgQR6AHYEgABPBGAAdgSaAAgB/gCQA6EAdQAA/J4D9wB6A/r/UQQLAHkD+gB5A7wAdgOdAHUDnQB1AvUATAL1ADYC9QBQAvUATgL1ADcC9QBLAvUARwVzAGkFngBpBX8AmQXZAGkF2gBpBCgAlgSCAGsEWAAPBLsANARrAGcELgBCA6EAdgG6AGIGmABOBK8AbgIM/6cEjAA4BIwAaASMACwEjABiBIwAXwSMADQEjABsBIwAWQSMAGcEjADmAib/rgIl/64CFwCQAhf/+gIXAJAEYAB2BOYAYAQwADkEiAB9BD4ATwSVAE4EkQBOBJ0ASQSSAH0EmgBOBEkAUQSJAFAEWQA0A60AYQUMAF8DxAAFBkb/7AQHAHYEvQBOBQ4ANATcAHYB/QAAArgAUAVXABcFVwAXBJD/9QTgAC0Cqv/rBU4AEQVOABEFTgARBU4AEQVOABEFTgARBU4AEQU5AGYEhQCUBIUAlASFAJQEhQCUAkT/ywJEAKUCRP/KAkT/vgWtAJQFgwBlBYMAZQWDAGUFgwBlBYMAZQU8AIAFPACABTwAgAU8AIAE4wAIBFAAVgRQAFYEUABWBFAAVgRQAFYEUABWBFAAVgQtAE4ESQBRBEkAUQRJAFEESQBRAhf/tQIXAJACF/+zAhf/qAR0AHoEigBOBIoATgSKAE4EigBOBIoATgRzAHcEcwB3BHMAdwRzAHcD6wAMA+sADAVOABEEUABWBU4AEQRQAFYFTgARBFAAVgU5AGYELQBOBTkAZgQtAE4FOQBmBC0ATgU5AGYELQBOBTkAlAUYAFAEhQCUBEkAUQSFAJQESQBRBIUAlARJAFEEhQCUBEkAUQSFAJQESQBRBXMAawSJAFIFcwBrBIkAUgVzAGsEiQBSBXMAawSJAFIFrQCUBHIAegJE/7QCF/+dAkT/0QIX/7sCRP/dAhf/xgJEABgCCv//AkQAnwa1AKUECwB8BHIALwIl/64FDgCUBCwAfQRSAJQCCgCMBFIAlAIKAFkEUgCUAqAAjARSAJQC5gCMBa0AlAR0AHoFrQCUBHQAegWtAJQEdAB6BHT/owWDAGUEigBOBYMAZQSKAE4FgwBlBIoATgUJAJQC1AB9BQkAlALUAFIFCQCUAtQANwTYAEsEHgBJBNgASwQeAEkE2ABLBB4ASQTYAEsEHgBJBNgASwQeAEkE4AAtAqoACgTgAC0CqgAKBOAALQLSAAoFPACABHMAdwU8AIAEcwB3BTwAgARzAHcFPACABHMAdwU8AIAEcwB3BTwAgARzAHcHCwAvBfAAIwTjAAgD6wAMBOMACATTAFAEBgBRBNMAUAQGAFEE0wBQBAYAUQd+//wGwgBIBYEAaQSGAE4Eev+lBHr/pQQ/ACUEmgAIBJoACASaAAgEmgAIBJoACASaAAgEmgAIBIAATwPgAHYD4AB2A+AAdgPgAHYB/v+pAf4AhgH+/6cB/v+cBNwAdgS9AE4EvQBOBL0ATgS9AE4EvQBOBIgAaQSIAGkEiABpBIgAaQQ+AAYEmgAIBJoACASaAAgEgABPBIAATwSAAE8EgABPBHoAYQPgAHYD4AB2A+AAdgPgAHYD4AB2BKcAVgSnAFYEpwBWBKcAVgTdAHYB/v+RAf7/rwH+/7oB/gAXAf4AfQPWACYEXgB2A7cAdgO3AHYDtwB2A7cAdgTcAHYE3AB2BNwAdgS9AE4EvQBOBL0ATgRkAHUEZAB1BGQAdQQ3AD8ENwA/BDcAPwQ3AD8EPwAlBD8AJQQ/ACUEiABpBIgAaQSIAGkEiABpBIgAaQSIAGkGCQAnBD4ABgQ+AAYEKwBBBCsAQQQrAEEFTgARBOn/QgYR/0oCqP9OBZf/tAVH/0EFbf/CAqX/hQVOABEFDQCUBIUAlATTAFAFrQCUAkQApQUOAJQG/wCUBa0AlAWDAGUFGwCUBOAALQTjAAgFDQAmAkT/vgTjAAgEhABWBGUAYgSGAH0CpQCjBF0AfwSaAI0EigBOBMEAkwP4ABYEWQA0AqX/wwRdAH8EigBOBF0AfwaUAGUEhQCUBHQAmQTYAEsCRAClAkT/vgRyAC8FKACZBQ4AlAULADIFTgARBQ0AlAR0AJkEhQCUBaYAkgb/AJQFrQCUBYMAZQWuAJkFGwCUBTkAZgTgAC0FDQAmBFAAVgRJAFEEkgCEBIoATgR/AH0ELQBOA+sADAQGAB8ESQBR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ALoAuwABAL8AvwABAMEAwQABAMMAxAABAMcAxwABAMsAywABAM0AzgABANAA0QABANMA0wABANoA3gABAOEA4QABAOUA5QABAOcA6QABAOsA+wABAP0A/QABAP8BAQABAQMBAwABAQgBCQABARYBGgABARwBHAABASABIgABASQBJwADASoBKwABATMBNAABATYBNgABATsBPAABAUEBRAABAUcBSAABAUsBTQABAVEBUQABAVQBWAABAV0BXgABAWIBYgABAWQBZAABAWgBaAABAWoBbAABAW4BbgABAXABcAABAdUB2wACAewCAAABAgQCBAABAg0CDQABAg8CDwABAhYCGAABAhoCGwABAh0CHQABAiECIQABAiMCJQABAisCKwABAjACMgABAjQCNAABAkICQgABAkUCRQABAkcCRwABAkoCTQABAnkCfQABAo0CkgABApUC/QABAwADvwABA8EDwQABA8MDzQABA88D2AABA9oD9QABA/kD+QABA/sEAgABBAQEBgABBAkEDQABBA8EmgABBJ0EngABBKAEoQABBKMEpgABBLAFDAABBQ4FGAABBRsFKAABAAEAAwAAABAAAAAWAAAAIAABAAEArQACAAEAqACsAAAAAgACAKgArAAAASQBJwAFAAEAAAAWADAACgAFAEYATgBYAGIAbAAEREZMVABqY3lybABuZ3JlawBybGF0bgB2AAVjcHNwAGBrZXJuAGxrZXJuAGZrZXJuAHRrZXJuAHwAAQAAAAEAZAACAAgAAgEyCAgAAgAIAAIAzAQuAAIACAACAjIP/AACAAgAAgBIAIAATgAAAFQAAABaAAAAYAAAAAAAAQAAAAAAAQAEAAAAAgAEAAMAAAACAAQAAQAAAAIABAACAAEriAAFACQASAABGRIABAAAAAMZBhkcGQwAAP//AAIAAAACAAD//wACAAAAAwAA//8AAgAAAAQAAP//AAIAAAABAAIZDgAEAAAZVBt4AAQABQAA/68AAAAA/4gAAP8sAAAAAAAAAAAAAAAAAAAAAAAA/4gAAAAAAAAAARv2AAQAAAApGXwZihlKGtgZ2BmmGgQZtBnuGlYafBj+GcYZBByiGRYdBBukGqoZChkQHWoZVBoaGgQZphxMGgQZXhloGaYZmBsKHEwaNBxMGRYZchnGGXIZpgABLvAABAAAAIUeQh4I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AVAADgFRAA8BXQAOAWL/5gFk/+YBZgAOAWz/5gFt/+cBbwAOAXAADwPQAAsD0QAPA9z/5gPdAA4EBf/mBA3/5gQQAA4EEwAPBBUADwQeAA4ELgALBDAACwQyAAsENP/lBDX/6ASS/+YElP/lBJX/6ASh/+YAAQD6AAgACgAUABUAFgAXABgAGQAaABsAHAAdACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQGxAbcBvAG/ApUClgKYApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0AtEC0wLVAtcC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLzAvUC9wL5AvsC/QL+AwADAgMEAwYDCAMKAwwDDgMQAxMDFQMXAxkDGwMdAx8DIQMjAyUDJwMpAysDLQMvAzEDMwM1AzcDOQM7Az0DPwNAA0IDRANGA0gDoQOiA6MDpAOlA6YDpwOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D7gPwA/ID9AQJBAsEDQQiBCgELgSYBJ0EoQUiBSQAAwHv//UB8P/uA5v/9QADAA3/5gBB//QAYf/vAAMASv/uAFv/6gHw//AAAwBb/8EB///mAkv/6AADAEoAEQBYADIAWwARAAMAW//lAf//6wJL/+0AOwCyABAA0v/gANP/6ADUABAA1v/gANkAFADdABAA4f/hAOb/4ADtABMA8gAQAPn/4AEEABABCP/oAQ0AEAEX/+gBGf/gARv/6AEd/+gBH//oASH/6AE5/+ABQf/oAUX/4AFH/+EBSP/gAUn/4QFK/+ABTf/hAVAAEAFRABABWP/pAWL/3wFk/94BZgAQAWr/6AFs/98Bbv/yAW8AEAFwABAD0QAQA9j/6APb/+gD3P/gBAX/4AQI/+gEC//oBA3/3wQT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/+0EM//mBDT/4QQ3/+IEkv/SBJT/4QSX/+IEof/TACkAR//sAEj/7ABJ/+wAS//sAFX/7ACU/+wAmf/sArz/7AK9/+wCvv/sAr//7ALA/+wC2P/sAtr/7ALc/+wC3v/sAuD/7ALi/+wC5P/sAub/7ALo/+wC6v/sAuz/7ALu/+wC8P/sAvL/7ARS/+wEVP/sBFb/7ARY/+wEWv/sBFz/7ARe/+wEYP/sBHT/7AR2/+wEeP/sBHz/7AS3/+wExP/sBMb/7AA2AAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCU/+gAmf/oAYQAEAGFABABhwAQAYgAEAGJABACvP/oAr3/6AK+/+gCv//oAsD/6ALY/+gC2v/oAtz/6ALe/+gC4P/oAuL/6ALk/+gC5v/oAuj/6ALq/+gC7P/oAu7/6ALw/+gC8v/oA/YAEAP3ABAD+gAQBFL/6ARU/+gEVv/oBFj/6ARa/+gEXP/oBF7/6ARg/+gEdP/oBHb/6AR4/+gEfP/oBLf/6ATE/+gExv/oAEoAR/+0AEj/tABJ/7QAS/+0AEwAFABPABQAUAAUAFP/egBV/7QAV/9kAFsACwCU/7QAmf+0Adv/ZAK8/7QCvf+0Ar7/tAK//7QCwP+0Asb/egLH/3oCyP96Asn/egLK/3oC2P+0Atr/tALc/7QC3v+0AuD/tALi/7QC5P+0Aub/tALo/7QC6v+0Auz/tALu/7QC8P+0AvL/tAMU/3oDFv96Axj/egMg/2QDIv9kAyT/ZAMm/2QDKP9kBFL/tARU/7QEVv+0BFj/tARa/7QEXP+0BF7/tARg/7QEZv96BGj/egRq/3oEbP96BG7/egRw/3oEcv96BHT/tAR2/7QEeP+0BHr/egR8/7QEt/+0BLv/egTE/7QExv+0BMgAFATKABQEzAAUBNn/ZAABAPQABAAGAAsADAAlACcAKAApACoALwAwADMANAA1ADYAOAA6ADsAPAA9AD4APwBJAEoATABPAFEAUgBTAFYAWABaAFsAXQBfAJYAnQCyAYQBhQGHAYgBiQHyAfQB9QH3AfoCBQJKAk0CXwJhAmIClQKWApgCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCqwKsAq0CrgKvArQCvQK+Ar8CwALFAsYCxwLIAskCygLPAtAC0QLTAtUC1wLZAtsC3QLfAuEC4gLjAuQC5QLmAucC6ALpAuoC9AMCAwQDBgMIAwoDDQMPAxEDEgMTAxQDFQMWAxcDGAMaAxwDHgMpAysDLQM7Az0DPgM/A0ADQgNEA0oDSwNMA00DTgNPA1ADUQNSA1MDXgNfA2ADYQNiA2gDaQNqA28DgQOCA4MDhAOIA4kDigOTA+4D8APyA/QD9QP2A/cD+gP8A/0EOQQ7BD0EPwRBBEMERQRHBEkESwRNBE8EUQRSBFMEVARVBFYEVwRYBFkEWgRbBFwEXQReBF8EYARlBGYEZwRoBGkEagRrBGwEbQRuBG8EcARxBHIEegSLBIwEjQSOBI8EkASzBLQEtgS6BLsEvQTDBMUEyATJBMsEzQTQBNIE0wTUBNcE2gTdBN4E3wTgBOEE4wABADUABgALAJYAsQCyALMAtAC9AMEAxwGEAYUBhwGIAYkCBQIGAgcDoQOiA6MDpAOlA6YDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO7A78DwQPFA/YD9wP6BOUE5gTqBO0E8wT4AKcAEP8HABL/BwAl/04ALv8NADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAJT/6wCZ/+sAm//qALL/TgGG/wcBiv8HAY7/BwGP/wcCBf/AAk3/wAKa/04Cm/9OApz/TgKd/04Cnv9OAp//TgKg/04Ctf/eArb/3gK3/94CuP/eArn/3gK6/94Cu//eArz/6wK9/+sCvv/rAr//6wLA/+sCxv/rAsf/6wLI/+sCyf/rAsr/6wLL/+oCzP/qAs3/6gLO/+oCz//oAtD/6ALR/04C0v/eAtP/TgLU/94C1f9OAtb/3gLY/+sC2v/rAtz/6wLe/+sC4P/rAuL/6wLk/+sC5v/rAuj/6wLq/+sC7P/rAu7/6wLw/+sC8v/rAwD/DQMU/+sDFv/rAxj/6wMpABQDKwAUAy0AFAMw/+oDMv/qAzT/6gM2/+oDOP/qAzr/6gM+/+gDTf/AA07/wANP/8ADUP/AA1H/wANS/8ADU//AA2j/wANp/8ADav/AA/X/6AP9/04D/v/eBDn/TgQ6/94EO/9OBDz/3gQ9/04EPv/eBD//TgRA/94EQf9OBEL/3gRD/04ERP/eBEX/TgRG/94ER/9OBEj/3gRJ/04ESv/e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AK0E3wACAK0E3QACAKoDQAACAKkE4wACAK0ExgACAdQExAACAK0D/AACAKkE0AACAK0DKgACAdQE2wACAK0E4AACAK0E3gACAKoDQQACAKkE5AACAK0EyQACAKkDAgACAdQEywACAK0DBAACAKkDBgACAdQEzQACAK0DHwACAKkDJQACAdQE2AACAK0D8AACAKkE4QACAK0D7gACAKgEygACAKkDAwACAdQEzAACAK0DBQACAKkDBwACAdQEzgACAK0DIAACAKkDJgACAdQE2QACAK0D8QACAKkE4gACAK0D7wACAKgDGQACAKkDGwACAdQE1gACAK0EvAACAKwDGgACAKkDHAACAdQE1wACAK0EvQACAKwDDAACAKkDDgACAdQE0QACAK0EsgACAKgCqgACAKoCtAACAKkEiwACAK0D9AACAKgEjQACAKsEjwACAKoDDQACAKkDDwACAdQE0gACAK0EswACAKgCxQACAKoCzwACAKkEjAACAK0D9QACAKgEjgACAKsEkAACAKoCwgACAKkCwQACAKgEYgACAKsC9gACAKoEuQACAKwEcwACAKkEewACAK0EdQACAKgEdwACAKsEeQACAKoEdAACAKkEfAACAK0EdgACAKgEeAACAKsEegACAKoEgQACAKkEiQACAK0EgwACAKgEhQACAKsEhwACAKoEggACAKkEigACAK0EhAACAKgEhgACAKsEiAACAKoCmwACAKkEOQACAK0CmgACAKgEOwACAKsCnQACAKoEtAACAKwCowACAKkEUQACAK0CogACAKgEUwACAKsEVQACAKoEtgACAKwCpwACAKkEYwACAK0CpgACAKgEYQACAKsC9QACAKoEuAACAKwCtgACAKkEOgACAK0CtQACAKgEPAACAKsCuAACAKoEtQACAKwCvgACAKkEUgACAK0CvQACAKgEVAACAKsEVgACAKoEtwACAKwCxwACAKkEZgACAK0CxgACAKgEaAACAKsCyQACAKoEuwACAKwCzAACAKkEfgACAK0CywACAKgEgAACAKsDMAACAKoEvwACAKwCrAACAKkEZQACAK0CqwACAKgEZwACAKsCrgACAKoEugACAKwCsQACAKkEfQACAK0CsAACAKgEfwACAKsDLwACAKoEvgACAKwE0wADAKoAqQTcAAMAqgCpAAIAEQAlACkAAAArAC0ABQAvADQACAA2ADsADgA9AD4AFABFAEkAFgBLAE0AGwBPAFQAHgBWAFsAJABdAF4AKgCBAIEALACDAIMALQCGAIYALgCJAIkALwCNAI0AMACYAJsAMQDQANAANQAA\",\r\n \"Roboto-MediumItalic.ttf\": \"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BGH/0QQI//YGcP+qBHwACgTmAAoFSgBgBcoAPgQ/AGwEn/+iBmUAYgRqAFsEagAJBdIAOwSpADIEJgAOBJwANARGAAcD1gAeB+8ACQTO/9oC3v/1At7/8wLeAAsC3gAWAt4AJQLeAAUC3gA0A5kAkQKaAQgDwgAJBBr/hwSSADsFGQArBQAAKwQQABQFDQArBAkAFARXAAkEXgA5BD8ACQR2/5oB7wDoA4UBBAAA/ScD2QDcA9sAFgPsANwD3ADbA58ACQOBAQQDgQEFAugAiQLoAGYC6AB+AugAiQLoAJgC6AB4AugApwVKAGwFcwBrBVUAKwWsAG4FrgBtBAkAqwRfABwEN/+BBJf/0QRJ/9gEDgAxA4UBBQGt/7gGZgA7BIsARQH8/wAEc/+pBHP/2QRz/8kEcwATBHMATARzACIEcwBXBHMAMQRzADcEcwD4Ah//BAIf/wQCEQAjAhH/fAIRACMEPwAJBMEATAQQAFYEZgAQBB4ANgRyADcEbgAtBHoAMgRv/8gEdwA2BCgAOgRmAC4EOP+fA5sAqwTmACQDp//vBhX/fgPoAAkEmf/bBOcAIgS2AAkB+AAAAqMAQAUvACAFLwAgBG4AKwS6AJ0Clv/lBSX/owUl/6MFJf+jBSX/owUl/6MFJf+jBSX/owURAF8EYwAmBGMAJgRjACYEYwAmAjIANwIyADcCMgA3AjIANwWBACYFWQBiBVkAYgVZAGIFWQBiBVkAYgUUAFgFFABYBRQAWAUUAFgEvQChBC8AHAQvABwELwAcBC8AHAQvABwELwAcBC8AHAQNADcEKAA6BCgAOgQoADoEKAA6AgcAIwIHACMCBwAjAgcAIwRSAA0EZwA4BGcAOARnADgEZwA4BGcAOARRAEoEUQBKBFEASgRRAEoDzf+8A83/vAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAURAF8EDQA3BREAXwQNADcFEQBfBA0ANwURAF8EDQA3BREAJgT1ADgEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BUkAZgRm//kFSQBmBGb/+QVJAGYEZv/5BUkAZgRm//kFgQAmBFAADQIyADcCBwATAjIANwIHACMCMgA3AgcAIwIy/44B+v91AjIANwaCADcD7AAgBE8ABAIV/wQE5wAmBAwAEQQxACYB+gAgBDEAJgH6/6YEMQAmApAAIAQxACYC1gAgBYEAJgRSAA0FgQAmBFIADQWBACYEUgANBFIADQVZAGIEZwA4BVkAYgRnADgFWQBiBGcAOATiACYCvgARBOIAJgK+/58E4gAmAr4AEQS0ACYD/wAbBLQAJgP/ABsEtAAmA/8AGwS0ACYD/wAbBLQAJgP/ABsEugCdApYAPwS6AJ0ClgA/BLoAnQK+AD8FFABYBFEASgUUAFgEUQBKBRQAWARRAEoFFABYBFEASgUUAFgEUQBKBRQAWARRAEoG1QC1BcIAeQS9AKEDzf+8BL0AoQSu/+UD6P/mBK7/5QPo/+YErv/lA+j/5gdF/40GjgAOBVcAFgRjACoEV/+WBFf/lgQeAGMEdv+aBHb/mgR2/5oEdv+aBHb/mgR2/5oEdv+aBF4AOQPCAAkDwgAJA8IACQPCAAkB7wAaAe8AGgHvABoB7wAaBLYACQSZADsEmQA7BJkAOwSZADsEmQA7BGYAOARmADgEZgA4BGYAOAQeAGwEdv+aBHb/mgR2/5oEXgA5BF4AOQReADkEXgA5BFcACQPCAAkDwgAJA8IACQPCAAkDwgAJBIMAPwSDAD8EgwA/BIMAPwS3AAkB7wAOAe8AGgHvABoB+f+XAe8AGgO5//MEPAAJA5sACQObAAkDmwAJA5sACQS2AAkEtgAJBLYACQSZADsEmQA7BJkAOwRDAAkEQwAJBEMACQQWAA8EFgAPBBYADwQWAA8EHgBjBB4AYwQeAGMEZgA4BGYAOARmADgEZgA4BGYAOARmADgF2gCLBB4AbAQeAGwEC//WBAv/1gQL/9YFJf+jBMf/ugXl/8IClv/GBW0AJgUh/7gFRAAeApAACQUl/6ME5gAmBGMAJgSu/+UFgQAmAjIANwTnACYGyQAmBYEAJgVZAGIE9AAmBLoAnQS9AKEE5v/AAjIANwS9AKEEYQA7BEMAKARjABECkABmBDwAVwR3ACEEZwA4BJ3/3gPaAGQEOP+fApAARAQ8AFcEZwA4BDwAVwZhAFIEYwAmBFIAKwS0ACYCMgA3AjIANwRPAAQFAAArBOcAJgTkAJkFJf+jBOYAJgRSACsEYwAmBXoAJQbJACYFgQAmBVkAYgWCACsE9AAmBREAXwS6AJ0E5v/ABC8AHAQoADoEbwAXBGcAOARd/8gEDQA3A83/vAPo/7oEKAA6A0EAFgP/ABsB+gAgAgcAIwHy/wIESgAiA83/vAbVALUFwgB5BtUAtQXCAHkG1QC1BcIAeQS9AKEDzf+8AUwAkQJ6AJ0EGwAzAhX/BAGtAI0GyQAmBsMADwUl/6MELwAcBGMAJgV6ACUEKAA6BG8AFwWFAHYFnwA/BPEAqAPuAHUINAA4CSYAYgS2AB8D+AAXBREAXwQNADcEvQChA+0AdQIyADcHbv+kBlX/sAIyADcFJf+jBC8AHAUl/6MELwAcB0X/jQaOAA4EYwAmBCgAOgViAEsEGQA0BBkANAdu/6QGVf+wBLYAHwP4ABcFegAlBG8AFwV6ACUEbwAXBVkAYgRnADgFUABhBGUANAVQAGEEZQA0BSAASAQZACAE5ACZA83/vATkAJkDzf+8BOQAmQPN/7wFWgDEBEMAbQbFACwGSAAjBF8AOAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHARjACYEKAA6BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoCMgA3AgcAIwIy//8B+v/jBVkAYgRnADgFWQBiBGcAOAVZAGIEZwA4BVkAYgRnADgFWQBiBGcAOAVZAGIEZwA4BVkAYgRnADgFZgBcBHoANAVmAFwEegA0BWYAXAR6ADQFZgBcBHoANAVmAFwEegA0BRQAWARRAEoFFABYBFEASgV3AFgEwABKBXcAWATAAEoFdwBYBMAASgV3AFgEwABKBXcAWATAAEoEvQChA83/vAS9AKEDzf+8BL0AoQPN/7wEff/0BLoAnQPbAFQFWgDEBEMAbQRSACsDQQAWBewAVQSg//IEUAANBNsAJATbACQEUgAAA0H/xwUUAD8EJAAoBL0AoQPtAFIE5v/AA+j/ugRDACgERv/CBgQAfARpAA0EaQAmBGkADQRpAFgEfQBxBJEASwR9AIwEkQBzBUkAZgRm//kFgQAmBFIADQUl/6MELwAcBGMAJgQoADoCMv/PAgf/gAVZAGIEZwA4BOIAJgK+AAwFFABYBFEASgTI/4UE5gAmBF0AEAURACYEXwA4BREAJgRfADgFgQAm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BiYB7QAAAAcARACXAB7///+j/lgEqwWwBiYAJQAAAQcApAFrAAMAC7YDDgUBATlWACs0AP//ABz+XQPRBFAGJgBFAAABBwCkAKYACAALtgI7MQAATVYAKzQA//8AJv5fBLwFsAYmACkAAAEHAKQBMAAKAAu2BBACAABDVgArNAD//wA6/lUD8ARRBiYASQAAAQcApAD9AAAAC7YBLAAAAE1WACs0AP///5r+VQQBBI0GJgJNAAAABwCkAQ8AAP//AAn+XQP7BI0GJgJCAAAABwCkAOAACP///+P+nwHKBDoGJgCNAAABBwCtA0IACgAOtAEHAgEBuP9/sFYAKzQAAAAAABEA0gADAAEECQAAAF4AAAADAAEECQABABoAXgADAAEECQACAAwAeAADAAEECQADACgAhAADAAEECQAEACgAhAADAAEECQAFACYArAADAAEECQAGACYA0gADAAEECQAHAEAA+AADAAEECQAIAAwBOAADAAEECQAJACYBRAADAAEECQALABQBagADAAEECQAMABQBagADAAEECQANAFwBfgADAAEECQAOAFQB2gADAAEECQAQAAwCLgADAAEECQARABoCOgADAAEECQAZAAwCLgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADEAIABHAG8AbwBnAGwAZQAgAEkAbgBjAC4AIABBAGwAbAAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4AUgBvAGIAbwB0AG8AIABNAGUAZABpAHUAbQBJAHQAYQBsAGkAYwBSAG8AYgBvAHQAbwAgAE0AZQBkAGkAdQBtACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADMALgAwADAAOAA7ACAAMgAwADIAMwBSAG8AYgBvAHQAbwAtAE0AZQBkAGkAdQBtAEkAdABhAGwAaQBjAFIAbwBiAG8AdABvACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAARwBvAG8AZwBsAGUALgBHAG8AbwBnAGwAZQBDAGgAcgBpAHMAdABpAGEAbgAgAFIAbwBiAGUAcgB0AHMAbwBuAEcAbwBvAGcAbABlAC4AYwBvAG0ATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAg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//QA3v/tAOH/4QDm/9QA7P/iAO7/7wDw/+IA8f/iAPP/4gD0/+IA9f/iAPb/yQD4/+IA+v/iAPv/4gD+/9EBAP/iAQX/4gEJ/+UBGf/UARr/5gEg/+MBK//iATP/9AE0/+8BNv/iATn/0gE6/8QBPP/iAT7/4gFD//QBRP/vAUX/0gFH/+EBSf/hAVP/4gFV/+IBV//iAVz/4gFd//QBXv/vAWL/1AFj//UBZP/nAWz/qgFt/8kBhP/KAYX/ygGH/8oBiP/KAYn/ygPQ/+0D3P/SA93/9APg/+ID4v/iA+T/5gPl/+8D5//iA+z/4gPt/+YD9v/KA/f/ygP6/8oEAv/iBAX/1AQG/+YEDf/TBA7/5gQQ//QEEf/vBB7/9AQf/+8EI//iBCX/4gQu/+0EL//mBDD/7QQx/+YEMv/tBDP/5gQ0/+EEN//iBJL/0gSU/+EEl//iBKH/0wApAEf/7ABI/+wASf/sAEv/7ABV/+wAlP/sAJn/7AK8/+wCvf/sAr7/7AK//+wCwP/sAtj/7ALa/+wC3P/sAt7/7ALg/+wC4v/sAuT/7ALm/+wC6P/sAur/7ALs/+wC7v/sAvD/7ALy/+wEUv/sBFT/7ARW/+wEWP/sBFr/7ARc/+wEXv/sBGD/7AR0/+wEdv/sBHj/7AR8/+wEt//sBMT/7ATG/+wANgAGABAACwAQAA0AFABBABIAR//oAEj/6ABJ/+gAS//oAFX/6ABhABMAlP/oAJn/6AGEABABhQAQAYcAEAGIABABiQAQArz/6AK9/+gCvv/oAr//6ALA/+gC2P/oAtr/6ALc/+gC3v/oAuD/6ALi/+gC5P/oAub/6ALo/+gC6v/oAuz/6ALu/+gC8P/oAvL/6AP2ABAD9wAQA/oAEARS/+gEVP/oBFb/6ARY/+gEWv/oBFz/6ARe/+gEYP/oBHT/6AR2/+gEeP/oBHz/6AS3/+gExP/oBMb/6ABKAEf/tABI/7QASf+0AEv/tABMABQATwAUAFAAFABT/3oAVf+0AFf/ZABbAAsAlP+0AJn/tAHb/2QCvP+0Ar3/tAK+/7QCv/+0AsD/tALG/3oCx/96Asj/egLJ/3oCyv96Atj/tALa/7QC3P+0At7/tALg/7QC4v+0AuT/tALm/7QC6P+0Aur/tALs/7QC7v+0AvD/tALy/7QDFP96Axb/egMY/3oDIP9kAyL/ZAMk/2QDJv9kAyj/ZARS/7QEVP+0BFb/tARY/7QEWv+0BFz/tARe/7QEYP+0BGb/egRo/3oEav96BGz/egRu/3oEcP96BHL/egR0/7QEdv+0BHj/tAR6/3oEfP+0BLf/tAS7/3oExP+0BMb/tATIABQEygAUBMwAFATZ/2QAAQD0AAQABgALAAwAJQAnACgAKQAqAC8AMAAzADQANQA2ADgAOgA7ADwAPQA+AD8ASQBKAEwATwBRAFIAUwBWAFgAWgBbAF0AXwCWAJ0AsgGEAYUBhwGIAYkB8gH0AfUB9wH6AgUCSgJNAl8CYQJiApUClgKYApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqsCrAKtAq4CrwK0Ar0CvgK/AsACxQLGAscCyALJAsoCzwLQAtEC0wLVAtcC2QLbAt0C3wLhAuIC4wLkAuUC5gLnAugC6QLqAvQDAgMEAwYDCAMKAw0DDwMRAxIDEwMUAxUDFgMXAxgDGgMcAx4DKQMrAy0DOwM9Az4DPwNAA0IDRANKA0sDTANNA04DTwNQA1EDUgNTA14DXwNgA2EDYgNoA2kDagNvA4EDggODA4QDiAOJA4oDkwPuA/AD8gP0A/UD9gP3A/oD/AP9BDkEOwQ9BD8EQQRDBEUERwRJBEsETQRPBFEEUgRTBFQEVQRWBFcEWARZBFoEWwRcBF0EXgRfBGAEZQRmBGcEaARpBGoEawRsBG0EbgRvBHAEcQRyBHoEiwSMBI0EjgSPBJAEswS0BLYEugS7BL0EwwTFBMgEyQTLBM0E0ATSBNME1ATXBNoE3QTeBN8E4AThBOMAAQA1AAYACwCWALEAsgCzALQAvQDBAMcBhAGFAYcBiAGJAgUCBgIHA6EDogOjA6QDpQOmA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuwO/A8EDxQP2A/cD+gTlBOYE6gTtBPME+ACnABD/BwAS/wcAJf9OAC7/DQA4ABQARf/eAEf/6wBI/+sASf/rAEv/6wBT/+sAVf/rAFb/5gBZ/+oAWv/oAF3/6ACU/+sAmf/rAJv/6gCy/04Bhv8HAYr/BwGO/wcBj/8HAgX/wAJN/8ACmv9OApv/TgKc/04Cnf9OAp7/TgKf/04CoP9OArX/3gK2/94Ct//eArj/3gK5/94Cuv/eArv/3gK8/+sCvf/rAr7/6wK//+sCwP/rAsb/6wLH/+sCyP/rAsn/6wLK/+sCy//qAsz/6gLN/+oCzv/qAs//6ALQ/+gC0f9OAtL/3gLT/04C1P/eAtX/TgLW/94C2P/rAtr/6wLc/+sC3v/rAuD/6wLi/+sC5P/rAub/6wLo/+sC6v/rAuz/6wLu/+sC8P/rAvL/6wMA/w0DFP/rAxb/6wMY/+sDKQAUAysAFAMtABQDMP/qAzL/6gM0/+oDNv/qAzj/6gM6/+oDPv/oA03/wANO/8ADT//AA1D/wANR/8ADUv/AA1P/wANo/8ADaf/AA2r/wAP1/+gD/f9OA/7/3gQ5/04EOv/eBDv/TgQ8/94EPf9OBD7/3gQ//04EQP/eBEH/TgRC/94EQ/9OBET/3gRF/04ERv/eBEf/TgRI/94ESf9OBEr/3gRL/04ETP/eBE3/TgRO/94ET/9OBFD/3gRS/+sEVP/rBFb/6wRY/+sEWv/rBFz/6wRe/+sEYP/rBGb/6wRo/+sEav/rBGz/6wRu/+sEcP/rBHL/6wR0/+sEdv/rBHj/6wR6/+sEfP/rBH7/6gSA/+oEgv/qBIT/6gSG/+oEiP/qBIr/6gSM/+gEjv/oBJD/6AS0/04Etf/eBLf/6wS7/+sEv//qBMT/6wTG/+sE2gAUBN7/6ATg/+gAAgAoAJYAlgAWALEAsQANALIAsgAXALMAswACALQAtAADAL0AvQAIAMEAwQAHAMcAxwAVAgUCBQASAgYCBgAJAgcCBwAFA6EDoQADA6IDogAGA6MDpAABA6UDpQACA6YDpgAEA6kDqQADA6oDqgALA6sDqwAGA6wDrAARA60DrgABA68DrwAOA7ADsQABA7IDsgACA7MDswAPA7QDtAAQA7UDtQAEA7YDtgAMA7cDtwABA7gDuAAEA7sDuwAHA78DvwAKA8EDwQAIA8UDxQAKBOUE5QACBOYE5gAFBOoE6gAJBO0E7QAFBPME8wATBPgE+AAUAAIAMgAGAAYAAQALAAsAAQAQABAAAgARABEAAwASABIAAgCyALIAEwCzALMABwC0ALQABgC7ALsABAC9AL0ADADBAMEACwDIAMkABADLAMsABQGBAYIAAwGEAYUAAQGGAYYAAgGHAYkAAQGKAYoAAgGOAY8AAgIFAgUAEQIGAgYADQIHAgcACQKUApQAAwOhA6EABgOlA6UABwOmA6YACAOpA6kABgOsA6wAEAOyA7IABwO1A7UACAO2A7YADwO4A7gACAO5A7kABAO7A7sACwO9A70ABQO/A78ADgPBA8EADAPEA8QABQPFA8UADgPGA8YABQP2A/cAAQP6A/oAAQSnBKcAAwTmBOYACQTqBOoADQTrBOsACgTtBO0ACQT5BPkACgT6BPoAEgT8BPwACgABAIYABgALAJYAsgDUANUA1wDaANwA3QDeAOAA4QDiAOMA5ADlAOYA7ADuAPcA/AD+AP8BBAEFAQoBDQEYARkBGgEuAS8BMAEzATQBNQE3ATkBOwFDAUQBVAFWAVgBXAFdAV4BhAGFAYcBiAGJAgUCGQIoAikCKgPIA8kDywPMA80DzgPPA9AD0QPSA9MD1APWA9cD2APaA9sD3APdA94D3wPhA+ID4wPkA+UD5gPnA+0D9gP3A/oD/wQBBAUEBgQLBAwEDQQOBA8EEAQRBBIEEwQUBBUEFgQZBBoEHAQdBB4EHwQmBCcEKwQtBC4ELwQwBDEEMgQzBJIElgSXBJoEnASdBJ8EoQUDBQUFDAUQAAIAawAGAAYAAQALAAsAAQCWAJYAHACyALIAHQDUANUACQDaANoAAwDeAN4ACgDkAOQACQDmAOYACQDsAOwACwDuAO4ABAD3APcADAD8APwADQD+AP4ADQD/AP8ADAEEAQUADQEKAQoADQENAQ0ADwEYARgAEAEZARkAFgEaARoAAgEuAS4ADAEvAS8ACAEwATAACwEzATMAAwE0ATQABAE1ATUABQE3ATcABQE5ATkABQFDAUMAAwFEAUQABAFYAVgAEQFcAVwACwFdAV0AAwFeAV4ABAGEAYUAAQGHAYkAAQIFAgUAGAIZAhkABwIoAioABwPIA8gADgPJA8kACAPNA80AHgPOA88ABQPQA9AACgPRA9EADwPSA9IAHwPTA9MACAPUA9QADgPYA9gAEQPaA9oAIAPbA9sAEwPcA9wAFAPdA90AAwPeA94AEgPfA98ABgPhA+EAEAPiA+IADAPjA+MAFQPkA+QAAgPlA+UABAPmA+YABgPnA+cACwPtA+0AAgP2A/cAAQP6A/oAAQP/A/8ADgQBBAEABgQFBAUAFgQGBAYAAgQLBAsAEwQMBAwAFQQNBA0AFwQOBA4AAgQQBBAAAwQRBBEABAQTBBMADwQUBBQAEgQVBBUADwQWBBYAEgQZBBkADgQaBBoABgQcBB0ABgQeBB4AAwQfBB8ABAQmBCYAEQQnBCcAEAQrBCsAEAQtBC0ADAQuBC4ACgQvBC8AAgQwBDAACgQxBDEAAgQyBDIACgQzBDMAAgSSBJIAFASWBJYACASXBJcACwSaBJoAIQScBJwACQSdBJ0ACASfBJ8ABQShBKEAFwUDBQMABwUFBQUAGQUMBQwAGgUQBRAAGwACAFoABgAGAAAACwALAAEAJQApAAIALAA0AAcAOAA+ABAARQBHABcASQBJABoATABMABsAUQBUABwAVgBWACAAWgBaACEAXABeACIAigCKACUAlgCWACYAsgCyACcBhAGFACgBhwGJACoB8gHyAC0B9wH3AC4B+gH7AC8CBQIFADECSgJKADICTQJNADMCXwJfADQCYQJiADUClQKWADcCmAKYADkCmgLAADoCxQLKAGECzwLfAGcC4QLqAHgC8wL1AIIC9wL3AIUC+QL5AIYC+wL7AIcC/QL9AIgDAAMAAIkDAgMCAIoDBAMEAIsDBgMGAIwDCAMIAI0DCgMKAI4DDAMYAI8DGgMaAJwDHAMcAJ0DHgMeAJ4DKQMpAJ8DKwMrAKADLQMtAKEDLwMvAKIDMQMxAKMDMwMzAKQDNQM1AKUDNwM3AKYDOQM5AKcDOwM7AKgDPQNFAKkDSgNTALIDXgNiALwDaANqAMEDbwNvAMQDgAOEAMUDiAOKAMoDkwOTAM0D7gPuAM4D8APwAM8D8gPyANAD9AP3ANED+gP+ANUEOQRhANoEYwRjAQMEZQRyAQQEegR6ARIEfQR9ARMEfwR/ARQEiwSQARUEsgS2ARsEuAS4ASAEugS7ASEEvQS9ASMEwQTDASQExQTFAScExwTJASgEywTLASsEzQTNASwEzwTVAS0E1wTXATQE2gTaATUE3AThATYE4wTkATwAAgCgAAYABgAEAAsACwAEABAAEAAIABEAEQALABIAEgAIALIAsgAbANIA0gAKANMA0wADANQA1AANANYA1gAKANoA2gAGAN0A3QANAN4A3gAOAOEA4QARAOwA7AABAO4A7gAHAPAA8QABAPIA8gASAPMA9QABAPcA9wACAPgA+AABAPkA+QAUAPoA+wABAP4A/gABAQABAAABAQMBAwACAQQBBAASAQUBBQABAQgBCAADAQ0BDQAQARcBFwADARgBGAATARkBGQAXARoBGgAFARsBGwADAR0BHQADAR4BHgACAR8BHwADASEBIQADASIBIgACASsBKwABATMBMwAGATQBNAAHATYBNgABATkBOQAKATwBPAABAT4BPgABAUEBQQADAUIBQgACAUMBQwAGAUQBRAAHAUUBRQAKAUcBRwARAUgBSAAUAVABUAANAVEBUQASAVMBUwABAVUBVQABAVcBVwABAVwBXAABAV0BXQAGAV4BXgAHAWABYQACAWYBZgANAWoBagADAWsBawACAW8BbwANAXABcAASAYEBggALAYQBhQAEAYYBhgAIAYcBiQAEAYoBigAIAY4BjwAIAgUCBQAZAg4CDgAMAg8CDwAJAhICEgAMAhYCFgAPAicCJwAPAioCKgAMAisCKwAJAiwCLAAWAi0CLQAPAi4CLgAMAjQCNAAJApQClAALA80DzQAcA9AD0AAOA9ED0QAQA9gD2AADA9sD2wADA9wD3AAKA90D3QAGA94D3gAVA98D3wACA+AD4AABA+ED4QATA+ID4gABA+MD4wACA+QD5AAFA+UD5QAHA+YD5gACA+cD5wABA+gD6AAdA+wD7AABA+0D7QAFA/YD9wAEA/oD+gAEBAEEAQACBAIEAgABBAUEBQAXBAYEBgAFBAcEBwACBAgECAADBAsECwADBAwEDAACBA0EDQAYBA4EDgAFBBAEEAAGBBEEEQAHBBMEEwAQBBQEFAAVBBUEFQAQBBYEFgAVBBoEGgACBBwEHQACBB4EHgAGBB8EHwAHBCMEIwABBCUEJQABBCYEJgADBCcEJwATBCgEKAADBCkEKQACBCoEKgADBCsEKwATBC4ELgAOBC8ELwAFBDAEMAAOBDEEMQAFBDIEMgAOBDMEMwAFBDQENAARBDUENQAUBDcENwABBDgEOAACBJIEkgAKBJQElAARBJUElQAUBJcElwABBKEEoQAYBKcEpwALBQUFBQAaBQwFDAAJBQ8FDwAJBRAFEAAMBREFEQAPBRQFFAAJBRUFFQAWAAIA7AAGAAYADAALAAsADAAlACUAAgAmACYAGwAnACcADgApACkABAAsAC0AAQAuAC4ABwAvAC8AGAAwADAADwAxADIAAQA0ADQAHAA4ADgAEAA5ADkABwA6ADoAGQA7ADsAEQA8ADwAHgA9AD0ADQA+AD4AFABFAEUAAwBG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BiAHRgYmBmoGqgYsBdwF4AXkBegGtgbCBs4G2gbmBewAAgcCAOsCjAJNAkwCSwJKAkICAAH/Af4B/QH8AfsB+gH5AfgB9wH2AfUB9AHzAfIB8QHwAe8B7gHtAewCfgKOA0sCkAKPA0oB/QKNApICbATtBO4CBAIFBO8E8ATxAgYE8gIHAggCCQT3AgoCCgT4BPkCCwIMAg0CFAUGBQcCFQIWAhcCGAIZAhoFCgULBQ0FEAUZAhwCHQIeAh8CIAIhAiICIwIkAiUCDgIPAhACEQISAhMCVQInAigCKQIqBRMCKwItAi4CLwIxAjMCkQNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA50DaANpA2oDawNsA20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQUaA38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQBR0DkQOSA5QDkwOVA5YDlwOYA5kDmgObA5wDngOfA6AFGwUcBOYE5wToBOkE8wT2BPQE9QT6BPsE/ATqBOsE7AUFBQgFCQUMBQ4FDwIbBREE/QT+BP8FAAUBBQIFAwUEBR4FHwUgBSEFEgUUBRUCMgUXAjQFGAUWAjACJgIsBSYFJwACBwAA+gIBAowB6wHqAekB6AHnAeYB5QHkAeMB4gJNAkwCSwJKAkICAAH/Af4B/QH8AfsB+gH5AfgB9wH2AfUB9AHzAfIB8QHwAe8B7gHtAewCAgIDAo4CkAKPApECjQKSAmwCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGgIbBRkCHAIdAh4CHwIgAiECIgIjAiQCJQJVAicCKAIpAioFEwIrAi0CLgIvAjACMQIyAjMCNQI2AjgCNwNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34FGgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAUdA5EDkgOUA5MDlQOWA5cDmAOZA5oDmwOcA50DngOfA6AFGwUcBOYE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgE+QT6BPsE/AT9BP4E/wUABQEFAgIZBQMFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBR4FHwUgBSEFEgUUBRUFFwI0BRgFFgImAiwFJgUnAAEAAQF7AAEAAQBLAAEAAQC7AAEAAQA2AAEAAQATAAEAAgMjAyQAAgbkBtgAAgbmBtgAAQbuAAEG8AABBvIAAgABABQAHQAAAAEAAgAvAE8AAQADAEkASwKEAAIAAAABBt4AAQAGAtUC1gLnAugDagNzAAEABgBNAE4C/APpA+sEZAACAAMBlAGUAAAB3wHhAAECOQI/AAQAAgACAKgArAABASQBJwABAAEADAAnACgAKwAzADUARgBHAEgASwBTAFQAVQACAAIAFAAdAAACbwJ4AAoAAgAGAE0ATQAGAE4ATgAEAvwC/AAFA+kD6QADA+sD6wACBGQEZAABAAIABAAUAB0AAAKAAoAACgKLAosACwSoBK8ADAACAAYAGgAaAAAAHAAcAAECZAJpAAICbQJtAAgCbwJ4AAkCfwJ/ABMAAQAUABoAHAJkAmUCZgJnAmgCaQJtAn8CgAKLBKgEqQSqBKsErAStBK4ErwABBd4AAQXgAAEF4gABBeQAAQXmAAEF6AABBeoAAQXsAAEF7gABBfAAAQXyAAEF9AABBfYAAQX4AAEF+gACBfwGAgACBgIGCAACBggGDgACBg4GFAACBhQGGgACBhoGIAACBiAGJgACBiYGLAACBiwGMgACBjIGOAACBjgGPgADBj4GRAZKAAMGSAZOBlQAAwZSBlgGXgADBlwGYgZoAAMGZgZsBnIAAwZwBnYGfAADBnoGgAaGAAMGhAaKBpAABAaOBpQGmgagAAQGnAaiBqgGrgAFBqoGsAa2BrwGwgAFBrwGwgbIBs4G1AAFBs4G1AbaBuAG5gAFBuAG5gbsBvIG+AAFBvIG+Ab+BwQHCgAFBwQHCgcQBxYHHAAFBxYHHAciBygHLgAFBygHLgc0BzoHQAAFBzoHQAdGB0wHUgAGB0wHUgdYB14HZAdqAAYHYgdoB24HdAd6B4AABgd4B34HhAeKB5AHlgAGB44HlAeaB6AHpgesAAYHpAeqB7AHtge8B8IABge6B8AHxgfMB9IH2AAGB9AH1gfcB+IH6AfuAAcILgfmB+wH8gf4B/4IBAAHCCYH+ggACAYIDAgSCBgAAQDrAAoARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAIUAhgCHAIkAigCLAI0AkACSAJQAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEHATABNAE2ATgBOgE8AUIBRAFGAUoBTQFaApcCmQK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtIC1ALWAtgC2gLcAt4C4ALiAuQC5gLoAuoC7ALuAvAC8gL0AvYC+AL6AvwC/wMBAwMDBQMHAwkDCwMNAw8DEQMUAxYDGAMaAxwDHgMgAyIDJAMmAygDKgMsAy4DMAMyAzQDNgM4AzoDPAM+A0EDQwNFA0cDSQO5A7oDuwO8A74DvwPAA8EDwgPDA8QDxQPGA8cD3gPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPvA/ED8wP1BAoEDAQOBBwEIwQpBC8EmQSaBJ4EogUjBSUAAQD6AAgACgAUABUAFgAXABgAGQAaABsAHAAdACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQGxAbcBvAG/ApUClgKYApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0AtEC0wLVAtcC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLzAvUC9wL5AvsC/QL+AwADAgMEAwYDCAMKAwwDDgMQAxMDFQMXAxkDGwMdAx8DIQMjAyUDJwMpAysDLQMvAzEDMwM1AzcDOQM7Az0DPwNAA0IDRANGA0gDoQOiA6MDpAOlA6YDpwOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D7gPwA/ID9AQJBAsEDQQiBCgELgSYBJ0EoQUiBSQB1gACAE0B1wACAFAB2AADAEoATQHZAAMASgBQAAEAAQBKAdUAAgBKAdsAAgBYAdoAAgBYAAEAAwBKAFcAlQAAAAEAAQABAAEAAAADBMEAAgCtAtcAAgCpBMcAAgCtBNQAAgCpBMIAAgCtAtgAAgCpBLEAAgCpBMgAAgCtBGQAAgCtBNUAAgCpA0YAAgCpA0gAAgCpA0cAAgCpA0kAAgCpBMAAAgCpBMUAAgHUBMMAAgCtBLAAAgCpAvEAAgHUA/sAAgCpBM8AAgCtAykAAgHUBNoAAgCtBN8AAgCtBN0AAgCqA0AAAgCpBOMAAgCtBMYAAgHUBMQAAgCtA/wAAgCpBNAAAgCtAyoAAgHUBNsAAgCtBOAAAgCtBN4AAgCqA0EAAgCpBOQAAgCtBMkAAgCpAwIAAgHUBMsAAgCtAwQAAgCpAwYAAgHUBM0AAgCtAx8AAgCpAyUAAgHUBNgAAgCtA/AAAgCpBOEAAgCtA+4AAgCoBMoAAgCpAwMAAgHUBMwAAgCtAwUAAgCpAwcAAgHUBM4AAgCtAyAAAgCpAyYAAgHUBNkAAgCtA/EAAgCpBOIAAgCtA+8AAgCoAxkAAgCpAxsAAgHUBNYAAgCtBLwAAgCsAxoAAgCpAxwAAgHUBNcAAgCtBL0AAgCsAwwAAgCpAw4AAgHUBNEAAgCtBLIAAgCoAqoAAgCqArQAAgCpBIsAAgCtA/QAAgCoBI0AAgCrBI8AAgCqAw0AAgCpAw8AAgHUBNIAAgCtBLMAAgCoAsUAAgCqAs8AAgCpBIwAAgCtA/UAAgCoBI4AAgCrBJAAAgCqAsIAAgCpAsEAAgCoBGIAAgCrAvYAAgCqBLkAAgCsBHMAAgCpBHsAAgCtBHUAAgCoBHcAAgCrBHkAAgCqBHQAAgCpBHwAAgCtBHYAAgCoBHgAAgCrBHoAAgCqBIEAAgCpBIkAAgCtBIMAAgCoBIUAAgCrBIcAAgCqBIIAAgCpBIoAAgCtBIQAAgCoBIYAAgCrBIgAAgCqApsAAgCpBDkAAgCtApoAAgCoBDsAAgCrAp0AAgCqBLQAAgCsAqMAAgCpBFEAAgCtAqIAAgCoBFMAAgCrBFUAAgCqBLYAAgCsAqcAAgCpBGMAAgCtAqYAAgCoBGEAAgCrAvUAAgCqBLgAAgCsArYAAgCpBDoAAgCtArUAAgCoBDwAAgCrArgAAgCqBLUAAgCsAr4AAgCpBFIAAgCtAr0AAgCoBFQAAgCrBFYAAgCqBLcAAgCsAscAAgCpBGYAAgCtAsYAAgCoBGgAAgCrAskAAgCqBLsAAgCsAswAAgCpBH4AAgCtAssAAgCoBIAAAgCrAzAAAgCqBL8AAgCsAqwAAgCpBGUAAgCtAqsAAgCoBGcAAgCrAq4AAgCqBLoAAgCsArEAAgCpBH0AAgCtArAAAgCoBH8AAgCrAy8AAgCqBL4AAgCsBNMAAwCqAKkE3AADAKoAqQACABEAJQApAAAAKwAtAAUALwA0AAgANgA7AA4APQA+ABQARQBJABYASwBNABsATwBUAB4AVgBbACQAXQBeACoAgQCBACwAgwCDAC0AhgCGAC4AiQCJAC8AjQCNADAAmACbADEA0ADQADUAAA==\",\r\n \"Roboto-Regular.ttf\": \"AAEAAAARAQAABAAQR0RFRqbzo4gAAcFUAAACWEdQT1N/jKrdAAHDrAAAWMBHU1VCm18k/AACHGwAABX2T1MvMpeDsYsAAAGYAAAAYGNtYXDTfF9iAAAWnAAABoJjdnQgO/gmfQAAL3gAAAD+ZnBnbagFhDIAAB0gAAAPhmdhc3AACAAZAAHBSAAAAAxnbHlm5vV0AgAAOswAAYOwaGVhZAhMpEUAAAEcAAAANmhoZWEKugrKAAABVAAAACRobXR4//meUgAAAfgAABSkbG9jYadOA+EAADB4AAAKVG1heHAI2RDGAAABeAAAACBuYW1lOEJpwQABvnwAAAKqcG9zdP9tAGQAAcEoAAAAIHByZXB5WM7TAAAsqAAAAs4AAQAAAAMCDFXLfBlfDzz1ABsIAAAAAADE8BEuAAAAAODgRcX6Gv3VCTEIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJSvoa/koJMQABAAAAAAAAAAAAAAAAAAAFKQABAAAFKQCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAQAAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA4wAZAAAAAAAAAAAAfwAAAH8AAACEAChApAAiQTtAHcEfwBuBdwAaQT6AGYBZgBoAr0AhgLJACcDcgAcBIoATgGTAB0CNgAmAhwAkANNABMEfwBzBH8AqwR/AF4EfwBfBH8ANQR/AJoEfwCFBH8ATgR/AHEEfwBkAfAAhQGxACkEEQBIBGQAmAQvAIcDyABLBy8AbQU4AB0E/ACpBTUAeAVAAKkEjACpBGwAqQVzAHoFtQCpAi0AtwRqADUFBQCpBE8AqQb8AKkFtQCpBYEAdwUMAKkFgQBuBO4AqQTAAFEExgAyBTAAjAUYAB0HGQA9BQQAOgTOAA8EywBXAh8AkwNJACkCHwAKA1gAQAOcAAQCeQA5BFoAbQR+AIwEMABdBIMAXwQ+AF0CyAA9BH4AYQRoAI0B8gCOAer/vgQOAI0B8gCcBwQAiwRrAI0EkABcBH4AjASMAF8CtgCNBCEAXwKeAAkEaQCJA+AAIQYDACsD+AAqA8kAFgP4AFkCtQBAAfQAsAK1ABQFcQCDAfQAiwRhAGkEpwBbBbUAaQQ0AA8B7ACUBOgAWwNZAGUGSQBcA5QAkwPBAGUEbgB/BkoAWwOrAI8C/QCDBEcAYQLvAEIC7wA/AoIAewSJAJsD6gBEAhcAlAH8AHQC7wB7A6QAewPAAGcF3ABVBjUAUAY5AHADygBEB3r/8QRFAFkFgQB3BLoApwTCAIwGwgBPBLEAfgSSAEcEiQBcBJwAlQTIAF8FmwAeAfsAnAR0AJsETwAjAioAIwWLAKIEiQCSB6EAaQdEAGEB/AChBYcAXgK6/+MFfwBmBJMAXAWQAIwE8wCJAgT/tAQ4AGMDxACqA44AjgOrAI8DawCCAfIAjgKuAHkCKwAyA8YAewL8AF8CWgB/AAD8pwAA/W4AAPyKAAD9XQAA/CcAAP04Ag4AuAQMAHICFwCUBHMAsgWkACAFcgBnBT8AMgSSAHgFtQCyBJIARgW7AE4FiQBaBVIAcgSGAGQEvQChBAMALwSJAGEEUQBkBCUAbQSJAJIEjwB7ApgAwwRvACYD7ABmBMUAKQSJAJIETgBlBIgAYQQsAFEEXgCQBaMAWAWaAGAGlwB6BKIAegRD/9oGSABLBgAAKwVlAHsIkgAyCKUAsgaDAD4FtACwBQsAowYEADMHQwAbBMAAUAW1ALIFqgAwBQgATQYtAFQF2gCvBXoAlweHALAHwACwBhIAEQbrALIFBQCjBWUAlAcnALcFGABaBG0AYgSTAJ4DXACbBNQALgYhABYEEABYBJ4AnQRTAJ0EoAAsBe8AngSdAJ0EngCdA9kAKAXOAGQEvgCdBFoAaAZ5AJ0GnwCSBPcAHgY2AJ4EWACeBE4AZAaIAJ4EZAAvBGj/5wROAGcGyQAnBuQAnQSJ//0EngCdBwkAnAYsAIEEV//bBywAuAX5AJoE0wAoBEcADwcMAMoGDAC9BtIAkwXiAJcJBQC3B9EAnAQkAFAD2wBMBXIAZwSMAFwFCwAWBAQALwVyAGcEiQBcBwEAnAYkAH4HCQCcBiwAgQUyAHYESABkBP4AdAAA/GYAAPxwAAD9ZQAA/aQAAPoaAAD6KwYJALIE7QCdBFf/2wUbAKkEigCMBGQAogORAJIE2wCyBAYAkgeiABsGYQAWBZoAsgS4AJ0FCgCkBH4AmwaMAEUFhAA/Bf8AqQTZAJ0HzwCpBbQAkggxALAG9ACSBe8AcQTUAG4FGAA6BCoAKgctADQFXQAfBbwAlwSWAGgFcACXBGsAhAVwAIkGMAA/BL7/3QUKAKQEWgCbBf4AMATvACwFswCyBIkAkgYSAKkE7ACdB08AqQY+AJ4FhwBeBKgAaASoAGoEuAA5A6sAOgUuADoEQAAqBPcAVwaVAFoG5QBkBlcANgUsADEESgBTBAgAeQfCAEUGdgA/B/sAqgaiAJAE9wB2BB4AZgWuACQFIQBGBWUAlwYCADAE8wAsAyEAcAQUAAAIKQAABBQAAAgpAAACuQAAAgoAAAFcAAAEfwAAAjAAAAGiAAABAAAAANEAAAAAAAACNAAmAjQAJgVAAKIGPwCQA6YADQGaAGEBmgAwAZgAJAGaAE8C1ABpAtwAPALCACQEagBGBJAAVwKzAIsDxACUBVoAlAF/AFIHqgBEAmcAbAJnAFoDowA8Au8AUQLvADYC7wBcAu8AVgLvADsC7wBPAu8ASgM4AFAC+ABQAvgAUAHxAFQB8QBQA2EAegLvAFEC7wB7Au8AQgLvAD8C7wA2Au8AXALvAFYC7wA7Au8ATwLvAEoDOABQAvgAUAL4AFAB8QBUAfEAUASnAFsGVgAfBpEApwh2AKkF6wAfBisAjAR/AF8F2gAfBCMAKwR0ACEFSABdBU8AHwXoAHsDzgBoCDoAogUBAGgFGACYBiYAVAbXAGUGzwBkBmoAWgSQAGoFjwCpBK8ARgSTAKgExQA/CDoAYwIN/68EggBlBGQAmAQRAD0ELwCEBAgALAJMALUCkABvAgQAXQTzAD0EbwAgBIsAPQbUAD0G1AA9BO4APQabAF8AAAAACDQAWwg1AFwC7wBCAu8AewLvAFEEEABWBBAAYQQQAEIEDwByBBAAgQQQADEEEABPBBAATwQQAJkEEABjBCMASAQrAA4EVAAnBhUAMQRoABQEfQB1BCcAKQQgAEQESgCKBLwAWgRdAIsEvABgBOMAiwYCAIsDtQCLBFUAiwPPACwB6QCYBOQAiwSsAGQDzACLBCAARAQ0ADEDoQAOA68AiwRoABQEvABgBGgAFAOJAD4EzwCLA/AAQAVnAGEFFwBhBPMAdgVzACcEfABhB0IAKAdQAIsFdAApBM4AiwRaAIsFJQAuBgsAHwRAAEgE7ACLBE4AjATBACgEIAAjBSkAiwRqAD0GUQCLBqwAiwUdAAkF8QCLBE8AiwR8AEsGdwCLBIcAUAQSAAsGSAAfBHkAjAUKAIwFNwAkBcMAYARfAA4EqAAnBmIAJwRqAD0EagCLBcQAAgTLAF4EQABIBLwAYAQ0ADED5ABDCCIAiwSrACgC7wA/Au8ANgLvAFwC7wBWAu8AOwLvAE8C7wBKA5cAjwK1AJ8D5gCLBDoAHwTEAGQFTACyBSQAsgQUAJMFPQCyBA8AkwSAAIsEfABhBFEAiwSGABQB/gCfA6UAggAA/KMD8ABvA/T/XQQPAGkD9QBpA68AiwOgAIIDnwCCAu8AUQLvADYC7wBcAu8AVgLvADsC7wBPAu8ASgWCAH4FrwB+BZMAsgXgAH4F4wB+A9UAoASCAIMEWAAPBM8APgRrAGUELgBKA6UAhAGSAGgGpABgBLoAggH8/7YEfwA7BH8AcwR/ACIEfwB2BH8AdgR/ADYEfwB+BH8AXgR/AHEEfwD0Agb/tAIE/7QB+wCcAfv/+QH7AJwEUQCLBQAAeAQhADsEfgCMBDMAXQSTAFsEjABbBJ8AWgSOAIwEnABbBD4AXQR+AGEEcABaA3kAVwTWAGgDtQABBjoACQP5AIsEvABgBOMAMATjAIsB/AAAAjYAJgVeACUFXgAlBIYAAQTGADICnv/0BTgAHQU4AB0FOAAdBTgAHQU4AB0FOAAdBTgAHQU1AHgEjACpBIwAqQSMAKkEjACpAi3/3wItALECLf/qAi3/1QW1AKkFgQB3BYEAdwWBAHcFgQB3BYEAdwUwAIwFMACMBTAAjAUwAIwEzgAPBFoAbQRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQQwAF0EPgBdBD4AXQQ+AF0EPgBdAfv/xAH7AJYB+//PAfv/ugRrAI0EkABcBJAAXASQAFwEkABcBJAAXARpAIkEaQCJBGkAiQRpAIkDyQAWA8kAFgU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU1AHgEMABdBTUAeAQwAF0FNQB4BDAAXQU1AHgEMABdBUAAqQUZAF8EjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdBXMAegR+AGEFcwB6BH4AYQVzAHoEfgBhBXMAegR+AGEFtQCpBGgAjQIt/7YB+/+bAi3/zQH7/7ICLf/sAfv/0QItABcB8v/6Ai0AqgaXALcD3ACOBGoANQIE/7QFBQCpBA4AjQRPAKIB8gCTBE8AqQHyAFYETwCpAogAnARPAKkCzgCcBbUAqQRrAI0FtQCpBGsAjQW1AKkEawCNBGv/uwWBAHcEkABcBYEAdwSQAFwFgQB3BJAAXATuAKkCtgCNBO4AqQK2AFME7gCpArYAZATAAFEEIQBfBMAAUQQhAF8EwABRBCEAXwTAAFEEIQBfBMAAUQQhAF8ExgAyAp4ACQTGADICngAJBMYAMgLGAAkFMACMBGkAiQUwAIwEaQCJBTAAjARpAIkFMACMBGkAiQUwAIwEaQCJBTAAjARpAIkHGQA9BgMAKwTOAA8DyQAWBM4ADwTLAFcD+ABZBMsAVwP4AFkEywBXA/gAWQd6//EGwgBPBYEAdwSJAFwEgP+9BID/vQQnACkEhgAUBIYAFASGABQEhgAUBIYAFASGABQEhgAUBHwAYQPmAIsD5gCLA+YAiwPmAIsB6f+8AekAjgHp/8cB6f+yBOMAiwS8AGAEvABgBLwAYAS8AGAEvABgBH0AdQR9AHUEfQB1BH0AdQQrAA4EhgAUBIYAFASGABQEfABhBHwAYQR8AGEEfABhBIAAiwPmAIsD5gCLA+YAiwPmAIsD5gCLBKwAZASsAGQErABkBKwAZATkAIsB6f+TAen/qgHp/8kB6QAFAekAhwPPACwEVQCLA7UAgwO1AIsDtQCLA7UAiwTjAIsE4wCLBOMAiwS8AGAEvABgBLwAYARKAIoESgCKBEoAigQgAEQEIABEBCAARAQgAEQEJwApBCcAKQQnACkEfQB1BH0AdQR9AHUEfQB1BH0AdQR9AHUGFQAxBCsADgQrAA4EIwBIBCMASAQjAEgFOAAdBPD/jAYZ/5oCkf+gBZX/+gUy/3YFZv/8Apj/mwU4AB0E/ACpBIwAqQTLAFcFtQCpAi0AtwUFAKkG/ACpBbUAqQWBAHcFDACpBMYAMgTOAA8FBAA6Ai3/1QTOAA8EhgBkBFEAZASJAJICmADDBF4AkAR0AJsEkABcBIkAmwPgACEEcABaApj/5AReAJAEkABcBF4AkAaXAHoEjACpBHMAsgTAAFECLQC3Ai3/1QRqADUFJACyBQUAqQUIAE0FOAAdBPwAqQRzALIEjACpBbUAsgb8AKkFtQCpBYEAdwW1ALIFDACpBTUAeATGADIFBAA6BFoAbQQ+AF0EngCdBJAAXAR+AIwEMABdA8kAFgP4ACoEPgBdA1wAmwQhAF8B8gCOAfv/ugHq/74EUwCdA8kAFgcZAD0GAwArBxkAPQYDACsHGQA9BgMAKwTOAA8DyQAWAWYAaAKQAIkEIAChAgT/tAGaADAG/ACpBwQAiwU4AB0EWgBtBIwAqQW1ALIEPgBdBJ4AnQWJAFoFmgBgBQsAFgQE//sIWQBcCUoAdwTAAFAEEABYBTUAeAQwAF0EzgAPBAMALwItALcHQwAbBiEAFgItALcFOAAdBFoAbQU4AB0EWgBtB3r/8QbCAE8EjACpBD4AXQWHAF4EOABjBDgAYwdDABsGIQAWBMAAUAQQAFgFtQCyBJ4AnQW1ALIEngCdBYEAdwSQAFwFcgBnBIwAXAVyAGcEjABcBWUAlAROAGQFCABNA8kAFgUIAE0DyQAWBQgATQPJABYFegCXBFoAaAbrALIGNgCeBIMAXwU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWv/JBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQSMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdBIz/7gQ+/7gEjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0CLQC3AfsAnAItAKQB8gCGBYEAdwSQAFwFgQB3BJAAXAWBAHcEkABcBYEARgSQ/8IFgQB3BJAAXAWBAHcEkABcBYEAdwSQAFwFfwBmBJMAXAV/AGYEkwBcBX8AZgSTAFwFfwBmBJMAXAV/AGYEkwBcBTAAjARpAIkFMACMBGkAiQWQAIwE8wCJBZAAjATzAIkFkACMBPMAiQWQAIwE8wCJBZAAjATzAIkEzgAPA8kAFgTOAA8DyQAWBM4ADwPJABYEoQBfBMYAMgPZACgFegCXBFoAaARzALIDXACbBjAAPwS+/90EaACNBQX/1AUF/9QEcwADA1z//QU4AAsEKP/TBM4ADwQDAC8FBAA6A/gAKgRRAGQEbAASBj8AkAR/AF4EfwBfBH8ANQR/AJoEkwCZBKcAhQSTAGQEpwCHBXMAegR+AGEFtQCpBGsAjQU4AB0EWgA6BIwAXwQ+ACkCLf8LAfv+8AWBAHcEkAAzBO4AVgK2/4wFMACMBGkAKwSn/zgE/ACpBH4AjAVAAKkEgwBfBUAAqQSDAF8FtQCp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ABQAFQAWABcAGAAZABoAGwAcAB0AJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AGUAZwCBAIMAhACMAI8AkQCTALEAsgCzALQAtQC2ALcAuAC5ALoA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkBLwEzATUBNwE5ATsBQQFDAUUBSQFLAUwBWAFZAbEBtwG8Ab8ClQKWApgCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQC0QLTAtUC1wLZAtsC3QLfAuEC4wLlAucC6QLrAu0C7wLxAvMC9QL3AvkC+wL9Av4DAAMCAwQDBgMIAwoDDAMOAxADEwMVAxcDGQMbAx0DHwMhAyMDJQMnAykDKwMtAy8DMQMzAzUDNwM5AzsDPQM/A0ADQgNEA0YDSAOhA6IDowOkA6UDpgOnA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDyAPJA8oDywPMA80DzgPPA9AD0QPSA9MD1APVA9YD1wPYA9kD2gPbA9wD3QPuA/AD8gP0BAkECwQNBCIEKAQuBJgEnQShBSIFJAADAe//9QHw/+4Dm//1AAMADf/mAEH/9ABh/+8AAwBK/+4AW//qAfD/8AADAFv/wQH//+YCS//oAAMASgAPAFgAMgBbABEAAwBb/+UB///rAkv/7QA7ALIAEADS/+AA0//oANQAEADW/+AA2QAUAN0AEADh/+EA5v/gAO0AEwDyABAA+f/gAQQAEAEI/+gBDQAQARf/6AEZ/+ABG//oAR3/6AEf/+gBIf/oATn/4AFB/+gBRf/gAUf/4QFI/+ABSf/hAUr/4AFN/+EBUAAQAVEAEAFY/+kBYv/fAWT/3gFmABABav/oAWz/3wFu//IBbwAQAXAAEAPRABAD2P/oA9v/6APc/+AEBf/gBAj/6AQL/+gEDf/fBBMAEAQVABAEJv/oBCj/6AQq/+gENP/hBDX/4ASS/+AElP/hBJX/4ASh/98ABABY/+8AW//fAJr/7gHw/80ABAANABQAQQARAFb/4gBhABMABQA4/9gDKf/YAyv/2AMt/9gE2v/YAAUAI//DAFj/7wBb/98Amv/uAfD/zQAF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Au7/7ALw/+wC8v/sBFL/7ARU/+wEVv/sBFj/7ARa/+wEXP/sBF7/7ARg/+wEdP/sBHb/7AR4/+wEfP/sBLf/7ATE/+wExv/sADYABgAQAAsAEAANABQAQQASAEf/6ABI/+gASf/oAEv/6ABV/+gAYQATAJT/6ACZ/+gBhAAQAYUAEAGHABABiAAQAYkAEAK8/+gCvf/oAr7/6AK//+gCwP/oAtj/6ALa/+gC3P/oAt7/6ALg/+gC4v/oAuT/6ALm/+gC6P/oAur/6ALs/+gC7v/oAvD/6ALy/+gD9gAQA/cAEAP6ABAEUv/oBFT/6ARW/+gEWP/oBFr/6ARc/+gEXv/oBGD/6AR0/+gEdv/oBHj/6AR8/+gEt//oBMT/6ATG/+gASgBH/8UASP/FAEn/xQBL/8UATAAgAE8AIABQACAAU/+AAFX/xQBX/5AAWwALAJT/xQCZ/8UB2/+QArz/xQK9/8UCvv/FAr//xQLA/8UCxv+AAsf/gALI/4ACyf+AAsr/gALY/8UC2v/FAtz/xQLe/8UC4P/FAuL/xQLk/8UC5v/FAuj/xQLq/8UC7P/FAu7/xQLw/8UC8v/FAxT/gAMW/4ADGP+AAyD/kAMi/5ADJP+QAyb/kAMo/5AEUv/FBFT/xQRW/8UEWP/FBFr/xQRc/8UEXv/FBGD/xQRm/4AEaP+ABGr/gARs/4AEbv+ABHD/gARy/4AEdP/FBHb/xQR4/8UEev+ABHz/xQS3/8UEu/+ABMT/xQTG/8UEyAAgBMoAIATMACAE2f+QAAEA9AAEAAYACwAMACUAJwAoACkAKgAvADAAMwA0ADUANgA4ADoAOwA8AD0APgA/AEkASgBMAE8AUQBSAFMAVgBYAFoAWwBdAF8AlgCdALIBhAGFAYcBiAGJAfIB9AH1AfcB+gIFAkoCTQJfAmECYgKVApYCmAKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKrAqwCrQKuAq8CtAK9Ar4CvwLAAsUCxgLHAsgCyQLKAs8C0ALRAtMC1QLXAtkC2wLdAt8C4QLiAuMC5ALlAuYC5wLoAukC6gL0AwIDBAMGAwgDCgMNAw8DEQMSAxMDFAMVAxYDFwMYAxoDHAMeAykDKwMtAzsDPQM+Az8DQANCA0QDSgNLA0wDTQNOA08DUANRA1IDUwNeA18DYANhA2IDaANpA2oDbwOBA4IDgwOEA4gDiQOKA5MD7gPwA/ID9AP1A/YD9wP6A/wD/QQ5BDsEPQQ/BEEEQwRFBEcESQRLBE0ETwRRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXARdBF4EXwRgBGUEZgRnBGgEaQRqBGsEbARtBG4EbwRwBHEEcgR6BIsEjASNBI4EjwSQBLMEtAS2BLoEuwS9BMMExQTIBMkEywTNBNAE0gTTBNQE1wTaBN0E3gTfBOAE4QTjAAEANQAGAAsAlgCxALIAswC0AL0AwQDHAYQBhQGHAYgBiQIFAgYCBwOhA6IDowOkA6UDpgOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7sDvwPBA8UD9gP3A/oE5QTmBOoE7QTzBPgApwAQ/xYAEv8WACX/VgAu/vgAOAAUAEX/3gBH/+sASP/rAEn/6wBL/+sAU//rAFX/6wBW/+YAWf/qAFr/6ABd/+gAlP/rAJn/6wCb/+oAsv9WAYb/FgGK/xYBjv8WAY//FgIF/8ACTf/AApr/VgKb/1YCnP9WAp3/VgKe/1YCn/9WAqD/VgK1/94Ctv/eArf/3gK4/94Cuf/eArr/3gK7/94CvP/rAr3/6wK+/+sCv//rAsD/6wLG/+sCx//rAsj/6wLJ/+sCyv/rAsv/6gLM/+oCzf/qAs7/6gLP/+gC0P/oAtH/VgLS/94C0/9WAtT/3gLV/1YC1v/eAtj/6wLa/+sC3P/rAt7/6wLg/+sC4v/rAuT/6wLm/+sC6P/rAur/6wLs/+sC7v/rAvD/6wLy/+sDAP74AxT/6wMW/+sDGP/rAykAFAMrABQDLQAUAzD/6gMy/+oDNP/qAzb/6gM4/+oDOv/qAz7/6ANN/8ADTv/AA0//wANQ/8ADUf/AA1L/wANT/8ADaP/AA2n/wANq/8AD9f/oA/3/VgP+/94EOf9WBDr/3gQ7/1YEPP/eBD3/VgQ+/94EP/9WBED/3gRB/1YEQv/eBEP/VgRE/94ERf9WBEb/3gRH/1YESP/eBEn/VgRK/94ES/9WBEz/3gRN/1YETv/eBE//VgRQ/94EUv/rBFT/6wRW/+sEWP/rBFr/6wRc/+sEXv/rBGD/6wRm/+sEaP/rBGr/6wRs/+sEbv/rBHD/6wRy/+sEdP/rBHb/6wR4/+sEev/rBHz/6wR+/+oEgP/qBIL/6gSE/+oEhv/q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\"\r\n};","import { factory } from '../../utils/factory.js';\nvar name = 'ctranspose';\nvar dependencies = ['typed', 'transpose', 'conj'];\nexport var createCtranspose = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n transpose,\n conj\n } = _ref;\n /**\n * Transpose and complex conjugate a matrix. All values of the matrix are\n * reflected over its main diagonal and then the complex conjugate is\n * taken. This is equivalent to complex conjugation for scalars and\n * vectors.\n *\n * Syntax:\n *\n * math.ctranspose(x)\n *\n * Examples:\n *\n * const A = [[1, 2, 3], [4, 5, math.complex(6,7)]]\n * math.ctranspose(A) // returns [[1, 4], [2, 5], [3, {re:6,im:7}]]\n *\n * See also:\n *\n * transpose, diag, inv, subset, squeeze\n *\n * @param {Array | Matrix} x Matrix to be ctransposed\n * @return {Array | Matrix} The ctransposed matrix\n */\n return typed(name, {\n any: function any(x) {\n return conj(transpose(x));\n }\n });\n});","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';\nimport { nearlyEqual } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatAlgo05xSfSf } from '../../type/matrix/utils/matAlgo05xSfSf.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { createCompareUnits } from './compareUnits.js';\nvar name = 'compare';\nvar dependencies = ['typed', 'config', 'matrix', 'equalScalar', 'BigNumber', 'Fraction', 'DenseMatrix', 'concat'];\nexport var createCompare = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n equalScalar,\n matrix,\n BigNumber,\n Fraction,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo05xSfSf = createMatAlgo05xSfSf({\n typed,\n equalScalar\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var compareUnits = createCompareUnits({\n typed\n });\n\n /**\n * Compare two values. Returns 1 when x > y, -1 when x < y, and 0 when x == y.\n *\n * x and y are considered equal when the relative difference between x and y\n * is smaller than the configured epsilon. The function cannot be used to\n * compare values smaller than approximately 2.22e-16.\n *\n * For matrices, the function is evaluated element wise.\n * Strings are compared by their numerical value.\n *\n * Syntax:\n *\n * math.compare(x, y)\n *\n * Examples:\n *\n * math.compare(6, 1) // returns 1\n * math.compare(2, 3) // returns -1\n * math.compare(7, 7) // returns 0\n * math.compare('10', '2') // returns 1\n * math.compare('1000', '1e3') // returns 0\n *\n * const a = math.unit('5 cm')\n * const b = math.unit('40 mm')\n * math.compare(a, b) // returns 1\n *\n * math.compare(2, [1, 2, 3]) // returns [1, 0, -1]\n *\n * See also:\n *\n * equal, unequal, smaller, smallerEq, larger, largerEq, compareNatural, compareText\n *\n * @param {number | BigNumber | Fraction | Unit | string | Array | Matrix} x First value to compare\n * @param {number | BigNumber | Fraction | Unit | string | Array | Matrix} y Second value to compare\n * @return {number | BigNumber | Fraction | Array | Matrix} Returns the result of the comparison:\n * 1 when x > y, -1 when x < y, and 0 when x == y.\n */\n return typed(name, createCompareNumber({\n typed,\n config\n }), {\n 'boolean, boolean': function booleanBoolean(x, y) {\n return x === y ? 0 : x > y ? 1 : -1;\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return bigNearlyEqual(x, y, config.epsilon) ? new BigNumber(0) : new BigNumber(x.cmp(y));\n },\n 'Fraction, Fraction': function FractionFraction(x, y) {\n return new Fraction(x.compare(y));\n },\n 'Complex, Complex': function ComplexComplex() {\n throw new TypeError('No ordering relation is defined for complex numbers');\n }\n }, compareUnits, matrixAlgorithmSuite({\n SS: matAlgo05xSfSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n});\nexport var createCompareNumber = /* #__PURE__ */factory(name, ['typed', 'config'], _ref2 => {\n var {\n typed,\n config\n } = _ref2;\n return typed(name, {\n 'number, number': function numberNumber(x, y) {\n return nearlyEqual(x, y, config.epsilon) ? 0 : x > y ? 1 : -1;\n }\n });\n});","import { factory } from '../../utils/factory.js';\nvar name = 'oct';\nvar dependencies = ['typed', 'format'];\n\n/**\n * Format a number as octal.\n *\n * Syntax:\n *\n * math.oct(value)\n *\n * Examples:\n *\n * //the following outputs \"0o70\"\n * math.oct(56)\n *\n * See also:\n *\n * bin\n * hex\n *\n * @param {number} value Value to be stringified\n * @param {number} wordSize Optional word size (see `format`)\n * @return {string} The formatted value\n */\n\nexport var createOct = factory(name, dependencies, _ref => {\n var {\n typed,\n format\n } = _ref;\n return typed(name, {\n 'number | BigNumber': function numberBigNumber(n) {\n return format(n, {\n notation: 'oct'\n });\n },\n 'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) {\n return format(n, {\n notation: 'oct',\n wordSize\n });\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { isMatrix } from '../../utils/is.js';\nimport { createRng } from './util/seededRNG.js';\nimport { randomMatrix } from './util/randomMatrix.js';\nvar name = 'random';\nvar dependencies = ['typed', 'config', '?on'];\nexport var createRandom = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n on\n } = _ref;\n // seeded pseudo random number generator\n var rng = createRng(config.randomSeed);\n if (on) {\n on('config', function (curr, prev) {\n if (curr.randomSeed !== prev.randomSeed) {\n rng = createRng(curr.randomSeed);\n }\n });\n }\n\n /**\n * Return a random number larger or equal to `min` and smaller than `max`\n * using a uniform distribution.\n *\n * Syntax:\n *\n * math.random() // generate a random number between 0 and 1\n * math.random(max) // generate a random number between 0 and max\n * math.random(min, max) // generate a random number between min and max\n * math.random(size) // generate a matrix with random numbers between 0 and 1\n * math.random(size, max) // generate a matrix with random numbers between 0 and max\n * math.random(size, min, max) // generate a matrix with random numbers between min and max\n *\n * Examples:\n *\n * math.random() // returns a random number between 0 and 1\n * math.random(100) // returns a random number between 0 and 100\n * math.random(30, 40) // returns a random number between 30 and 40\n * math.random([2, 3]) // returns a 2x3 matrix with random numbers between 0 and 1\n *\n * See also:\n *\n * randomInt, pickRandom\n *\n * @param {Array | Matrix} [size] If provided, an array or matrix with given\n * size and filled with random values is returned\n * @param {number} [min] Minimum boundary for the random value, included\n * @param {number} [max] Maximum boundary for the random value, excluded\n * @return {number | Array | Matrix} A random number\n */\n return typed(name, {\n '': () => _random(0, 1),\n number: max => _random(0, max),\n 'number, number': (min, max) => _random(min, max),\n 'Array | Matrix': size => _randomMatrix(size, 0, 1),\n 'Array | Matrix, number': (size, max) => _randomMatrix(size, 0, max),\n 'Array | Matrix, number, number': (size, min, max) => _randomMatrix(size, min, max)\n });\n function _randomMatrix(size, min, max) {\n var res = randomMatrix(size.valueOf(), () => _random(min, max));\n return isMatrix(size) ? size.create(res) : res;\n }\n function _random(min, max) {\n return min + rng() * (max - min);\n }\n});\n\n// number only implementation of random, no matrix support\n// TODO: there is quite some duplicate code in both createRandom and createRandomNumber, can we improve that?\nexport var createRandomNumber = /* #__PURE__ */factory(name, ['typed', 'config', '?on'], _ref2 => {\n var {\n typed,\n config,\n on,\n matrix\n } = _ref2;\n // seeded pseudo random number generator1\n var rng = createRng(config.randomSeed);\n if (on) {\n on('config', function (curr, prev) {\n if (curr.randomSeed !== prev.randomSeed) {\n rng = createRng(curr.randomSeed);\n }\n });\n }\n return typed(name, {\n '': () => _random(0, 1),\n number: max => _random(0, max),\n 'number, number': (min, max) => _random(min, max)\n });\n function _random(min, max) {\n return min + rng() * (max - min);\n }\n});","import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';\nimport { nearlyEqual } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { createCompareUnits } from './compareUnits.js';\nvar name = 'larger';\nvar dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];\nexport var createLarger = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo07xSSf = createMatAlgo07xSSf({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var compareUnits = createCompareUnits({\n typed\n });\n\n /**\n * Test whether value x is larger than y.\n *\n * The function returns true when x is larger than y and the relative\n * difference between x and y is larger than the configured epsilon. The\n * function cannot be used to compare values smaller than approximately 2.22e-16.\n *\n * For matrices, the function is evaluated element wise.\n * Strings are compared by their numerical value.\n *\n * Syntax:\n *\n * math.larger(x, y)\n *\n * Examples:\n *\n * math.larger(2, 3) // returns false\n * math.larger(5, 2 + 2) // returns true\n *\n * const a = math.unit('5 cm')\n * const b = math.unit('2 inch')\n * math.larger(a, b) // returns false\n *\n * See also:\n *\n * equal, unequal, smaller, smallerEq, largerEq, compare\n *\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} x First value to compare\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} y Second value to compare\n * @return {boolean | Array | Matrix} Returns true when the x is larger than y, else returns false\n */\n return typed(name, createLargerNumber({\n typed,\n config\n }), {\n 'boolean, boolean': (x, y) => x > y,\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.gt(y) && !bigNearlyEqual(x, y, config.epsilon);\n },\n 'Fraction, Fraction': (x, y) => x.compare(y) === 1,\n 'Complex, Complex': function ComplexComplex() {\n throw new TypeError('No ordering relation is defined for complex numbers');\n }\n }, compareUnits, matrixAlgorithmSuite({\n SS: matAlgo07xSSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n});\nexport var createLargerNumber = /* #__PURE__ */factory(name, ['typed', 'config'], _ref2 => {\n var {\n typed,\n config\n } = _ref2;\n return typed(name, {\n 'number, number': function numberNumber(x, y) {\n return x > y && !nearlyEqual(x, y, config.epsilon);\n }\n });\n});","import { factory } from '../../../utils/factory.js';\nimport { DimensionError } from '../../../error/DimensionError.js';\nvar name = 'matAlgo09xS0Sf';\nvar dependencies = ['typed', 'equalScalar'];\nexport var createMatAlgo09xS0Sf = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n equalScalar\n } = _ref;\n /**\n * Iterates over SparseMatrix A and invokes the callback function f(Aij, Bij).\n * Callback function invoked NZA times, number of nonzero elements in A.\n *\n *\n * ┌ f(Aij, Bij) ; A(i,j) !== 0\n * C(i,j) = ┤\n * └ 0 ; otherwise\n *\n *\n * @param {Matrix} a The SparseMatrix instance (A)\n * @param {Matrix} b The SparseMatrix instance (B)\n * @param {Function} callback The f(Aij,Bij) operation to invoke\n *\n * @return {Matrix} SparseMatrix (C)\n *\n * see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294\n */\n return function matAlgo09xS0Sf(a, b, callback) {\n // sparse matrix arrays\n var avalues = a._values;\n var aindex = a._index;\n var aptr = a._ptr;\n var asize = a._size;\n var adt = a._datatype;\n // sparse matrix arrays\n var bvalues = b._values;\n var bindex = b._index;\n var bptr = b._ptr;\n var bsize = b._size;\n var bdt = b._datatype;\n\n // validate dimensions\n if (asize.length !== bsize.length) {\n throw new DimensionError(asize.length, bsize.length);\n }\n\n // check rows & columns\n if (asize[0] !== bsize[0] || asize[1] !== bsize[1]) {\n throw new RangeError('Dimension mismatch. Matrix A (' + asize + ') must match Matrix B (' + bsize + ')');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string' && adt === bdt) {\n // datatype\n dt = adt;\n // find signature that matches (dt, dt)\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result arrays\n var cvalues = avalues && bvalues ? [] : undefined;\n var cindex = [];\n var cptr = [];\n\n // workspaces\n var x = cvalues ? [] : undefined;\n // marks indicating we have a value in x for a given column\n var w = [];\n\n // vars\n var i, j, k, k0, k1;\n\n // loop columns\n for (j = 0; j < columns; j++) {\n // update cptr\n cptr[j] = cindex.length;\n // column mark\n var mark = j + 1;\n // check we need to process values\n if (x) {\n // loop B(:,j)\n for (k0 = bptr[j], k1 = bptr[j + 1], k = k0; k < k1; k++) {\n // row\n i = bindex[k];\n // update workspace\n w[i] = mark;\n x[i] = bvalues[k];\n }\n }\n // loop A(:,j)\n for (k0 = aptr[j], k1 = aptr[j + 1], k = k0; k < k1; k++) {\n // row\n i = aindex[k];\n // check we need to process values\n if (x) {\n // b value @ i,j\n var vb = w[i] === mark ? x[i] : zero;\n // invoke f\n var vc = cf(avalues[k], vb);\n // check zero value\n if (!eq(vc, zero)) {\n // push index\n cindex.push(i);\n // push value\n cvalues.push(vc);\n }\n } else {\n // push index\n cindex.push(i);\n }\n }\n }\n // update cptr\n cptr[columns] = cindex.length;\n\n // return sparse matrix\n return a.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n target: getInternalParamsState(params).entries,\n index: 0,\n kind: kind\n });\n}, URL_SEARCH_PARAMS, function next() {\n var state = getInternalIteratorState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n var entry = target[index];\n switch (state.kind) {\n case 'keys': return createIterResultObject(entry.key, false);\n case 'values': return createIterResultObject(entry.value, false);\n } return createIterResultObject([entry.key, entry.value], false);\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var entries = this.entries;\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw new TypeError('Expected sequence with length 2');\n push(entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var entries = this.entries;\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var state = setInternalState(this, new URLSearchParamsState(init));\n if (!DESCRIPTORS) this.size = state.entries.length;\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 2);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n if (!DESCRIPTORS) this.length++;\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name /* , value */) {\n var state = getInternalParamsState(this);\n var length = validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index];\n if (entry.key === key && (value === undefined || entry.value === value)) {\n splice(entries, index, 1);\n if (value !== undefined) break;\n } else index++;\n }\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name /* , value */) {\n var entries = getInternalParamsState(this).entries;\n var length = validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index++];\n if (entry.key === key && (value === undefined || entry.value === value)) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n return getInternalParamsState(this).entries.length;\n },\n configurable: true,\n enumerable: true\n});\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","import { deepMap } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { isNaNNumber } from '../../plain/number/index.js';\nvar name = 'isNaN';\nvar dependencies = ['typed'];\nexport var createIsNaN = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Test whether a value is NaN (not a number).\n * The function supports types `number`, `BigNumber`, `Fraction`, `Unit` and `Complex`.\n *\n * The function is evaluated element-wise in case of Array or Matrix input.\n *\n * Syntax:\n *\n * math.isNaN(x)\n *\n * Examples:\n *\n * math.isNaN(3) // returns false\n * math.isNaN(NaN) // returns true\n * math.isNaN(0) // returns false\n * math.isNaN(math.bignumber(NaN)) // returns true\n * math.isNaN(math.bignumber(0)) // returns false\n * math.isNaN(math.fraction(-2, 5)) // returns false\n * math.isNaN('-2') // returns false\n * math.isNaN([2, 0, -3, NaN]) // returns [false, false, false, true]\n *\n * See also:\n *\n * isNumeric, isNegative, isPositive, isZero, isInteger\n *\n * @param {number | BigNumber | Fraction | Unit | Array | Matrix} x Value to be tested\n * @return {boolean} Returns true when `x` is NaN.\n * Throws an error in case of an unknown data type.\n */\n return typed(name, {\n number: isNaNNumber,\n BigNumber: function BigNumber(x) {\n return x.isNaN();\n },\n Fraction: function Fraction(x) {\n return false;\n },\n Complex: function Complex(x) {\n return x.isNaN();\n },\n Unit: function Unit(x) {\n return Number.isNaN(x.value);\n },\n 'Array | Matrix': function ArrayMatrix(x) {\n return deepMap(x, Number.isNaN);\n }\n });\n});","import { isBigNumber } from '../../utils/is.js';\nimport { isInteger } from '../../utils/number.js';\nimport { resize } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'ones';\nvar dependencies = ['typed', 'config', 'matrix', 'BigNumber'];\nexport var createOnes = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n BigNumber\n } = _ref;\n /**\n * Create a matrix filled with ones. The created matrix can have one or\n * multiple dimensions.\n *\n * Syntax:\n *\n * math.ones(m)\n * math.ones(m, format)\n * math.ones(m, n)\n * math.ones(m, n, format)\n * math.ones([m, n])\n * math.ones([m, n], format)\n * math.ones([m, n, p, ...])\n * math.ones([m, n, p, ...], format)\n *\n * Examples:\n *\n * math.ones() // returns []\n * math.ones(3) // returns [1, 1, 1]\n * math.ones(3, 2) // returns [[1, 1], [1, 1], [1, 1]]\n * math.ones(3, 2, 'dense') // returns Dense Matrix [[1, 1], [1, 1], [1, 1]]\n *\n * const A = [[1, 2, 3], [4, 5, 6]]\n * math.ones(math.size(A)) // returns [[1, 1, 1], [1, 1, 1]]\n *\n * See also:\n *\n * zeros, identity, size, range\n *\n * @param {...(number|BigNumber) | Array} size The size of each dimension of the matrix\n * @param {string} [format] The Matrix storage format\n *\n * @return {Array | Matrix | number} A matrix filled with ones\n */\n return typed('ones', {\n '': function _() {\n return config.matrix === 'Array' ? _ones([]) : _ones([], 'default');\n },\n // math.ones(m, n, p, ..., format)\n // TODO: more accurate signature '...number | BigNumber, string' as soon as typed-function supports this\n '...number | BigNumber | string': function numberBigNumberString(size) {\n var last = size[size.length - 1];\n if (typeof last === 'string') {\n var format = size.pop();\n return _ones(size, format);\n } else if (config.matrix === 'Array') {\n return _ones(size);\n } else {\n return _ones(size, 'default');\n }\n },\n Array: _ones,\n Matrix: function Matrix(size) {\n var format = size.storage();\n return _ones(size.valueOf(), format);\n },\n 'Array | Matrix, string': function ArrayMatrixString(size, format) {\n return _ones(size.valueOf(), format);\n }\n });\n\n /**\n * Create an Array or Matrix with ones\n * @param {Array} size\n * @param {string} [format='default']\n * @return {Array | Matrix}\n * @private\n */\n function _ones(size, format) {\n var hasBigNumbers = _normalize(size);\n var defaultValue = hasBigNumbers ? new BigNumber(1) : 1;\n _validate(size);\n if (format) {\n // return a matrix\n var m = matrix(format);\n if (size.length > 0) {\n return m.resize(size, defaultValue);\n }\n return m;\n } else {\n // return an Array\n var arr = [];\n if (size.length > 0) {\n return resize(arr, size, defaultValue);\n }\n return arr;\n }\n }\n\n // replace BigNumbers with numbers, returns true if size contained BigNumbers\n function _normalize(size) {\n var hasBigNumbers = false;\n size.forEach(function (value, index, arr) {\n if (isBigNumber(value)) {\n hasBigNumbers = true;\n arr[index] = value.toNumber();\n }\n });\n return hasBigNumbers;\n }\n\n // validate arguments\n function _validate(size) {\n size.forEach(function (value) {\n if (typeof value !== 'number' || !isInteger(value) || value < 0) {\n throw new Error('Parameters in function ones must be positive integers');\n }\n });\n }\n});","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroGRPERetrato.vue?vue&type=style&index=0&id=3cf9f40e&prod&lang=css\"","import { factory } from '../../utils/factory.js';\nvar name = 'divideScalar';\nvar dependencies = ['typed', 'numeric'];\nexport var createDivideScalar = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n numeric\n } = _ref;\n /**\n * Divide two scalar values, `x / y`.\n * This function is meant for internal use: it is used by the public functions\n * `divide` and `inv`.\n *\n * This function does not support collections (Array or Matrix).\n *\n * @param {number | BigNumber | Fraction | Complex | Unit} x Numerator\n * @param {number | BigNumber | Fraction | Complex} y Denominator\n * @return {number | BigNumber | Fraction | Complex | Unit} Quotient, `x / y`\n * @private\n */\n return typed(name, {\n 'number, number': function numberNumber(x, y) {\n return x / y;\n },\n 'Complex, Complex': function ComplexComplex(x, y) {\n return x.div(y);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.div(y);\n },\n 'Fraction, Fraction': function FractionFraction(x, y) {\n return x.div(y);\n },\n 'Unit, number | Complex | Fraction | BigNumber | Unit': (x, y) => x.divide(y),\n 'number | Fraction | Complex | BigNumber, Unit': (x, y) => y.divideInto(x)\n });\n});","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nvar name = 'conj';\nvar dependencies = ['typed'];\nexport var createConj = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Compute the complex conjugate of a complex value.\n * If `x = a+bi`, the complex conjugate of `x` is `a - bi`.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.conj(x)\n *\n * Examples:\n *\n * math.conj(math.complex('2 + 3i')) // returns Complex 2 - 3i\n * math.conj(math.complex('2 - 3i')) // returns Complex 2 + 3i\n * math.conj(math.complex('-5.2i')) // returns Complex 5.2i\n *\n * See also:\n *\n * re, im, arg, abs\n *\n * @param {number | BigNumber | Complex | Array | Matrix} x\n * A complex number or array with complex numbers\n * @return {number | BigNumber | Complex | Array | Matrix}\n * The complex conjugate of x\n */\n return typed(name, {\n 'number | BigNumber | Fraction': x => x,\n Complex: x => x.conjugate(),\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","import { nearlyEqual } from './number.js';\n\n/**\n * Test whether two complex values are equal provided a given epsilon.\n * Does not use or change the global Complex.EPSILON setting\n * @param {Complex} x\n * @param {Complex} y\n * @param {number} epsilon\n * @returns {boolean}\n */\nexport function complexEquals(x, y, epsilon) {\n return nearlyEqual(x.re, y.re, epsilon) && nearlyEqual(x.im, y.im, epsilon);\n}","import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';\nimport { nearlyEqual } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nimport { complexEquals } from '../../utils/complex.js';\nimport { createCompareUnits } from './compareUnits.js';\nvar name = 'equalScalar';\nvar dependencies = ['typed', 'config'];\nexport var createEqualScalar = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config\n } = _ref;\n var compareUnits = createCompareUnits({\n typed\n });\n\n /**\n * Test whether two scalar values are nearly equal.\n *\n * @param {number | BigNumber | Fraction | boolean | Complex | Unit} x First value to compare\n * @param {number | BigNumber | Fraction | boolean | Complex} y Second value to compare\n * @return {boolean} Returns true when the compared values are equal, else returns false\n * @private\n */\n return typed(name, {\n 'boolean, boolean': function booleanBoolean(x, y) {\n return x === y;\n },\n 'number, number': function numberNumber(x, y) {\n return nearlyEqual(x, y, config.epsilon);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.eq(y) || bigNearlyEqual(x, y, config.epsilon);\n },\n 'Fraction, Fraction': function FractionFraction(x, y) {\n return x.equals(y);\n },\n 'Complex, Complex': function ComplexComplex(x, y) {\n return complexEquals(x, y, config.epsilon);\n }\n }, compareUnits);\n});\nexport var createEqualScalarNumber = factory(name, ['typed', 'config'], _ref2 => {\n var {\n typed,\n config\n } = _ref2;\n return typed(name, {\n 'number, number': function numberNumber(x, y) {\n return nearlyEqual(x, y, config.epsilon);\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { isMatrix } from '../../utils/is.js';\nimport { clone } from '../../utils/object.js';\nimport { validateIndex } from '../../utils/array.js';\nvar name = 'row';\nvar dependencies = ['typed', 'Index', 'matrix', 'range'];\nexport var createRow = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n Index,\n matrix,\n range\n } = _ref;\n /**\n * Return a row from a Matrix.\n *\n * Syntax:\n *\n * math.row(value, index)\n *\n * Example:\n *\n * // get a row\n * const d = [[1, 2], [3, 4]]\n * math.row(d, 1) // returns [[3, 4]]\n *\n * See also:\n *\n * column\n *\n * @param {Array | Matrix } value An array or matrix\n * @param {number} row The index of the row\n * @return {Array | Matrix} The retrieved row\n */\n return typed(name, {\n 'Matrix, number': _row,\n 'Array, number': function ArrayNumber(value, row) {\n return _row(matrix(clone(value)), row).valueOf();\n }\n });\n\n /**\n * Retrieve a row of a matrix\n * @param {Matrix } value A matrix\n * @param {number} row The index of the row\n * @return {Matrix} The retrieved row\n */\n function _row(value, row) {\n // check dimensions\n if (value.size().length !== 2) {\n throw new Error('Only two dimensional matrix is supported');\n }\n validateIndex(row, value.size()[0]);\n var columnRange = range(0, value.size()[1]);\n var index = new Index(row, columnRange);\n var result = value.subset(index);\n return isMatrix(result) ? result : matrix([[result]]);\n }\n});","import { containsCollections, deepForEach, reduce } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { improveErrorMessage } from './utils/improveErrorMessage.js';\nvar name = 'min';\nvar dependencies = ['typed', 'config', 'numeric', 'smaller'];\nexport var createMin = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n numeric,\n smaller\n } = _ref;\n /**\n * Compute the minimum value of a matrix or a list of values.\n * In case of a multidimensional array, the minimum of the flattened array\n * will be calculated. When `dim` is provided, the minimum over the selected\n * dimension will be calculated. Parameter `dim` is zero-based.\n *\n * Syntax:\n *\n * math.min(a, b, c, ...)\n * math.min(A)\n * math.min(A, dimension)\n *\n * Examples:\n *\n * math.min(2, 1, 4, 3) // returns 1\n * math.min([2, 1, 4, 3]) // returns 1\n *\n * // minimum over a specified dimension (zero-based)\n * math.min([[2, 5], [4, 3], [1, 7]], 0) // returns [1, 3]\n * math.min([[2, 5], [4, 3], [1, 7]], 1) // returns [2, 3, 1]\n *\n * math.max(2.7, 7.1, -4.5, 2.0, 4.1) // returns 7.1\n * math.min(2.7, 7.1, -4.5, 2.0, 4.1) // returns -4.5\n *\n * See also:\n *\n * mean, median, max, prod, std, sum, variance\n *\n * @param {... *} args A single matrix or or multiple scalar values\n * @return {*} The minimum value\n */\n return typed(name, {\n // min([a, b, c, d, ...])\n 'Array | Matrix': _min,\n // min([a, b, c, d, ...], dim)\n 'Array | Matrix, number | BigNumber': function ArrayMatrixNumberBigNumber(array, dim) {\n return reduce(array, dim.valueOf(), _smallest);\n },\n // min(a, b, c, d, ...)\n '...': function _(args) {\n if (containsCollections(args)) {\n throw new TypeError('Scalar values expected in function min');\n }\n return _min(args);\n }\n });\n\n /**\n * Return the smallest of two values\n * @param {*} x\n * @param {*} y\n * @returns {*} Returns x when x is smallest, or y when y is smallest\n * @private\n */\n function _smallest(x, y) {\n try {\n return smaller(x, y) ? x : y;\n } catch (err) {\n throw improveErrorMessage(err, 'min', y);\n }\n }\n\n /**\n * Recursively calculate the minimum value in an n-dimensional array\n * @param {Array} array\n * @return {number} min\n * @private\n */\n function _min(array) {\n var min;\n deepForEach(array, function (value) {\n try {\n if (isNaN(value) && typeof value === 'number') {\n min = NaN;\n } else if (min === undefined || smaller(value, min)) {\n min = value;\n }\n } catch (err) {\n throw improveErrorMessage(err, 'min', value);\n }\n });\n if (min === undefined) {\n throw new Error('Cannot calculate min of an empty array');\n }\n\n // make sure returning numeric value: parse a string into a numeric value\n if (typeof min === 'string') {\n min = numeric(min, config.number);\n }\n return min;\n }\n});","import { factory } from '../../utils/factory.js';\nvar name = 'corr';\nvar dependencies = ['typed', 'matrix', 'mean', 'sqrt', 'sum', 'add', 'subtract', 'multiply', 'pow', 'divide'];\nexport var createCorr = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n sqrt,\n sum,\n add,\n subtract,\n multiply,\n pow,\n divide\n } = _ref;\n /**\n * Compute the correlation coefficient of a two list with values, For matrices, the matrix correlation coefficient is calculated.\n *\n * Syntax:\n *\n * math.corr(A, B)\n *\n * Examples:\n *\n * math.corr([1, 2, 3, 4, 5], [4, 5, 6, 7, 8]) // returns 1\n * math.corr([1, 2.2, 3, 4.8, 5], [4, 5.3, 6.6, 7, 8]) //returns 0.9569941688503644\n * math.corr([[1, 2.2, 3, 4.8, 5], [4, 5.3, 6.6, 7, 8]],[[1, 2.2, 3, 4.8, 5], [4, 5.3, 6.6, 7, 8]]) // returns [1,1]\n *\n * See also:\n *\n * median, mean, min, max, sum, prod, std, variance\n *\n * @param {Array | Matrix} A The first array or matrix to compute correlation coefficient\n * @param {Array | Matrix} B The second array or matrix to compute correlation coefficient\n * @return {*} The correlation coefficient\n */\n return typed(name, {\n 'Array, Array': function ArrayArray(A, B) {\n return _corr(A, B);\n },\n 'Matrix, Matrix': function MatrixMatrix(A, B) {\n var res = _corr(A.toArray(), B.toArray());\n return Array.isArray(res) ? matrix(res) : res;\n }\n });\n /**\n * Calculate the correlation coefficient between two arrays or matrices.\n * @param {Array | Matrix} A\n * @param {Array | Matrix} B\n * @return {*} correlation coefficient\n * @private\n */\n function _corr(A, B) {\n var correlations = [];\n if (Array.isArray(A[0]) && Array.isArray(B[0])) {\n if (A.length !== B.length) {\n throw new SyntaxError('Dimension mismatch. Array A and B must have the same length.');\n }\n for (var i = 0; i < A.length; i++) {\n if (A[i].length !== B[i].length) {\n throw new SyntaxError('Dimension mismatch. Array A and B must have the same number of elements.');\n }\n correlations.push(correlation(A[i], B[i]));\n }\n return correlations;\n } else {\n if (A.length !== B.length) {\n throw new SyntaxError('Dimension mismatch. Array A and B must have the same number of elements.');\n }\n return correlation(A, B);\n }\n }\n function correlation(A, B) {\n var n = A.length;\n var sumX = sum(A);\n var sumY = sum(B);\n var sumXY = A.reduce((acc, x, index) => add(acc, multiply(x, B[index])), 0);\n var sumXSquare = sum(A.map(x => pow(x, 2)));\n var sumYSquare = sum(B.map(y => pow(y, 2)));\n var numerator = subtract(multiply(n, sumXY), multiply(sumX, sumY));\n var denominator = sqrt(multiply(subtract(multiply(n, sumXSquare), pow(sumX, 2)), subtract(multiply(n, sumYSquare), pow(sumY, 2))));\n return divide(numerator, denominator);\n }\n});","import { applyCallback } from '../../utils/applyCallback.js';\nimport { forEach as forEachArray } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'forEach';\nvar dependencies = ['typed'];\nexport var createForEach = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Iterate over all elements of a matrix/array, and executes the given callback function.\n *\n * Syntax:\n *\n * math.forEach(x, callback)\n *\n * Examples:\n *\n * math.forEach([1, 2, 3], function(value) {\n * console.log(value)\n * })\n * // outputs 1, 2, 3\n *\n * See also:\n *\n * filter, map, sort\n *\n * @param {Matrix | Array} x The matrix to iterate on.\n * @param {Function} callback The callback function is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix/array being traversed.\n */\n return typed(name, {\n 'Array, function': _forEach,\n 'Matrix, function': function MatrixFunction(x, callback) {\n x.forEach(callback);\n }\n });\n});\n\n/**\n * forEach for a multidimensional array\n * @param {Array} array\n * @param {Function} callback\n * @private\n */\nfunction _forEach(array, callback) {\n var recurse = function recurse(value, index) {\n if (Array.isArray(value)) {\n forEachArray(value, function (child, i) {\n // we create a copy of the index array and append the new index value\n recurse(child, index.concat(i));\n });\n } else {\n // invoke the callback function with the right number of arguments\n return applyCallback(callback, value, index, array, 'forEach');\n }\n };\n recurse(array, []);\n}","import { format as formatString } from '../../utils/string.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'format';\nvar dependencies = ['typed'];\nexport var createFormat = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Format a value of any type into a string.\n *\n * Syntax:\n *\n * math.format(value)\n * math.format(value, options)\n * math.format(value, precision)\n * math.format(value, callback)\n *\n * Where:\n *\n * - `value: *`\n * The value to be formatted\n * - `options: Object`\n * An object with formatting options. Available options:\n * - `notation: string`\n * Number notation. Choose from:\n * - `'fixed'`\n * Always use regular number notation.\n * For example `'123.40'` and `'14000000'`\n * - `'exponential'`\n * Always use exponential notation.\n * For example `'1.234e+2'` and `'1.4e+7'`\n * - `'engineering'`\n * Always use engineering notation: always have exponential notation,\n * and select the exponent to be a multiple of `3`.\n * For example `'123.4e+0'` and `'14.0e+6'`\n * - `'auto'` (default)\n * Regular number notation for numbers having an absolute value between\n * `lower` and `upper` bounds, and uses exponential notation elsewhere.\n * Lower bound is included, upper bound is excluded.\n * For example `'123.4'` and `'1.4e7'`.\n * - `'bin'`, `'oct'`, or `'hex'`\n * Format the number using binary, octal, or hexadecimal notation.\n * For example `'0b1101'` and `'0x10fe'`.\n * - `wordSize: number`\n * The word size in bits to use for formatting in binary, octal, or\n * hexadecimal notation. To be used only with `'bin'`, `'oct'`, or `'hex'`\n * values for `notation` option. When this option is defined the value\n * is formatted as a signed twos complement integer of the given word\n * size and the size suffix is appended to the output.\n * For example `format(-1, {notation: 'hex', wordSize: 8}) === '0xffi8'`.\n * Default value is undefined.\n * - `precision: number`\n * Limit the number of digits of the formatted value.\n * For regular numbers, must be a number between `0` and `16`.\n * For bignumbers, the maximum depends on the configured precision,\n * see function `config()`.\n * In case of notations `'exponential'`, `'engineering'`, and `'auto'`,\n * `precision` defines the total number of significant digits returned.\n * In case of notation `'fixed'`, `precision` defines the number of\n * significant digits after the decimal point.\n * `precision` is undefined by default.\n * - `lowerExp: number`\n * Exponent determining the lower boundary for formatting a value with\n * an exponent when `notation='auto'`. Default value is `-3`.\n * - `upperExp: number`\n * Exponent determining the upper boundary for formatting a value with\n * an exponent when `notation='auto'`. Default value is `5`.\n * - `fraction: string`. Available values: `'ratio'` (default) or `'decimal'`.\n * For example `format(fraction(1, 3))` will output `'1/3'` when `'ratio'`\n * is configured, and will output `'0.(3)'` when `'decimal'` is configured.\n * - `truncate: number`. Specifies the maximum allowed length of the\n * returned string. If it had been longer, the excess characters\n * are deleted and replaced with `'...'`.\n * - `callback: function`\n * A custom formatting function, invoked for all numeric elements in `value`,\n * for example all elements of a matrix, or the real and imaginary\n * parts of a complex number. This callback can be used to override the\n * built-in numeric notation with any type of formatting. Function `callback`\n * is called with `value` as parameter and must return a string.\n *\n * When `value` is an Object:\n *\n * - When the object contains a property `format` being a function, this function\n * is invoked as `value.format(options)` and the result is returned.\n * - When the object has its own `toString` method, this method is invoked\n * and the result is returned.\n * - In other cases the function will loop over all object properties and\n * return JSON object notation like '{\"a\": 2, \"b\": 3}'.\n *\n * When value is a function:\n *\n * - When the function has a property `syntax`, it returns this\n * syntax description.\n * - In other cases, a string `'function'` is returned.\n *\n * Examples:\n *\n * math.format(6.4) // returns '6.4'\n * math.format(1240000) // returns '1.24e+6'\n * math.format(1/3) // returns '0.3333333333333333'\n * math.format(1/3, 3) // returns '0.333'\n * math.format(21385, 2) // returns '21000'\n * math.format(12e8, {notation: 'fixed'}) // returns '1200000000'\n * math.format(2.3, {notation: 'fixed', precision: 4}) // returns '2.3000'\n * math.format(52.8, {notation: 'exponential'}) // returns '5.28e+1'\n * math.format(12400, {notation: 'engineering'}) // returns '12.4e+3'\n * math.format(2000, {lowerExp: -2, upperExp: 2}) // returns '2e+3'\n *\n * function formatCurrency(value) {\n * // return currency notation with two digits:\n * return '$' + value.toFixed(2)\n *\n * // you could also use math.format inside the callback:\n * // return '$' + math.format(value, {notation: 'fixed', precision: 2})\n * }\n * math.format([2.1, 3, 0.016], formatCurrency) // returns '[$2.10, $3.00, $0.02]'\n *\n * See also:\n *\n * print\n *\n * @param {*} value Value to be stringified\n * @param {Object | Function | number} [options] Formatting options\n * @return {string} The formatted value\n */\n return typed(name, {\n any: formatString,\n 'any, Object | function | number': formatString\n });\n});","import { factory } from '../../utils/factory.js';\nimport { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo05xSfSf } from '../../type/matrix/utils/matAlgo05xSfSf.js';\nimport { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'subtract';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'subtractScalar', 'unaryMinus', 'DenseMatrix', 'concat'];\nexport var createSubtract = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n subtractScalar,\n unaryMinus,\n DenseMatrix,\n concat\n } = _ref;\n // TODO: split function subtract in two: subtract and subtractScalar\n\n var matAlgo01xDSid = createMatAlgo01xDSid({\n typed\n });\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo05xSfSf = createMatAlgo05xSfSf({\n typed,\n equalScalar\n });\n var matAlgo10xSids = createMatAlgo10xSids({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Subtract two values, `x - y`.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.subtract(x, y)\n *\n * Examples:\n *\n * math.subtract(5.3, 2) // returns number 3.3\n *\n * const a = math.complex(2, 3)\n * const b = math.complex(4, 1)\n * math.subtract(a, b) // returns Complex -2 + 2i\n *\n * math.subtract([5, 7, 4], 4) // returns Array [1, 3, 0]\n *\n * const c = math.unit('2.1 km')\n * const d = math.unit('500m')\n * math.subtract(c, d) // returns Unit 1.6 km\n *\n * See also:\n *\n * add\n *\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Initial value\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Value to subtract from `x`\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Subtraction of `x` and `y`\n */\n return typed(name, {\n 'any, any': subtractScalar\n }, matrixAlgorithmSuite({\n elop: subtractScalar,\n SS: matAlgo05xSfSf,\n DS: matAlgo01xDSid,\n SD: matAlgo03xDSf,\n Ss: matAlgo12xSfs,\n sS: matAlgo10xSids\n }));\n});","import { isNumber } from './is.js';\n\n/**\n * @typedef {{sign: '+' | '-' | '', coefficients: number[], exponent: number}} SplitValue\n */\n\n/**\n * Check if a number is integer\n * @param {number | boolean} value\n * @return {boolean} isInteger\n */\nexport function isInteger(value) {\n if (typeof value === 'boolean') {\n return true;\n }\n return isFinite(value) ? value === Math.round(value) : false;\n}\n\n/**\n * Calculate the sign of a number\n * @param {number} x\n * @returns {number}\n */\nexport var sign = /* #__PURE__ */Math.sign || function (x) {\n if (x > 0) {\n return 1;\n } else if (x < 0) {\n return -1;\n } else {\n return 0;\n }\n};\n\n/**\n * Calculate the base-2 logarithm of a number\n * @param {number} x\n * @returns {number}\n */\nexport var log2 = /* #__PURE__ */Math.log2 || function log2(x) {\n return Math.log(x) / Math.LN2;\n};\n\n/**\n * Calculate the base-10 logarithm of a number\n * @param {number} x\n * @returns {number}\n */\nexport var log10 = /* #__PURE__ */Math.log10 || function log10(x) {\n return Math.log(x) / Math.LN10;\n};\n\n/**\n * Calculate the natural logarithm of a number + 1\n * @param {number} x\n * @returns {number}\n */\nexport var log1p = /* #__PURE__ */Math.log1p || function (x) {\n return Math.log(x + 1);\n};\n\n/**\n * Calculate cubic root for a number\n *\n * Code from es6-shim.js:\n * https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js#L1564-L1577\n *\n * @param {number} x\n * @returns {number} Returns the cubic root of x\n */\nexport var cbrt = /* #__PURE__ */Math.cbrt || function cbrt(x) {\n if (x === 0) {\n return x;\n }\n var negate = x < 0;\n var result;\n if (negate) {\n x = -x;\n }\n if (isFinite(x)) {\n result = Math.exp(Math.log(x) / 3);\n // from https://en.wikipedia.org/wiki/Cube_root#Numerical_methods\n result = (x / (result * result) + 2 * result) / 3;\n } else {\n result = x;\n }\n return negate ? -result : result;\n};\n\n/**\n * Calculates exponentiation minus 1\n * @param {number} x\n * @return {number} res\n */\nexport var expm1 = /* #__PURE__ */Math.expm1 || function expm1(x) {\n return x >= 2e-4 || x <= -2e-4 ? Math.exp(x) - 1 : x + x * x / 2 + x * x * x / 6;\n};\n\n/**\n * Formats a number in a given base\n * @param {number} n\n * @param {number} base\n * @param {number} size\n * @returns {string}\n */\nfunction formatNumberToBase(n, base, size) {\n var prefixes = {\n 2: '0b',\n 8: '0o',\n 16: '0x'\n };\n var prefix = prefixes[base];\n var suffix = '';\n if (size) {\n if (size < 1) {\n throw new Error('size must be in greater than 0');\n }\n if (!isInteger(size)) {\n throw new Error('size must be an integer');\n }\n if (n > 2 ** (size - 1) - 1 || n < -(2 ** (size - 1))) {\n throw new Error(\"Value must be in range [-2^\".concat(size - 1, \", 2^\").concat(size - 1, \"-1]\"));\n }\n if (!isInteger(n)) {\n throw new Error('Value must be an integer');\n }\n if (n < 0) {\n n = n + 2 ** size;\n }\n suffix = \"i\".concat(size);\n }\n var sign = '';\n if (n < 0) {\n n = -n;\n sign = '-';\n }\n return \"\".concat(sign).concat(prefix).concat(n.toString(base)).concat(suffix);\n}\n\n/**\n * Convert a number to a formatted string representation.\n *\n * Syntax:\n *\n * format(value)\n * format(value, options)\n * format(value, precision)\n * format(value, fn)\n *\n * Where:\n *\n * {number} value The value to be formatted\n * {Object} options An object with formatting options. Available options:\n * {string} notation\n * Number notation. Choose from:\n * 'fixed' Always use regular number notation.\n * For example '123.40' and '14000000'\n * 'exponential' Always use exponential notation.\n * For example '1.234e+2' and '1.4e+7'\n * 'engineering' Always use engineering notation.\n * For example '123.4e+0' and '14.0e+6'\n * 'auto' (default) Regular number notation for numbers\n * having an absolute value between\n * `lowerExp` and `upperExp` bounds, and\n * uses exponential notation elsewhere.\n * Lower bound is included, upper bound\n * is excluded.\n * For example '123.4' and '1.4e7'.\n * 'bin', 'oct, or\n * 'hex' Format the number using binary, octal,\n * or hexadecimal notation.\n * For example '0b1101' and '0x10fe'.\n * {number} wordSize The word size in bits to use for formatting\n * in binary, octal, or hexadecimal notation.\n * To be used only with 'bin', 'oct', or 'hex'\n * values for 'notation' option. When this option\n * is defined the value is formatted as a signed\n * twos complement integer of the given word size\n * and the size suffix is appended to the output.\n * For example\n * format(-1, {notation: 'hex', wordSize: 8}) === '0xffi8'.\n * Default value is undefined.\n * {number} precision A number between 0 and 16 to round\n * the digits of the number.\n * In case of notations 'exponential',\n * 'engineering', and 'auto',\n * `precision` defines the total\n * number of significant digits returned.\n * In case of notation 'fixed',\n * `precision` defines the number of\n * significant digits after the decimal\n * point.\n * `precision` is undefined by default,\n * not rounding any digits.\n * {number} lowerExp Exponent determining the lower boundary\n * for formatting a value with an exponent\n * when `notation='auto`.\n * Default value is `-3`.\n * {number} upperExp Exponent determining the upper boundary\n * for formatting a value with an exponent\n * when `notation='auto`.\n * Default value is `5`.\n * {Function} fn A custom formatting function. Can be used to override the\n * built-in notations. Function `fn` is called with `value` as\n * parameter and must return a string. Is useful for example to\n * format all values inside a matrix in a particular way.\n *\n * Examples:\n *\n * format(6.4) // '6.4'\n * format(1240000) // '1.24e6'\n * format(1/3) // '0.3333333333333333'\n * format(1/3, 3) // '0.333'\n * format(21385, 2) // '21000'\n * format(12.071, {notation: 'fixed'}) // '12'\n * format(2.3, {notation: 'fixed', precision: 2}) // '2.30'\n * format(52.8, {notation: 'exponential'}) // '5.28e+1'\n * format(12345678, {notation: 'engineering'}) // '12.345678e+6'\n *\n * @param {number} value\n * @param {Object | Function | number} [options]\n * @return {string} str The formatted value\n */\nexport function format(value, options) {\n if (typeof options === 'function') {\n // handle format(value, fn)\n return options(value);\n }\n\n // handle special cases\n if (value === Infinity) {\n return 'Infinity';\n } else if (value === -Infinity) {\n return '-Infinity';\n } else if (isNaN(value)) {\n return 'NaN';\n }\n\n // default values for options\n var notation = 'auto';\n var precision;\n var wordSize;\n if (options) {\n // determine notation from options\n if (options.notation) {\n notation = options.notation;\n }\n\n // determine precision from options\n if (isNumber(options)) {\n precision = options;\n } else if (isNumber(options.precision)) {\n precision = options.precision;\n }\n if (options.wordSize) {\n wordSize = options.wordSize;\n if (typeof wordSize !== 'number') {\n throw new Error('Option \"wordSize\" must be a number');\n }\n }\n }\n\n // handle the various notations\n switch (notation) {\n case 'fixed':\n return toFixed(value, precision);\n case 'exponential':\n return toExponential(value, precision);\n case 'engineering':\n return toEngineering(value, precision);\n case 'bin':\n return formatNumberToBase(value, 2, wordSize);\n case 'oct':\n return formatNumberToBase(value, 8, wordSize);\n case 'hex':\n return formatNumberToBase(value, 16, wordSize);\n case 'auto':\n // remove trailing zeros after the decimal point\n return toPrecision(value, precision, options && options).replace(/((\\.\\d*?)(0+))($|e)/, function () {\n var digits = arguments[2];\n var e = arguments[4];\n return digits !== '.' ? digits + e : e;\n });\n default:\n throw new Error('Unknown notation \"' + notation + '\". ' + 'Choose \"auto\", \"exponential\", \"fixed\", \"bin\", \"oct\", or \"hex.');\n }\n}\n\n/**\n * Split a number into sign, coefficients, and exponent\n * @param {number | string} value\n * @return {SplitValue}\n * Returns an object containing sign, coefficients, and exponent\n */\nexport function splitNumber(value) {\n // parse the input value\n var match = String(value).toLowerCase().match(/^(-?)(\\d+\\.?\\d*)(e([+-]?\\d+))?$/);\n if (!match) {\n throw new SyntaxError('Invalid number ' + value);\n }\n var sign = match[1];\n var digits = match[2];\n var exponent = parseFloat(match[4] || '0');\n var dot = digits.indexOf('.');\n exponent += dot !== -1 ? dot - 1 : digits.length - 1;\n var coefficients = digits.replace('.', '') // remove the dot (must be removed before removing leading zeros)\n .replace(/^0*/, function (zeros) {\n // remove leading zeros, add their count to the exponent\n exponent -= zeros.length;\n return '';\n }).replace(/0*$/, '') // remove trailing zeros\n .split('').map(function (d) {\n return parseInt(d);\n });\n if (coefficients.length === 0) {\n coefficients.push(0);\n exponent++;\n }\n return {\n sign,\n coefficients,\n exponent\n };\n}\n\n/**\n * Format a number in engineering notation. Like '1.23e+6', '2.3e+0', '3.500e-3'\n * @param {number | string} value\n * @param {number} [precision] Optional number of significant figures to return.\n */\nexport function toEngineering(value, precision) {\n if (isNaN(value) || !isFinite(value)) {\n return String(value);\n }\n var split = splitNumber(value);\n var rounded = roundDigits(split, precision);\n var e = rounded.exponent;\n var c = rounded.coefficients;\n\n // find nearest lower multiple of 3 for exponent\n var newExp = e % 3 === 0 ? e : e < 0 ? e - 3 - e % 3 : e - e % 3;\n if (isNumber(precision)) {\n // add zeroes to give correct sig figs\n while (precision > c.length || e - newExp + 1 > c.length) {\n c.push(0);\n }\n } else {\n // concatenate coefficients with necessary zeros\n // add zeros if necessary (for example: 1e+8 -> 100e+6)\n var missingZeros = Math.abs(e - newExp) - (c.length - 1);\n for (var i = 0; i < missingZeros; i++) {\n c.push(0);\n }\n }\n\n // find difference in exponents\n var expDiff = Math.abs(e - newExp);\n var decimalIdx = 1;\n\n // push decimal index over by expDiff times\n while (expDiff > 0) {\n decimalIdx++;\n expDiff--;\n }\n\n // if all coefficient values are zero after the decimal point and precision is unset, don't add a decimal value.\n // otherwise concat with the rest of the coefficients\n var decimals = c.slice(decimalIdx).join('');\n var decimalVal = isNumber(precision) && decimals.length || decimals.match(/[1-9]/) ? '.' + decimals : '';\n var str = c.slice(0, decimalIdx).join('') + decimalVal + 'e' + (e >= 0 ? '+' : '') + newExp.toString();\n return rounded.sign + str;\n}\n\n/**\n * Format a number with fixed notation.\n * @param {number | string} value\n * @param {number} [precision=undefined] Optional number of decimals after the\n * decimal point. null by default.\n */\nexport function toFixed(value, precision) {\n if (isNaN(value) || !isFinite(value)) {\n return String(value);\n }\n var splitValue = splitNumber(value);\n var rounded = typeof precision === 'number' ? roundDigits(splitValue, splitValue.exponent + 1 + precision) : splitValue;\n var c = rounded.coefficients;\n var p = rounded.exponent + 1; // exponent may have changed\n\n // append zeros if needed\n var pp = p + (precision || 0);\n if (c.length < pp) {\n c = c.concat(zeros(pp - c.length));\n }\n\n // prepend zeros if needed\n if (p < 0) {\n c = zeros(-p + 1).concat(c);\n p = 1;\n }\n\n // insert a dot if needed\n if (p < c.length) {\n c.splice(p, 0, p === 0 ? '0.' : '.');\n }\n return rounded.sign + c.join('');\n}\n\n/**\n * Format a number in exponential notation. Like '1.23e+5', '2.3e+0', '3.500e-3'\n * @param {number | string} value\n * @param {number} [precision] Number of digits in formatted output.\n * If not provided, the maximum available digits\n * is used.\n */\nexport function toExponential(value, precision) {\n if (isNaN(value) || !isFinite(value)) {\n return String(value);\n }\n\n // round if needed, else create a clone\n var split = splitNumber(value);\n var rounded = precision ? roundDigits(split, precision) : split;\n var c = rounded.coefficients;\n var e = rounded.exponent;\n\n // append zeros if needed\n if (c.length < precision) {\n c = c.concat(zeros(precision - c.length));\n }\n\n // format as `C.CCCe+EEE` or `C.CCCe-EEE`\n var first = c.shift();\n return rounded.sign + first + (c.length > 0 ? '.' + c.join('') : '') + 'e' + (e >= 0 ? '+' : '') + e;\n}\n\n/**\n * Format a number with a certain precision\n * @param {number | string} value\n * @param {number} [precision=undefined] Optional number of digits.\n * @param {{lowerExp: number | undefined, upperExp: number | undefined}} [options]\n * By default:\n * lowerExp = -3 (incl)\n * upper = +5 (excl)\n * @return {string}\n */\nexport function toPrecision(value, precision, options) {\n if (isNaN(value) || !isFinite(value)) {\n return String(value);\n }\n\n // determine lower and upper bound for exponential notation.\n var lowerExp = options && options.lowerExp !== undefined ? options.lowerExp : -3;\n var upperExp = options && options.upperExp !== undefined ? options.upperExp : 5;\n var split = splitNumber(value);\n var rounded = precision ? roundDigits(split, precision) : split;\n if (rounded.exponent < lowerExp || rounded.exponent >= upperExp) {\n // exponential notation\n return toExponential(value, precision);\n } else {\n var c = rounded.coefficients;\n var e = rounded.exponent;\n\n // append trailing zeros\n if (c.length < precision) {\n c = c.concat(zeros(precision - c.length));\n }\n\n // append trailing zeros\n // TODO: simplify the next statement\n c = c.concat(zeros(e - c.length + 1 + (c.length < precision ? precision - c.length : 0)));\n\n // prepend zeros\n c = zeros(-e).concat(c);\n var dot = e > 0 ? e : 0;\n if (dot < c.length - 1) {\n c.splice(dot + 1, 0, '.');\n }\n return rounded.sign + c.join('');\n }\n}\n\n/**\n * Round the number of digits of a number *\n * @param {SplitValue} split A value split with .splitNumber(value)\n * @param {number} precision A positive integer\n * @return {SplitValue}\n * Returns an object containing sign, coefficients, and exponent\n * with rounded digits\n */\nexport function roundDigits(split, precision) {\n // create a clone\n var rounded = {\n sign: split.sign,\n coefficients: split.coefficients,\n exponent: split.exponent\n };\n var c = rounded.coefficients;\n\n // prepend zeros if needed\n while (precision <= 0) {\n c.unshift(0);\n rounded.exponent++;\n precision++;\n }\n if (c.length > precision) {\n var removed = c.splice(precision, c.length - precision);\n if (removed[0] >= 5) {\n var i = precision - 1;\n c[i]++;\n while (c[i] === 10) {\n c.pop();\n if (i === 0) {\n c.unshift(0);\n rounded.exponent++;\n i++;\n }\n i--;\n c[i]++;\n }\n }\n }\n return rounded;\n}\n\n/**\n * Create an array filled with zeros.\n * @param {number} length\n * @return {Array}\n */\nfunction zeros(length) {\n var arr = [];\n for (var i = 0; i < length; i++) {\n arr.push(0);\n }\n return arr;\n}\n\n/**\n * Count the number of significant digits of a number.\n *\n * For example:\n * 2.34 returns 3\n * 0.0034 returns 2\n * 120.5e+30 returns 4\n *\n * @param {number} value\n * @return {number} digits Number of significant digits\n */\nexport function digits(value) {\n return value.toExponential().replace(/e.*$/, '') // remove exponential notation\n .replace(/^0\\.?0*|\\./, '') // remove decimal point and leading zeros\n .length;\n}\n\n/**\n * Minimum number added to one that makes the result different than one\n */\nexport var DBL_EPSILON = Number.EPSILON || 2.2204460492503130808472633361816E-16;\n\n/**\n * Compares two floating point numbers.\n * @param {number} x First value to compare\n * @param {number} y Second value to compare\n * @param {number} [epsilon] The maximum relative difference between x and y\n * If epsilon is undefined or null, the function will\n * test whether x and y are exactly equal.\n * @return {boolean} whether the two numbers are nearly equal\n*/\nexport function nearlyEqual(x, y, epsilon) {\n // if epsilon is null or undefined, test whether x and y are exactly equal\n if (epsilon === null || epsilon === undefined) {\n return x === y;\n }\n if (x === y) {\n return true;\n }\n\n // NaN\n if (isNaN(x) || isNaN(y)) {\n return false;\n }\n\n // at this point x and y should be finite\n if (isFinite(x) && isFinite(y)) {\n // check numbers are very close, needed when comparing numbers near zero\n var diff = Math.abs(x - y);\n if (diff < DBL_EPSILON) {\n return true;\n } else {\n // use relative error\n return diff <= Math.max(Math.abs(x), Math.abs(y)) * epsilon;\n }\n }\n\n // Infinite and Number or negative Infinite and positive Infinite cases\n return false;\n}\n\n/**\n * Calculate the hyperbolic arccos of a number\n * @param {number} x\n * @return {number}\n */\nexport var acosh = Math.acosh || function (x) {\n return Math.log(Math.sqrt(x * x - 1) + x);\n};\nexport var asinh = Math.asinh || function (x) {\n return Math.log(Math.sqrt(x * x + 1) + x);\n};\n\n/**\n * Calculate the hyperbolic arctangent of a number\n * @param {number} x\n * @return {number}\n */\nexport var atanh = Math.atanh || function (x) {\n return Math.log((1 + x) / (1 - x)) / 2;\n};\n\n/**\n * Calculate the hyperbolic cosine of a number\n * @param {number} x\n * @returns {number}\n */\nexport var cosh = Math.cosh || function (x) {\n return (Math.exp(x) + Math.exp(-x)) / 2;\n};\n\n/**\n * Calculate the hyperbolic sine of a number\n * @param {number} x\n * @returns {number}\n */\nexport var sinh = Math.sinh || function (x) {\n return (Math.exp(x) - Math.exp(-x)) / 2;\n};\n\n/**\n * Calculate the hyperbolic tangent of a number\n * @param {number} x\n * @returns {number}\n */\nexport var tanh = Math.tanh || function (x) {\n var e = Math.exp(2 * x);\n return (e - 1) / (e + 1);\n};\n\n/**\n * Returns a value with the magnitude of x and the sign of y.\n * @param {number} x\n * @param {number} y\n * @returns {number}\n */\nexport function copysign(x, y) {\n var signx = x > 0 ? true : x < 0 ? false : 1 / x === Infinity;\n var signy = y > 0 ? true : y < 0 ? false : 1 / y === Infinity;\n return signx ^ signy ? -x : x;\n}","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","import { factory } from '../../utils/factory.js';\nvar name = 'intersect';\nvar dependencies = ['typed', 'config', 'abs', 'add', 'addScalar', 'matrix', 'multiply', 'multiplyScalar', 'divideScalar', 'subtract', 'smaller', 'equalScalar', 'flatten', 'isZero', 'isNumeric'];\nexport var createIntersect = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n abs,\n add,\n addScalar,\n matrix,\n multiply,\n multiplyScalar,\n divideScalar,\n subtract,\n smaller,\n equalScalar,\n flatten,\n isZero,\n isNumeric\n } = _ref;\n /**\n * Calculates the point of intersection of two lines in two or three dimensions\n * and of a line and a plane in three dimensions. The inputs are in the form of\n * arrays or 1 dimensional matrices. The line intersection functions return null\n * if the lines do not meet.\n *\n * Note: Fill the plane coefficients as `x + y + z = c` and not as `x + y + z + c = 0`.\n *\n * Syntax:\n *\n * math.intersect(endPoint1Line1, endPoint2Line1, endPoint1Line2, endPoint2Line2)\n * math.intersect(endPoint1, endPoint2, planeCoefficients)\n *\n * Examples:\n *\n * math.intersect([0, 0], [10, 10], [10, 0], [0, 10]) // Returns [5, 5]\n * math.intersect([0, 0, 0], [10, 10, 0], [10, 0, 0], [0, 10, 0]) // Returns [5, 5, 0]\n * math.intersect([1, 0, 1], [4, -2, 2], [1, 1, 1, 6]) // Returns [7, -4, 3]\n *\n * @param {Array | Matrix} w Co-ordinates of first end-point of first line\n * @param {Array | Matrix} x Co-ordinates of second end-point of first line\n * @param {Array | Matrix} y Co-ordinates of first end-point of second line\n * OR Co-efficients of the plane's equation\n * @param {Array | Matrix} z Co-ordinates of second end-point of second line\n * OR undefined if the calculation is for line and plane\n * @return {Array} Returns the point of intersection of lines/lines-planes\n */\n return typed('intersect', {\n 'Array, Array, Array': _AAA,\n 'Array, Array, Array, Array': _AAAA,\n 'Matrix, Matrix, Matrix': function MatrixMatrixMatrix(x, y, plane) {\n var arr = _AAA(x.valueOf(), y.valueOf(), plane.valueOf());\n return arr === null ? null : matrix(arr);\n },\n 'Matrix, Matrix, Matrix, Matrix': function MatrixMatrixMatrixMatrix(w, x, y, z) {\n // TODO: output matrix type should match input matrix type\n var arr = _AAAA(w.valueOf(), x.valueOf(), y.valueOf(), z.valueOf());\n return arr === null ? null : matrix(arr);\n }\n });\n function _AAA(x, y, plane) {\n x = _coerceArr(x);\n y = _coerceArr(y);\n plane = _coerceArr(plane);\n if (!_3d(x)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for first argument');\n }\n if (!_3d(y)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for second argument');\n }\n if (!_4d(plane)) {\n throw new TypeError('Array with 4 numbers expected as third argument');\n }\n return _intersectLinePlane(x[0], x[1], x[2], y[0], y[1], y[2], plane[0], plane[1], plane[2], plane[3]);\n }\n function _AAAA(w, x, y, z) {\n w = _coerceArr(w);\n x = _coerceArr(x);\n y = _coerceArr(y);\n z = _coerceArr(z);\n if (w.length === 2) {\n if (!_2d(w)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for first argument');\n }\n if (!_2d(x)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for second argument');\n }\n if (!_2d(y)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for third argument');\n }\n if (!_2d(z)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for fourth argument');\n }\n return _intersect2d(w, x, y, z);\n } else if (w.length === 3) {\n if (!_3d(w)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for first argument');\n }\n if (!_3d(x)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for second argument');\n }\n if (!_3d(y)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for third argument');\n }\n if (!_3d(z)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for fourth argument');\n }\n return _intersect3d(w[0], w[1], w[2], x[0], x[1], x[2], y[0], y[1], y[2], z[0], z[1], z[2]);\n } else {\n throw new TypeError('Arrays with two or thee dimensional points expected');\n }\n }\n\n /** Coerce row and column 2-dim arrays to 1-dim array */\n function _coerceArr(arr) {\n // row matrix\n if (arr.length === 1) return arr[0];\n\n // column matrix\n if (arr.length > 1 && Array.isArray(arr[0])) {\n if (arr.every(el => Array.isArray(el) && el.length === 1)) return flatten(arr);\n }\n return arr;\n }\n function _2d(x) {\n return x.length === 2 && isNumeric(x[0]) && isNumeric(x[1]);\n }\n function _3d(x) {\n return x.length === 3 && isNumeric(x[0]) && isNumeric(x[1]) && isNumeric(x[2]);\n }\n function _4d(x) {\n return x.length === 4 && isNumeric(x[0]) && isNumeric(x[1]) && isNumeric(x[2]) && isNumeric(x[3]);\n }\n function _intersect2d(p1a, p1b, p2a, p2b) {\n var o1 = p1a;\n var o2 = p2a;\n var d1 = subtract(o1, p1b);\n var d2 = subtract(o2, p2b);\n var det = subtract(multiplyScalar(d1[0], d2[1]), multiplyScalar(d2[0], d1[1]));\n if (isZero(det)) return null;\n if (smaller(abs(det), config.epsilon)) {\n return null;\n }\n var d20o11 = multiplyScalar(d2[0], o1[1]);\n var d21o10 = multiplyScalar(d2[1], o1[0]);\n var d20o21 = multiplyScalar(d2[0], o2[1]);\n var d21o20 = multiplyScalar(d2[1], o2[0]);\n var t = divideScalar(addScalar(subtract(subtract(d20o11, d21o10), d20o21), d21o20), det);\n return add(multiply(d1, t), o1);\n }\n function _intersect3dHelper(a, b, c, d, e, f, g, h, i, j, k, l) {\n // (a - b)*(c - d) + (e - f)*(g - h) + (i - j)*(k - l)\n var add1 = multiplyScalar(subtract(a, b), subtract(c, d));\n var add2 = multiplyScalar(subtract(e, f), subtract(g, h));\n var add3 = multiplyScalar(subtract(i, j), subtract(k, l));\n return addScalar(addScalar(add1, add2), add3);\n }\n function _intersect3d(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) {\n var d1343 = _intersect3dHelper(x1, x3, x4, x3, y1, y3, y4, y3, z1, z3, z4, z3);\n var d4321 = _intersect3dHelper(x4, x3, x2, x1, y4, y3, y2, y1, z4, z3, z2, z1);\n var d1321 = _intersect3dHelper(x1, x3, x2, x1, y1, y3, y2, y1, z1, z3, z2, z1);\n var d4343 = _intersect3dHelper(x4, x3, x4, x3, y4, y3, y4, y3, z4, z3, z4, z3);\n var d2121 = _intersect3dHelper(x2, x1, x2, x1, y2, y1, y2, y1, z2, z1, z2, z1);\n var numerator = subtract(multiplyScalar(d1343, d4321), multiplyScalar(d1321, d4343));\n var denominator = subtract(multiplyScalar(d2121, d4343), multiplyScalar(d4321, d4321));\n if (isZero(denominator)) return null;\n var ta = divideScalar(numerator, denominator);\n var tb = divideScalar(addScalar(d1343, multiplyScalar(ta, d4321)), d4343);\n var pax = addScalar(x1, multiplyScalar(ta, subtract(x2, x1)));\n var pay = addScalar(y1, multiplyScalar(ta, subtract(y2, y1)));\n var paz = addScalar(z1, multiplyScalar(ta, subtract(z2, z1)));\n var pbx = addScalar(x3, multiplyScalar(tb, subtract(x4, x3)));\n var pby = addScalar(y3, multiplyScalar(tb, subtract(y4, y3)));\n var pbz = addScalar(z3, multiplyScalar(tb, subtract(z4, z3)));\n if (equalScalar(pax, pbx) && equalScalar(pay, pby) && equalScalar(paz, pbz)) {\n return [pax, pay, paz];\n } else {\n return null;\n }\n }\n function _intersectLinePlane(x1, y1, z1, x2, y2, z2, x, y, z, c) {\n var x1x = multiplyScalar(x1, x);\n var x2x = multiplyScalar(x2, x);\n var y1y = multiplyScalar(y1, y);\n var y2y = multiplyScalar(y2, y);\n var z1z = multiplyScalar(z1, z);\n var z2z = multiplyScalar(z2, z);\n var numerator = subtract(subtract(subtract(c, x1x), y1y), z1z);\n var denominator = subtract(subtract(subtract(addScalar(addScalar(x2x, y2y), z2z), x1x), y1y), z1z);\n var t = divideScalar(numerator, denominator);\n var px = addScalar(x1, multiplyScalar(t, subtract(x2, x1)));\n var py = addScalar(y1, multiplyScalar(t, subtract(y2, y1)));\n var pz = addScalar(z1, multiplyScalar(t, subtract(z2, z1)));\n return [px, py, pz];\n // TODO: Add cases when line is parallel to the plane:\n // (a) no intersection,\n // (b) line contained in plane\n }\n});","import { factory } from '../../utils/factory.js';\nvar name = 'matrixFromFunction';\nvar dependencies = ['typed', 'matrix', 'isZero'];\nexport var createMatrixFromFunction = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n isZero\n } = _ref;\n /**\n * Create a matrix by evaluating a generating function at each index.\n * The simplest overload returns a multi-dimensional array as long as `size` is an array.\n * Passing `size` as a Matrix or specifying a `format` will result in returning a Matrix.\n *\n * Syntax:\n *\n * math.matrixFromFunction(size, fn)\n * math.matrixFromFunction(size, fn, format)\n * math.matrixFromFunction(size, fn, format, datatype)\n * math.matrixFromFunction(size, format, fn)\n * math.matrixFromFunction(size, format, datatype, fn)\n *\n * Examples:\n *\n * math.matrixFromFunction([3,3], i => i[0] - i[1]) // an antisymmetric matrix\n * math.matrixFromFunction([100, 100], 'sparse', i => i[0] - i[1] === 1 ? 4 : 0) // a sparse subdiagonal matrix\n * math.matrixFromFunction([5], i => math.random()) // a random vector\n *\n * See also:\n *\n * matrix, zeros\n *\n * @param {Array | Matrix} size The size of the matrix to be created\n * @param {function} fn Callback function invoked for every entry in the matrix\n * @param {string} [format] The Matrix storage format, either `'dense'` or `'sparse'`\n * @param {string} [datatype] Type of the values\n * @return {Array | Matrix} Returns the created matrix\n */\n return typed(name, {\n 'Array | Matrix, function, string, string': function ArrayMatrixFunctionStringString(size, fn, format, datatype) {\n return _create(size, fn, format, datatype);\n },\n 'Array | Matrix, function, string': function ArrayMatrixFunctionString(size, fn, format) {\n return _create(size, fn, format);\n },\n 'Matrix, function': function MatrixFunction(size, fn) {\n return _create(size, fn, 'dense');\n },\n 'Array, function': function ArrayFunction(size, fn) {\n return _create(size, fn, 'dense').toArray();\n },\n 'Array | Matrix, string, function': function ArrayMatrixStringFunction(size, format, fn) {\n return _create(size, fn, format);\n },\n 'Array | Matrix, string, string, function': function ArrayMatrixStringStringFunction(size, format, datatype, fn) {\n return _create(size, fn, format, datatype);\n }\n });\n function _create(size, fn, format, datatype) {\n var m;\n if (datatype !== undefined) {\n m = matrix(format, datatype);\n } else {\n m = matrix(format);\n }\n m.resize(size);\n m.forEach(function (_, index) {\n var val = fn(index);\n if (isZero(val)) return;\n m.set(index, val);\n });\n return m;\n }\n});","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","import { deepMap } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { isZeroNumber } from '../../plain/number/index.js';\nvar name = 'isZero';\nvar dependencies = ['typed'];\nexport var createIsZero = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Test whether a value is zero.\n * The function can check for zero for types `number`, `BigNumber`, `Fraction`,\n * `Complex`, and `Unit`.\n *\n * The function is evaluated element-wise in case of Array or Matrix input.\n *\n * Syntax:\n *\n * math.isZero(x)\n *\n * Examples:\n *\n * math.isZero(0) // returns true\n * math.isZero(2) // returns false\n * math.isZero(0.5) // returns false\n * math.isZero(math.bignumber(0)) // returns true\n * math.isZero(math.fraction(0)) // returns true\n * math.isZero(math.fraction(1,3)) // returns false\n * math.isZero(math.complex('2 - 4i')) // returns false\n * math.isZero(math.complex('0i')) // returns true\n * math.isZero('0') // returns true\n * math.isZero('2') // returns false\n * math.isZero([2, 0, -3]) // returns [false, true, false]\n *\n * See also:\n *\n * isNumeric, isPositive, isNegative, isInteger\n *\n * @param {number | BigNumber | Complex | Fraction | Unit | Array | Matrix} x Value to be tested\n * @return {boolean} Returns true when `x` is zero.\n * Throws an error in case of an unknown data type.\n */\n return typed(name, {\n number: isZeroNumber,\n BigNumber: function BigNumber(x) {\n return x.isZero();\n },\n Complex: function Complex(x) {\n return x.re === 0 && x.im === 0;\n },\n Fraction: function Fraction(x) {\n return x.d === 1 && x.n === 0;\n },\n Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n","import { factory } from '../../utils/factory.js';\nvar name = 'count';\nvar dependencies = ['typed', 'size', 'prod'];\nexport var createCount = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n size,\n prod\n } = _ref;\n /**\n * Count the number of elements of a matrix, array or string.\n *\n * Syntax:\n *\n * math.count(x)\n *\n * Examples:\n *\n * math.count('hello world') // returns 11\n * const A = [[1, 2, 3], [4, 5, 6]]\n * math.count(A) // returns 6\n * math.count(math.range(1,6)) // returns 5\n *\n * See also:\n *\n * size\n *\n * @param {string | Array | Matrix} x A matrix or string\n * @return {number} An integer with the elements in `x`.\n */\n return typed(name, {\n string: function string(x) {\n return x.length;\n },\n 'Matrix | Array': function MatrixArray(x) {\n return prod(size(x));\n }\n });\n});","import { flatten, generalize, identify } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'setIntersect';\nvar dependencies = ['typed', 'size', 'subset', 'compareNatural', 'Index', 'DenseMatrix'];\nexport var createSetIntersect = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n size,\n subset,\n compareNatural,\n Index,\n DenseMatrix\n } = _ref;\n /**\n * Create the intersection of two (multi)sets.\n * Multi-dimension arrays will be converted to single-dimension arrays before the operation.\n *\n * Syntax:\n *\n * math.setIntersect(set1, set2)\n *\n * Examples:\n *\n * math.setIntersect([1, 2, 3, 4], [3, 4, 5, 6]) // returns [3, 4]\n * math.setIntersect([[1, 2], [3, 4]], [[3, 4], [5, 6]]) // returns [3, 4]\n *\n * See also:\n *\n * setUnion, setDifference\n *\n * @param {Array | Matrix} a1 A (multi)set\n * @param {Array | Matrix} a2 A (multi)set\n * @return {Array | Matrix} The intersection of two (multi)sets\n */\n return typed(name, {\n 'Array | Matrix, Array | Matrix': function ArrayMatrixArrayMatrix(a1, a2) {\n var result;\n if (subset(size(a1), new Index(0)) === 0 || subset(size(a2), new Index(0)) === 0) {\n // of any of them is empty, return empty\n result = [];\n } else {\n var b1 = identify(flatten(Array.isArray(a1) ? a1 : a1.toArray()).sort(compareNatural));\n var b2 = identify(flatten(Array.isArray(a2) ? a2 : a2.toArray()).sort(compareNatural));\n result = [];\n for (var i = 0; i < b1.length; i++) {\n for (var j = 0; j < b2.length; j++) {\n if (compareNatural(b1[i].value, b2[j].value) === 0 && b1[i].identifier === b2[j].identifier) {\n // the identifier is always a decimal int\n result.push(b1[i]);\n break;\n }\n }\n }\n }\n // return an array, if both inputs were arrays\n if (Array.isArray(a1) && Array.isArray(a2)) {\n return generalize(result);\n }\n // return a matrix otherwise\n return new DenseMatrix(generalize(result));\n }\n });\n});","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import { flatten } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'setSymDifference';\nvar dependencies = ['typed', 'size', 'concat', 'subset', 'setDifference', 'Index'];\nexport var createSetSymDifference = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n size,\n concat,\n subset,\n setDifference,\n Index\n } = _ref;\n /**\n * Create the symmetric difference of two (multi)sets.\n * Multi-dimension arrays will be converted to single-dimension arrays before the operation.\n *\n * Syntax:\n *\n * math.setSymDifference(set1, set2)\n *\n * Examples:\n *\n * math.setSymDifference([1, 2, 3, 4], [3, 4, 5, 6]) // returns [1, 2, 5, 6]\n * math.setSymDifference([[1, 2], [3, 4]], [[3, 4], [5, 6]]) // returns [1, 2, 5, 6]\n *\n * See also:\n *\n * setUnion, setIntersect, setDifference\n *\n * @param {Array | Matrix} a1 A (multi)set\n * @param {Array | Matrix} a2 A (multi)set\n * @return {Array | Matrix} The symmetric difference of two (multi)sets\n */\n return typed(name, {\n 'Array | Matrix, Array | Matrix': function ArrayMatrixArrayMatrix(a1, a2) {\n if (subset(size(a1), new Index(0)) === 0) {\n // if any of them is empty, return the other one\n return flatten(a2);\n } else if (subset(size(a2), new Index(0)) === 0) {\n return flatten(a1);\n }\n var b1 = flatten(a1);\n var b2 = flatten(a2);\n return concat(setDifference(b1, b2), setDifference(b2, b1));\n }\n });\n});","import html2pdf from 'html2pdf.js';\n\n//\n\r\nvar script = {\r\n\tprops: {\r\n\t\tshowLayout: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false\r\n\t\t},\r\n\r\n\t\tfloatLayout: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: true\r\n\t\t},\r\n\r\n\t\tenableDownload: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: true\r\n\t\t},\r\n\r\n\t\tpreviewModal: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false\r\n\t\t},\r\n\r\n\t\tpaginateElementsByHeight: {\r\n\t\t\ttype: Number\r\n\t\t},\r\n\r\n\t\tfilename: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: (\"\" + (new Date().getTime()))\r\n\t\t},\r\n\r\n\t\tpdfQuality: {\r\n\t\t\ttype: Number,\r\n\t\t\tdefault: 2,\r\n\t\t},\r\n\r\n\t\tpdfFormat: {\r\n\t\t\tdefault: 'a4',\r\n\t\t},\r\n\r\n\t\tpdfOrientation: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: 'portrait'\r\n\t\t},\r\n\r\n\t\tpdfContentWidth: {\r\n\t\t\tdefault: '800px'\r\n\t\t},\r\n\r\n\t\thtmlToPdfOptions: {\r\n\t\t\ttype: Object\r\n\t\t},\r\n\r\n\t\tmanualPagination: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false\r\n\t\t}\r\n\t},\r\n\r\n\tdata: function data () {\r\n\t\treturn {\r\n\t\t\thasAlreadyParsed: false,\r\n\t\t\tprogress: 0,\r\n\t\t\tpdfWindow: null,\r\n\t\t\tpdfFile: null\r\n\t\t}\r\n\t},\r\n\r\n\twatch: {\r\n\t\tprogress: function progress (val) {\r\n\t\t\tthis.$emit('progress', val);\r\n\t\t},\r\n\r\n\t\tpaginateElementsByHeight: function paginateElementsByHeight () {\r\n\t\t\tthis.resetPagination();\r\n\t\t},\r\n\r\n\t\t$props: {\r\n\t\t\thandler: function handler () {\r\n\t\t\t\tthis.validateProps();\r\n\t\t\t},\r\n\r\n\t\t\tdeep: true,\r\n\t\t\timmediate: true\r\n\t\t}\r\n\t},\r\n\r\n\tmethods: {\r\n\t\tvalidateProps: function validateProps () {\r\n\t\t\t// If manual-pagination is false, paginate-elements-by-height props is required\r\n\t\t\tif (!this.manualPagination) {\r\n\t\t\t\tif (this.paginateElementsByHeight === undefined) {\r\n\t\t\t\t\tconsole.error('Error: paginate-elements-by-height is required if manual-pagination is false');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tresetPagination: function resetPagination () {\r\n\t\t\tvar parentElement = this.$refs.pdfContent.firstChild;\r\n\t\t\tvar pageBreaks = parentElement.getElementsByClassName('html2pdf__page-break');\r\n\t\t\tvar pageBreakLength = pageBreaks.length - 1;\r\n\t\t\t\r\n\t\t\tif (pageBreakLength === -1) { return }\r\n\r\n\t\t\tthis.hasAlreadyParsed = false;\r\n\r\n\t\t\t// Remove All Page Break (For Pagination)\r\n\t\t\tfor (var x = pageBreakLength; x >= 0; x--) {\r\n\t\t\t\tpageBreaks[x].parentNode.removeChild(pageBreaks[x]);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tgeneratePdf: function generatePdf () {\r\n\t\t\tthis.$emit('startPagination');\r\n\t\t\tthis.progress = 0;\r\n\t\t\tthis.paginationOfElements();\r\n\t\t},\r\n\r\n\t\tpaginationOfElements: function paginationOfElements () {\r\n\t\t\tthis.progress = 25;\r\n\r\n\t\t\t/*\r\n\t\t\t\tWhen this props is true, \r\n\t\t\t\tthe props paginate-elements-by-height will not be used.\r\n\t\t\t\tInstead the pagination process will rely on the elements with a class \"html2pdf__page-break\"\r\n\t\t\t\tto know where to page break, which is automatically done by html2pdf.js\r\n\t\t\t*/\r\n\t\t\tif (this.manualPagination) {\r\n\t\t\t\tthis.progress = 70;\r\n\t\t\t\tthis.$emit('hasPaginated');\r\n\t\t\t\tthis.downloadPdf();\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tif (!this.hasAlreadyParsed) {\r\n\t\t\t\tvar parentElement = this.$refs.pdfContent.firstChild;\r\n\t\t\t\tvar ArrOfContentChildren = Array.from(parentElement.children);\r\n\t\t\t\tvar childrenHeight = 0;\r\n\r\n\t\t\t\t/*\r\n\t\t\t\t\tLoop through Elements and add there height with childrenHeight variable.\r\n\t\t\t\t\tOnce the childrenHeight is >= this.paginateElementsByHeight, create a div with\r\n\t\t\t\t\ta class named 'html2pdf__page-break' and insert the element before the element\r\n\t\t\t\t\tthat will be in the next page\r\n\t\t\t\t*/\r\n\t\t\t\tfor (var childElement of ArrOfContentChildren) {\r\n\t\t\t\t\t// Get The First Class of the element\r\n\t\t\t\t\tvar elementFirstClass = childElement.classList[0];\r\n\t\t\t\t\tvar isPageBreakClass = elementFirstClass === 'html2pdf__page-break';\r\n\t\t\t\t\tif (isPageBreakClass) {\r\n\t\t\t\t\t\tchildrenHeight = 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Get Element Height\r\n\t\t\t\t\t\tvar elementHeight = childElement.clientHeight;\r\n\r\n\t\t\t\t\t\t// Get Computed Margin Top and Bottom\r\n\t\t\t\t\t\tvar elementComputedStyle = childElement.currentStyle || window.getComputedStyle(childElement);\r\n\t\t\t\t\t\tvar elementMarginTopBottom = parseInt(elementComputedStyle.marginTop) + parseInt(elementComputedStyle.marginBottom);\r\n\r\n\t\t\t\t\t\t// Add Both Element Height with the Elements Margin Top and Bottom\r\n\t\t\t\t\t\tvar elementHeightWithMargin = elementHeight + elementMarginTopBottom;\r\n\r\n\t\t\t\t\t\tif ((childrenHeight + elementHeight) < this.paginateElementsByHeight) {\r\n\t\t\t\t\t\t\tchildrenHeight += elementHeightWithMargin;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvar section = document.createElement('div');\r\n\t\t\t\t\t\t\tsection.classList.add('html2pdf__page-break');\r\n\t\t\t\t\t\t\tparentElement.insertBefore(section, childElement);\r\n\r\n\t\t\t\t\t\t\t// Reset Variables made the upper condition false\r\n\t\t\t\t\t\t\tchildrenHeight = elementHeightWithMargin;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.progress = 70;\r\n\r\n\t\t\t\t/*\r\n\t\t\t\t\tSet to true so that if would generate again we wouldn't need\r\n\t\t\t\t\tto parse the HTML to paginate the elements\r\n\t\t\t\t*/\r\n\t\t\t\tthis.hasAlreadyParsed = true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.progress = 70;\r\n\t\t\t}\r\n\r\n\t\t\tthis.$emit('hasPaginated');\r\n\t\t\tthis.downloadPdf();\r\n\t\t},\r\n\r\n\t\tdownloadPdf: async function downloadPdf () {\r\n\t\t\t// Set Element and Html2pdf.js Options\r\n\t\t\tvar pdfContent = this.$refs.pdfContent;\r\n\t\t\tvar options = this.setOptions();\r\n\r\n\t\t\tthis.$emit('beforeDownload', { html2pdf: html2pdf, options: options, pdfContent: pdfContent });\r\n\r\n\t\t\tvar html2PdfSetup = html2pdf().set(options).from(pdfContent);\r\n\t\t\tvar pdfBlobUrl = null;\r\n\r\n\t\t\tif (this.previewModal) {\r\n\t\t\t\tthis.pdfFile = await html2PdfSetup.output('bloburl');\r\n\t\t\t\tpdfBlobUrl = this.pdfFile;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.enableDownload) {\r\n\t\t\t\tpdfBlobUrl = await html2PdfSetup.save().output('bloburl');\r\n\t\t\t}\r\n\r\n\t\t\tif (pdfBlobUrl) {\r\n\t\t\t\tvar res = await fetch(pdfBlobUrl);\r\n\t\t\t\tvar blobFile = await res.blob();\r\n\t\t\t\tthis.$emit('hasDownloaded', blobFile);\r\n\t\t\t}\r\n\r\n\t\t\tthis.progress = 100;\r\n\t\t},\r\n\r\n\t\tsetOptions: function setOptions () {\r\n\t\t\tif (this.htmlToPdfOptions !== undefined && this.htmlToPdfOptions !== null) {\r\n\t\t\t\treturn this.htmlToPdfOptions\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tmargin: 0,\r\n\r\n\t\t\t\tfilename: ((this.filename) + \".pdf\"),\r\n\r\n\t\t\t\timage: {\r\n\t\t\t\t\ttype: 'jpeg', \r\n\t\t\t\t\tquality: 0.98\r\n\t\t\t\t},\r\n\r\n\t\t\t\tenableLinks: false,\r\n\r\n\t\t\t\thtml2canvas: {\r\n\t\t\t\t\tscale: this.pdfQuality,\r\n\t\t\t\t\tuseCORS: true\r\n\t\t\t\t},\r\n\r\n\t\t\t\tjsPDF: {\r\n\t\t\t\t\tunit: 'in',\r\n\t\t\t\t\tformat: this.pdfFormat,\r\n\t\t\t\t\torientation: this.pdfOrientation\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tclosePreview: function closePreview () {\r\n\t\t\tthis.pdfFile = null;\r\n\t\t}\r\n\t}\r\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return function (id, style) { return addStyle(id, style); };\r\n}\r\nvar HEAD;\r\nvar styles = {};\r\nfunction addStyle(id, css) {\r\n var group = isOldIE ? css.media || 'default' : id;\r\n var style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n var code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n { style.element.setAttribute('media', css.media); }\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n var index = style.ids.size - 1;\r\n var textNode = document.createTextNode(code);\r\n var nodes = style.element.childNodes;\r\n if (nodes[index])\r\n { style.element.removeChild(nodes[index]); }\r\n if (nodes.length)\r\n { style.element.insertBefore(textNode, nodes[index]); }\r\n else\r\n { style.element.appendChild(textNode); }\r\n }\r\n }\r\n}\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vue-html2pdf\"},[_c('section',{staticClass:\"layout-container\",class:{\n\t\t\t\t'show-layout' : _vm.showLayout,\n\t\t\t\t'unset-all' : !_vm.floatLayout\n\t\t\t}},[_c('section',{ref:\"pdfContent\",staticClass:\"content-wrapper\",style:((\"width: \" + _vm.pdfContentWidth + \";\"))},[_vm._t(\"pdf-content\")],2)]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"transition-anim\"}},[(_vm.pdfFile)?_c('section',{staticClass:\"pdf-preview\"},[_c('button',{on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.closePreview()}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t×\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('iframe',{attrs:{\"src\":_vm.pdfFile,\"width\":\"100%\",\"height\":\"100%\"}})]):_vm._e()])],1)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n var __vue_inject_styles__ = function (inject) {\n if (!inject) { return }\n inject(\"data-v-1fd3ad26_0\", { source: \".vue-html2pdf .layout-container[data-v-1fd3ad26]{position:fixed;width:100vw;height:100vh;left:-100vw;top:0;z-index:-9999;background:rgba(95,95,95,.8);display:flex;justify-content:center;align-items:flex-start;overflow:auto}.vue-html2pdf .layout-container.show-layout[data-v-1fd3ad26]{left:0;z-index:9999}.vue-html2pdf .layout-container.unset-all[data-v-1fd3ad26]{all:unset;width:auto;height:auto}.vue-html2pdf .pdf-preview[data-v-1fd3ad26]{position:fixed;width:65%;min-width:600px;height:80vh;top:100px;z-index:9999999;left:50%;transform:translateX(-50%);border-radius:5px;box-shadow:0 0 10px #00000048}.vue-html2pdf .pdf-preview button[data-v-1fd3ad26]{position:absolute;top:-20px;left:-15px;width:35px;height:35px;background:#555;border:0;box-shadow:0 0 10px #00000048;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.vue-html2pdf .pdf-preview iframe[data-v-1fd3ad26]{border:0}.vue-html2pdf .transition-anim-enter-active[data-v-1fd3ad26],.vue-html2pdf .transition-anim-leave-active[data-v-1fd3ad26]{transition:opacity .3s ease-in}.vue-html2pdf .transition-anim-enter[data-v-1fd3ad26],.vue-html2pdf .transition-anim-leave-to[data-v-1fd3ad26]{opacity:0}\", map: undefined, media: undefined });\n\n };\n /* scoped */\n var __vue_scope_id__ = \"data-v-1fd3ad26\";\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n createInjector,\n undefined,\n undefined\n );\n\n// Import vue component\r\n\r\n// install function executed by Vue.use()\r\nfunction install(Vue) {\r\n if (install.installed) { return; }\r\n install.installed = true;\r\n Vue.component('VueHtml2pdf', __vue_component__);\r\n}\r\n\r\n// Create module definition for Vue.use()\r\nvar plugin = {\r\n install: install,\r\n};\r\n\r\n// To auto-install when vue is found\r\n/* global window global */\r\nvar GlobalVue = null;\r\nif (typeof window !== 'undefined') {\r\n GlobalVue = window.Vue;\r\n} else if (typeof global !== 'undefined') {\r\n GlobalVue = global.Vue;\r\n}\r\nif (GlobalVue) {\r\n GlobalVue.use(plugin);\r\n}\r\n\r\n// Inject install function into component - allows component\r\n// to be registered via Vue.use() as well as Vue.component()\r\n__vue_component__.install = install;\r\n\r\n// It's possible to expose named exports when writing components that can\r\n// also be used as directives, etc. - eg. import { RollupDemoDirective } from 'rollup-demo';\r\n// export const RollupDemoDirective = component;\n\nexport default __vue_component__;\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key === key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n entry = entry.next;\n }\n state.first = state.last = undefined;\n state.index = create(null);\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first === entry) state.first = next;\n if (state.last === entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind === 'keys') return createIterResultObject(entry.key, false);\n if (kind === 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","import { factory } from '../../../utils/factory.js';\nvar name = 'schur';\nvar dependencies = ['typed', 'matrix', 'identity', 'multiply', 'qr', 'norm', 'subtract'];\nexport var createSchur = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n identity,\n multiply,\n qr,\n norm,\n subtract\n } = _ref;\n /**\n *\n * Performs a real Schur decomposition of the real matrix A = UTU' where U is orthogonal\n * and T is upper quasi-triangular.\n * https://en.wikipedia.org/wiki/Schur_decomposition\n *\n * Syntax:\n *\n * math.schur(A)\n *\n * Examples:\n *\n * const A = [[1, 0], [-4, 3]]\n * math.schur(A) // returns {T: [[3, 4], [0, 1]], R: [[0, 1], [-1, 0]]}\n *\n * See also:\n *\n * sylvester, lyap, qr\n *\n * @param {Array | Matrix} A Matrix A\n * @return {{U: Array | Matrix, T: Array | Matrix}} Object containing both matrix U and T of the Schur Decomposition A=UTU'\n */\n return typed(name, {\n Array: function Array(X) {\n var r = _schur(matrix(X));\n return {\n U: r.U.valueOf(),\n T: r.T.valueOf()\n };\n },\n Matrix: function Matrix(X) {\n return _schur(X);\n }\n });\n function _schur(X) {\n var n = X.size()[0];\n var A = X;\n var U = identity(n);\n var k = 0;\n var A0;\n do {\n A0 = A;\n var QR = qr(A);\n var Q = QR.Q;\n var R = QR.R;\n A = multiply(R, Q);\n U = multiply(U, Q);\n if (k++ > 100) {\n break;\n }\n } while (norm(subtract(A, A0)) > 1e-4);\n return {\n U,\n T: A\n };\n }\n});","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { isComplex, isUnit, typeOf } from '../../utils/is.js';\nimport { factory } from '../../utils/factory.js';\nimport { memoize } from '../../utils/function.js';\nimport { endsWith } from '../../utils/string.js';\nimport { clone, hasOwnProperty } from '../../utils/object.js';\nimport { createBigNumberPi as createPi } from '../../utils/bignumber/constants.js';\nvar name = 'Unit';\nvar dependencies = ['?on', 'config', 'addScalar', 'subtractScalar', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];\nexport var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n on,\n config,\n addScalar,\n subtractScalar,\n multiplyScalar,\n divideScalar,\n pow,\n abs,\n fix,\n round,\n equal,\n isNumeric,\n format,\n number: _number,\n Complex,\n BigNumber: _BigNumber,\n Fraction: _Fraction\n } = _ref;\n var toNumber = _number;\n /**\n * A unit can be constructed in the following ways:\n *\n * const a = new Unit(value, valuelessUnit)\n * const b = new Unit(null, valuelessUnit)\n * const c = Unit.parse(str)\n *\n * Example usage:\n *\n * const a = new Unit(5, 'cm') // 50 mm\n * const b = Unit.parse('23 kg') // 23 kg\n * const c = math.in(a, new Unit(null, 'm') // 0.05 m\n * const d = new Unit(9.81, \"m/s^2\") // 9.81 m/s^2\n *\n * @class Unit\n * @constructor Unit\n * @param {number | BigNumber | Fraction | Complex | boolean} [value] A value like 5.2\n * @param {string | Unit} valuelessUnit A unit without value. Can have prefix, like \"cm\"\n */\n function Unit(value, valuelessUnit) {\n if (!(this instanceof Unit)) {\n throw new Error('Constructor must be called with the new operator');\n }\n if (!(value === null || value === undefined || isNumeric(value) || isComplex(value))) {\n throw new TypeError('First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined');\n }\n this.fixPrefix = false; // if true, function format will not search for the\n // best prefix but leave it as initially provided.\n // fixPrefix is set true by the method Unit.to\n\n // The justification behind this is that if the constructor is explicitly called,\n // the caller wishes the units to be returned exactly as supplied.\n this.skipAutomaticSimplification = true;\n if (valuelessUnit === undefined) {\n this.units = [];\n this.dimensions = BASE_DIMENSIONS.map(x => 0);\n } else if (typeof valuelessUnit === 'string') {\n var u = Unit.parse(valuelessUnit);\n this.units = u.units;\n this.dimensions = u.dimensions;\n } else if (isUnit(valuelessUnit) && valuelessUnit.value === null) {\n // clone from valuelessUnit\n this.fixPrefix = valuelessUnit.fixPrefix;\n this.skipAutomaticSimplification = valuelessUnit.skipAutomaticSimplification;\n this.dimensions = valuelessUnit.dimensions.slice(0);\n this.units = valuelessUnit.units.map(u => _extends({}, u));\n } else {\n throw new TypeError('Second parameter in Unit constructor must be a string or valueless Unit');\n }\n this.value = this._normalize(value);\n }\n\n /**\n * Attach type information\n */\n Object.defineProperty(Unit, 'name', {\n value: 'Unit'\n });\n Unit.prototype.constructor = Unit;\n Unit.prototype.type = 'Unit';\n Unit.prototype.isUnit = true;\n\n // private variables and functions for the Unit parser\n var text, index, c;\n function skipWhitespace() {\n while (c === ' ' || c === '\\t') {\n next();\n }\n }\n function isDigitDot(c) {\n return c >= '0' && c <= '9' || c === '.';\n }\n function isDigit(c) {\n return c >= '0' && c <= '9';\n }\n function next() {\n index++;\n c = text.charAt(index);\n }\n function revert(oldIndex) {\n index = oldIndex;\n c = text.charAt(index);\n }\n function parseNumber() {\n var number = '';\n var oldIndex = index;\n if (c === '+') {\n next();\n } else if (c === '-') {\n number += c;\n next();\n }\n if (!isDigitDot(c)) {\n // a + or - must be followed by a digit\n revert(oldIndex);\n return null;\n }\n\n // get number, can have a single dot\n if (c === '.') {\n number += c;\n next();\n if (!isDigit(c)) {\n // this is no legal number, it is just a dot\n revert(oldIndex);\n return null;\n }\n } else {\n while (isDigit(c)) {\n number += c;\n next();\n }\n if (c === '.') {\n number += c;\n next();\n }\n }\n while (isDigit(c)) {\n number += c;\n next();\n }\n\n // check for exponential notation like \"2.3e-4\" or \"1.23e50\"\n if (c === 'E' || c === 'e') {\n // The grammar branches here. This could either be part of an exponent or the start of a unit that begins with the letter e, such as \"4exabytes\"\n\n var tentativeNumber = '';\n var tentativeIndex = index;\n tentativeNumber += c;\n next();\n if (c === '+' || c === '-') {\n tentativeNumber += c;\n next();\n }\n\n // Scientific notation MUST be followed by an exponent (otherwise we assume it is not scientific notation)\n if (!isDigit(c)) {\n // The e or E must belong to something else, so return the number without the e or E.\n revert(tentativeIndex);\n return number;\n }\n\n // We can now safely say that this is scientific notation.\n number = number + tentativeNumber;\n while (isDigit(c)) {\n number += c;\n next();\n }\n }\n return number;\n }\n function parseUnit() {\n var unitName = '';\n\n // Alphanumeric characters only; matches [a-zA-Z0-9]\n while (isDigit(c) || Unit.isValidAlpha(c)) {\n unitName += c;\n next();\n }\n\n // Must begin with [a-zA-Z]\n var firstC = unitName.charAt(0);\n if (Unit.isValidAlpha(firstC)) {\n return unitName;\n } else {\n return null;\n }\n }\n function parseCharacter(toFind) {\n if (c === toFind) {\n next();\n return toFind;\n } else {\n return null;\n }\n }\n\n /**\n * Parse a string into a unit. The value of the unit is parsed as number,\n * BigNumber, or Fraction depending on the math.js config setting `number`.\n *\n * Throws an exception if the provided string does not contain a valid unit or\n * cannot be parsed.\n * @memberof Unit\n * @param {string} str A string like \"5.2 inch\", \"4e2 cm/s^2\"\n * @return {Unit} unit\n */\n Unit.parse = function (str, options) {\n options = options || {};\n text = str;\n index = -1;\n c = '';\n if (typeof text !== 'string') {\n throw new TypeError('Invalid argument in Unit.parse, string expected');\n }\n var unit = new Unit();\n unit.units = [];\n var powerMultiplierCurrent = 1;\n var expectingUnit = false;\n\n // A unit should follow this pattern:\n // [number] ...[ [*/] unit[^number] ]\n // unit[^number] ... [ [*/] unit[^number] ]\n\n // Rules:\n // number is any floating point number.\n // unit is any alphanumeric string beginning with an alpha. Units with names like e3 should be avoided because they look like the exponent of a floating point number!\n // The string may optionally begin with a number.\n // Each unit may optionally be followed by ^number.\n // Whitespace or a forward slash is recommended between consecutive units, although the following technically is parseable:\n // 2m^2kg/s^2\n // it is not good form. If a unit starts with e, then it could be confused as a floating point number:\n // 4erg\n\n next();\n skipWhitespace();\n\n // Optional number at the start of the string\n var valueStr = parseNumber();\n var value = null;\n if (valueStr) {\n if (config.number === 'BigNumber') {\n value = new _BigNumber(valueStr);\n } else if (config.number === 'Fraction') {\n try {\n // not all numbers can be turned in Fractions, for example very small numbers not\n value = new _Fraction(valueStr);\n } catch (err) {\n value = parseFloat(valueStr);\n }\n } else {\n // number\n value = parseFloat(valueStr);\n }\n skipWhitespace(); // Whitespace is not required here\n\n // handle multiplication or division right after the value, like '1/s'\n if (parseCharacter('*')) {\n powerMultiplierCurrent = 1;\n expectingUnit = true;\n } else if (parseCharacter('/')) {\n powerMultiplierCurrent = -1;\n expectingUnit = true;\n }\n }\n\n // Stack to keep track of powerMultipliers applied to each parentheses group\n var powerMultiplierStack = [];\n\n // Running product of all elements in powerMultiplierStack\n var powerMultiplierStackProduct = 1;\n while (true) {\n skipWhitespace();\n\n // Check for and consume opening parentheses, pushing powerMultiplierCurrent to the stack\n // A '(' will always appear directly before a unit.\n while (c === '(') {\n powerMultiplierStack.push(powerMultiplierCurrent);\n powerMultiplierStackProduct *= powerMultiplierCurrent;\n powerMultiplierCurrent = 1;\n next();\n skipWhitespace();\n }\n\n // Is there something here?\n var uStr = void 0;\n if (c) {\n var oldC = c;\n uStr = parseUnit();\n if (uStr === null) {\n throw new SyntaxError('Unexpected \"' + oldC + '\" in \"' + text + '\" at index ' + index.toString());\n }\n } else {\n // End of input.\n break;\n }\n\n // Verify the unit exists and get the prefix (if any)\n var res = _findUnit(uStr);\n if (res === null) {\n // Unit not found.\n throw new SyntaxError('Unit \"' + uStr + '\" not found.');\n }\n var power = powerMultiplierCurrent * powerMultiplierStackProduct;\n // Is there a \"^ number\"?\n skipWhitespace();\n if (parseCharacter('^')) {\n skipWhitespace();\n var p = parseNumber();\n if (p === null) {\n // No valid number found for the power!\n throw new SyntaxError('In \"' + str + '\", \"^\" must be followed by a floating-point number');\n }\n power *= p;\n }\n\n // Add the unit to the list\n unit.units.push({\n unit: res.unit,\n prefix: res.prefix,\n power\n });\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n unit.dimensions[i] += (res.unit.dimensions[i] || 0) * power;\n }\n\n // Check for and consume closing parentheses, popping from the stack.\n // A ')' will always follow a unit.\n skipWhitespace();\n while (c === ')') {\n if (powerMultiplierStack.length === 0) {\n throw new SyntaxError('Unmatched \")\" in \"' + text + '\" at index ' + index.toString());\n }\n powerMultiplierStackProduct /= powerMultiplierStack.pop();\n next();\n skipWhitespace();\n }\n\n // \"*\" and \"/\" should mean we are expecting something to come next.\n // Is there a forward slash? If so, negate powerMultiplierCurrent. The next unit or paren group is in the denominator.\n expectingUnit = false;\n if (parseCharacter('*')) {\n // explicit multiplication\n powerMultiplierCurrent = 1;\n expectingUnit = true;\n } else if (parseCharacter('/')) {\n // division\n powerMultiplierCurrent = -1;\n expectingUnit = true;\n } else {\n // implicit multiplication\n powerMultiplierCurrent = 1;\n }\n\n // Replace the unit into the auto unit system\n if (res.unit.base) {\n var baseDim = res.unit.base.key;\n UNIT_SYSTEMS.auto[baseDim] = {\n unit: res.unit,\n prefix: res.prefix\n };\n }\n }\n\n // Has the string been entirely consumed?\n skipWhitespace();\n if (c) {\n throw new SyntaxError('Could not parse: \"' + str + '\"');\n }\n\n // Is there a trailing slash?\n if (expectingUnit) {\n throw new SyntaxError('Trailing characters: \"' + str + '\"');\n }\n\n // Is the parentheses stack empty?\n if (powerMultiplierStack.length !== 0) {\n throw new SyntaxError('Unmatched \"(\" in \"' + text + '\"');\n }\n\n // Are there any units at all?\n if (unit.units.length === 0 && !options.allowNoUnits) {\n throw new SyntaxError('\"' + str + '\" contains no units');\n }\n unit.value = value !== undefined ? unit._normalize(value) : null;\n return unit;\n };\n\n /**\n * create a copy of this unit\n * @memberof Unit\n * @return {Unit} Returns a cloned version of the unit\n */\n Unit.prototype.clone = function () {\n var unit = new Unit();\n unit.fixPrefix = this.fixPrefix;\n unit.skipAutomaticSimplification = this.skipAutomaticSimplification;\n unit.value = clone(this.value);\n unit.dimensions = this.dimensions.slice(0);\n unit.units = [];\n for (var i = 0; i < this.units.length; i++) {\n unit.units[i] = {};\n for (var p in this.units[i]) {\n if (hasOwnProperty(this.units[i], p)) {\n unit.units[i][p] = this.units[i][p];\n }\n }\n }\n return unit;\n };\n\n /**\n * Return the type of the value of this unit\n *\n * @memberof Unit\n * @ return {string} type of the value of the unit\n */\n Unit.prototype.valueType = function () {\n return typeOf(this.value);\n };\n\n /**\n * Return whether the unit is derived (such as m/s, or cm^2, but not N)\n * @memberof Unit\n * @return {boolean} True if the unit is derived\n */\n Unit.prototype._isDerived = function () {\n if (this.units.length === 0) {\n return false;\n }\n return this.units.length > 1 || Math.abs(this.units[0].power - 1.0) > 1e-15;\n };\n\n /**\n * Normalize a value, based on its currently set unit(s)\n * @memberof Unit\n * @param {number | BigNumber | Fraction | boolean} value\n * @return {number | BigNumber | Fraction | boolean} normalized value\n * @private\n */\n Unit.prototype._normalize = function (value) {\n if (value === null || value === undefined || this.units.length === 0) {\n return value;\n }\n var res = value;\n var convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed\n\n for (var i = 0; i < this.units.length; i++) {\n var unitValue = convert(this.units[i].unit.value);\n var unitPrefixValue = convert(this.units[i].prefix.value);\n var unitPower = convert(this.units[i].power);\n res = multiplyScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));\n }\n return res;\n };\n\n /**\n * Denormalize a value, based on its currently set unit(s)\n * @memberof Unit\n * @param {number} value\n * @param {number} [prefixValue] Optional prefix value to be used (ignored if this is a derived unit)\n * @return {number} denormalized value\n * @private\n */\n Unit.prototype._denormalize = function (value, prefixValue) {\n if (value === null || value === undefined || this.units.length === 0) {\n return value;\n }\n var res = value;\n var convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed\n\n for (var i = 0; i < this.units.length; i++) {\n var unitValue = convert(this.units[i].unit.value);\n var unitPrefixValue = convert(this.units[i].prefix.value);\n var unitPower = convert(this.units[i].power);\n res = divideScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));\n }\n return res;\n };\n\n /**\n * Find a unit from a string\n * @memberof Unit\n * @param {string} str A string like 'cm' or 'inch'\n * @returns {Object | null} result When found, an object with fields unit and\n * prefix is returned. Else, null is returned.\n * @private\n */\n var _findUnit = memoize(str => {\n // First, match units names exactly. For example, a user could define 'mm' as 10^-4 m, which is silly, but then we would want 'mm' to match the user-defined unit.\n if (hasOwnProperty(UNITS, str)) {\n var unit = UNITS[str];\n var prefix = unit.prefixes[''];\n return {\n unit,\n prefix\n };\n }\n for (var _name in UNITS) {\n if (hasOwnProperty(UNITS, _name)) {\n if (endsWith(str, _name)) {\n var _unit = UNITS[_name];\n var prefixLen = str.length - _name.length;\n var prefixName = str.substring(0, prefixLen);\n var _prefix = hasOwnProperty(_unit.prefixes, prefixName) ? _unit.prefixes[prefixName] : undefined;\n if (_prefix !== undefined) {\n // store unit, prefix, and value\n return {\n unit: _unit,\n prefix: _prefix\n };\n }\n }\n }\n }\n return null;\n }, {\n hasher: args => args[0],\n limit: 100\n });\n\n /**\n * Test if the given expression is a unit.\n * The unit can have a prefix but cannot have a value.\n * @memberof Unit\n * @param {string} name A string to be tested whether it is a value less unit.\n * The unit can have prefix, like \"cm\"\n * @return {boolean} true if the given string is a unit\n */\n Unit.isValuelessUnit = function (name) {\n return _findUnit(name) !== null;\n };\n\n /**\n * check if this unit has given base unit\n * If this unit is a derived unit, this will ALWAYS return false, since by definition base units are not derived.\n * @memberof Unit\n * @param {BASE_UNITS | string | undefined} base\n */\n Unit.prototype.hasBase = function (base) {\n if (typeof base === 'string') {\n base = BASE_UNITS[base];\n }\n if (!base) {\n return false;\n }\n\n // All dimensions must be the same\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n if (Math.abs((this.dimensions[i] || 0) - (base.dimensions[i] || 0)) > 1e-12) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * Check if this unit has a base or bases equal to another base or bases\n * For derived units, the exponent on each base also must match\n * @memberof Unit\n * @param {Unit} other\n * @return {boolean} true if equal base\n */\n Unit.prototype.equalBase = function (other) {\n // All dimensions must be the same\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n if (Math.abs((this.dimensions[i] || 0) - (other.dimensions[i] || 0)) > 1e-12) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * Check if this unit equals another unit\n * @memberof Unit\n * @param {Unit} other\n * @return {boolean} true if both units are equal\n */\n Unit.prototype.equals = function (other) {\n return this.equalBase(other) && equal(this.value, other.value);\n };\n\n /**\n * Multiply this unit with another one or with a scalar\n * @memberof Unit\n * @param {Unit} other\n * @return {Unit} product of this unit and the other unit\n */\n Unit.prototype.multiply = function (_other) {\n var res = this.clone();\n var other = isUnit(_other) ? _other : new Unit(_other);\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n // Dimensions arrays may be of different lengths. Default to 0.\n res.dimensions[i] = (this.dimensions[i] || 0) + (other.dimensions[i] || 0);\n }\n\n // Append other's units list onto res\n for (var _i = 0; _i < other.units.length; _i++) {\n // Make a shallow copy of every unit\n var inverted = _objectSpread({}, other.units[_i]);\n res.units.push(inverted);\n }\n\n // If at least one operand has a value, then the result should also have a value\n if (this.value !== null || other.value !== null) {\n var valThis = this.value === null ? this._normalize(1) : this.value;\n var valOther = other.value === null ? other._normalize(1) : other.value;\n res.value = multiplyScalar(valThis, valOther);\n } else {\n res.value = null;\n }\n if (isUnit(_other)) {\n res.skipAutomaticSimplification = false;\n }\n return getNumericIfUnitless(res);\n };\n\n /**\n * Divide a number by this unit\n *\n * @memberof Unit\n * @param {numeric} numerator\n * @param {unit} result of dividing numerator by this unit\n */\n Unit.prototype.divideInto = function (numerator) {\n return new Unit(numerator).divide(this);\n };\n\n /**\n * Divide this unit by another one\n * @memberof Unit\n * @param {Unit | numeric} other\n * @return {Unit} result of dividing this unit by the other unit\n */\n Unit.prototype.divide = function (_other) {\n var res = this.clone();\n var other = isUnit(_other) ? _other : new Unit(_other);\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n // Dimensions arrays may be of different lengths. Default to 0.\n res.dimensions[i] = (this.dimensions[i] || 0) - (other.dimensions[i] || 0);\n }\n\n // Invert and append other's units list onto res\n for (var _i2 = 0; _i2 < other.units.length; _i2++) {\n // Make a shallow copy of every unit\n var inverted = _objectSpread(_objectSpread({}, other.units[_i2]), {}, {\n power: -other.units[_i2].power\n });\n res.units.push(inverted);\n }\n\n // If at least one operand has a value, the result should have a value\n if (this.value !== null || other.value !== null) {\n var valThis = this.value === null ? this._normalize(1) : this.value;\n var valOther = other.value === null ? other._normalize(1) : other.value;\n res.value = divideScalar(valThis, valOther);\n } else {\n res.value = null;\n }\n if (isUnit(_other)) {\n res.skipAutomaticSimplification = false;\n }\n return getNumericIfUnitless(res);\n };\n\n /**\n * Calculate the power of a unit\n * @memberof Unit\n * @param {number | Fraction | BigNumber} p\n * @returns {Unit} The result: this^p\n */\n Unit.prototype.pow = function (p) {\n var res = this.clone();\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n // Dimensions arrays may be of different lengths. Default to 0.\n res.dimensions[i] = (this.dimensions[i] || 0) * p;\n }\n\n // Adjust the power of each unit in the list\n for (var _i3 = 0; _i3 < res.units.length; _i3++) {\n res.units[_i3].power *= p;\n }\n if (res.value !== null) {\n res.value = pow(res.value, p);\n\n // only allow numeric output, we don't want to return a Complex number\n // if (!isNumeric(res.value)) {\n // res.value = NaN\n // }\n // Update: Complex supported now\n } else {\n res.value = null;\n }\n res.skipAutomaticSimplification = false;\n return getNumericIfUnitless(res);\n };\n\n /**\n * Return the numeric value of this unit if it is dimensionless, has a value, and config.predictable == false; or the original unit otherwise\n * @param {Unit} unit\n * @returns {number | Fraction | BigNumber | Unit} The numeric value of the unit if conditions are met, or the original unit otherwise\n */\n function getNumericIfUnitless(unit) {\n if (unit.equalBase(BASE_UNITS.NONE) && unit.value !== null && !config.predictable) {\n return unit.value;\n } else {\n return unit;\n }\n }\n\n /**\n * Calculate the absolute value of a unit\n * @memberof Unit\n * @param {number | Fraction | BigNumber} x\n * @returns {Unit} The result: |x|, absolute value of x\n */\n Unit.prototype.abs = function () {\n var ret = this.clone();\n if (ret.value !== null) {\n if (ret._isDerived() || ret.units[0].unit.offset === 0) {\n ret.value = abs(ret.value);\n } else {\n // To give the correct, but unexpected, results for units with an offset.\n // For example, abs(-283.15 degC) = -263.15 degC !!!\n // We must take the offset into consideration here\n var convert = ret._numberConverter(); // convert to Fraction or BigNumber if needed\n var unitValue = convert(ret.units[0].unit.value);\n var nominalOffset = convert(ret.units[0].unit.offset);\n var unitOffset = multiplyScalar(unitValue, nominalOffset);\n ret.value = subtractScalar(abs(addScalar(ret.value, unitOffset)), unitOffset);\n }\n }\n for (var i in ret.units) {\n if (ret.units[i].unit.name === 'VA' || ret.units[i].unit.name === 'VAR') {\n ret.units[i].unit = UNITS.W;\n }\n }\n return ret;\n };\n\n /**\n * Convert the unit to a specific unit name.\n * @memberof Unit\n * @param {string | Unit} valuelessUnit A unit without value. Can have prefix, like \"cm\"\n * @returns {Unit} Returns a clone of the unit with a fixed prefix and unit.\n */\n Unit.prototype.to = function (valuelessUnit) {\n var value = this.value === null ? this._normalize(1) : this.value;\n var other;\n if (typeof valuelessUnit === 'string') {\n other = Unit.parse(valuelessUnit);\n } else if (isUnit(valuelessUnit)) {\n other = valuelessUnit.clone();\n } else {\n throw new Error('String or Unit expected as parameter');\n }\n if (!this.equalBase(other)) {\n throw new Error(\"Units do not match ('\".concat(other.toString(), \"' != '\").concat(this.toString(), \"')\"));\n }\n if (other.value !== null) {\n throw new Error('Cannot convert to a unit with a value');\n }\n if (this.value === null || this._isDerived() || this.units[0].unit.offset === other.units[0].unit.offset) {\n other.value = clone(value);\n } else {\n /* Need to adjust value by difference in offset to convert */\n var convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed\n\n var thisUnitValue = this.units[0].unit.value;\n var thisNominalOffset = this.units[0].unit.offset;\n var thisUnitOffset = multiplyScalar(thisUnitValue, thisNominalOffset);\n var otherUnitValue = other.units[0].unit.value;\n var otherNominalOffset = other.units[0].unit.offset;\n var otherUnitOffset = multiplyScalar(otherUnitValue, otherNominalOffset);\n other.value = addScalar(value, convert(subtractScalar(thisUnitOffset, otherUnitOffset)));\n }\n other.fixPrefix = true;\n other.skipAutomaticSimplification = true;\n return other;\n };\n\n /**\n * Return the value of the unit when represented with given valueless unit\n * @memberof Unit\n * @param {string | Unit} valuelessUnit For example 'cm' or 'inch'\n * @return {number} Returns the unit value as number.\n */\n // TODO: deprecate Unit.toNumber? It's always better to use toNumeric\n Unit.prototype.toNumber = function (valuelessUnit) {\n return toNumber(this.toNumeric(valuelessUnit));\n };\n\n /**\n * Return the value of the unit in the original numeric type\n * @memberof Unit\n * @param {string | Unit} valuelessUnit For example 'cm' or 'inch'\n * @return {number | BigNumber | Fraction} Returns the unit value\n */\n Unit.prototype.toNumeric = function (valuelessUnit) {\n var other;\n if (valuelessUnit) {\n // Allow getting the numeric value without converting to a different unit\n other = this.to(valuelessUnit);\n } else {\n other = this.clone();\n }\n if (other._isDerived() || other.units.length === 0) {\n return other._denormalize(other.value);\n } else {\n return other._denormalize(other.value, other.units[0].prefix.value);\n }\n };\n\n /**\n * Get a string representation of the unit.\n * @memberof Unit\n * @return {string}\n */\n Unit.prototype.toString = function () {\n return this.format();\n };\n\n /**\n * Get a JSON representation of the unit\n * @memberof Unit\n * @returns {Object} Returns a JSON object structured as:\n * `{\"mathjs\": \"Unit\", \"value\": 2, \"unit\": \"cm\", \"fixPrefix\": false}`\n */\n Unit.prototype.toJSON = function () {\n return {\n mathjs: 'Unit',\n value: this._denormalize(this.value),\n unit: this.formatUnits(),\n fixPrefix: this.fixPrefix\n };\n };\n\n /**\n * Instantiate a Unit from a JSON object\n * @memberof Unit\n * @param {Object} json A JSON object structured as:\n * `{\"mathjs\": \"Unit\", \"value\": 2, \"unit\": \"cm\", \"fixPrefix\": false}`\n * @return {Unit}\n */\n Unit.fromJSON = function (json) {\n var unit = new Unit(json.value, json.unit);\n unit.fixPrefix = json.fixPrefix || false;\n return unit;\n };\n\n /**\n * Returns the string representation of the unit.\n * @memberof Unit\n * @return {string}\n */\n Unit.prototype.valueOf = Unit.prototype.toString;\n\n /**\n * Simplify this Unit's unit list and return a new Unit with the simplified list.\n * The returned Unit will contain a list of the \"best\" units for formatting.\n */\n Unit.prototype.simplify = function () {\n var ret = this.clone();\n var proposedUnitList = [];\n\n // Search for a matching base\n var matchingBase;\n for (var key in currentUnitSystem) {\n if (hasOwnProperty(currentUnitSystem, key)) {\n if (ret.hasBase(BASE_UNITS[key])) {\n matchingBase = key;\n break;\n }\n }\n }\n if (matchingBase === 'NONE') {\n ret.units = [];\n } else {\n var matchingUnit;\n if (matchingBase) {\n // Does the unit system have a matching unit?\n if (hasOwnProperty(currentUnitSystem, matchingBase)) {\n matchingUnit = currentUnitSystem[matchingBase];\n }\n }\n if (matchingUnit) {\n ret.units = [{\n unit: matchingUnit.unit,\n prefix: matchingUnit.prefix,\n power: 1.0\n }];\n } else {\n // Multiple units or units with powers are formatted like this:\n // 5 (kg m^2) / (s^3 mol)\n // Build an representation from the base units of the current unit system\n var missingBaseDim = false;\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n var baseDim = BASE_DIMENSIONS[i];\n if (Math.abs(ret.dimensions[i] || 0) > 1e-12) {\n if (hasOwnProperty(currentUnitSystem, baseDim)) {\n proposedUnitList.push({\n unit: currentUnitSystem[baseDim].unit,\n prefix: currentUnitSystem[baseDim].prefix,\n power: ret.dimensions[i] || 0\n });\n } else {\n missingBaseDim = true;\n }\n }\n }\n\n // Is the proposed unit list \"simpler\" than the existing one?\n if (proposedUnitList.length < ret.units.length && !missingBaseDim) {\n // Replace this unit list with the proposed list\n ret.units = proposedUnitList;\n }\n }\n }\n return ret;\n };\n\n /**\n * Returns a new Unit in the SI system with the same value as this one\n */\n Unit.prototype.toSI = function () {\n var ret = this.clone();\n var proposedUnitList = [];\n\n // Multiple units or units with powers are formatted like this:\n // 5 (kg m^2) / (s^3 mol)\n // Build an representation from the base units of the SI unit system\n for (var i = 0; i < BASE_DIMENSIONS.length; i++) {\n var baseDim = BASE_DIMENSIONS[i];\n if (Math.abs(ret.dimensions[i] || 0) > 1e-12) {\n if (hasOwnProperty(UNIT_SYSTEMS.si, baseDim)) {\n proposedUnitList.push({\n unit: UNIT_SYSTEMS.si[baseDim].unit,\n prefix: UNIT_SYSTEMS.si[baseDim].prefix,\n power: ret.dimensions[i] || 0\n });\n } else {\n throw new Error('Cannot express custom unit ' + baseDim + ' in SI units');\n }\n }\n }\n\n // Replace this unit list with the proposed list\n ret.units = proposedUnitList;\n ret.fixPrefix = true;\n ret.skipAutomaticSimplification = true;\n return ret;\n };\n\n /**\n * Get a string representation of the units of this Unit, without the value. The unit list is formatted as-is without first being simplified.\n * @memberof Unit\n * @return {string}\n */\n Unit.prototype.formatUnits = function () {\n var strNum = '';\n var strDen = '';\n var nNum = 0;\n var nDen = 0;\n for (var i = 0; i < this.units.length; i++) {\n if (this.units[i].power > 0) {\n nNum++;\n strNum += ' ' + this.units[i].prefix.name + this.units[i].unit.name;\n if (Math.abs(this.units[i].power - 1.0) > 1e-15) {\n strNum += '^' + this.units[i].power;\n }\n } else if (this.units[i].power < 0) {\n nDen++;\n }\n }\n if (nDen > 0) {\n for (var _i4 = 0; _i4 < this.units.length; _i4++) {\n if (this.units[_i4].power < 0) {\n if (nNum > 0) {\n strDen += ' ' + this.units[_i4].prefix.name + this.units[_i4].unit.name;\n if (Math.abs(this.units[_i4].power + 1.0) > 1e-15) {\n strDen += '^' + -this.units[_i4].power;\n }\n } else {\n strDen += ' ' + this.units[_i4].prefix.name + this.units[_i4].unit.name;\n strDen += '^' + this.units[_i4].power;\n }\n }\n }\n }\n // Remove leading \" \"\n strNum = strNum.substr(1);\n strDen = strDen.substr(1);\n\n // Add parans for better copy/paste back into evaluate, for example, or for better pretty print formatting\n if (nNum > 1 && nDen > 0) {\n strNum = '(' + strNum + ')';\n }\n if (nDen > 1 && nNum > 0) {\n strDen = '(' + strDen + ')';\n }\n var str = strNum;\n if (nNum > 0 && nDen > 0) {\n str += ' / ';\n }\n str += strDen;\n return str;\n };\n\n /**\n * Get a string representation of the Unit, with optional formatting options.\n * @memberof Unit\n * @param {Object | number | Function} [options] Formatting options. See\n * lib/utils/number:format for a\n * description of the available\n * options.\n * @return {string}\n */\n Unit.prototype.format = function (options) {\n // Simplfy the unit list, unless it is valueless or was created directly in the\n // constructor or as the result of to or toSI\n var simp = this.skipAutomaticSimplification || this.value === null ? this.clone() : this.simplify();\n\n // Apply some custom logic for handling VA and VAR. The goal is to express the value of the unit as a real value, if possible. Otherwise, use a real-valued unit instead of a complex-valued one.\n var isImaginary = false;\n if (typeof simp.value !== 'undefined' && simp.value !== null && isComplex(simp.value)) {\n // TODO: Make this better, for example, use relative magnitude of re and im rather than absolute\n isImaginary = Math.abs(simp.value.re) < 1e-14;\n }\n for (var i in simp.units) {\n if (hasOwnProperty(simp.units, i)) {\n if (simp.units[i].unit) {\n if (simp.units[i].unit.name === 'VA' && isImaginary) {\n simp.units[i].unit = UNITS.VAR;\n } else if (simp.units[i].unit.name === 'VAR' && !isImaginary) {\n simp.units[i].unit = UNITS.VA;\n }\n }\n }\n }\n\n // Now apply the best prefix\n // Units must have only one unit and not have the fixPrefix flag set\n if (simp.units.length === 1 && !simp.fixPrefix) {\n // Units must have integer powers, otherwise the prefix will change the\n // outputted value by not-an-integer-power-of-ten\n if (Math.abs(simp.units[0].power - Math.round(simp.units[0].power)) < 1e-14) {\n // Apply the best prefix\n simp.units[0].prefix = simp._bestPrefix();\n }\n }\n var value = simp._denormalize(simp.value);\n var str = simp.value !== null ? format(value, options || {}) : '';\n var unitStr = simp.formatUnits();\n if (simp.value && isComplex(simp.value)) {\n str = '(' + str + ')'; // Surround complex values with ( ) to enable better parsing\n }\n\n if (unitStr.length > 0 && str.length > 0) {\n str += ' ';\n }\n str += unitStr;\n return str;\n };\n\n /**\n * Calculate the best prefix using current value.\n * @memberof Unit\n * @returns {Object} prefix\n * @private\n */\n Unit.prototype._bestPrefix = function () {\n if (this.units.length !== 1) {\n throw new Error('Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!');\n }\n if (Math.abs(this.units[0].power - Math.round(this.units[0].power)) >= 1e-14) {\n throw new Error('Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!');\n }\n\n // find the best prefix value (resulting in the value of which\n // the absolute value of the log10 is closest to zero,\n // though with a little offset of 1.2 for nicer values: you get a\n // sequence 1mm 100mm 500mm 0.6m 1m 10m 100m 500m 0.6km 1km ...\n\n // Note: the units value can be any numeric type, but to find the best\n // prefix it's enough to work with limited precision of a regular number\n // Update: using mathjs abs since we also allow complex numbers\n var absValue = this.value !== null ? abs(this.value) : 0;\n var absUnitValue = abs(this.units[0].unit.value);\n var bestPrefix = this.units[0].prefix;\n if (absValue === 0) {\n return bestPrefix;\n }\n var power = this.units[0].power;\n var bestDiff = Math.log(absValue / Math.pow(bestPrefix.value * absUnitValue, power)) / Math.LN10 - 1.2;\n if (bestDiff > -2.200001 && bestDiff < 1.800001) return bestPrefix; // Allow the original prefix\n bestDiff = Math.abs(bestDiff);\n var prefixes = this.units[0].unit.prefixes;\n for (var p in prefixes) {\n if (hasOwnProperty(prefixes, p)) {\n var prefix = prefixes[p];\n if (prefix.scientific) {\n var diff = Math.abs(Math.log(absValue / Math.pow(prefix.value * absUnitValue, power)) / Math.LN10 - 1.2);\n if (diff < bestDiff || diff === bestDiff && prefix.name.length < bestPrefix.name.length) {\n // choose the prefix with the smallest diff, or if equal, choose the one\n // with the shortest name (can happen with SHORTLONG for example)\n bestPrefix = prefix;\n bestDiff = diff;\n }\n }\n }\n }\n return bestPrefix;\n };\n\n /**\n * Returns an array of units whose sum is equal to this unit\n * @memberof Unit\n * @param {Array} [parts] An array of strings or valueless units.\n *\n * Example:\n *\n * const u = new Unit(1, 'm')\n * u.splitUnit(['feet', 'inch'])\n * [ 3 feet, 3.3700787401575 inch ]\n *\n * @return {Array} An array of units.\n */\n Unit.prototype.splitUnit = function (parts) {\n var x = this.clone();\n var ret = [];\n for (var i = 0; i < parts.length; i++) {\n // Convert x to the requested unit\n x = x.to(parts[i]);\n if (i === parts.length - 1) break;\n\n // Get the numeric value of this unit\n var xNumeric = x.toNumeric();\n\n // Check to see if xNumeric is nearly equal to an integer,\n // since fix can incorrectly round down if there is round-off error\n var xRounded = round(xNumeric);\n var xFixed = void 0;\n var isNearlyEqual = equal(xRounded, xNumeric);\n if (isNearlyEqual) {\n xFixed = xRounded;\n } else {\n xFixed = fix(x.toNumeric());\n }\n var y = new Unit(xFixed, parts[i].toString());\n ret.push(y);\n x = subtractScalar(x, y);\n }\n\n // This little bit fixes a bug where the remainder should be 0 but is a little bit off.\n // But instead of comparing x, the remainder, with zero--we will compare the sum of\n // all the parts so far with the original value. If they are nearly equal,\n // we set the remainder to 0.\n var testSum = 0;\n for (var _i5 = 0; _i5 < ret.length; _i5++) {\n testSum = addScalar(testSum, ret[_i5].value);\n }\n if (equal(testSum, this.value)) {\n x.value = 0;\n }\n ret.push(x);\n return ret;\n };\n var PREFIXES = {\n NONE: {\n '': {\n name: '',\n value: 1,\n scientific: true\n }\n },\n SHORT: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n da: {\n name: 'da',\n value: 1e1,\n scientific: false\n },\n h: {\n name: 'h',\n value: 1e2,\n scientific: false\n },\n k: {\n name: 'k',\n value: 1e3,\n scientific: true\n },\n M: {\n name: 'M',\n value: 1e6,\n scientific: true\n },\n G: {\n name: 'G',\n value: 1e9,\n scientific: true\n },\n T: {\n name: 'T',\n value: 1e12,\n scientific: true\n },\n P: {\n name: 'P',\n value: 1e15,\n scientific: true\n },\n E: {\n name: 'E',\n value: 1e18,\n scientific: true\n },\n Z: {\n name: 'Z',\n value: 1e21,\n scientific: true\n },\n Y: {\n name: 'Y',\n value: 1e24,\n scientific: true\n },\n d: {\n name: 'd',\n value: 1e-1,\n scientific: false\n },\n c: {\n name: 'c',\n value: 1e-2,\n scientific: false\n },\n m: {\n name: 'm',\n value: 1e-3,\n scientific: true\n },\n u: {\n name: 'u',\n value: 1e-6,\n scientific: true\n },\n n: {\n name: 'n',\n value: 1e-9,\n scientific: true\n },\n p: {\n name: 'p',\n value: 1e-12,\n scientific: true\n },\n f: {\n name: 'f',\n value: 1e-15,\n scientific: true\n },\n a: {\n name: 'a',\n value: 1e-18,\n scientific: true\n },\n z: {\n name: 'z',\n value: 1e-21,\n scientific: true\n },\n y: {\n name: 'y',\n value: 1e-24,\n scientific: true\n }\n },\n LONG: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n deca: {\n name: 'deca',\n value: 1e1,\n scientific: false\n },\n hecto: {\n name: 'hecto',\n value: 1e2,\n scientific: false\n },\n kilo: {\n name: 'kilo',\n value: 1e3,\n scientific: true\n },\n mega: {\n name: 'mega',\n value: 1e6,\n scientific: true\n },\n giga: {\n name: 'giga',\n value: 1e9,\n scientific: true\n },\n tera: {\n name: 'tera',\n value: 1e12,\n scientific: true\n },\n peta: {\n name: 'peta',\n value: 1e15,\n scientific: true\n },\n exa: {\n name: 'exa',\n value: 1e18,\n scientific: true\n },\n zetta: {\n name: 'zetta',\n value: 1e21,\n scientific: true\n },\n yotta: {\n name: 'yotta',\n value: 1e24,\n scientific: true\n },\n deci: {\n name: 'deci',\n value: 1e-1,\n scientific: false\n },\n centi: {\n name: 'centi',\n value: 1e-2,\n scientific: false\n },\n milli: {\n name: 'milli',\n value: 1e-3,\n scientific: true\n },\n micro: {\n name: 'micro',\n value: 1e-6,\n scientific: true\n },\n nano: {\n name: 'nano',\n value: 1e-9,\n scientific: true\n },\n pico: {\n name: 'pico',\n value: 1e-12,\n scientific: true\n },\n femto: {\n name: 'femto',\n value: 1e-15,\n scientific: true\n },\n atto: {\n name: 'atto',\n value: 1e-18,\n scientific: true\n },\n zepto: {\n name: 'zepto',\n value: 1e-21,\n scientific: true\n },\n yocto: {\n name: 'yocto',\n value: 1e-24,\n scientific: true\n }\n },\n SQUARED: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n da: {\n name: 'da',\n value: 1e2,\n scientific: false\n },\n h: {\n name: 'h',\n value: 1e4,\n scientific: false\n },\n k: {\n name: 'k',\n value: 1e6,\n scientific: true\n },\n M: {\n name: 'M',\n value: 1e12,\n scientific: true\n },\n G: {\n name: 'G',\n value: 1e18,\n scientific: true\n },\n T: {\n name: 'T',\n value: 1e24,\n scientific: true\n },\n P: {\n name: 'P',\n value: 1e30,\n scientific: true\n },\n E: {\n name: 'E',\n value: 1e36,\n scientific: true\n },\n Z: {\n name: 'Z',\n value: 1e42,\n scientific: true\n },\n Y: {\n name: 'Y',\n value: 1e48,\n scientific: true\n },\n d: {\n name: 'd',\n value: 1e-2,\n scientific: false\n },\n c: {\n name: 'c',\n value: 1e-4,\n scientific: false\n },\n m: {\n name: 'm',\n value: 1e-6,\n scientific: true\n },\n u: {\n name: 'u',\n value: 1e-12,\n scientific: true\n },\n n: {\n name: 'n',\n value: 1e-18,\n scientific: true\n },\n p: {\n name: 'p',\n value: 1e-24,\n scientific: true\n },\n f: {\n name: 'f',\n value: 1e-30,\n scientific: true\n },\n a: {\n name: 'a',\n value: 1e-36,\n scientific: true\n },\n z: {\n name: 'z',\n value: 1e-42,\n scientific: true\n },\n y: {\n name: 'y',\n value: 1e-48,\n scientific: true\n }\n },\n CUBIC: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n da: {\n name: 'da',\n value: 1e3,\n scientific: false\n },\n h: {\n name: 'h',\n value: 1e6,\n scientific: false\n },\n k: {\n name: 'k',\n value: 1e9,\n scientific: true\n },\n M: {\n name: 'M',\n value: 1e18,\n scientific: true\n },\n G: {\n name: 'G',\n value: 1e27,\n scientific: true\n },\n T: {\n name: 'T',\n value: 1e36,\n scientific: true\n },\n P: {\n name: 'P',\n value: 1e45,\n scientific: true\n },\n E: {\n name: 'E',\n value: 1e54,\n scientific: true\n },\n Z: {\n name: 'Z',\n value: 1e63,\n scientific: true\n },\n Y: {\n name: 'Y',\n value: 1e72,\n scientific: true\n },\n d: {\n name: 'd',\n value: 1e-3,\n scientific: false\n },\n c: {\n name: 'c',\n value: 1e-6,\n scientific: false\n },\n m: {\n name: 'm',\n value: 1e-9,\n scientific: true\n },\n u: {\n name: 'u',\n value: 1e-18,\n scientific: true\n },\n n: {\n name: 'n',\n value: 1e-27,\n scientific: true\n },\n p: {\n name: 'p',\n value: 1e-36,\n scientific: true\n },\n f: {\n name: 'f',\n value: 1e-45,\n scientific: true\n },\n a: {\n name: 'a',\n value: 1e-54,\n scientific: true\n },\n z: {\n name: 'z',\n value: 1e-63,\n scientific: true\n },\n y: {\n name: 'y',\n value: 1e-72,\n scientific: true\n }\n },\n BINARY_SHORT_SI: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n k: {\n name: 'k',\n value: 1e3,\n scientific: true\n },\n M: {\n name: 'M',\n value: 1e6,\n scientific: true\n },\n G: {\n name: 'G',\n value: 1e9,\n scientific: true\n },\n T: {\n name: 'T',\n value: 1e12,\n scientific: true\n },\n P: {\n name: 'P',\n value: 1e15,\n scientific: true\n },\n E: {\n name: 'E',\n value: 1e18,\n scientific: true\n },\n Z: {\n name: 'Z',\n value: 1e21,\n scientific: true\n },\n Y: {\n name: 'Y',\n value: 1e24,\n scientific: true\n }\n },\n BINARY_SHORT_IEC: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n Ki: {\n name: 'Ki',\n value: 1024,\n scientific: true\n },\n Mi: {\n name: 'Mi',\n value: Math.pow(1024, 2),\n scientific: true\n },\n Gi: {\n name: 'Gi',\n value: Math.pow(1024, 3),\n scientific: true\n },\n Ti: {\n name: 'Ti',\n value: Math.pow(1024, 4),\n scientific: true\n },\n Pi: {\n name: 'Pi',\n value: Math.pow(1024, 5),\n scientific: true\n },\n Ei: {\n name: 'Ei',\n value: Math.pow(1024, 6),\n scientific: true\n },\n Zi: {\n name: 'Zi',\n value: Math.pow(1024, 7),\n scientific: true\n },\n Yi: {\n name: 'Yi',\n value: Math.pow(1024, 8),\n scientific: true\n }\n },\n BINARY_LONG_SI: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n kilo: {\n name: 'kilo',\n value: 1e3,\n scientific: true\n },\n mega: {\n name: 'mega',\n value: 1e6,\n scientific: true\n },\n giga: {\n name: 'giga',\n value: 1e9,\n scientific: true\n },\n tera: {\n name: 'tera',\n value: 1e12,\n scientific: true\n },\n peta: {\n name: 'peta',\n value: 1e15,\n scientific: true\n },\n exa: {\n name: 'exa',\n value: 1e18,\n scientific: true\n },\n zetta: {\n name: 'zetta',\n value: 1e21,\n scientific: true\n },\n yotta: {\n name: 'yotta',\n value: 1e24,\n scientific: true\n }\n },\n BINARY_LONG_IEC: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n kibi: {\n name: 'kibi',\n value: 1024,\n scientific: true\n },\n mebi: {\n name: 'mebi',\n value: Math.pow(1024, 2),\n scientific: true\n },\n gibi: {\n name: 'gibi',\n value: Math.pow(1024, 3),\n scientific: true\n },\n tebi: {\n name: 'tebi',\n value: Math.pow(1024, 4),\n scientific: true\n },\n pebi: {\n name: 'pebi',\n value: Math.pow(1024, 5),\n scientific: true\n },\n exi: {\n name: 'exi',\n value: Math.pow(1024, 6),\n scientific: true\n },\n zebi: {\n name: 'zebi',\n value: Math.pow(1024, 7),\n scientific: true\n },\n yobi: {\n name: 'yobi',\n value: Math.pow(1024, 8),\n scientific: true\n }\n },\n BTU: {\n '': {\n name: '',\n value: 1,\n scientific: true\n },\n MM: {\n name: 'MM',\n value: 1e6,\n scientific: true\n }\n }\n };\n PREFIXES.SHORTLONG = _extends({}, PREFIXES.SHORT, PREFIXES.LONG);\n PREFIXES.BINARY_SHORT = _extends({}, PREFIXES.BINARY_SHORT_SI, PREFIXES.BINARY_SHORT_IEC);\n PREFIXES.BINARY_LONG = _extends({}, PREFIXES.BINARY_LONG_SI, PREFIXES.BINARY_LONG_IEC);\n\n /* Internally, each unit is represented by a value and a dimension array. The elements of the dimensions array have the following meaning:\n * Index Dimension\n * ----- ---------\n * 0 Length\n * 1 Mass\n * 2 Time\n * 3 Current\n * 4 Temperature\n * 5 Luminous intensity\n * 6 Amount of substance\n * 7 Angle\n * 8 Bit (digital)\n * For example, the unit \"298.15 K\" is a pure temperature and would have a value of 298.15 and a dimension array of [0, 0, 0, 0, 1, 0, 0, 0, 0]. The unit \"1 cal / (gm °C)\" can be written in terms of the 9 fundamental dimensions as [length^2] / ([time^2] * [temperature]), and would a value of (after conversion to SI) 4184.0 and a dimensions array of [2, 0, -2, 0, -1, 0, 0, 0, 0].\n *\n */\n\n var BASE_DIMENSIONS = ['MASS', 'LENGTH', 'TIME', 'CURRENT', 'TEMPERATURE', 'LUMINOUS_INTENSITY', 'AMOUNT_OF_SUBSTANCE', 'ANGLE', 'BIT'];\n var BASE_UNITS = {\n NONE: {\n dimensions: [0, 0, 0, 0, 0, 0, 0, 0, 0]\n },\n MASS: {\n dimensions: [1, 0, 0, 0, 0, 0, 0, 0, 0]\n },\n LENGTH: {\n dimensions: [0, 1, 0, 0, 0, 0, 0, 0, 0]\n },\n TIME: {\n dimensions: [0, 0, 1, 0, 0, 0, 0, 0, 0]\n },\n CURRENT: {\n dimensions: [0, 0, 0, 1, 0, 0, 0, 0, 0]\n },\n TEMPERATURE: {\n dimensions: [0, 0, 0, 0, 1, 0, 0, 0, 0]\n },\n LUMINOUS_INTENSITY: {\n dimensions: [0, 0, 0, 0, 0, 1, 0, 0, 0]\n },\n AMOUNT_OF_SUBSTANCE: {\n dimensions: [0, 0, 0, 0, 0, 0, 1, 0, 0]\n },\n FORCE: {\n dimensions: [1, 1, -2, 0, 0, 0, 0, 0, 0]\n },\n SURFACE: {\n dimensions: [0, 2, 0, 0, 0, 0, 0, 0, 0]\n },\n VOLUME: {\n dimensions: [0, 3, 0, 0, 0, 0, 0, 0, 0]\n },\n ENERGY: {\n dimensions: [1, 2, -2, 0, 0, 0, 0, 0, 0]\n },\n POWER: {\n dimensions: [1, 2, -3, 0, 0, 0, 0, 0, 0]\n },\n PRESSURE: {\n dimensions: [1, -1, -2, 0, 0, 0, 0, 0, 0]\n },\n ELECTRIC_CHARGE: {\n dimensions: [0, 0, 1, 1, 0, 0, 0, 0, 0]\n },\n ELECTRIC_CAPACITANCE: {\n dimensions: [-1, -2, 4, 2, 0, 0, 0, 0, 0]\n },\n ELECTRIC_POTENTIAL: {\n dimensions: [1, 2, -3, -1, 0, 0, 0, 0, 0]\n },\n ELECTRIC_RESISTANCE: {\n dimensions: [1, 2, -3, -2, 0, 0, 0, 0, 0]\n },\n ELECTRIC_INDUCTANCE: {\n dimensions: [1, 2, -2, -2, 0, 0, 0, 0, 0]\n },\n ELECTRIC_CONDUCTANCE: {\n dimensions: [-1, -2, 3, 2, 0, 0, 0, 0, 0]\n },\n MAGNETIC_FLUX: {\n dimensions: [1, 2, -2, -1, 0, 0, 0, 0, 0]\n },\n MAGNETIC_FLUX_DENSITY: {\n dimensions: [1, 0, -2, -1, 0, 0, 0, 0, 0]\n },\n FREQUENCY: {\n dimensions: [0, 0, -1, 0, 0, 0, 0, 0, 0]\n },\n ANGLE: {\n dimensions: [0, 0, 0, 0, 0, 0, 0, 1, 0]\n },\n BIT: {\n dimensions: [0, 0, 0, 0, 0, 0, 0, 0, 1]\n }\n };\n for (var key in BASE_UNITS) {\n if (hasOwnProperty(BASE_UNITS, key)) {\n BASE_UNITS[key].key = key;\n }\n }\n var BASE_UNIT_NONE = {};\n var UNIT_NONE = {\n name: '',\n base: BASE_UNIT_NONE,\n value: 1,\n offset: 0,\n dimensions: BASE_DIMENSIONS.map(x => 0)\n };\n var UNITS = {\n // length\n meter: {\n name: 'meter',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n inch: {\n name: 'inch',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.0254,\n offset: 0\n },\n foot: {\n name: 'foot',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.3048,\n offset: 0\n },\n yard: {\n name: 'yard',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.9144,\n offset: 0\n },\n mile: {\n name: 'mile',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 1609.344,\n offset: 0\n },\n link: {\n name: 'link',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.201168,\n offset: 0\n },\n rod: {\n name: 'rod',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 5.0292,\n offset: 0\n },\n chain: {\n name: 'chain',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 20.1168,\n offset: 0\n },\n angstrom: {\n name: 'angstrom',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 1e-10,\n offset: 0\n },\n m: {\n name: 'm',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n in: {\n name: 'in',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.0254,\n offset: 0\n },\n ft: {\n name: 'ft',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.3048,\n offset: 0\n },\n yd: {\n name: 'yd',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.9144,\n offset: 0\n },\n mi: {\n name: 'mi',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 1609.344,\n offset: 0\n },\n li: {\n name: 'li',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.201168,\n offset: 0\n },\n rd: {\n name: 'rd',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 5.029210,\n offset: 0\n },\n ch: {\n name: 'ch',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 20.1168,\n offset: 0\n },\n mil: {\n name: 'mil',\n base: BASE_UNITS.LENGTH,\n prefixes: PREFIXES.NONE,\n value: 0.0000254,\n offset: 0\n },\n // 1/1000 inch\n\n // Surface\n m2: {\n name: 'm2',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.SQUARED,\n value: 1,\n offset: 0\n },\n sqin: {\n name: 'sqin',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 0.00064516,\n offset: 0\n },\n // 645.16 mm2\n sqft: {\n name: 'sqft',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 0.09290304,\n offset: 0\n },\n // 0.09290304 m2\n sqyd: {\n name: 'sqyd',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 0.83612736,\n offset: 0\n },\n // 0.83612736 m2\n sqmi: {\n name: 'sqmi',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 2589988.110336,\n offset: 0\n },\n // 2.589988110336 km2\n sqrd: {\n name: 'sqrd',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 25.29295,\n offset: 0\n },\n // 25.29295 m2\n sqch: {\n name: 'sqch',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 404.6873,\n offset: 0\n },\n // 404.6873 m2\n sqmil: {\n name: 'sqmil',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 6.4516e-10,\n offset: 0\n },\n // 6.4516 * 10^-10 m2\n acre: {\n name: 'acre',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 4046.86,\n offset: 0\n },\n // 4046.86 m2\n hectare: {\n name: 'hectare',\n base: BASE_UNITS.SURFACE,\n prefixes: PREFIXES.NONE,\n value: 10000,\n offset: 0\n },\n // 10000 m2\n\n // Volume\n m3: {\n name: 'm3',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.CUBIC,\n value: 1,\n offset: 0\n },\n L: {\n name: 'L',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.SHORT,\n value: 0.001,\n offset: 0\n },\n // litre\n l: {\n name: 'l',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.SHORT,\n value: 0.001,\n offset: 0\n },\n // litre\n litre: {\n name: 'litre',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.LONG,\n value: 0.001,\n offset: 0\n },\n cuin: {\n name: 'cuin',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 1.6387064e-5,\n offset: 0\n },\n // 1.6387064e-5 m3\n cuft: {\n name: 'cuft',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.028316846592,\n offset: 0\n },\n // 28.316 846 592 L\n cuyd: {\n name: 'cuyd',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.764554857984,\n offset: 0\n },\n // 764.554 857 984 L\n teaspoon: {\n name: 'teaspoon',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.000005,\n offset: 0\n },\n // 5 mL\n tablespoon: {\n name: 'tablespoon',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.000015,\n offset: 0\n },\n // 15 mL\n // {name: 'cup', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.000240, offset: 0}, // 240 mL // not possible, we have already another cup\n drop: {\n name: 'drop',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 5e-8,\n offset: 0\n },\n // 0.05 mL = 5e-8 m3\n gtt: {\n name: 'gtt',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 5e-8,\n offset: 0\n },\n // 0.05 mL = 5e-8 m3\n\n // Liquid volume\n minim: {\n name: 'minim',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.00000006161152,\n offset: 0\n },\n // 0.06161152 mL\n fluiddram: {\n name: 'fluiddram',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0000036966911,\n offset: 0\n },\n // 3.696691 mL\n fluidounce: {\n name: 'fluidounce',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.00002957353,\n offset: 0\n },\n // 29.57353 mL\n gill: {\n name: 'gill',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0001182941,\n offset: 0\n },\n // 118.2941 mL\n cc: {\n name: 'cc',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 1e-6,\n offset: 0\n },\n // 1e-6 L\n cup: {\n name: 'cup',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0002365882,\n offset: 0\n },\n // 236.5882 mL\n pint: {\n name: 'pint',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0004731765,\n offset: 0\n },\n // 473.1765 mL\n quart: {\n name: 'quart',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0009463529,\n offset: 0\n },\n // 946.3529 mL\n gallon: {\n name: 'gallon',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.003785412,\n offset: 0\n },\n // 3.785412 L\n beerbarrel: {\n name: 'beerbarrel',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.1173478,\n offset: 0\n },\n // 117.3478 L\n oilbarrel: {\n name: 'oilbarrel',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.1589873,\n offset: 0\n },\n // 158.9873 L\n hogshead: {\n name: 'hogshead',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.2384810,\n offset: 0\n },\n // 238.4810 L\n\n // {name: 'min', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.00000006161152, offset: 0}, // 0.06161152 mL // min is already in use as minute\n fldr: {\n name: 'fldr',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0000036966911,\n offset: 0\n },\n // 3.696691 mL\n floz: {\n name: 'floz',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.00002957353,\n offset: 0\n },\n // 29.57353 mL\n gi: {\n name: 'gi',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0001182941,\n offset: 0\n },\n // 118.2941 mL\n cp: {\n name: 'cp',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0002365882,\n offset: 0\n },\n // 236.5882 mL\n pt: {\n name: 'pt',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0004731765,\n offset: 0\n },\n // 473.1765 mL\n qt: {\n name: 'qt',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.0009463529,\n offset: 0\n },\n // 946.3529 mL\n gal: {\n name: 'gal',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.003785412,\n offset: 0\n },\n // 3.785412 L\n bbl: {\n name: 'bbl',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.1173478,\n offset: 0\n },\n // 117.3478 L\n obl: {\n name: 'obl',\n base: BASE_UNITS.VOLUME,\n prefixes: PREFIXES.NONE,\n value: 0.1589873,\n offset: 0\n },\n // 158.9873 L\n // {name: 'hogshead', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.2384810, offset: 0}, // 238.4810 L // TODO: hh?\n\n // Mass\n g: {\n name: 'g',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.SHORT,\n value: 0.001,\n offset: 0\n },\n gram: {\n name: 'gram',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.LONG,\n value: 0.001,\n offset: 0\n },\n ton: {\n name: 'ton',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.SHORT,\n value: 907.18474,\n offset: 0\n },\n t: {\n name: 't',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.SHORT,\n value: 1000,\n offset: 0\n },\n tonne: {\n name: 'tonne',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.LONG,\n value: 1000,\n offset: 0\n },\n grain: {\n name: 'grain',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 64.79891e-6,\n offset: 0\n },\n dram: {\n name: 'dram',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 1.7718451953125e-3,\n offset: 0\n },\n ounce: {\n name: 'ounce',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 28.349523125e-3,\n offset: 0\n },\n poundmass: {\n name: 'poundmass',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 453.59237e-3,\n offset: 0\n },\n hundredweight: {\n name: 'hundredweight',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 45.359237,\n offset: 0\n },\n stick: {\n name: 'stick',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 115e-3,\n offset: 0\n },\n stone: {\n name: 'stone',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 6.35029318,\n offset: 0\n },\n gr: {\n name: 'gr',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 64.79891e-6,\n offset: 0\n },\n dr: {\n name: 'dr',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 1.7718451953125e-3,\n offset: 0\n },\n oz: {\n name: 'oz',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 28.349523125e-3,\n offset: 0\n },\n lbm: {\n name: 'lbm',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 453.59237e-3,\n offset: 0\n },\n cwt: {\n name: 'cwt',\n base: BASE_UNITS.MASS,\n prefixes: PREFIXES.NONE,\n value: 45.359237,\n offset: 0\n },\n // Time\n s: {\n name: 's',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n min: {\n name: 'min',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 60,\n offset: 0\n },\n h: {\n name: 'h',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 3600,\n offset: 0\n },\n second: {\n name: 'second',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n sec: {\n name: 'sec',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n minute: {\n name: 'minute',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 60,\n offset: 0\n },\n hour: {\n name: 'hour',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 3600,\n offset: 0\n },\n day: {\n name: 'day',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 86400,\n offset: 0\n },\n week: {\n name: 'week',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 7 * 86400,\n offset: 0\n },\n month: {\n name: 'month',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 2629800,\n // 1/12th of Julian year\n offset: 0\n },\n year: {\n name: 'year',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 31557600,\n // Julian year\n offset: 0\n },\n decade: {\n name: 'decade',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 315576000,\n // Julian decade\n offset: 0\n },\n century: {\n name: 'century',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 3155760000,\n // Julian century\n offset: 0\n },\n millennium: {\n name: 'millennium',\n base: BASE_UNITS.TIME,\n prefixes: PREFIXES.NONE,\n value: 31557600000,\n // Julian millennium\n offset: 0\n },\n // Frequency\n hertz: {\n name: 'Hertz',\n base: BASE_UNITS.FREQUENCY,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0,\n reciprocal: true\n },\n Hz: {\n name: 'Hz',\n base: BASE_UNITS.FREQUENCY,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0,\n reciprocal: true\n },\n // Angle\n rad: {\n name: 'rad',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n radian: {\n name: 'radian',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n // deg = rad / (2*pi) * 360 = rad / 0.017453292519943295769236907684888\n deg: {\n name: 'deg',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.SHORT,\n value: null,\n // will be filled in by calculateAngleValues()\n offset: 0\n },\n degree: {\n name: 'degree',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.LONG,\n value: null,\n // will be filled in by calculateAngleValues()\n offset: 0\n },\n // grad = rad / (2*pi) * 400 = rad / 0.015707963267948966192313216916399\n grad: {\n name: 'grad',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.SHORT,\n value: null,\n // will be filled in by calculateAngleValues()\n offset: 0\n },\n gradian: {\n name: 'gradian',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.LONG,\n value: null,\n // will be filled in by calculateAngleValues()\n offset: 0\n },\n // cycle = rad / (2*pi) = rad / 6.2831853071795864769252867665793\n cycle: {\n name: 'cycle',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.NONE,\n value: null,\n // will be filled in by calculateAngleValues()\n offset: 0\n },\n // arcsec = rad / (3600 * (360 / 2 * pi)) = rad / 0.0000048481368110953599358991410235795\n arcsec: {\n name: 'arcsec',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.NONE,\n value: null,\n // will be filled in by calculateAngleValues()\n offset: 0\n },\n // arcmin = rad / (60 * (360 / 2 * pi)) = rad / 0.00029088820866572159615394846141477\n arcmin: {\n name: 'arcmin',\n base: BASE_UNITS.ANGLE,\n prefixes: PREFIXES.NONE,\n value: null,\n // will be filled in by calculateAngleValues()\n offset: 0\n },\n // Electric current\n A: {\n name: 'A',\n base: BASE_UNITS.CURRENT,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n ampere: {\n name: 'ampere',\n base: BASE_UNITS.CURRENT,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n // Temperature\n // K(C) = °C + 273.15\n // K(F) = (°F + 459.67) * (5 / 9)\n // K(R) = °R * (5 / 9)\n K: {\n name: 'K',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n degC: {\n name: 'degC',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 273.15\n },\n degF: {\n name: 'degF',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.SHORT,\n value: new _Fraction(5, 9),\n offset: 459.67\n },\n degR: {\n name: 'degR',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.SHORT,\n value: new _Fraction(5, 9),\n offset: 0\n },\n kelvin: {\n name: 'kelvin',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n celsius: {\n name: 'celsius',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 273.15\n },\n fahrenheit: {\n name: 'fahrenheit',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.LONG,\n value: new _Fraction(5, 9),\n offset: 459.67\n },\n rankine: {\n name: 'rankine',\n base: BASE_UNITS.TEMPERATURE,\n prefixes: PREFIXES.LONG,\n value: new _Fraction(5, 9),\n offset: 0\n },\n // amount of substance\n mol: {\n name: 'mol',\n base: BASE_UNITS.AMOUNT_OF_SUBSTANCE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n mole: {\n name: 'mole',\n base: BASE_UNITS.AMOUNT_OF_SUBSTANCE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n // luminous intensity\n cd: {\n name: 'cd',\n base: BASE_UNITS.LUMINOUS_INTENSITY,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n candela: {\n name: 'candela',\n base: BASE_UNITS.LUMINOUS_INTENSITY,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n // TODO: units STERADIAN\n // {name: 'sr', base: BASE_UNITS.STERADIAN, prefixes: PREFIXES.NONE, value: 1, offset: 0},\n // {name: 'steradian', base: BASE_UNITS.STERADIAN, prefixes: PREFIXES.NONE, value: 1, offset: 0},\n\n // Force\n N: {\n name: 'N',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n newton: {\n name: 'newton',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n dyn: {\n name: 'dyn',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.SHORT,\n value: 0.00001,\n offset: 0\n },\n dyne: {\n name: 'dyne',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.LONG,\n value: 0.00001,\n offset: 0\n },\n lbf: {\n name: 'lbf',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.NONE,\n value: 4.4482216152605,\n offset: 0\n },\n poundforce: {\n name: 'poundforce',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.NONE,\n value: 4.4482216152605,\n offset: 0\n },\n kip: {\n name: 'kip',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.LONG,\n value: 4448.2216,\n offset: 0\n },\n kilogramforce: {\n name: 'kilogramforce',\n base: BASE_UNITS.FORCE,\n prefixes: PREFIXES.NONE,\n value: 9.80665,\n offset: 0\n },\n // Energy\n J: {\n name: 'J',\n base: BASE_UNITS.ENERGY,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n joule: {\n name: 'joule',\n base: BASE_UNITS.ENERGY,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n erg: {\n name: 'erg',\n base: BASE_UNITS.ENERGY,\n prefixes: PREFIXES.SHORTLONG,\n // Both kiloerg and kerg are acceptable\n value: 1e-7,\n offset: 0\n },\n Wh: {\n name: 'Wh',\n base: BASE_UNITS.ENERGY,\n prefixes: PREFIXES.SHORT,\n value: 3600,\n offset: 0\n },\n BTU: {\n name: 'BTU',\n base: BASE_UNITS.ENERGY,\n prefixes: PREFIXES.BTU,\n value: 1055.05585262,\n offset: 0\n },\n eV: {\n name: 'eV',\n base: BASE_UNITS.ENERGY,\n prefixes: PREFIXES.SHORT,\n value: 1.602176565e-19,\n offset: 0\n },\n electronvolt: {\n name: 'electronvolt',\n base: BASE_UNITS.ENERGY,\n prefixes: PREFIXES.LONG,\n value: 1.602176565e-19,\n offset: 0\n },\n // Power\n W: {\n name: 'W',\n base: BASE_UNITS.POWER,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n watt: {\n name: 'watt',\n base: BASE_UNITS.POWER,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n hp: {\n name: 'hp',\n base: BASE_UNITS.POWER,\n prefixes: PREFIXES.NONE,\n value: 745.6998715386,\n offset: 0\n },\n // Electrical power units\n VAR: {\n name: 'VAR',\n base: BASE_UNITS.POWER,\n prefixes: PREFIXES.SHORT,\n value: Complex.I,\n offset: 0\n },\n VA: {\n name: 'VA',\n base: BASE_UNITS.POWER,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Pressure\n Pa: {\n name: 'Pa',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n psi: {\n name: 'psi',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.NONE,\n value: 6894.75729276459,\n offset: 0\n },\n atm: {\n name: 'atm',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.NONE,\n value: 101325,\n offset: 0\n },\n bar: {\n name: 'bar',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.SHORTLONG,\n value: 100000,\n offset: 0\n },\n torr: {\n name: 'torr',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.NONE,\n value: 133.322,\n offset: 0\n },\n mmHg: {\n name: 'mmHg',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.NONE,\n value: 133.322,\n offset: 0\n },\n mmH2O: {\n name: 'mmH2O',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.NONE,\n value: 9.80665,\n offset: 0\n },\n cmH2O: {\n name: 'cmH2O',\n base: BASE_UNITS.PRESSURE,\n prefixes: PREFIXES.NONE,\n value: 98.0665,\n offset: 0\n },\n // Electric charge\n coulomb: {\n name: 'coulomb',\n base: BASE_UNITS.ELECTRIC_CHARGE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n C: {\n name: 'C',\n base: BASE_UNITS.ELECTRIC_CHARGE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Electric capacitance\n farad: {\n name: 'farad',\n base: BASE_UNITS.ELECTRIC_CAPACITANCE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n F: {\n name: 'F',\n base: BASE_UNITS.ELECTRIC_CAPACITANCE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Electric potential\n volt: {\n name: 'volt',\n base: BASE_UNITS.ELECTRIC_POTENTIAL,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n V: {\n name: 'V',\n base: BASE_UNITS.ELECTRIC_POTENTIAL,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Electric resistance\n ohm: {\n name: 'ohm',\n base: BASE_UNITS.ELECTRIC_RESISTANCE,\n prefixes: PREFIXES.SHORTLONG,\n // Both Mohm and megaohm are acceptable\n value: 1,\n offset: 0\n },\n /*\n * Unicode breaks in browsers if charset is not specified\n Ω: {\n name: 'Ω',\n base: BASE_UNITS.ELECTRIC_RESISTANCE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n */\n // Electric inductance\n henry: {\n name: 'henry',\n base: BASE_UNITS.ELECTRIC_INDUCTANCE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n H: {\n name: 'H',\n base: BASE_UNITS.ELECTRIC_INDUCTANCE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Electric conductance\n siemens: {\n name: 'siemens',\n base: BASE_UNITS.ELECTRIC_CONDUCTANCE,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n S: {\n name: 'S',\n base: BASE_UNITS.ELECTRIC_CONDUCTANCE,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Magnetic flux\n weber: {\n name: 'weber',\n base: BASE_UNITS.MAGNETIC_FLUX,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n Wb: {\n name: 'Wb',\n base: BASE_UNITS.MAGNETIC_FLUX,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Magnetic flux density\n tesla: {\n name: 'tesla',\n base: BASE_UNITS.MAGNETIC_FLUX_DENSITY,\n prefixes: PREFIXES.LONG,\n value: 1,\n offset: 0\n },\n T: {\n name: 'T',\n base: BASE_UNITS.MAGNETIC_FLUX_DENSITY,\n prefixes: PREFIXES.SHORT,\n value: 1,\n offset: 0\n },\n // Binary\n b: {\n name: 'b',\n base: BASE_UNITS.BIT,\n prefixes: PREFIXES.BINARY_SHORT,\n value: 1,\n offset: 0\n },\n bits: {\n name: 'bits',\n base: BASE_UNITS.BIT,\n prefixes: PREFIXES.BINARY_LONG,\n value: 1,\n offset: 0\n },\n B: {\n name: 'B',\n base: BASE_UNITS.BIT,\n prefixes: PREFIXES.BINARY_SHORT,\n value: 8,\n offset: 0\n },\n bytes: {\n name: 'bytes',\n base: BASE_UNITS.BIT,\n prefixes: PREFIXES.BINARY_LONG,\n value: 8,\n offset: 0\n }\n };\n\n // aliases (formerly plurals)\n var ALIASES = {\n meters: 'meter',\n inches: 'inch',\n feet: 'foot',\n yards: 'yard',\n miles: 'mile',\n links: 'link',\n rods: 'rod',\n chains: 'chain',\n angstroms: 'angstrom',\n lt: 'l',\n litres: 'litre',\n liter: 'litre',\n liters: 'litre',\n teaspoons: 'teaspoon',\n tablespoons: 'tablespoon',\n minims: 'minim',\n fluiddrams: 'fluiddram',\n fluidounces: 'fluidounce',\n gills: 'gill',\n cups: 'cup',\n pints: 'pint',\n quarts: 'quart',\n gallons: 'gallon',\n beerbarrels: 'beerbarrel',\n oilbarrels: 'oilbarrel',\n hogsheads: 'hogshead',\n gtts: 'gtt',\n grams: 'gram',\n tons: 'ton',\n tonnes: 'tonne',\n grains: 'grain',\n drams: 'dram',\n ounces: 'ounce',\n poundmasses: 'poundmass',\n hundredweights: 'hundredweight',\n sticks: 'stick',\n lb: 'lbm',\n lbs: 'lbm',\n kips: 'kip',\n kgf: 'kilogramforce',\n acres: 'acre',\n hectares: 'hectare',\n sqfeet: 'sqft',\n sqyard: 'sqyd',\n sqmile: 'sqmi',\n sqmiles: 'sqmi',\n mmhg: 'mmHg',\n mmh2o: 'mmH2O',\n cmh2o: 'cmH2O',\n seconds: 'second',\n secs: 'second',\n minutes: 'minute',\n mins: 'minute',\n hours: 'hour',\n hr: 'hour',\n hrs: 'hour',\n days: 'day',\n weeks: 'week',\n months: 'month',\n years: 'year',\n decades: 'decade',\n centuries: 'century',\n millennia: 'millennium',\n hertz: 'hertz',\n radians: 'radian',\n degrees: 'degree',\n gradians: 'gradian',\n cycles: 'cycle',\n arcsecond: 'arcsec',\n arcseconds: 'arcsec',\n arcminute: 'arcmin',\n arcminutes: 'arcmin',\n BTUs: 'BTU',\n watts: 'watt',\n joules: 'joule',\n amperes: 'ampere',\n amps: 'ampere',\n amp: 'ampere',\n coulombs: 'coulomb',\n volts: 'volt',\n ohms: 'ohm',\n farads: 'farad',\n webers: 'weber',\n teslas: 'tesla',\n electronvolts: 'electronvolt',\n moles: 'mole',\n bit: 'bits',\n byte: 'bytes'\n };\n\n /**\n * Calculate the values for the angle units.\n * Value is calculated as number or BigNumber depending on the configuration\n * @param {{number: 'number' | 'BigNumber'}} config\n */\n function calculateAngleValues(config) {\n if (config.number === 'BigNumber') {\n var pi = createPi(_BigNumber);\n UNITS.rad.value = new _BigNumber(1);\n UNITS.deg.value = pi.div(180); // 2 * pi / 360\n UNITS.grad.value = pi.div(200); // 2 * pi / 400\n UNITS.cycle.value = pi.times(2); // 2 * pi\n UNITS.arcsec.value = pi.div(648000); // 2 * pi / 360 / 3600\n UNITS.arcmin.value = pi.div(10800); // 2 * pi / 360 / 60\n } else {\n // number\n UNITS.rad.value = 1;\n UNITS.deg.value = Math.PI / 180; // 2 * pi / 360\n UNITS.grad.value = Math.PI / 200; // 2 * pi / 400\n UNITS.cycle.value = Math.PI * 2; // 2 * pi\n UNITS.arcsec.value = Math.PI / 648000; // 2 * pi / 360 / 3600\n UNITS.arcmin.value = Math.PI / 10800; // 2 * pi / 360 / 60\n }\n\n // copy to the full names of the angles\n UNITS.radian.value = UNITS.rad.value;\n UNITS.degree.value = UNITS.deg.value;\n UNITS.gradian.value = UNITS.grad.value;\n }\n\n // apply the angle values now\n calculateAngleValues(config);\n if (on) {\n // recalculate the values on change of configuration\n on('config', function (curr, prev) {\n if (curr.number !== prev.number) {\n calculateAngleValues(curr);\n }\n });\n }\n\n /**\n * A unit system is a set of dimensionally independent base units plus a set of derived units, formed by multiplication and division of the base units, that are by convention used with the unit system.\n * A user perhaps could issue a command to select a preferred unit system, or use the default (see below).\n * Auto unit system: The default unit system is updated on the fly anytime a unit is parsed. The corresponding unit in the default unit system is updated, so that answers are given in the same units the user supplies.\n */\n var UNIT_SYSTEMS = {\n si: {\n // Base units\n NONE: {\n unit: UNIT_NONE,\n prefix: PREFIXES.NONE['']\n },\n LENGTH: {\n unit: UNITS.m,\n prefix: PREFIXES.SHORT['']\n },\n MASS: {\n unit: UNITS.g,\n prefix: PREFIXES.SHORT.k\n },\n TIME: {\n unit: UNITS.s,\n prefix: PREFIXES.SHORT['']\n },\n CURRENT: {\n unit: UNITS.A,\n prefix: PREFIXES.SHORT['']\n },\n TEMPERATURE: {\n unit: UNITS.K,\n prefix: PREFIXES.SHORT['']\n },\n LUMINOUS_INTENSITY: {\n unit: UNITS.cd,\n prefix: PREFIXES.SHORT['']\n },\n AMOUNT_OF_SUBSTANCE: {\n unit: UNITS.mol,\n prefix: PREFIXES.SHORT['']\n },\n ANGLE: {\n unit: UNITS.rad,\n prefix: PREFIXES.SHORT['']\n },\n BIT: {\n unit: UNITS.bits,\n prefix: PREFIXES.SHORT['']\n },\n // Derived units\n FORCE: {\n unit: UNITS.N,\n prefix: PREFIXES.SHORT['']\n },\n ENERGY: {\n unit: UNITS.J,\n prefix: PREFIXES.SHORT['']\n },\n POWER: {\n unit: UNITS.W,\n prefix: PREFIXES.SHORT['']\n },\n PRESSURE: {\n unit: UNITS.Pa,\n prefix: PREFIXES.SHORT['']\n },\n ELECTRIC_CHARGE: {\n unit: UNITS.C,\n prefix: PREFIXES.SHORT['']\n },\n ELECTRIC_CAPACITANCE: {\n unit: UNITS.F,\n prefix: PREFIXES.SHORT['']\n },\n ELECTRIC_POTENTIAL: {\n unit: UNITS.V,\n prefix: PREFIXES.SHORT['']\n },\n ELECTRIC_RESISTANCE: {\n unit: UNITS.ohm,\n prefix: PREFIXES.SHORT['']\n },\n ELECTRIC_INDUCTANCE: {\n unit: UNITS.H,\n prefix: PREFIXES.SHORT['']\n },\n ELECTRIC_CONDUCTANCE: {\n unit: UNITS.S,\n prefix: PREFIXES.SHORT['']\n },\n MAGNETIC_FLUX: {\n unit: UNITS.Wb,\n prefix: PREFIXES.SHORT['']\n },\n MAGNETIC_FLUX_DENSITY: {\n unit: UNITS.T,\n prefix: PREFIXES.SHORT['']\n },\n FREQUENCY: {\n unit: UNITS.Hz,\n prefix: PREFIXES.SHORT['']\n }\n }\n };\n\n // Clone to create the other unit systems\n UNIT_SYSTEMS.cgs = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));\n UNIT_SYSTEMS.cgs.LENGTH = {\n unit: UNITS.m,\n prefix: PREFIXES.SHORT.c\n };\n UNIT_SYSTEMS.cgs.MASS = {\n unit: UNITS.g,\n prefix: PREFIXES.SHORT['']\n };\n UNIT_SYSTEMS.cgs.FORCE = {\n unit: UNITS.dyn,\n prefix: PREFIXES.SHORT['']\n };\n UNIT_SYSTEMS.cgs.ENERGY = {\n unit: UNITS.erg,\n prefix: PREFIXES.NONE['']\n };\n // there are wholly 4 unique cgs systems for electricity and magnetism,\n // so let's not worry about it unless somebody complains\n\n UNIT_SYSTEMS.us = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));\n UNIT_SYSTEMS.us.LENGTH = {\n unit: UNITS.ft,\n prefix: PREFIXES.NONE['']\n };\n UNIT_SYSTEMS.us.MASS = {\n unit: UNITS.lbm,\n prefix: PREFIXES.NONE['']\n };\n UNIT_SYSTEMS.us.TEMPERATURE = {\n unit: UNITS.degF,\n prefix: PREFIXES.NONE['']\n };\n UNIT_SYSTEMS.us.FORCE = {\n unit: UNITS.lbf,\n prefix: PREFIXES.NONE['']\n };\n UNIT_SYSTEMS.us.ENERGY = {\n unit: UNITS.BTU,\n prefix: PREFIXES.BTU['']\n };\n UNIT_SYSTEMS.us.POWER = {\n unit: UNITS.hp,\n prefix: PREFIXES.NONE['']\n };\n UNIT_SYSTEMS.us.PRESSURE = {\n unit: UNITS.psi,\n prefix: PREFIXES.NONE['']\n };\n\n // Add additional unit systems here.\n\n // Choose a unit system to seed the auto unit system.\n UNIT_SYSTEMS.auto = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));\n\n // Set the current unit system\n var currentUnitSystem = UNIT_SYSTEMS.auto;\n\n /**\n * Set a unit system for formatting derived units.\n * @param {string} [name] The name of the unit system.\n */\n Unit.setUnitSystem = function (name) {\n if (hasOwnProperty(UNIT_SYSTEMS, name)) {\n currentUnitSystem = UNIT_SYSTEMS[name];\n } else {\n throw new Error('Unit system ' + name + ' does not exist. Choices are: ' + Object.keys(UNIT_SYSTEMS).join(', '));\n }\n };\n\n /**\n * Return the current unit system.\n * @return {string} The current unit system.\n */\n Unit.getUnitSystem = function () {\n for (var _key in UNIT_SYSTEMS) {\n if (hasOwnProperty(UNIT_SYSTEMS, _key)) {\n if (UNIT_SYSTEMS[_key] === currentUnitSystem) {\n return _key;\n }\n }\n }\n };\n\n /**\n * Converters to convert from number to an other numeric type like BigNumber\n * or Fraction\n */\n Unit.typeConverters = {\n BigNumber: function BigNumber(x) {\n if (x !== null && x !== void 0 && x.isFraction) return new _BigNumber(x.n).div(x.d).times(x.s);\n return new _BigNumber(x + ''); // stringify to prevent constructor error\n },\n\n Fraction: function Fraction(x) {\n return new _Fraction(x);\n },\n Complex: function Complex(x) {\n return x;\n },\n number: function number(x) {\n if (x !== null && x !== void 0 && x.isFraction) return _number(x);\n return x;\n }\n };\n\n /**\n * Retrieve the right converter function corresponding with this unit's\n * value\n *\n * @memberof Unit\n * @return {Function}\n */\n Unit.prototype._numberConverter = function () {\n var convert = Unit.typeConverters[this.valueType()];\n if (convert) {\n return convert;\n }\n throw new TypeError('Unsupported Unit value type \"' + this.valueType() + '\"');\n };\n\n /**\n * Retrieve the right convertor function corresponding with the type\n * of provided exampleValue.\n *\n * @param {string} type A string 'number', 'BigNumber', or 'Fraction'\n * In case of an unknown type,\n * @return {Function}\n */\n Unit._getNumberConverter = function (type) {\n if (!Unit.typeConverters[type]) {\n throw new TypeError('Unsupported type \"' + type + '\"');\n }\n return Unit.typeConverters[type];\n };\n\n // Add dimensions to each built-in unit\n for (var _key2 in UNITS) {\n if (hasOwnProperty(UNITS, _key2)) {\n var unit = UNITS[_key2];\n unit.dimensions = unit.base.dimensions;\n }\n }\n\n // Create aliases\n for (var _name2 in ALIASES) {\n if (hasOwnProperty(ALIASES, _name2)) {\n var _unit2 = UNITS[ALIASES[_name2]];\n var alias = {};\n for (var _key3 in _unit2) {\n if (hasOwnProperty(_unit2, _key3)) {\n alias[_key3] = _unit2[_key3];\n }\n }\n alias.name = _name2;\n UNITS[_name2] = alias;\n }\n }\n\n /**\n * Checks if a character is a valid latin letter (upper or lower case).\n * Note that this function can be overridden, for example to allow support of other alphabets.\n * @param {string} c Tested character\n */\n Unit.isValidAlpha = function isValidAlpha(c) {\n return /^[a-zA-Z]$/.test(c);\n };\n function assertUnitNameIsValid(name) {\n for (var i = 0; i < name.length; i++) {\n c = name.charAt(i);\n if (i === 0 && !Unit.isValidAlpha(c)) {\n throw new Error('Invalid unit name (must begin with alpha character): \"' + name + '\"');\n }\n if (i > 0 && !(Unit.isValidAlpha(c) || isDigit(c))) {\n throw new Error('Invalid unit name (only alphanumeric characters are allowed): \"' + name + '\"');\n }\n }\n }\n\n /**\n * Wrapper around createUnitSingle.\n * Example:\n * createUnit({\n * foo: { },\n * bar: {\n * definition: 'kg/foo',\n * aliases: ['ba', 'barr', 'bars'],\n * offset: 200\n * },\n * baz: '4 bar'\n * },\n * {\n * override: true\n * })\n * @param {object} obj Object map. Each key becomes a unit which is defined by its value.\n * @param {object} options\n */\n Unit.createUnit = function (obj, options) {\n if (typeof obj !== 'object') {\n throw new TypeError(\"createUnit expects first parameter to be of type 'Object'\");\n }\n\n // Remove all units and aliases we are overriding\n if (options && options.override) {\n for (var _key4 in obj) {\n if (hasOwnProperty(obj, _key4)) {\n Unit.deleteUnit(_key4);\n }\n if (obj[_key4].aliases) {\n for (var i = 0; i < obj[_key4].aliases.length; i++) {\n Unit.deleteUnit(obj[_key4].aliases[i]);\n }\n }\n }\n }\n\n // TODO: traverse multiple times until all units have been added\n var lastUnit;\n for (var _key5 in obj) {\n if (hasOwnProperty(obj, _key5)) {\n lastUnit = Unit.createUnitSingle(_key5, obj[_key5]);\n }\n }\n return lastUnit;\n };\n\n /**\n * Create a user-defined unit and register it with the Unit type.\n * Example:\n * createUnitSingle('knot', '0.514444444 m/s')\n * createUnitSingle('acre', new Unit(43560, 'ft^2'))\n *\n * @param {string} name The name of the new unit. Must be unique. Example: 'knot'\n * @param {string, Unit, Object} definition Definition of the unit in terms\n * of existing units. For example, '0.514444444 m / s'. Can be a Unit, a string,\n * or an Object. If an Object, may have the following properties:\n * - definition {string|Unit} The definition of this unit.\n * - prefixes {string} \"none\", \"short\", \"long\", \"binary_short\", or \"binary_long\".\n * The default is \"none\".\n * - aliases {Array} Array of strings. Example: ['knots', 'kt', 'kts']\n * - offset {Numeric} An offset to apply when converting from the unit. For\n * example, the offset for celsius is 273.15 and the offset for farhenheit\n * is 459.67. Default is 0.\n * - baseName {string} If the unit's dimension does not match that of any other\n * base unit, the name of the newly create base unit. Otherwise, this property\n * has no effect.\n *\n * @return {Unit}\n */\n Unit.createUnitSingle = function (name, obj) {\n if (typeof obj === 'undefined' || obj === null) {\n obj = {};\n }\n if (typeof name !== 'string') {\n throw new TypeError(\"createUnitSingle expects first parameter to be of type 'string'\");\n }\n\n // Check collisions with existing units\n if (hasOwnProperty(UNITS, name)) {\n throw new Error('Cannot create unit \"' + name + '\": a unit with that name already exists');\n }\n\n // TODO: Validate name for collisions with other built-in functions (like abs or cos, for example), and for acceptable variable names. For example, '42' is probably not a valid unit. Nor is '%', since it is also an operator.\n\n assertUnitNameIsValid(name);\n var defUnit = null; // The Unit from which the new unit will be created.\n var aliases = [];\n var offset = 0;\n var definition;\n var prefixes;\n var baseName;\n if (obj && obj.type === 'Unit') {\n defUnit = obj.clone();\n } else if (typeof obj === 'string') {\n if (obj !== '') {\n definition = obj;\n }\n } else if (typeof obj === 'object') {\n definition = obj.definition;\n prefixes = obj.prefixes;\n offset = obj.offset;\n baseName = obj.baseName;\n if (obj.aliases) {\n aliases = obj.aliases.valueOf(); // aliases could be a Matrix, so convert to Array\n }\n } else {\n throw new TypeError('Cannot create unit \"' + name + '\" from \"' + obj.toString() + '\": expecting \"string\" or \"Unit\" or \"Object\"');\n }\n if (aliases) {\n for (var i = 0; i < aliases.length; i++) {\n if (hasOwnProperty(UNITS, aliases[i])) {\n throw new Error('Cannot create alias \"' + aliases[i] + '\": a unit with that name already exists');\n }\n }\n }\n if (definition && typeof definition === 'string' && !defUnit) {\n try {\n defUnit = Unit.parse(definition, {\n allowNoUnits: true\n });\n } catch (ex) {\n ex.message = 'Could not create unit \"' + name + '\" from \"' + definition + '\": ' + ex.message;\n throw ex;\n }\n } else if (definition && definition.type === 'Unit') {\n defUnit = definition.clone();\n }\n aliases = aliases || [];\n offset = offset || 0;\n if (prefixes && prefixes.toUpperCase) {\n prefixes = PREFIXES[prefixes.toUpperCase()] || PREFIXES.NONE;\n } else {\n prefixes = PREFIXES.NONE;\n }\n\n // If defUnit is null, it is because the user did not\n // specify a defintion. So create a new base dimension.\n var newUnit = {};\n if (!defUnit) {\n // Add a new base dimension\n baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo\n if (BASE_DIMENSIONS.indexOf(baseName) >= 0) {\n throw new Error('Cannot create new base unit \"' + name + '\": a base unit with that name already exists (and cannot be overridden)');\n }\n BASE_DIMENSIONS.push(baseName);\n\n // Push 0 onto existing base units\n for (var b in BASE_UNITS) {\n if (hasOwnProperty(BASE_UNITS, b)) {\n BASE_UNITS[b].dimensions[BASE_DIMENSIONS.length - 1] = 0;\n }\n }\n\n // Add the new base unit\n var newBaseUnit = {\n dimensions: []\n };\n for (var _i6 = 0; _i6 < BASE_DIMENSIONS.length; _i6++) {\n newBaseUnit.dimensions[_i6] = 0;\n }\n newBaseUnit.dimensions[BASE_DIMENSIONS.length - 1] = 1;\n newBaseUnit.key = baseName;\n BASE_UNITS[baseName] = newBaseUnit;\n newUnit = {\n name,\n value: 1,\n dimensions: BASE_UNITS[baseName].dimensions.slice(0),\n prefixes,\n offset,\n base: BASE_UNITS[baseName]\n };\n currentUnitSystem[baseName] = {\n unit: newUnit,\n prefix: PREFIXES.NONE['']\n };\n } else {\n newUnit = {\n name,\n value: defUnit.value,\n dimensions: defUnit.dimensions.slice(0),\n prefixes,\n offset\n };\n\n // Create a new base if no matching base exists\n var anyMatch = false;\n for (var _i7 in BASE_UNITS) {\n if (hasOwnProperty(BASE_UNITS, _i7)) {\n var match = true;\n for (var j = 0; j < BASE_DIMENSIONS.length; j++) {\n if (Math.abs((newUnit.dimensions[j] || 0) - (BASE_UNITS[_i7].dimensions[j] || 0)) > 1e-12) {\n match = false;\n break;\n }\n }\n if (match) {\n anyMatch = true;\n newUnit.base = BASE_UNITS[_i7];\n break;\n }\n }\n }\n if (!anyMatch) {\n baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo\n // Add the new base unit\n var _newBaseUnit = {\n dimensions: defUnit.dimensions.slice(0)\n };\n _newBaseUnit.key = baseName;\n BASE_UNITS[baseName] = _newBaseUnit;\n currentUnitSystem[baseName] = {\n unit: newUnit,\n prefix: PREFIXES.NONE['']\n };\n newUnit.base = BASE_UNITS[baseName];\n }\n }\n Unit.UNITS[name] = newUnit;\n for (var _i8 = 0; _i8 < aliases.length; _i8++) {\n var aliasName = aliases[_i8];\n var _alias = {};\n for (var _key6 in newUnit) {\n if (hasOwnProperty(newUnit, _key6)) {\n _alias[_key6] = newUnit[_key6];\n }\n }\n _alias.name = aliasName;\n Unit.UNITS[aliasName] = _alias;\n }\n // delete the memoization cache, since adding a new unit to the array\n // invalidates all old results\n delete _findUnit.cache;\n return new Unit(null, name);\n };\n Unit.deleteUnit = function (name) {\n delete Unit.UNITS[name];\n };\n\n // expose arrays with prefixes, dimensions, units, systems\n Unit.PREFIXES = PREFIXES;\n Unit.BASE_DIMENSIONS = BASE_DIMENSIONS;\n Unit.BASE_UNITS = BASE_UNITS;\n Unit.UNIT_SYSTEMS = UNIT_SYSTEMS;\n Unit.UNITS = UNITS;\n return Unit;\n}, {\n isClass: true\n});","import { clone as objectClone } from '../../utils/object.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'clone';\nvar dependencies = ['typed'];\nexport var createClone = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Clone an object. Will make a deep copy of the data.\n *\n * Syntax:\n *\n * math.clone(x)\n *\n * Examples:\n *\n * math.clone(3.5) // returns number 3.5\n * math.clone(math.complex('2-4i')) // returns Complex 2 - 4i\n * math.clone(math.unit(45, 'deg')) // returns Unit 45 deg\n * math.clone([[1, 2], [3, 4]]) // returns Array [[1, 2], [3, 4]]\n * math.clone(\"hello world\") // returns string \"hello world\"\n *\n * @param {*} x Object to be cloned\n * @return {*} A clone of object x\n */\n return typed(name, {\n any: objectClone\n });\n});","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoRentabilidade.vue?vue&type=style&index=0&id=71556ef4&prod&lang=css\"","import { factory } from '../../utils/factory.js';\nvar name = 'ResultSet';\nvar dependencies = [];\nexport var createResultSet = /* #__PURE__ */factory(name, dependencies, () => {\n /**\n * A ResultSet contains a list or results\n * @class ResultSet\n * @param {Array} entries\n * @constructor ResultSet\n */\n function ResultSet(entries) {\n if (!(this instanceof ResultSet)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n this.entries = entries || [];\n }\n\n /**\n * Attach type information\n */\n ResultSet.prototype.type = 'ResultSet';\n ResultSet.prototype.isResultSet = true;\n\n /**\n * Returns the array with results hold by this ResultSet\n * @memberof ResultSet\n * @returns {Array} entries\n */\n ResultSet.prototype.valueOf = function () {\n return this.entries;\n };\n\n /**\n * Returns the stringified results of the ResultSet\n * @memberof ResultSet\n * @returns {string} string\n */\n ResultSet.prototype.toString = function () {\n return '[' + this.entries.join(', ') + ']';\n };\n\n /**\n * Get a JSON representation of the ResultSet\n * @memberof ResultSet\n * @returns {Object} Returns a JSON object structured as:\n * `{\"mathjs\": \"ResultSet\", \"entries\": [...]}`\n */\n ResultSet.prototype.toJSON = function () {\n return {\n mathjs: 'ResultSet',\n entries: this.entries\n };\n };\n\n /**\n * Instantiate a ResultSet from a JSON object\n * @memberof ResultSet\n * @param {Object} json A JSON object structured as:\n * `{\"mathjs\": \"ResultSet\", \"entries\": [...]}`\n * @return {ResultSet}\n */\n ResultSet.fromJSON = function (json) {\n return new ResultSet(json.entries);\n };\n return ResultSet;\n}, {\n isClass: true\n});","import { factory } from '../../utils/factory.js';\nimport { isBigNumber, isComplex, isFraction } from '../../utils/is.js';\nimport { cbrtNumber } from '../../plain/number/index.js';\nvar name = 'cbrt';\nvar dependencies = ['config', 'typed', 'isNegative', 'unaryMinus', 'matrix', 'Complex', 'BigNumber', 'Fraction'];\nexport var createCbrt = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n config,\n typed,\n isNegative,\n unaryMinus,\n matrix,\n Complex,\n BigNumber,\n Fraction\n } = _ref;\n /**\n * Calculate the cubic root of a value.\n *\n * To avoid confusion with the matrix cube root, this function does not\n * apply to matrices. For a matrix, to take the cube root elementwise,\n * see the examples.\n *\n * Syntax:\n *\n * math.cbrt(x)\n * math.cbrt(x, allRoots)\n *\n * Examples:\n *\n * math.cbrt(27) // returns 3\n * math.cube(3) // returns 27\n * math.cbrt(-64) // returns -4\n * math.cbrt(math.unit('27 m^3')) // returns Unit 3 m\n * math.map([27, 64, 125], x => math.cbrt(x)) // returns [3, 4, 5]\n *\n * const x = math.complex('8i')\n * math.cbrt(x) // returns Complex 1.7320508075689 + i\n * math.cbrt(x, true) // returns Matrix [\n * // 1.7320508075689 + i\n * // -1.7320508075689 + i\n * // -2i\n * // ]\n *\n * See also:\n *\n * square, sqrt, cube\n *\n * @param {number | BigNumber | Complex | Unit} x\n * Value for which to calculate the cubic root.\n * @param {boolean} [allRoots] Optional, false by default. Only applicable\n * when `x` is a number or complex number. If true, all complex\n * roots are returned, if false (default) the principal root is\n * returned.\n * @return {number | BigNumber | Complex | Unit}\n * Returns the cubic root of `x`\n */\n return typed(name, {\n number: cbrtNumber,\n // note: signature 'number, boolean' is also supported,\n // created by typed as it knows how to convert number to Complex\n\n Complex: _cbrtComplex,\n 'Complex, boolean': _cbrtComplex,\n BigNumber: function BigNumber(x) {\n return x.cbrt();\n },\n Unit: _cbrtUnit\n });\n\n /**\n * Calculate the cubic root for a complex number\n * @param {Complex} x\n * @param {boolean} [allRoots] If true, the function will return an array\n * with all three roots. If false or undefined,\n * the principal root is returned.\n * @returns {Complex | Array. | Matrix.} Returns the cubic root(s) of x\n * @private\n */\n function _cbrtComplex(x, allRoots) {\n // https://www.wikiwand.com/en/Cube_root#/Complex_numbers\n\n var arg3 = x.arg() / 3;\n var abs = x.abs();\n\n // principal root:\n var principal = new Complex(cbrtNumber(abs), 0).mul(new Complex(0, arg3).exp());\n if (allRoots) {\n var all = [principal, new Complex(cbrtNumber(abs), 0).mul(new Complex(0, arg3 + Math.PI * 2 / 3).exp()), new Complex(cbrtNumber(abs), 0).mul(new Complex(0, arg3 - Math.PI * 2 / 3).exp())];\n return config.matrix === 'Array' ? all : matrix(all);\n } else {\n return principal;\n }\n }\n\n /**\n * Calculate the cubic root for a Unit\n * @param {Unit} x\n * @return {Unit} Returns the cubic root of x\n * @private\n */\n function _cbrtUnit(x) {\n if (x.value && isComplex(x.value)) {\n var result = x.clone();\n result.value = 1.0;\n result = result.pow(1.0 / 3); // Compute the units\n result.value = _cbrtComplex(x.value); // Compute the value\n return result;\n } else {\n var negate = isNegative(x.value);\n if (negate) {\n x.value = unaryMinus(x.value);\n }\n\n // TODO: create a helper function for this\n var third;\n if (isBigNumber(x.value)) {\n third = new BigNumber(1).div(3);\n } else if (isFraction(x.value)) {\n third = new Fraction(1, 3);\n } else {\n third = 1 / 3;\n }\n var _result = x.pow(third);\n if (negate) {\n _result.value = unaryMinus(_result.value);\n }\n return _result;\n }\n }\n});","import { factory } from '../../utils/factory.js';\nimport { gammaG, gammaNumber, gammaP } from '../../plain/number/index.js';\nvar name = 'gamma';\nvar dependencies = ['typed', 'config', 'multiplyScalar', 'pow', 'BigNumber', 'Complex'];\nexport var createGamma = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n multiplyScalar,\n pow,\n BigNumber: _BigNumber,\n Complex\n } = _ref;\n /**\n * Compute the gamma function of a value using Lanczos approximation for\n * small values, and an extended Stirling approximation for large values.\n *\n * To avoid confusion with the matrix Gamma function, this function does\n * not apply to matrices.\n *\n * Syntax:\n *\n * math.gamma(n)\n *\n * Examples:\n *\n * math.gamma(5) // returns 24\n * math.gamma(-0.5) // returns -3.5449077018110335\n * math.gamma(math.i) // returns -0.15494982830180973 - 0.49801566811835596i\n *\n * See also:\n *\n * combinations, factorial, permutations\n *\n * @param {number | BigNumber | Complex} n A real or complex number\n * @return {number | BigNumber | Complex} The gamma of `n`\n */\n\n function gammaComplex(n) {\n if (n.im === 0) {\n return gammaNumber(n.re);\n }\n\n // Lanczos approximation doesn't work well with real part lower than 0.5\n // So reflection formula is required\n if (n.re < 0.5) {\n // Euler's reflection formula\n // gamma(1-z) * gamma(z) = PI / sin(PI * z)\n // real part of Z should not be integer [sin(PI) == 0 -> 1/0 - undefined]\n // thanks to imperfect sin implementation sin(PI * n) != 0\n // we can safely use it anyway\n var _t = new Complex(1 - n.re, -n.im);\n var r = new Complex(Math.PI * n.re, Math.PI * n.im);\n return new Complex(Math.PI).div(r.sin()).div(gammaComplex(_t));\n }\n\n // Lanczos approximation\n // z -= 1\n n = new Complex(n.re - 1, n.im);\n\n // x = gammaPval[0]\n var x = new Complex(gammaP[0], 0);\n // for (i, gammaPval) in enumerate(gammaP):\n for (var i = 1; i < gammaP.length; ++i) {\n // x += gammaPval / (z + i)\n var gammaPval = new Complex(gammaP[i], 0);\n x = x.add(gammaPval.div(n.add(i)));\n }\n // t = z + gammaG + 0.5\n var t = new Complex(n.re + gammaG + 0.5, n.im);\n\n // y = sqrt(2 * pi) * t ** (z + 0.5) * exp(-t) * x\n var twoPiSqrt = Math.sqrt(2 * Math.PI);\n var tpow = t.pow(n.add(0.5));\n var expt = t.neg().exp();\n\n // y = [x] * [sqrt(2 * pi)] * [t ** (z + 0.5)] * [exp(-t)]\n return x.mul(twoPiSqrt).mul(tpow).mul(expt);\n }\n return typed(name, {\n number: gammaNumber,\n Complex: gammaComplex,\n BigNumber: function BigNumber(n) {\n if (n.isInteger()) {\n return n.isNegative() || n.isZero() ? new _BigNumber(Infinity) : bigFactorial(n.minus(1));\n }\n if (!n.isFinite()) {\n return new _BigNumber(n.isNegative() ? NaN : Infinity);\n }\n throw new Error('Integer BigNumber expected');\n }\n });\n\n /**\n * Calculate factorial for a BigNumber\n * @param {BigNumber} n\n * @returns {BigNumber} Returns the factorial of n\n */\n function bigFactorial(n) {\n if (n < 8) {\n return new _BigNumber([1, 1, 2, 6, 24, 120, 720, 5040][n]);\n }\n var precision = config.precision + (Math.log(n.toNumber()) | 0);\n var Big = _BigNumber.clone({\n precision\n });\n if (n % 2 === 1) {\n return n.times(bigFactorial(new _BigNumber(n - 1)));\n }\n var p = n;\n var prod = new Big(n);\n var sum = n.toNumber();\n while (p > 2) {\n p -= 2;\n sum += p;\n prod = prod.times(sum);\n }\n return new _BigNumber(prod.toPrecision(_BigNumber.precision));\n }\n});","import { factory } from '../../utils/factory.js';\nimport { createTrigUnit } from './trigUnit.js';\nvar name = 'cos';\nvar dependencies = ['typed'];\nexport var createCos = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n var trigUnit = createTrigUnit({\n typed\n });\n\n /**\n * Calculate the cosine of a value.\n *\n * To avoid confusion with the matrix cosine, this function does not\n * apply to matrices.\n *\n * Syntax:\n *\n * math.cos(x)\n *\n * Examples:\n *\n * math.cos(2) // returns number -0.4161468365471422\n * math.cos(math.pi / 4) // returns number 0.7071067811865475\n * math.cos(math.unit(180, 'deg')) // returns number -1\n * math.cos(math.unit(60, 'deg')) // returns number 0.5\n *\n * const angle = 0.2\n * math.pow(math.sin(angle), 2) + math.pow(math.cos(angle), 2) // returns number ~1\n *\n * See also:\n *\n * cos, tan\n *\n * @param {number | BigNumber | Complex | Unit} x Function input\n * @return {number | BigNumber | Complex} Cosine of x\n */\n return typed(name, {\n number: Math.cos,\n 'Complex | BigNumber': x => x.cos()\n }, trigUnit);\n});","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","import { isNumber } from '../../utils/is.js';\nimport { flatten } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nimport { createApply } from '../matrix/apply.js';\nvar name = 'quantileSeq';\nvar dependencies = ['typed', '?bignumber', 'add', 'subtract', 'divide', 'multiply', 'partitionSelect', 'compare', 'isInteger', 'smaller', 'smallerEq', 'larger'];\nexport var createQuantileSeq = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n bignumber,\n add,\n subtract,\n divide,\n multiply,\n partitionSelect,\n compare,\n isInteger,\n smaller,\n smallerEq,\n larger\n } = _ref;\n var apply = createApply({\n typed,\n isInteger\n });\n\n /**\n * Compute the prob order quantile of a matrix or a list with values.\n * The sequence is sorted and the middle value is returned.\n * Supported types of sequence values are: Number, BigNumber, Unit\n * Supported types of probability are: Number, BigNumber\n *\n * In case of a multidimensional array or matrix, the prob order quantile\n * of all elements will be calculated.\n *\n * Syntax:\n *\n * math.quantileSeq(A, prob[, sorted])\n * math.quantileSeq(A, [prob1, prob2, ...][, sorted])\n * math.quantileSeq(A, N[, sorted])\n *\n * Examples:\n *\n * math.quantileSeq([3, -1, 5, 7], 0.5) // returns 4\n * math.quantileSeq([3, -1, 5, 7], [1/3, 2/3]) // returns [3, 5]\n * math.quantileSeq([3, -1, 5, 7], 2) // returns [3, 5]\n * math.quantileSeq([-1, 3, 5, 7], 0.5, true) // returns 4\n *\n * See also:\n *\n * median, mean, min, max, sum, prod, std, variance\n *\n * @param {Array, Matrix} data A single matrix or Array\n * @param {Number, BigNumber, Array} probOrN prob is the order of the quantile, while N is\n * the amount of evenly distributed steps of\n * probabilities; only one of these options can\n * be provided\n * @param {Boolean} sorted=false is data sorted in ascending order\n * @return {Number, BigNumber, Unit, Array} Quantile(s)\n */\n return typed(name, {\n 'Array | Matrix, number | BigNumber': (data, p) => _quantileSeqProbNumber(data, p, false),\n 'Array | Matrix, number | BigNumber, number': (data, prob, dim) => _quantileSeqDim(data, prob, false, dim, _quantileSeqProbNumber),\n 'Array | Matrix, number | BigNumber, boolean': _quantileSeqProbNumber,\n 'Array | Matrix, number | BigNumber, boolean, number': (data, prob, sorted, dim) => _quantileSeqDim(data, prob, sorted, dim, _quantileSeqProbNumber),\n 'Array | Matrix, Array | Matrix': (data, p) => _quantileSeqProbCollection(data, p, false),\n 'Array | Matrix, Array | Matrix, number': (data, prob, dim) => _quantileSeqDim(data, prob, false, dim, _quantileSeqProbCollection),\n 'Array | Matrix, Array | Matrix, boolean': _quantileSeqProbCollection,\n 'Array | Matrix, Array | Matrix, boolean, number': (data, prob, sorted, dim) => _quantileSeqDim(data, prob, sorted, dim, _quantileSeqProbCollection)\n });\n function _quantileSeqDim(data, prob, sorted, dim, fn) {\n return apply(data, dim, x => fn(x, prob, sorted));\n }\n function _quantileSeqProbNumber(data, probOrN, sorted) {\n var probArr;\n var dataArr = data.valueOf();\n if (smaller(probOrN, 0)) {\n throw new Error('N/prob must be non-negative');\n }\n if (smallerEq(probOrN, 1)) {\n // quantileSeq([a, b, c, d, ...], prob[,sorted])\n return isNumber(probOrN) ? _quantileSeq(dataArr, probOrN, sorted) : bignumber(_quantileSeq(dataArr, probOrN, sorted));\n }\n if (larger(probOrN, 1)) {\n // quantileSeq([a, b, c, d, ...], N[,sorted])\n if (!isInteger(probOrN)) {\n throw new Error('N must be a positive integer');\n }\n\n // largest possible Array length is 2^32-1\n // 2^32 < 10^15, thus safe conversion guaranteed\n if (larger(probOrN, 4294967295)) {\n throw new Error('N must be less than or equal to 2^32-1, as that is the maximum length of an Array');\n }\n var nPlusOne = add(probOrN, 1);\n probArr = [];\n for (var i = 0; smaller(i, probOrN); i++) {\n var prob = divide(i + 1, nPlusOne);\n probArr.push(_quantileSeq(dataArr, prob, sorted));\n }\n return isNumber(probOrN) ? probArr : bignumber(probArr);\n }\n }\n\n /**\n * Calculate the prob order quantile of an n-dimensional array.\n *\n * @param {Array, Matrix} array\n * @param {Array, Matrix} prob\n * @param {Boolean} sorted\n * @return {Number, BigNumber, Unit} prob order quantile\n * @private\n */\n\n function _quantileSeqProbCollection(data, probOrN, sorted) {\n var dataArr = data.valueOf();\n // quantileSeq([a, b, c, d, ...], [prob1, prob2, ...][,sorted])\n var probOrNArr = probOrN.valueOf();\n var probArr = [];\n for (var i = 0; i < probOrNArr.length; ++i) {\n probArr.push(_quantileSeq(dataArr, probOrNArr[i], sorted));\n }\n return probArr;\n }\n\n /**\n * Calculate the prob order quantile of an n-dimensional array.\n *\n * @param {Array} array\n * @param {Number, BigNumber} prob\n * @param {Boolean} sorted\n * @return {Number, BigNumber, Unit} prob order quantile\n * @private\n */\n function _quantileSeq(array, prob, sorted) {\n var flat = flatten(array);\n var len = flat.length;\n if (len === 0) {\n throw new Error('Cannot calculate quantile of an empty sequence');\n }\n var index = isNumber(prob) ? prob * (len - 1) : prob.times(len - 1);\n var integerPart = isNumber(prob) ? Math.floor(index) : index.floor().toNumber();\n var fracPart = isNumber(prob) ? index % 1 : index.minus(integerPart);\n if (isInteger(index)) {\n return sorted ? flat[index] : partitionSelect(flat, isNumber(prob) ? index : index.valueOf());\n }\n var left;\n var right;\n if (sorted) {\n left = flat[integerPart];\n right = flat[integerPart + 1];\n } else {\n right = partitionSelect(flat, integerPart + 1);\n\n // max of partition is kth largest\n left = flat[integerPart];\n for (var i = 0; i < integerPart; ++i) {\n if (compare(flat[i], left) > 0) {\n left = flat[i];\n }\n }\n }\n // Q(prob) = (1-f)*A[floor(index)] + f*A[floor(index)+1]\n return add(multiply(left, subtract(1, fracPart)), multiply(right, fracPart));\n }\n});","import { bitOrBigNumber } from '../../utils/bignumber/bitwise.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';\nimport { createMatAlgo04xSidSid } from '../../type/matrix/utils/matAlgo04xSidSid.js';\nimport { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { bitOrNumber } from '../../plain/number/index.js';\nvar name = 'bitOr';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];\nexport var createBitOr = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo01xDSid = createMatAlgo01xDSid({\n typed\n });\n var matAlgo04xSidSid = createMatAlgo04xSidSid({\n typed,\n equalScalar\n });\n var matAlgo10xSids = createMatAlgo10xSids({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Bitwise OR two values, `x | y`.\n * For matrices, the function is evaluated element wise.\n * For units, the function is evaluated on the lowest print base.\n *\n * Syntax:\n *\n * math.bitOr(x, y)\n *\n * Examples:\n *\n * math.bitOr(1, 2) // returns number 3\n *\n * math.bitOr([1, 2, 3], 4) // returns Array [5, 6, 7]\n *\n * See also:\n *\n * bitAnd, bitNot, bitXor, leftShift, rightArithShift, rightLogShift\n *\n * @param {number | BigNumber | Array | Matrix} x First value to or\n * @param {number | BigNumber | Array | Matrix} y Second value to or\n * @return {number | BigNumber | Array | Matrix} OR of `x` and `y`\n */\n return typed(name, {\n 'number, number': bitOrNumber,\n 'BigNumber, BigNumber': bitOrBigNumber\n }, matrixAlgorithmSuite({\n SS: matAlgo04xSidSid,\n DS: matAlgo01xDSid,\n Ss: matAlgo10xSids\n }));\n});","/** @param {number} i\n * @param {number} n\n * @returns {number} product of i to n\n */\nexport function product(i, n) {\n if (n < i) {\n return 1;\n }\n if (n === i) {\n return n;\n }\n var half = n + i >> 1; // divide (n + i) by 2 and truncate to integer\n return product(i, half) * product(half + 1, n);\n}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { isMatrix } from '../../utils/is.js';\nimport { format } from '../../utils/string.js';\nimport { arraySize } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'sqrtm';\nvar dependencies = ['typed', 'abs', 'add', 'multiply', 'map', 'sqrt', 'subtract', 'inv', 'size', 'max', 'identity'];\nexport var createSqrtm = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n abs,\n add,\n multiply,\n map,\n sqrt,\n subtract,\n inv,\n size,\n max,\n identity\n } = _ref;\n var _maxIterations = 1e3;\n var _tolerance = 1e-6;\n\n /**\n * Calculate the principal square root matrix using the Denman–Beavers iterative method\n *\n * https://en.wikipedia.org/wiki/Square_root_of_a_matrix#By_Denman–Beavers_iteration\n *\n * @param {Array | Matrix} A The square matrix `A`\n * @return {Array | Matrix} The principal square root of matrix `A`\n * @private\n */\n function _denmanBeavers(A) {\n var error;\n var iterations = 0;\n var Y = A;\n var Z = identity(size(A));\n do {\n var Yk = Y;\n Y = multiply(0.5, add(Yk, inv(Z)));\n Z = multiply(0.5, add(Z, inv(Yk)));\n error = max(abs(subtract(Y, Yk)));\n if (error > _tolerance && ++iterations > _maxIterations) {\n throw new Error('computing square root of matrix: iterative method could not converge');\n }\n } while (error > _tolerance);\n return Y;\n }\n\n /**\n * Calculate the principal square root of a square matrix.\n * The principal square root matrix `X` of another matrix `A` is such that `X * X = A`.\n *\n * https://en.wikipedia.org/wiki/Square_root_of_a_matrix\n *\n * Syntax:\n *\n * math.sqrtm(A)\n *\n * Examples:\n *\n * math.sqrtm([[33, 24], [48, 57]]) // returns [[5, 2], [4, 7]]\n *\n * See also:\n *\n * sqrt, pow\n *\n * @param {Array | Matrix} A The square matrix `A`\n * @return {Array | Matrix} The principal square root of matrix `A`\n */\n return typed(name, {\n 'Array | Matrix': function ArrayMatrix(A) {\n var size = isMatrix(A) ? A.size() : arraySize(A);\n switch (size.length) {\n case 1:\n // Single element Array | Matrix\n if (size[0] === 1) {\n return map(A, sqrt);\n } else {\n throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');\n }\n case 2:\n {\n // Two-dimensional Array | Matrix\n var rows = size[0];\n var cols = size[1];\n if (rows === cols) {\n return _denmanBeavers(A);\n } else {\n throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');\n }\n }\n default:\n // Multi dimensional array\n throw new RangeError('Matrix must be at most two dimensional ' + '(size: ' + format(size) + ')');\n }\n }\n });\n});","import { isMatrix } from '../../utils/is.js';\nimport { arraySize } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nimport { format } from '../../utils/string.js';\nvar name = 'inv';\nvar dependencies = ['typed', 'matrix', 'divideScalar', 'addScalar', 'multiply', 'unaryMinus', 'det', 'identity', 'abs'];\nexport var createInv = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n divideScalar,\n addScalar,\n multiply,\n unaryMinus,\n det,\n identity,\n abs\n } = _ref;\n /**\n * Calculate the inverse of a square matrix.\n *\n * Syntax:\n *\n * math.inv(x)\n *\n * Examples:\n *\n * math.inv([[1, 2], [3, 4]]) // returns [[-2, 1], [1.5, -0.5]]\n * math.inv(4) // returns 0.25\n * 1 / 4 // returns 0.25\n *\n * See also:\n *\n * det, transpose\n *\n * @param {number | Complex | Array | Matrix} x Matrix to be inversed\n * @return {number | Complex | Array | Matrix} The inverse of `x`.\n */\n return typed(name, {\n 'Array | Matrix': function ArrayMatrix(x) {\n var size = isMatrix(x) ? x.size() : arraySize(x);\n switch (size.length) {\n case 1:\n // vector\n if (size[0] === 1) {\n if (isMatrix(x)) {\n return matrix([divideScalar(1, x.valueOf()[0])]);\n } else {\n return [divideScalar(1, x[0])];\n }\n } else {\n throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');\n }\n case 2:\n // two dimensional array\n {\n var rows = size[0];\n var cols = size[1];\n if (rows === cols) {\n if (isMatrix(x)) {\n return matrix(_inv(x.valueOf(), rows, cols), x.storage());\n } else {\n // return an Array\n return _inv(x, rows, cols);\n }\n } else {\n throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');\n }\n }\n default:\n // multi dimensional array\n throw new RangeError('Matrix must be two dimensional ' + '(size: ' + format(size) + ')');\n }\n },\n any: function any(x) {\n // scalar\n return divideScalar(1, x); // FIXME: create a BigNumber one when configured for bignumbers\n }\n });\n\n /**\n * Calculate the inverse of a square matrix\n * @param {Array[]} mat A square matrix\n * @param {number} rows Number of rows\n * @param {number} cols Number of columns, must equal rows\n * @return {Array[]} inv Inverse matrix\n * @private\n */\n function _inv(mat, rows, cols) {\n var r, s, f, value, temp;\n if (rows === 1) {\n // this is a 1 x 1 matrix\n value = mat[0][0];\n if (value === 0) {\n throw Error('Cannot calculate inverse, determinant is zero');\n }\n return [[divideScalar(1, value)]];\n } else if (rows === 2) {\n // this is a 2 x 2 matrix\n var d = det(mat);\n if (d === 0) {\n throw Error('Cannot calculate inverse, determinant is zero');\n }\n return [[divideScalar(mat[1][1], d), divideScalar(unaryMinus(mat[0][1]), d)], [divideScalar(unaryMinus(mat[1][0]), d), divideScalar(mat[0][0], d)]];\n } else {\n // this is a matrix of 3 x 3 or larger\n // calculate inverse using gauss-jordan elimination\n // https://en.wikipedia.org/wiki/Gaussian_elimination\n // http://mathworld.wolfram.com/MatrixInverse.html\n // http://math.uww.edu/~mcfarlat/inverse.htm\n\n // make a copy of the matrix (only the arrays, not of the elements)\n var A = mat.concat();\n for (r = 0; r < rows; r++) {\n A[r] = A[r].concat();\n }\n\n // create an identity matrix which in the end will contain the\n // matrix inverse\n var B = identity(rows).valueOf();\n\n // loop over all columns, and perform row reductions\n for (var c = 0; c < cols; c++) {\n // Pivoting: Swap row c with row r, where row r contains the largest element A[r][c]\n var ABig = abs(A[c][c]);\n var rBig = c;\n r = c + 1;\n while (r < rows) {\n if (abs(A[r][c]) > ABig) {\n ABig = abs(A[r][c]);\n rBig = r;\n }\n r++;\n }\n if (ABig === 0) {\n throw Error('Cannot calculate inverse, determinant is zero');\n }\n r = rBig;\n if (r !== c) {\n temp = A[c];\n A[c] = A[r];\n A[r] = temp;\n temp = B[c];\n B[c] = B[r];\n B[r] = temp;\n }\n\n // eliminate non-zero values on the other rows at column c\n var Ac = A[c];\n var Bc = B[c];\n for (r = 0; r < rows; r++) {\n var Ar = A[r];\n var Br = B[r];\n if (r !== c) {\n // eliminate value at column c and row r\n if (Ar[c] !== 0) {\n f = divideScalar(unaryMinus(Ar[c]), Ac[c]);\n\n // add (f * row c) to row r to eliminate the value\n // at column c\n for (s = c; s < cols; s++) {\n Ar[s] = addScalar(Ar[s], multiply(f, Ac[s]));\n }\n for (s = 0; s < cols; s++) {\n Br[s] = addScalar(Br[s], multiply(f, Bc[s]));\n }\n }\n } else {\n // normalize value at Acc to 1,\n // divide each value on row r with the value at Acc\n f = Ac[c];\n for (s = c; s < cols; s++) {\n Ar[s] = divideScalar(Ar[s], f);\n }\n for (s = 0; s < cols; s++) {\n Br[s] = divideScalar(Br[s], f);\n }\n }\n }\n }\n return B;\n }\n }\n});","import { isMatrix } from '../../utils/is.js';\nimport { clone } from '../../utils/object.js';\nimport { format } from '../../utils/string.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'det';\nvar dependencies = ['typed', 'matrix', 'subtractScalar', 'multiply', 'divideScalar', 'isZero', 'unaryMinus'];\nexport var createDet = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n subtractScalar,\n multiply,\n divideScalar,\n isZero,\n unaryMinus\n } = _ref;\n /**\n * Calculate the determinant of a matrix.\n *\n * Syntax:\n *\n * math.det(x)\n *\n * Examples:\n *\n * math.det([[1, 2], [3, 4]]) // returns -2\n *\n * const A = [\n * [-2, 2, 3],\n * [-1, 1, 3],\n * [2, 0, -1]\n * ]\n * math.det(A) // returns 6\n *\n * See also:\n *\n * inv\n *\n * @param {Array | Matrix} x A matrix\n * @return {number} The determinant of `x`\n */\n return typed(name, {\n any: function any(x) {\n return clone(x);\n },\n 'Array | Matrix': function det(x) {\n var size;\n if (isMatrix(x)) {\n size = x.size();\n } else if (Array.isArray(x)) {\n x = matrix(x);\n size = x.size();\n } else {\n // a scalar\n size = [];\n }\n switch (size.length) {\n case 0:\n // scalar\n return clone(x);\n case 1:\n // vector\n if (size[0] === 1) {\n return clone(x.valueOf()[0]);\n }\n if (size[0] === 0) {\n return 1; // det of an empty matrix is per definition 1\n } else {\n throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');\n }\n case 2:\n {\n // two-dimensional array\n var rows = size[0];\n var cols = size[1];\n if (rows === cols) {\n return _det(x.clone().valueOf(), rows, cols);\n }\n if (cols === 0) {\n return 1; // det of an empty matrix is per definition 1\n } else {\n throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');\n }\n }\n default:\n // multi dimensional array\n throw new RangeError('Matrix must be two dimensional ' + '(size: ' + format(size) + ')');\n }\n }\n });\n\n /**\n * Calculate the determinant of a matrix\n * @param {Array[]} matrix A square, two dimensional matrix\n * @param {number} rows Number of rows of the matrix (zero-based)\n * @param {number} cols Number of columns of the matrix (zero-based)\n * @returns {number} det\n * @private\n */\n function _det(matrix, rows, cols) {\n if (rows === 1) {\n // this is a 1 x 1 matrix\n return clone(matrix[0][0]);\n } else if (rows === 2) {\n // this is a 2 x 2 matrix\n // the determinant of [a11,a12;a21,a22] is det = a11*a22-a21*a12\n return subtractScalar(multiply(matrix[0][0], matrix[1][1]), multiply(matrix[1][0], matrix[0][1]));\n } else {\n // Bareiss algorithm\n // this algorithm have same complexity as LUP decomposition (O(n^3))\n // but it preserve precision of floating point more relative to the LUP decomposition\n var negated = false;\n var rowIndices = new Array(rows).fill(0).map((_, i) => i); // matrix index of row i\n for (var k = 0; k < rows; k++) {\n var k_ = rowIndices[k];\n if (isZero(matrix[k_][k])) {\n var _k = void 0;\n for (_k = k + 1; _k < rows; _k++) {\n if (!isZero(matrix[rowIndices[_k]][k])) {\n k_ = rowIndices[_k];\n rowIndices[_k] = rowIndices[k];\n rowIndices[k] = k_;\n negated = !negated;\n break;\n }\n }\n if (_k === rows) return matrix[k_][k]; // some zero of the type\n }\n\n var piv = matrix[k_][k];\n var piv_ = k === 0 ? 1 : matrix[rowIndices[k - 1]][k - 1];\n for (var i = k + 1; i < rows; i++) {\n var i_ = rowIndices[i];\n for (var j = k + 1; j < rows; j++) {\n matrix[i_][j] = divideScalar(subtractScalar(multiply(matrix[i_][j], piv), multiply(matrix[i_][k], matrix[k_][j])), piv_);\n }\n }\n }\n var det = matrix[rowIndices[rows - 1]][rows - 1];\n return negated ? unaryMinus(det) : det;\n }\n }\n});","/**\n * Compares two BigNumbers.\n * @param {BigNumber} x First value to compare\n * @param {BigNumber} y Second value to compare\n * @param {number} [epsilon] The maximum relative difference between x and y\n * If epsilon is undefined or null, the function will\n * test whether x and y are exactly equal.\n * @return {boolean} whether the two numbers are nearly equal\n */\nexport function nearlyEqual(x, y, epsilon) {\n // if epsilon is null or undefined, test whether x and y are exactly equal\n if (epsilon === null || epsilon === undefined) {\n return x.eq(y);\n }\n\n // use \"==\" operator, handles infinities\n if (x.eq(y)) {\n return true;\n }\n\n // NaN\n if (x.isNaN() || y.isNaN()) {\n return false;\n }\n\n // at this point x and y should be finite\n if (x.isFinite() && y.isFinite()) {\n // check numbers are very close, needed when comparing numbers near zero\n var diff = x.minus(y).abs();\n if (diff.isZero()) {\n return true;\n } else {\n // use relative error\n var max = x.constructor.max(x.abs(), y.abs());\n return diff.lte(max.times(epsilon));\n }\n }\n\n // Infinite and Number or negative Infinite and positive Infinite cases\n return false;\n}","import { compareText as _compareText } from '../../utils/string.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'compareText';\nvar dependencies = ['typed', 'matrix', 'concat'];\n_compareText.signature = 'any, any';\nexport var createCompareText = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n concat\n } = _ref;\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Compare two strings lexically. Comparison is case sensitive.\n * Returns 1 when x > y, -1 when x < y, and 0 when x == y.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.compareText(x, y)\n *\n * Examples:\n *\n * math.compareText('B', 'A') // returns 1\n * math.compareText('2', '10') // returns 1\n * math.compare('2', '10') // returns -1\n * math.compareNatural('2', '10') // returns -1\n *\n * math.compareText('B', ['A', 'B', 'C']) // returns [1, 0, -1]\n *\n * See also:\n *\n * equal, equalText, compare, compareNatural\n *\n * @param {string | Array | DenseMatrix} x First string to compare\n * @param {string | Array | DenseMatrix} y Second string to compare\n * @return {number | Array | DenseMatrix} Returns the result of the comparison:\n * 1 when x > y, -1 when x < y, and 0 when x == y.\n */\n return typed(name, _compareText, matrixAlgorithmSuite({\n elop: _compareText,\n Ds: true\n }));\n});\nexport var createCompareTextNumber = /* #__PURE__ */factory(name, ['typed'], _ref2 => {\n var {\n typed\n } = _ref2;\n return typed(name, _compareText);\n});","import naturalSort from 'javascript-natural-sort';\nimport { isDenseMatrix, isSparseMatrix, typeOf } from '../../utils/is.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'compareNatural';\nvar dependencies = ['typed', 'compare'];\nexport var createCompareNatural = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n compare\n } = _ref;\n var compareBooleans = compare.signatures['boolean,boolean'];\n\n /**\n * Compare two values of any type in a deterministic, natural way.\n *\n * For numeric values, the function works the same as `math.compare`.\n * For types of values that can't be compared mathematically,\n * the function compares in a natural way.\n *\n * For numeric values, x and y are considered equal when the relative\n * difference between x and y is smaller than the configured epsilon.\n * The function cannot be used to compare values smaller than\n * approximately 2.22e-16.\n *\n * For Complex numbers, first the real parts are compared. If equal,\n * the imaginary parts are compared.\n *\n * Strings are compared with a natural sorting algorithm, which\n * orders strings in a \"logic\" way following some heuristics.\n * This differs from the function `compare`, which converts the string\n * into a numeric value and compares that. The function `compareText`\n * on the other hand compares text lexically.\n *\n * Arrays and Matrices are compared value by value until there is an\n * unequal pair of values encountered. Objects are compared by sorted\n * keys until the keys or their values are unequal.\n *\n * Syntax:\n *\n * math.compareNatural(x, y)\n *\n * Examples:\n *\n * math.compareNatural(6, 1) // returns 1\n * math.compareNatural(2, 3) // returns -1\n * math.compareNatural(7, 7) // returns 0\n *\n * math.compareNatural('10', '2') // returns 1\n * math.compareText('10', '2') // returns -1\n * math.compare('10', '2') // returns 1\n *\n * math.compareNatural('Answer: 10', 'Answer: 2') // returns 1\n * math.compareText('Answer: 10', 'Answer: 2') // returns -1\n * math.compare('Answer: 10', 'Answer: 2')\n * // Error: Cannot convert \"Answer: 10\" to a number\n *\n * const a = math.unit('5 cm')\n * const b = math.unit('40 mm')\n * math.compareNatural(a, b) // returns 1\n *\n * const c = math.complex('2 + 3i')\n * const d = math.complex('2 + 4i')\n * math.compareNatural(c, d) // returns -1\n *\n * math.compareNatural([1, 2, 4], [1, 2, 3]) // returns 1\n * math.compareNatural([1, 2, 3], [1, 2]) // returns 1\n * math.compareNatural([1, 5], [1, 2, 3]) // returns 1\n * math.compareNatural([1, 2], [1, 2]) // returns 0\n *\n * math.compareNatural({a: 2}, {a: 4}) // returns -1\n *\n * See also:\n *\n * compare, compareText\n *\n * @param {*} x First value to compare\n * @param {*} y Second value to compare\n * @return {number} Returns the result of the comparison:\n * 1 when x > y, -1 when x < y, and 0 when x == y.\n */\n return typed(name, {\n 'any, any': _compareNatural\n }); // just to check # args\n\n function _compareNatural(x, y) {\n var typeX = typeOf(x);\n var typeY = typeOf(y);\n var c;\n\n // numeric types\n if ((typeX === 'number' || typeX === 'BigNumber' || typeX === 'Fraction') && (typeY === 'number' || typeY === 'BigNumber' || typeY === 'Fraction')) {\n c = compare(x, y);\n if (c.toString() !== '0') {\n // c can be number, BigNumber, or Fraction\n return c > 0 ? 1 : -1; // return a number\n } else {\n return naturalSort(typeX, typeY);\n }\n }\n\n // matrix types\n var matTypes = ['Array', 'DenseMatrix', 'SparseMatrix'];\n if (matTypes.includes(typeX) || matTypes.includes(typeY)) {\n c = compareMatricesAndArrays(_compareNatural, x, y);\n if (c !== 0) {\n return c;\n } else {\n return naturalSort(typeX, typeY);\n }\n }\n\n // in case of different types, order by name of type, i.e. 'BigNumber' < 'Complex'\n if (typeX !== typeY) {\n return naturalSort(typeX, typeY);\n }\n if (typeX === 'Complex') {\n return compareComplexNumbers(x, y);\n }\n if (typeX === 'Unit') {\n if (x.equalBase(y)) {\n return _compareNatural(x.value, y.value);\n }\n\n // compare by units\n return compareArrays(_compareNatural, x.formatUnits(), y.formatUnits());\n }\n if (typeX === 'boolean') {\n return compareBooleans(x, y);\n }\n if (typeX === 'string') {\n return naturalSort(x, y);\n }\n if (typeX === 'Object') {\n return compareObjects(_compareNatural, x, y);\n }\n if (typeX === 'null') {\n return 0;\n }\n if (typeX === 'undefined') {\n return 0;\n }\n\n // this should not occur...\n throw new TypeError('Unsupported type of value \"' + typeX + '\"');\n }\n\n /**\n * Compare mixed matrix/array types, by converting to same-shaped array.\n * This comparator is non-deterministic regarding input types.\n * @param {Array | SparseMatrix | DenseMatrix | *} x\n * @param {Array | SparseMatrix | DenseMatrix | *} y\n * @returns {number} Returns the comparison result: -1, 0, or 1\n */\n function compareMatricesAndArrays(compareNatural, x, y) {\n if (isSparseMatrix(x) && isSparseMatrix(y)) {\n return compareArrays(compareNatural, x.toJSON().values, y.toJSON().values);\n }\n if (isSparseMatrix(x)) {\n // note: convert to array is expensive\n return compareMatricesAndArrays(compareNatural, x.toArray(), y);\n }\n if (isSparseMatrix(y)) {\n // note: convert to array is expensive\n return compareMatricesAndArrays(compareNatural, x, y.toArray());\n }\n\n // convert DenseArray into Array\n if (isDenseMatrix(x)) {\n return compareMatricesAndArrays(compareNatural, x.toJSON().data, y);\n }\n if (isDenseMatrix(y)) {\n return compareMatricesAndArrays(compareNatural, x, y.toJSON().data);\n }\n\n // convert scalars to array\n if (!Array.isArray(x)) {\n return compareMatricesAndArrays(compareNatural, [x], y);\n }\n if (!Array.isArray(y)) {\n return compareMatricesAndArrays(compareNatural, x, [y]);\n }\n return compareArrays(compareNatural, x, y);\n }\n\n /**\n * Compare two Arrays\n *\n * - First, compares value by value\n * - Next, if all corresponding values are equal,\n * look at the length: longest array will be considered largest\n *\n * @param {Array} x\n * @param {Array} y\n * @returns {number} Returns the comparison result: -1, 0, or 1\n */\n function compareArrays(compareNatural, x, y) {\n // compare each value\n for (var i = 0, ii = Math.min(x.length, y.length); i < ii; i++) {\n var v = compareNatural(x[i], y[i]);\n if (v !== 0) {\n return v;\n }\n }\n\n // compare the size of the arrays\n if (x.length > y.length) {\n return 1;\n }\n if (x.length < y.length) {\n return -1;\n }\n\n // both Arrays have equal size and content\n return 0;\n }\n\n /**\n * Compare two objects\n *\n * - First, compare sorted property names\n * - Next, compare the property values\n *\n * @param {Object} x\n * @param {Object} y\n * @returns {number} Returns the comparison result: -1, 0, or 1\n */\n function compareObjects(compareNatural, x, y) {\n var keysX = Object.keys(x);\n var keysY = Object.keys(y);\n\n // compare keys\n keysX.sort(naturalSort);\n keysY.sort(naturalSort);\n var c = compareArrays(compareNatural, keysX, keysY);\n if (c !== 0) {\n return c;\n }\n\n // compare values\n for (var i = 0; i < keysX.length; i++) {\n var v = compareNatural(x[keysX[i]], y[keysY[i]]);\n if (v !== 0) {\n return v;\n }\n }\n return 0;\n }\n});\n\n/**\n * Compare two complex numbers, `x` and `y`:\n *\n * - First, compare the real values of `x` and `y`\n * - If equal, compare the imaginary values of `x` and `y`\n *\n * @params {Complex} x\n * @params {Complex} y\n * @returns {number} Returns the comparison result: -1, 0, or 1\n */\nfunction compareComplexNumbers(x, y) {\n if (x.re > y.re) {\n return 1;\n }\n if (x.re < y.re) {\n return -1;\n }\n if (x.im > y.im) {\n return 1;\n }\n if (x.im < y.im) {\n return -1;\n }\n return 0;\n}","/**\n * THIS FILE IS AUTO-GENERATED\n * DON'T MAKE CHANGES HERE\n */\nimport { config } from './configReadonly.js';\nimport { createBigNumberClass, createComplexClass, createE, createFalse, createFineStructure, createFractionClass, createI, createInfinity, createLN10, createLOG10E, createMatrixClass, createNaN, createNull, createPhi, createRangeClass, createResultSet, createSQRT1_2,\n// eslint-disable-line camelcase\ncreateSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createSqueeze, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createNthRoot, createOnes, createQr, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnequal, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createGcd, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMin, createMod, createMultiply, createNthRoots, createOr, createPartitionSelect, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createBitOr, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createMax, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCreateUnit, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createKldivergence, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';\nexport var BigNumber = /* #__PURE__ */createBigNumberClass({\n config\n});\nexport var Complex = /* #__PURE__ */createComplexClass({});\nexport var e = /* #__PURE__ */createE({\n BigNumber,\n config\n});\nexport var _false = /* #__PURE__ */createFalse({});\nexport var fineStructure = /* #__PURE__ */createFineStructure({\n BigNumber,\n config\n});\nexport var Fraction = /* #__PURE__ */createFractionClass({});\nexport var i = /* #__PURE__ */createI({\n Complex\n});\nexport var _Infinity = /* #__PURE__ */createInfinity({\n BigNumber,\n config\n});\nexport var LN10 = /* #__PURE__ */createLN10({\n BigNumber,\n config\n});\nexport var LOG10E = /* #__PURE__ */createLOG10E({\n BigNumber,\n config\n});\nexport var Matrix = /* #__PURE__ */createMatrixClass({});\nexport var _NaN = /* #__PURE__ */createNaN({\n BigNumber,\n config\n});\nexport var _null = /* #__PURE__ */createNull({});\nexport var phi = /* #__PURE__ */createPhi({\n BigNumber,\n config\n});\nexport var Range = /* #__PURE__ */createRangeClass({});\nexport var ResultSet = /* #__PURE__ */createResultSet({});\nexport var SQRT1_2 = /* #__PURE__ */createSQRT1_2({\n BigNumber,\n config\n});\nexport var sackurTetrode = /* #__PURE__ */createSackurTetrode({\n BigNumber,\n config\n});\nexport var tau = /* #__PURE__ */createTau({\n BigNumber,\n config\n});\nexport var _true = /* #__PURE__ */createTrue({});\nexport var version = /* #__PURE__ */createVersion({});\nexport var DenseMatrix = /* #__PURE__ */createDenseMatrixClass({\n Matrix\n});\nexport var efimovFactor = /* #__PURE__ */createEfimovFactor({\n BigNumber,\n config\n});\nexport var LN2 = /* #__PURE__ */createLN2({\n BigNumber,\n config\n});\nexport var pi = /* #__PURE__ */createPi({\n BigNumber,\n config\n});\nexport var replacer = /* #__PURE__ */createReplacer({});\nexport var SQRT2 = /* #__PURE__ */createSQRT2({\n BigNumber,\n config\n});\nexport var typed = /* #__PURE__ */createTyped({\n BigNumber,\n Complex,\n DenseMatrix,\n Fraction\n});\nexport var unaryPlus = /* #__PURE__ */createUnaryPlus({\n BigNumber,\n config,\n typed\n});\nexport var weakMixingAngle = /* #__PURE__ */createWeakMixingAngle({\n BigNumber,\n config\n});\nexport var abs = /* #__PURE__ */createAbs({\n typed\n});\nexport var acos = /* #__PURE__ */createAcos({\n Complex,\n config,\n typed\n});\nexport var acot = /* #__PURE__ */createAcot({\n BigNumber,\n typed\n});\nexport var acsc = /* #__PURE__ */createAcsc({\n BigNumber,\n Complex,\n config,\n typed\n});\nexport var addScalar = /* #__PURE__ */createAddScalar({\n typed\n});\nexport var arg = /* #__PURE__ */createArg({\n typed\n});\nexport var asech = /* #__PURE__ */createAsech({\n BigNumber,\n Complex,\n config,\n typed\n});\nexport var asinh = /* #__PURE__ */createAsinh({\n typed\n});\nexport var atan = /* #__PURE__ */createAtan({\n typed\n});\nexport var atanh = /* #__PURE__ */createAtanh({\n Complex,\n config,\n typed\n});\nexport var bignumber = /* #__PURE__ */createBignumber({\n BigNumber,\n typed\n});\nexport var bitNot = /* #__PURE__ */createBitNot({\n typed\n});\nexport var boolean = /* #__PURE__ */createBoolean({\n typed\n});\nexport var clone = /* #__PURE__ */createClone({\n typed\n});\nexport var combinations = /* #__PURE__ */createCombinations({\n typed\n});\nexport var complex = /* #__PURE__ */createComplex({\n Complex,\n typed\n});\nexport var conj = /* #__PURE__ */createConj({\n typed\n});\nexport var cos = /* #__PURE__ */createCos({\n typed\n});\nexport var cot = /* #__PURE__ */createCot({\n BigNumber,\n typed\n});\nexport var csc = /* #__PURE__ */createCsc({\n BigNumber,\n typed\n});\nexport var cube = /* #__PURE__ */createCube({\n typed\n});\nexport var equalScalar = /* #__PURE__ */createEqualScalar({\n config,\n typed\n});\nexport var erf = /* #__PURE__ */createErf({\n typed\n});\nexport var exp = /* #__PURE__ */createExp({\n typed\n});\nexport var expm1 = /* #__PURE__ */createExpm1({\n Complex,\n typed\n});\nexport var filter = /* #__PURE__ */createFilter({\n typed\n});\nexport var forEach = /* #__PURE__ */createForEach({\n typed\n});\nexport var format = /* #__PURE__ */createFormat({\n typed\n});\nexport var getMatrixDataType = /* #__PURE__ */createGetMatrixDataType({\n typed\n});\nexport var hex = /* #__PURE__ */createHex({\n format,\n typed\n});\nexport var im = /* #__PURE__ */createIm({\n typed\n});\nexport var isInteger = /* #__PURE__ */createIsInteger({\n typed\n});\nexport var isNegative = /* #__PURE__ */createIsNegative({\n typed\n});\nexport var isPositive = /* #__PURE__ */createIsPositive({\n typed\n});\nexport var isZero = /* #__PURE__ */createIsZero({\n typed\n});\nexport var LOG2E = /* #__PURE__ */createLOG2E({\n BigNumber,\n config\n});\nexport var lgamma = /* #__PURE__ */createLgamma({\n Complex,\n typed\n});\nexport var log10 = /* #__PURE__ */createLog10({\n Complex,\n config,\n typed\n});\nexport var log2 = /* #__PURE__ */createLog2({\n Complex,\n config,\n typed\n});\nexport var map = /* #__PURE__ */createMap({\n typed\n});\nexport var multiplyScalar = /* #__PURE__ */createMultiplyScalar({\n typed\n});\nexport var not = /* #__PURE__ */createNot({\n typed\n});\nexport var number = /* #__PURE__ */createNumber({\n typed\n});\nexport var oct = /* #__PURE__ */createOct({\n format,\n typed\n});\nexport var pickRandom = /* #__PURE__ */createPickRandom({\n config,\n typed\n});\nexport var print = /* #__PURE__ */createPrint({\n typed\n});\nexport var random = /* #__PURE__ */createRandom({\n config,\n typed\n});\nexport var re = /* #__PURE__ */createRe({\n typed\n});\nexport var sec = /* #__PURE__ */createSec({\n BigNumber,\n typed\n});\nexport var sign = /* #__PURE__ */createSign({\n BigNumber,\n Fraction,\n complex,\n typed\n});\nexport var sin = /* #__PURE__ */createSin({\n typed\n});\nexport var SparseMatrix = /* #__PURE__ */createSparseMatrixClass({\n Matrix,\n equalScalar,\n typed\n});\nexport var splitUnit = /* #__PURE__ */createSplitUnit({\n typed\n});\nexport var square = /* #__PURE__ */createSquare({\n typed\n});\nexport var string = /* #__PURE__ */createString({\n typed\n});\nexport var subtractScalar = /* #__PURE__ */createSubtractScalar({\n typed\n});\nexport var tan = /* #__PURE__ */createTan({\n typed\n});\nexport var typeOf = /* #__PURE__ */createTypeOf({\n typed\n});\nexport var acosh = /* #__PURE__ */createAcosh({\n Complex,\n config,\n typed\n});\nexport var acsch = /* #__PURE__ */createAcsch({\n BigNumber,\n typed\n});\nexport var apply = /* #__PURE__ */createApply({\n isInteger,\n typed\n});\nexport var asec = /* #__PURE__ */createAsec({\n BigNumber,\n Complex,\n config,\n typed\n});\nexport var bin = /* #__PURE__ */createBin({\n format,\n typed\n});\nexport var combinationsWithRep = /* #__PURE__ */createCombinationsWithRep({\n typed\n});\nexport var cosh = /* #__PURE__ */createCosh({\n typed\n});\nexport var csch = /* #__PURE__ */createCsch({\n BigNumber,\n typed\n});\nexport var isNaN = /* #__PURE__ */createIsNaN({\n typed\n});\nexport var isPrime = /* #__PURE__ */createIsPrime({\n typed\n});\nexport var randomInt = /* #__PURE__ */createRandomInt({\n config,\n typed\n});\nexport var sech = /* #__PURE__ */createSech({\n BigNumber,\n typed\n});\nexport var sinh = /* #__PURE__ */createSinh({\n typed\n});\nexport var sparse = /* #__PURE__ */createSparse({\n SparseMatrix,\n typed\n});\nexport var sqrt = /* #__PURE__ */createSqrt({\n Complex,\n config,\n typed\n});\nexport var tanh = /* #__PURE__ */createTanh({\n typed\n});\nexport var unaryMinus = /* #__PURE__ */createUnaryMinus({\n typed\n});\nexport var acoth = /* #__PURE__ */createAcoth({\n BigNumber,\n Complex,\n config,\n typed\n});\nexport var coth = /* #__PURE__ */createCoth({\n BigNumber,\n typed\n});\nexport var fraction = /* #__PURE__ */createFraction({\n Fraction,\n typed\n});\nexport var isNumeric = /* #__PURE__ */createIsNumeric({\n typed\n});\nexport var matrix = /* #__PURE__ */createMatrix({\n DenseMatrix,\n Matrix,\n SparseMatrix,\n typed\n});\nexport var matrixFromFunction = /* #__PURE__ */createMatrixFromFunction({\n isZero,\n matrix,\n typed\n});\nexport var mode = /* #__PURE__ */createMode({\n isNaN,\n isNumeric,\n typed\n});\nexport var numeric = /* #__PURE__ */createNumeric({\n bignumber,\n fraction,\n number\n});\nexport var prod = /* #__PURE__ */createProd({\n config,\n multiplyScalar,\n numeric,\n typed\n});\nexport var reshape = /* #__PURE__ */createReshape({\n isInteger,\n matrix,\n typed\n});\nexport var size = /* #__PURE__ */createSize({\n matrix,\n config,\n typed\n});\nexport var squeeze = /* #__PURE__ */createSqueeze({\n matrix,\n typed\n});\nexport var transpose = /* #__PURE__ */createTranspose({\n matrix,\n typed\n});\nexport var xgcd = /* #__PURE__ */createXgcd({\n BigNumber,\n config,\n matrix,\n typed\n});\nexport var zeros = /* #__PURE__ */createZeros({\n BigNumber,\n config,\n matrix,\n typed\n});\nexport var asin = /* #__PURE__ */createAsin({\n Complex,\n config,\n typed\n});\nexport var cbrt = /* #__PURE__ */createCbrt({\n BigNumber,\n Complex,\n Fraction,\n config,\n isNegative,\n matrix,\n typed,\n unaryMinus\n});\nexport var concat = /* #__PURE__ */createConcat({\n isInteger,\n matrix,\n typed\n});\nexport var count = /* #__PURE__ */createCount({\n prod,\n size,\n typed\n});\nexport var ctranspose = /* #__PURE__ */createCtranspose({\n conj,\n transpose,\n typed\n});\nexport var diag = /* #__PURE__ */createDiag({\n DenseMatrix,\n SparseMatrix,\n matrix,\n typed\n});\nexport var divideScalar = /* #__PURE__ */createDivideScalar({\n numeric,\n typed\n});\nexport var dotDivide = /* #__PURE__ */createDotDivide({\n DenseMatrix,\n concat,\n divideScalar,\n equalScalar,\n matrix,\n typed\n});\nexport var equal = /* #__PURE__ */createEqual({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var flatten = /* #__PURE__ */createFlatten({\n matrix,\n typed\n});\nexport var hasNumericValue = /* #__PURE__ */createHasNumericValue({\n isNumeric,\n typed\n});\nexport var identity = /* #__PURE__ */createIdentity({\n BigNumber,\n DenseMatrix,\n SparseMatrix,\n config,\n matrix,\n typed\n});\nexport var kron = /* #__PURE__ */createKron({\n matrix,\n multiplyScalar,\n typed\n});\nexport var largerEq = /* #__PURE__ */createLargerEq({\n DenseMatrix,\n concat,\n config,\n matrix,\n typed\n});\nexport var leftShift = /* #__PURE__ */createLeftShift({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n typed,\n zeros\n});\nexport var lsolve = /* #__PURE__ */createLsolve({\n DenseMatrix,\n divideScalar,\n equalScalar,\n matrix,\n multiplyScalar,\n subtractScalar,\n typed\n});\nexport var matrixFromColumns = /* #__PURE__ */createMatrixFromColumns({\n flatten,\n matrix,\n size,\n typed\n});\nexport var nthRoot = /* #__PURE__ */createNthRoot({\n BigNumber,\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var ones = /* #__PURE__ */createOnes({\n BigNumber,\n config,\n matrix,\n typed\n});\nexport var qr = /* #__PURE__ */createQr({\n addScalar,\n complex,\n conj,\n divideScalar,\n equal,\n identity,\n isZero,\n matrix,\n multiplyScalar,\n sign,\n sqrt,\n subtractScalar,\n typed,\n unaryMinus,\n zeros\n});\nexport var resize = /* #__PURE__ */createResize({\n config,\n matrix\n});\nexport var rightArithShift = /* #__PURE__ */createRightArithShift({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n typed,\n zeros\n});\nexport var round = /* #__PURE__ */createRound({\n BigNumber,\n DenseMatrix,\n equalScalar,\n matrix,\n typed,\n zeros\n});\nexport var smaller = /* #__PURE__ */createSmaller({\n DenseMatrix,\n concat,\n config,\n matrix,\n typed\n});\nexport var subtract = /* #__PURE__ */createSubtract({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n subtractScalar,\n typed,\n unaryMinus\n});\nexport var to = /* #__PURE__ */createTo({\n concat,\n matrix,\n typed\n});\nexport var unequal = /* #__PURE__ */createUnequal({\n DenseMatrix,\n concat,\n config,\n equalScalar,\n matrix,\n typed\n});\nexport var usolve = /* #__PURE__ */createUsolve({\n DenseMatrix,\n divideScalar,\n equalScalar,\n matrix,\n multiplyScalar,\n subtractScalar,\n typed\n});\nexport var xor = /* #__PURE__ */createXor({\n DenseMatrix,\n concat,\n matrix,\n typed\n});\nexport var add = /* #__PURE__ */createAdd({\n DenseMatrix,\n SparseMatrix,\n addScalar,\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var atan2 = /* #__PURE__ */createAtan2({\n BigNumber,\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var bitAnd = /* #__PURE__ */createBitAnd({\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var bitXor = /* #__PURE__ */createBitXor({\n DenseMatrix,\n concat,\n matrix,\n typed\n});\nexport var catalan = /* #__PURE__ */createCatalan({\n addScalar,\n combinations,\n divideScalar,\n isInteger,\n isNegative,\n multiplyScalar,\n typed\n});\nexport var compare = /* #__PURE__ */createCompare({\n BigNumber,\n DenseMatrix,\n Fraction,\n concat,\n config,\n equalScalar,\n matrix,\n typed\n});\nexport var compareText = /* #__PURE__ */createCompareText({\n concat,\n matrix,\n typed\n});\nexport var cumsum = /* #__PURE__ */createCumSum({\n add,\n typed,\n unaryPlus\n});\nexport var deepEqual = /* #__PURE__ */createDeepEqual({\n equal,\n typed\n});\nexport var diff = /* #__PURE__ */createDiff({\n matrix,\n number,\n subtract,\n typed\n});\nexport var distance = /* #__PURE__ */createDistance({\n abs,\n addScalar,\n deepEqual,\n divideScalar,\n multiplyScalar,\n sqrt,\n subtractScalar,\n typed\n});\nexport var dot = /* #__PURE__ */createDot({\n addScalar,\n conj,\n multiplyScalar,\n size,\n typed\n});\nexport var equalText = /* #__PURE__ */createEqualText({\n compareText,\n isZero,\n typed\n});\nexport var floor = /* #__PURE__ */createFloor({\n DenseMatrix,\n config,\n equalScalar,\n matrix,\n round,\n typed,\n zeros\n});\nexport var gcd = /* #__PURE__ */createGcd({\n BigNumber,\n DenseMatrix,\n concat,\n config,\n equalScalar,\n matrix,\n round,\n typed,\n zeros\n});\nexport var hypot = /* #__PURE__ */createHypot({\n abs,\n addScalar,\n divideScalar,\n isPositive,\n multiplyScalar,\n smaller,\n sqrt,\n typed\n});\nexport var ImmutableDenseMatrix = /* #__PURE__ */createImmutableDenseMatrixClass({\n DenseMatrix,\n smaller\n});\nexport var Index = /* #__PURE__ */createIndexClass({\n ImmutableDenseMatrix,\n getMatrixDataType\n});\nexport var larger = /* #__PURE__ */createLarger({\n DenseMatrix,\n concat,\n config,\n matrix,\n typed\n});\nexport var log = /* #__PURE__ */createLog({\n Complex,\n config,\n divideScalar,\n typed\n});\nexport var lsolveAll = /* #__PURE__ */createLsolveAll({\n DenseMatrix,\n divideScalar,\n equalScalar,\n matrix,\n multiplyScalar,\n subtractScalar,\n typed\n});\nexport var matrixFromRows = /* #__PURE__ */createMatrixFromRows({\n flatten,\n matrix,\n size,\n typed\n});\nexport var min = /* #__PURE__ */createMin({\n config,\n numeric,\n smaller,\n typed\n});\nexport var mod = /* #__PURE__ */createMod({\n DenseMatrix,\n concat,\n config,\n equalScalar,\n matrix,\n round,\n typed,\n zeros\n});\nexport var multiply = /* #__PURE__ */createMultiply({\n addScalar,\n dot,\n equalScalar,\n matrix,\n multiplyScalar,\n typed\n});\nexport var nthRoots = /* #__PURE__ */createNthRoots({\n Complex,\n config,\n divideScalar,\n typed\n});\nexport var or = /* #__PURE__ */createOr({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var partitionSelect = /* #__PURE__ */createPartitionSelect({\n compare,\n isNaN,\n isNumeric,\n typed\n});\nexport var rightLogShift = /* #__PURE__ */createRightLogShift({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n typed,\n zeros\n});\nexport var slu = /* #__PURE__ */createSlu({\n SparseMatrix,\n abs,\n add,\n divideScalar,\n larger,\n largerEq,\n multiply,\n subtract,\n transpose,\n typed\n});\nexport var subset = /* #__PURE__ */createSubset({\n add,\n matrix,\n typed,\n zeros\n});\nexport var sum = /* #__PURE__ */createSum({\n add,\n config,\n numeric,\n typed\n});\nexport var trace = /* #__PURE__ */createTrace({\n add,\n matrix,\n typed\n});\nexport var usolveAll = /* #__PURE__ */createUsolveAll({\n DenseMatrix,\n divideScalar,\n equalScalar,\n matrix,\n multiplyScalar,\n subtractScalar,\n typed\n});\nexport var zpk2tf = /* #__PURE__ */createZpk2tf({\n Complex,\n add,\n multiply,\n number,\n typed\n});\nexport var bitOr = /* #__PURE__ */createBitOr({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var ceil = /* #__PURE__ */createCeil({\n DenseMatrix,\n config,\n equalScalar,\n matrix,\n round,\n typed,\n zeros\n});\nexport var compareNatural = /* #__PURE__ */createCompareNatural({\n compare,\n typed\n});\nexport var composition = /* #__PURE__ */createComposition({\n addScalar,\n combinations,\n isInteger,\n isNegative,\n isPositive,\n larger,\n typed\n});\nexport var cross = /* #__PURE__ */createCross({\n matrix,\n multiply,\n subtract,\n typed\n});\nexport var det = /* #__PURE__ */createDet({\n divideScalar,\n isZero,\n matrix,\n multiply,\n subtractScalar,\n typed,\n unaryMinus\n});\nexport var dotMultiply = /* #__PURE__ */createDotMultiply({\n concat,\n equalScalar,\n matrix,\n multiplyScalar,\n typed\n});\nexport var FibonacciHeap = /* #__PURE__ */createFibonacciHeapClass({\n larger,\n smaller\n});\nexport var fix = /* #__PURE__ */createFix({\n Complex,\n DenseMatrix,\n ceil,\n equalScalar,\n floor,\n matrix,\n typed,\n zeros\n});\nexport var index = /* #__PURE__ */createIndex({\n Index,\n typed\n});\nexport var intersect = /* #__PURE__ */createIntersect({\n abs,\n add,\n addScalar,\n config,\n divideScalar,\n equalScalar,\n flatten,\n isNumeric,\n isZero,\n matrix,\n multiply,\n multiplyScalar,\n smaller,\n subtract,\n typed\n});\nexport var invmod = /* #__PURE__ */createInvmod({\n BigNumber,\n add,\n config,\n equal,\n isInteger,\n mod,\n smaller,\n typed,\n xgcd\n});\nexport var lcm = /* #__PURE__ */createLcm({\n concat,\n equalScalar,\n matrix,\n typed\n});\nexport var log1p = /* #__PURE__ */createLog1p({\n Complex,\n config,\n divideScalar,\n log,\n typed\n});\nexport var max = /* #__PURE__ */createMax({\n config,\n larger,\n numeric,\n typed\n});\nexport var setCartesian = /* #__PURE__ */createSetCartesian({\n DenseMatrix,\n Index,\n compareNatural,\n size,\n subset,\n typed\n});\nexport var setDistinct = /* #__PURE__ */createSetDistinct({\n DenseMatrix,\n Index,\n compareNatural,\n size,\n subset,\n typed\n});\nexport var setIsSubset = /* #__PURE__ */createSetIsSubset({\n Index,\n compareNatural,\n size,\n subset,\n typed\n});\nexport var setPowerset = /* #__PURE__ */createSetPowerset({\n Index,\n compareNatural,\n size,\n subset,\n typed\n});\nexport var smallerEq = /* #__PURE__ */createSmallerEq({\n DenseMatrix,\n concat,\n config,\n matrix,\n typed\n});\nexport var sort = /* #__PURE__ */createSort({\n compare,\n compareNatural,\n matrix,\n typed\n});\nexport var and = /* #__PURE__ */createAnd({\n concat,\n equalScalar,\n matrix,\n not,\n typed,\n zeros\n});\nexport var range = /* #__PURE__ */createRange({\n bignumber,\n matrix,\n add,\n config,\n isPositive,\n larger,\n largerEq,\n smaller,\n smallerEq,\n typed\n});\nexport var row = /* #__PURE__ */createRow({\n Index,\n matrix,\n range,\n typed\n});\nexport var setDifference = /* #__PURE__ */createSetDifference({\n DenseMatrix,\n Index,\n compareNatural,\n size,\n subset,\n typed\n});\nexport var setMultiplicity = /* #__PURE__ */createSetMultiplicity({\n Index,\n compareNatural,\n size,\n subset,\n typed\n});\nexport var setSymDifference = /* #__PURE__ */createSetSymDifference({\n Index,\n concat,\n setDifference,\n size,\n subset,\n typed\n});\nexport var Spa = /* #__PURE__ */createSpaClass({\n FibonacciHeap,\n addScalar,\n equalScalar\n});\nexport var column = /* #__PURE__ */createColumn({\n Index,\n matrix,\n range,\n typed\n});\nexport var inv = /* #__PURE__ */createInv({\n abs,\n addScalar,\n det,\n divideScalar,\n identity,\n matrix,\n multiply,\n typed,\n unaryMinus\n});\nexport var lup = /* #__PURE__ */createLup({\n DenseMatrix,\n Spa,\n SparseMatrix,\n abs,\n addScalar,\n divideScalar,\n equalScalar,\n larger,\n matrix,\n multiplyScalar,\n subtractScalar,\n typed,\n unaryMinus\n});\nexport var pinv = /* #__PURE__ */createPinv({\n Complex,\n add,\n ctranspose,\n deepEqual,\n divideScalar,\n dot,\n dotDivide,\n equal,\n inv,\n matrix,\n multiply,\n typed\n});\nexport var pow = /* #__PURE__ */createPow({\n Complex,\n config,\n fraction,\n identity,\n inv,\n matrix,\n multiply,\n number,\n typed\n});\nexport var setIntersect = /* #__PURE__ */createSetIntersect({\n DenseMatrix,\n Index,\n compareNatural,\n size,\n subset,\n typed\n});\nexport var setUnion = /* #__PURE__ */createSetUnion({\n Index,\n concat,\n setIntersect,\n setSymDifference,\n size,\n subset,\n typed\n});\nexport var sqrtm = /* #__PURE__ */createSqrtm({\n abs,\n add,\n identity,\n inv,\n map,\n max,\n multiply,\n size,\n sqrt,\n subtract,\n typed\n});\nexport var Unit = /* #__PURE__ */createUnitClass({\n BigNumber,\n Complex,\n Fraction,\n abs,\n addScalar,\n config,\n divideScalar,\n equal,\n fix,\n format,\n isNumeric,\n multiplyScalar,\n number,\n pow,\n round,\n subtractScalar\n});\nexport var vacuumImpedance = /* #__PURE__ */createVacuumImpedance({\n BigNumber,\n Unit,\n config\n});\nexport var wienDisplacement = /* #__PURE__ */createWienDisplacement({\n BigNumber,\n Unit,\n config\n});\nexport var atomicMass = /* #__PURE__ */createAtomicMass({\n BigNumber,\n Unit,\n config\n});\nexport var bohrMagneton = /* #__PURE__ */createBohrMagneton({\n BigNumber,\n Unit,\n config\n});\nexport var boltzmann = /* #__PURE__ */createBoltzmann({\n BigNumber,\n Unit,\n config\n});\nexport var conductanceQuantum = /* #__PURE__ */createConductanceQuantum({\n BigNumber,\n Unit,\n config\n});\nexport var coulomb = /* #__PURE__ */createCoulomb({\n BigNumber,\n Unit,\n config\n});\nexport var deuteronMass = /* #__PURE__ */createDeuteronMass({\n BigNumber,\n Unit,\n config\n});\nexport var dotPow = /* #__PURE__ */createDotPow({\n DenseMatrix,\n concat,\n equalScalar,\n matrix,\n pow,\n typed\n});\nexport var electricConstant = /* #__PURE__ */createElectricConstant({\n BigNumber,\n Unit,\n config\n});\nexport var elementaryCharge = /* #__PURE__ */createElementaryCharge({\n BigNumber,\n Unit,\n config\n});\nexport var expm = /* #__PURE__ */createExpm({\n abs,\n add,\n identity,\n inv,\n multiply,\n typed\n});\nexport var faraday = /* #__PURE__ */createFaraday({\n BigNumber,\n Unit,\n config\n});\nexport var fft = /* #__PURE__ */createFft({\n addScalar,\n ceil,\n conj,\n divideScalar,\n dotDivide,\n exp,\n i,\n log2,\n matrix,\n multiplyScalar,\n pow,\n tau,\n typed\n});\nexport var gamma = /* #__PURE__ */createGamma({\n BigNumber,\n Complex,\n config,\n multiplyScalar,\n pow,\n typed\n});\nexport var gravitationConstant = /* #__PURE__ */createGravitationConstant({\n BigNumber,\n Unit,\n config\n});\nexport var hartreeEnergy = /* #__PURE__ */createHartreeEnergy({\n BigNumber,\n Unit,\n config\n});\nexport var ifft = /* #__PURE__ */createIfft({\n conj,\n dotDivide,\n fft,\n typed\n});\nexport var klitzing = /* #__PURE__ */createKlitzing({\n BigNumber,\n Unit,\n config\n});\nexport var loschmidt = /* #__PURE__ */createLoschmidt({\n BigNumber,\n Unit,\n config\n});\nexport var magneticConstant = /* #__PURE__ */createMagneticConstant({\n BigNumber,\n Unit,\n config\n});\nexport var molarMass = /* #__PURE__ */createMolarMass({\n BigNumber,\n Unit,\n config\n});\nexport var molarPlanckConstant = /* #__PURE__ */createMolarPlanckConstant({\n BigNumber,\n Unit,\n config\n});\nexport var neutronMass = /* #__PURE__ */createNeutronMass({\n BigNumber,\n Unit,\n config\n});\nexport var nuclearMagneton = /* #__PURE__ */createNuclearMagneton({\n BigNumber,\n Unit,\n config\n});\nexport var planckCharge = /* #__PURE__ */createPlanckCharge({\n BigNumber,\n Unit,\n config\n});\nexport var planckLength = /* #__PURE__ */createPlanckLength({\n BigNumber,\n Unit,\n config\n});\nexport var planckTemperature = /* #__PURE__ */createPlanckTemperature({\n BigNumber,\n Unit,\n config\n});\nexport var protonMass = /* #__PURE__ */createProtonMass({\n BigNumber,\n Unit,\n config\n});\nexport var quantumOfCirculation = /* #__PURE__ */createQuantumOfCirculation({\n BigNumber,\n Unit,\n config\n});\nexport var reducedPlanckConstant = /* #__PURE__ */createReducedPlanckConstant({\n BigNumber,\n Unit,\n config\n});\nexport var rydberg = /* #__PURE__ */createRydberg({\n BigNumber,\n Unit,\n config\n});\nexport var secondRadiation = /* #__PURE__ */createSecondRadiation({\n BigNumber,\n Unit,\n config\n});\nexport var speedOfLight = /* #__PURE__ */createSpeedOfLight({\n BigNumber,\n Unit,\n config\n});\nexport var stefanBoltzmann = /* #__PURE__ */createStefanBoltzmann({\n BigNumber,\n Unit,\n config\n});\nexport var thomsonCrossSection = /* #__PURE__ */createThomsonCrossSection({\n BigNumber,\n Unit,\n config\n});\nexport var avogadro = /* #__PURE__ */createAvogadro({\n BigNumber,\n Unit,\n config\n});\nexport var bohrRadius = /* #__PURE__ */createBohrRadius({\n BigNumber,\n Unit,\n config\n});\nexport var createUnit = /* #__PURE__ */createCreateUnit({\n Unit,\n typed\n});\nexport var divide = /* #__PURE__ */createDivide({\n divideScalar,\n equalScalar,\n inv,\n matrix,\n multiply,\n typed\n});\nexport var electronMass = /* #__PURE__ */createElectronMass({\n BigNumber,\n Unit,\n config\n});\nexport var factorial = /* #__PURE__ */createFactorial({\n gamma,\n typed\n});\nexport var firstRadiation = /* #__PURE__ */createFirstRadiation({\n BigNumber,\n Unit,\n config\n});\nexport var gravity = /* #__PURE__ */createGravity({\n BigNumber,\n Unit,\n config\n});\nexport var inverseConductanceQuantum = /* #__PURE__ */createInverseConductanceQuantum({\n BigNumber,\n Unit,\n config\n});\nexport var lusolve = /* #__PURE__ */createLusolve({\n DenseMatrix,\n lsolve,\n lup,\n matrix,\n slu,\n typed,\n usolve\n});\nexport var magneticFluxQuantum = /* #__PURE__ */createMagneticFluxQuantum({\n BigNumber,\n Unit,\n config\n});\nexport var molarMassC12 = /* #__PURE__ */createMolarMassC12({\n BigNumber,\n Unit,\n config\n});\nexport var multinomial = /* #__PURE__ */createMultinomial({\n add,\n divide,\n factorial,\n isInteger,\n isPositive,\n multiply,\n typed\n});\nexport var permutations = /* #__PURE__ */createPermutations({\n factorial,\n typed\n});\nexport var planckMass = /* #__PURE__ */createPlanckMass({\n BigNumber,\n Unit,\n config\n});\nexport var polynomialRoot = /* #__PURE__ */createPolynomialRoot({\n add,\n cbrt,\n divide,\n equalScalar,\n im,\n isZero,\n multiply,\n re,\n sqrt,\n subtract,\n typeOf,\n typed,\n unaryMinus\n});\nexport var setSize = /* #__PURE__ */createSetSize({\n compareNatural,\n typed\n});\nexport var solveODE = /* #__PURE__ */createSolveODE({\n abs,\n add,\n bignumber,\n divide,\n isNegative,\n isPositive,\n larger,\n map,\n matrix,\n max,\n multiply,\n smaller,\n subtract,\n typed,\n unaryMinus\n});\nexport var stirlingS2 = /* #__PURE__ */createStirlingS2({\n bignumber,\n addScalar,\n combinations,\n divideScalar,\n factorial,\n isInteger,\n isNegative,\n larger,\n multiplyScalar,\n number,\n pow,\n subtractScalar,\n typed\n});\nexport var unit = /* #__PURE__ */createUnitFunction({\n Unit,\n typed\n});\nexport var bellNumbers = /* #__PURE__ */createBellNumbers({\n addScalar,\n isInteger,\n isNegative,\n stirlingS2,\n typed\n});\nexport var eigs = /* #__PURE__ */createEigs({\n abs,\n add,\n addScalar,\n atan,\n bignumber,\n column,\n complex,\n config,\n cos,\n diag,\n divideScalar,\n dot,\n equal,\n flatten,\n im,\n inv,\n larger,\n matrix,\n matrixFromColumns,\n multiply,\n multiplyScalar,\n number,\n qr,\n re,\n sin,\n smaller,\n sqrt,\n subtract,\n typed,\n usolve,\n usolveAll\n});\nexport var fermiCoupling = /* #__PURE__ */createFermiCoupling({\n BigNumber,\n Unit,\n config\n});\nexport var gasConstant = /* #__PURE__ */createGasConstant({\n BigNumber,\n Unit,\n config\n});\nexport var mean = /* #__PURE__ */createMean({\n add,\n divide,\n typed\n});\nexport var molarVolume = /* #__PURE__ */createMolarVolume({\n BigNumber,\n Unit,\n config\n});\nexport var planckConstant = /* #__PURE__ */createPlanckConstant({\n BigNumber,\n Unit,\n config\n});\nexport var quantileSeq = /* #__PURE__ */createQuantileSeq({\n bignumber,\n add,\n compare,\n divide,\n isInteger,\n larger,\n multiply,\n partitionSelect,\n smaller,\n smallerEq,\n subtract,\n typed\n});\nexport var variance = /* #__PURE__ */createVariance({\n add,\n apply,\n divide,\n isNaN,\n multiply,\n subtract,\n typed\n});\nexport var classicalElectronRadius = /* #__PURE__ */createClassicalElectronRadius({\n BigNumber,\n Unit,\n config\n});\nexport var median = /* #__PURE__ */createMedian({\n add,\n compare,\n divide,\n partitionSelect,\n typed\n});\nexport var corr = /* #__PURE__ */createCorr({\n add,\n divide,\n matrix,\n mean,\n multiply,\n pow,\n sqrt,\n subtract,\n sum,\n typed\n});\nexport var freqz = /* #__PURE__ */createFreqz({\n Complex,\n add,\n divide,\n matrix,\n multiply,\n typed\n});\nexport var mad = /* #__PURE__ */createMad({\n abs,\n map,\n median,\n subtract,\n typed\n});\nexport var std = /* #__PURE__ */createStd({\n map,\n sqrt,\n typed,\n variance\n});\nexport var zeta = /* #__PURE__ */createZeta({\n BigNumber,\n Complex,\n add,\n config,\n divide,\n equal,\n factorial,\n gamma,\n isNegative,\n multiply,\n pi,\n pow,\n sin,\n smallerEq,\n subtract,\n typed\n});\nexport var norm = /* #__PURE__ */createNorm({\n abs,\n add,\n conj,\n ctranspose,\n eigs,\n equalScalar,\n larger,\n matrix,\n multiply,\n pow,\n smaller,\n sqrt,\n typed\n});\nexport var rotationMatrix = /* #__PURE__ */createRotationMatrix({\n BigNumber,\n DenseMatrix,\n SparseMatrix,\n addScalar,\n config,\n cos,\n matrix,\n multiplyScalar,\n norm,\n sin,\n typed,\n unaryMinus\n});\nexport var kldivergence = /* #__PURE__ */createKldivergence({\n divide,\n dotDivide,\n isNumeric,\n log,\n map,\n matrix,\n multiply,\n sum,\n typed\n});\nexport var planckTime = /* #__PURE__ */createPlanckTime({\n BigNumber,\n Unit,\n config\n});\nexport var schur = /* #__PURE__ */createSchur({\n identity,\n matrix,\n multiply,\n norm,\n qr,\n subtract,\n typed\n});\nexport var rotate = /* #__PURE__ */createRotate({\n multiply,\n rotationMatrix,\n typed\n});\nexport var sylvester = /* #__PURE__ */createSylvester({\n abs,\n add,\n concat,\n identity,\n index,\n lusolve,\n matrix,\n matrixFromColumns,\n multiply,\n range,\n schur,\n subset,\n subtract,\n transpose,\n typed\n});\nexport var lyap = /* #__PURE__ */createLyap({\n matrix,\n multiply,\n sylvester,\n transpose,\n typed\n});","import { factory } from '../../utils/factory.js';\nvar name = 'composition';\nvar dependencies = ['typed', 'addScalar', 'combinations', 'isNegative', 'isPositive', 'isInteger', 'larger'];\nexport var createComposition = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n addScalar,\n combinations,\n isPositive,\n isNegative,\n isInteger,\n larger\n } = _ref;\n /**\n * The composition counts of n into k parts.\n *\n * composition only takes integer arguments.\n * The following condition must be enforced: k <= n.\n *\n * Syntax:\n *\n * math.composition(n, k)\n *\n * Examples:\n *\n * math.composition(5, 3) // returns 6\n *\n * See also:\n *\n * combinations\n *\n * @param {Number | BigNumber} n Total number of objects in the set\n * @param {Number | BigNumber} k Number of objects in the subset\n * @return {Number | BigNumber} Returns the composition counts of n into k parts.\n */\n return typed(name, {\n 'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, k) {\n if (!isInteger(n) || !isPositive(n) || !isInteger(k) || !isPositive(k)) {\n throw new TypeError('Positive integer value expected in function composition');\n } else if (larger(k, n)) {\n throw new TypeError('k must be less than or equal to n in function composition');\n }\n return combinations(addScalar(n, -1), addScalar(k, -1));\n }\n });\n});","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","import { isArray, isMatrix, isString, typeOf } from '../../utils/is.js';\nimport { clone } from '../../utils/object.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'ImmutableDenseMatrix';\nvar dependencies = ['smaller', 'DenseMatrix'];\nexport var createImmutableDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n smaller,\n DenseMatrix\n } = _ref;\n function ImmutableDenseMatrix(data, datatype) {\n if (!(this instanceof ImmutableDenseMatrix)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n if (datatype && !isString(datatype)) {\n throw new Error('Invalid datatype: ' + datatype);\n }\n if (isMatrix(data) || isArray(data)) {\n // use DenseMatrix implementation\n var matrix = new DenseMatrix(data, datatype);\n // internal structures\n this._data = matrix._data;\n this._size = matrix._size;\n this._datatype = matrix._datatype;\n this._min = null;\n this._max = null;\n } else if (data && isArray(data.data) && isArray(data.size)) {\n // initialize fields from JSON representation\n this._data = data.data;\n this._size = data.size;\n this._datatype = data.datatype;\n this._min = typeof data.min !== 'undefined' ? data.min : null;\n this._max = typeof data.max !== 'undefined' ? data.max : null;\n } else if (data) {\n // unsupported type\n throw new TypeError('Unsupported type of data (' + typeOf(data) + ')');\n } else {\n // nothing provided\n this._data = [];\n this._size = [0];\n this._datatype = datatype;\n this._min = null;\n this._max = null;\n }\n }\n ImmutableDenseMatrix.prototype = new DenseMatrix();\n\n /**\n * Attach type information\n */\n ImmutableDenseMatrix.prototype.type = 'ImmutableDenseMatrix';\n ImmutableDenseMatrix.prototype.isImmutableDenseMatrix = true;\n\n /**\n * Get a subset of the matrix, or replace a subset of the matrix.\n *\n * Usage:\n * const subset = matrix.subset(index) // retrieve subset\n * const value = matrix.subset(index, replacement) // replace subset\n *\n * @param {Index} index\n * @param {Array | ImmutableDenseMatrix | *} [replacement]\n * @param {*} [defaultValue=0] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be filled with zeros.\n */\n ImmutableDenseMatrix.prototype.subset = function (index) {\n switch (arguments.length) {\n case 1:\n {\n // use base implementation\n var m = DenseMatrix.prototype.subset.call(this, index);\n // check result is a matrix\n if (isMatrix(m)) {\n // return immutable matrix\n return new ImmutableDenseMatrix({\n data: m._data,\n size: m._size,\n datatype: m._datatype\n });\n }\n return m;\n }\n // intentional fall through\n case 2:\n case 3:\n throw new Error('Cannot invoke set subset on an Immutable Matrix instance');\n default:\n throw new SyntaxError('Wrong number of arguments');\n }\n };\n\n /**\n * Replace a single element in the matrix.\n * @param {Number[]} index Zero-based index\n * @param {*} value\n * @param {*} [defaultValue] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be left undefined.\n * @return {ImmutableDenseMatrix} self\n */\n ImmutableDenseMatrix.prototype.set = function () {\n throw new Error('Cannot invoke set on an Immutable Matrix instance');\n };\n\n /**\n * Resize the matrix to the given size. Returns a copy of the matrix when\n * `copy=true`, otherwise return the matrix itself (resize in place).\n *\n * @param {Number[]} size The new size the matrix should have.\n * @param {*} [defaultValue=0] Default value, filled in on new entries.\n * If not provided, the matrix elements will\n * be filled with zeros.\n * @param {boolean} [copy] Return a resized copy of the matrix\n *\n * @return {Matrix} The resized matrix\n */\n ImmutableDenseMatrix.prototype.resize = function () {\n throw new Error('Cannot invoke resize on an Immutable Matrix instance');\n };\n\n /**\n * Disallows reshaping in favor of immutability.\n *\n * @throws {Error} Operation not allowed\n */\n ImmutableDenseMatrix.prototype.reshape = function () {\n throw new Error('Cannot invoke reshape on an Immutable Matrix instance');\n };\n\n /**\n * Create a clone of the matrix\n * @return {ImmutableDenseMatrix} clone\n */\n ImmutableDenseMatrix.prototype.clone = function () {\n return new ImmutableDenseMatrix({\n data: clone(this._data),\n size: clone(this._size),\n datatype: this._datatype\n });\n };\n\n /**\n * Get a JSON representation of the matrix\n * @returns {Object}\n */\n ImmutableDenseMatrix.prototype.toJSON = function () {\n return {\n mathjs: 'ImmutableDenseMatrix',\n data: this._data,\n size: this._size,\n datatype: this._datatype\n };\n };\n\n /**\n * Generate a matrix from a JSON object\n * @param {Object} json An object structured like\n * `{\"mathjs\": \"ImmutableDenseMatrix\", data: [], size: []}`,\n * where mathjs is optional\n * @returns {ImmutableDenseMatrix}\n */\n ImmutableDenseMatrix.fromJSON = function (json) {\n return new ImmutableDenseMatrix(json);\n };\n\n /**\n * Swap rows i and j in Matrix.\n *\n * @param {Number} i Matrix row index 1\n * @param {Number} j Matrix row index 2\n *\n * @return {Matrix} The matrix reference\n */\n ImmutableDenseMatrix.prototype.swapRows = function () {\n throw new Error('Cannot invoke swapRows on an Immutable Matrix instance');\n };\n\n /**\n * Calculate the minimum value in the set\n * @return {Number | undefined} min\n */\n ImmutableDenseMatrix.prototype.min = function () {\n // check min has been calculated before\n if (this._min === null) {\n // minimum\n var m = null;\n // compute min\n this.forEach(function (v) {\n if (m === null || smaller(v, m)) {\n m = v;\n }\n });\n this._min = m !== null ? m : undefined;\n }\n return this._min;\n };\n\n /**\n * Calculate the maximum value in the set\n * @return {Number | undefined} max\n */\n ImmutableDenseMatrix.prototype.max = function () {\n // check max has been calculated before\n if (this._max === null) {\n // maximum\n var m = null;\n // compute max\n this.forEach(function (v) {\n if (m === null || smaller(m, v)) {\n m = v;\n }\n });\n this._max = m !== null ? m : undefined;\n }\n return this._max;\n };\n return ImmutableDenseMatrix;\n}, {\n isClass: true\n});","import { factory } from '../../utils/factory.js';\nimport { asechNumber } from '../../plain/number/index.js';\nvar name = 'asech';\nvar dependencies = ['typed', 'config', 'Complex', 'BigNumber'];\nexport var createAsech = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n Complex,\n BigNumber: _BigNumber\n } = _ref;\n /**\n * Calculate the hyperbolic arcsecant of a value,\n * defined as `asech(x) = acosh(1/x) = ln(sqrt(1/x^2 - 1) + 1/x)`.\n *\n * To avoid confusion with the matrix hyperbolic arcsecant, this function\n * does not apply to matrices.\n *\n * Syntax:\n *\n * math.asech(x)\n *\n * Examples:\n *\n * math.asech(0.5) // returns 1.3169578969248166\n *\n * See also:\n *\n * acsch, acoth\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic arcsecant of x\n */\n return typed(name, {\n number: function number(x) {\n if (x <= 1 && x >= -1 || config.predictable) {\n var xInv = 1 / x;\n if (xInv > 0 || config.predictable) {\n return asechNumber(x);\n }\n var ret = Math.sqrt(xInv * xInv - 1);\n return new Complex(Math.log(ret - xInv), Math.PI);\n }\n return new Complex(x, 0).asech();\n },\n Complex: function Complex(x) {\n return x.asech();\n },\n BigNumber: function BigNumber(x) {\n return new _BigNumber(1).div(x).acosh();\n }\n });\n});","import { deepForEach, reduce, containsCollections } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { improveErrorMessage } from './utils/improveErrorMessage.js';\nvar name = 'max';\nvar dependencies = ['typed', 'config', 'numeric', 'larger'];\nexport var createMax = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n numeric,\n larger\n } = _ref;\n /**\n * Compute the maximum value of a matrix or a list with values.\n * In case of a multidimensional array, the maximum of the flattened array\n * will be calculated. When `dim` is provided, the maximum over the selected\n * dimension will be calculated. Parameter `dim` is zero-based.\n *\n * Syntax:\n *\n * math.max(a, b, c, ...)\n * math.max(A)\n * math.max(A, dimension)\n *\n * Examples:\n *\n * math.max(2, 1, 4, 3) // returns 4\n * math.max([2, 1, 4, 3]) // returns 4\n *\n * // maximum over a specified dimension (zero-based)\n * math.max([[2, 5], [4, 3], [1, 7]], 0) // returns [4, 7]\n * math.max([[2, 5], [4, 3], [1, 7]], 1) // returns [5, 4, 7]\n *\n * math.max(2.7, 7.1, -4.5, 2.0, 4.1) // returns 7.1\n * math.min(2.7, 7.1, -4.5, 2.0, 4.1) // returns -4.5\n *\n * See also:\n *\n * mean, median, min, prod, std, sum, variance\n *\n * @param {... *} args A single matrix or or multiple scalar values\n * @return {*} The maximum value\n */\n return typed(name, {\n // max([a, b, c, d, ...])\n 'Array | Matrix': _max,\n // max([a, b, c, d, ...], dim)\n 'Array | Matrix, number | BigNumber': function ArrayMatrixNumberBigNumber(array, dim) {\n return reduce(array, dim.valueOf(), _largest);\n },\n // max(a, b, c, d, ...)\n '...': function _(args) {\n if (containsCollections(args)) {\n throw new TypeError('Scalar values expected in function max');\n }\n return _max(args);\n }\n });\n\n /**\n * Return the largest of two values\n * @param {*} x\n * @param {*} y\n * @returns {*} Returns x when x is largest, or y when y is largest\n * @private\n */\n function _largest(x, y) {\n try {\n return larger(x, y) ? x : y;\n } catch (err) {\n throw improveErrorMessage(err, 'max', y);\n }\n }\n\n /**\n * Recursively calculate the maximum value in an n-dimensional array\n * @param {Array} array\n * @return {number} max\n * @private\n */\n function _max(array) {\n var res;\n deepForEach(array, function (value) {\n try {\n if (isNaN(value) && typeof value === 'number') {\n res = NaN;\n } else if (res === undefined || larger(value, res)) {\n res = value;\n }\n } catch (err) {\n throw improveErrorMessage(err, 'max', value);\n }\n });\n if (res === undefined) {\n throw new Error('Cannot calculate max of an empty array');\n }\n\n // make sure returning numeric value: parse a string into a numeric value\n if (typeof res === 'string') {\n res = numeric(res, config.number);\n }\n return res;\n }\n});","import { isBigNumber, isMatrix, isNumber } from '../../utils/is.js';\nimport { clone } from '../../utils/object.js';\nimport { arraySize, concat as _concat } from '../../utils/array.js';\nimport { IndexError } from '../../error/IndexError.js';\nimport { DimensionError } from '../../error/DimensionError.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'concat';\nvar dependencies = ['typed', 'matrix', 'isInteger'];\nexport var createConcat = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n isInteger\n } = _ref;\n /**\n * Concatenate two or more matrices.\n *\n * Syntax:\n *\n * math.concat(A, B, C, ...)\n * math.concat(A, B, C, ..., dim)\n *\n * Where:\n *\n * - `dim: number` is a zero-based dimension over which to concatenate the matrices.\n * By default the last dimension of the matrices.\n *\n * Examples:\n *\n * const A = [[1, 2], [5, 6]]\n * const B = [[3, 4], [7, 8]]\n *\n * math.concat(A, B) // returns [[1, 2, 3, 4], [5, 6, 7, 8]]\n * math.concat(A, B, 0) // returns [[1, 2], [5, 6], [3, 4], [7, 8]]\n * math.concat('hello', ' ', 'world') // returns 'hello world'\n *\n * See also:\n *\n * size, squeeze, subset, transpose\n *\n * @param {... Array | Matrix} args Two or more matrices\n * @return {Array | Matrix} Concatenated matrix\n */\n return typed(name, {\n // TODO: change signature to '...Array | Matrix, dim?' when supported\n '...Array | Matrix | number | BigNumber': function ArrayMatrixNumberBigNumber(args) {\n var i;\n var len = args.length;\n var dim = -1; // zero-based dimension\n var prevDim;\n var asMatrix = false;\n var matrices = []; // contains multi dimensional arrays\n\n for (i = 0; i < len; i++) {\n var arg = args[i];\n\n // test whether we need to return a Matrix (if not we return an Array)\n if (isMatrix(arg)) {\n asMatrix = true;\n }\n if (isNumber(arg) || isBigNumber(arg)) {\n if (i !== len - 1) {\n throw new Error('Dimension must be specified as last argument');\n }\n\n // last argument contains the dimension on which to concatenate\n prevDim = dim;\n dim = arg.valueOf(); // change BigNumber to number\n\n if (!isInteger(dim)) {\n throw new TypeError('Integer number expected for dimension');\n }\n if (dim < 0 || i > 0 && dim > prevDim) {\n // TODO: would be more clear when throwing a DimensionError here\n throw new IndexError(dim, prevDim + 1);\n }\n } else {\n // this is a matrix or array\n var m = clone(arg).valueOf();\n var size = arraySize(m);\n matrices[i] = m;\n prevDim = dim;\n dim = size.length - 1;\n\n // verify whether each of the matrices has the same number of dimensions\n if (i > 0 && dim !== prevDim) {\n throw new DimensionError(prevDim + 1, dim + 1);\n }\n }\n }\n if (matrices.length === 0) {\n throw new SyntaxError('At least one matrix expected');\n }\n var res = matrices.shift();\n while (matrices.length) {\n res = _concat(res, matrices.shift(), dim);\n }\n return asMatrix ? matrix(res) : res;\n },\n '...string': function string(args) {\n return args.join('');\n }\n });\n});","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-find -- testing\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioDAIRRetrato.vue?vue&type=style&index=0&id=402ceadc&prod&lang=css\"","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nimport { log2Number } from '../../plain/number/index.js';\nvar name = 'log2';\nvar dependencies = ['typed', 'config', 'Complex'];\nexport var createLog2 = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n Complex\n } = _ref;\n /**\n * Calculate the 2-base of a value. This is the same as calculating `log(x, 2)`.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.log2(x)\n *\n * Examples:\n *\n * math.log2(0.03125) // returns -5\n * math.log2(16) // returns 4\n * math.log2(16) / math.log2(2) // returns 4\n * math.pow(2, 4) // returns 16\n *\n * See also:\n *\n * exp, log, log1p, log10\n *\n * @param {number | BigNumber | Complex | Array | Matrix} x\n * Value for which to calculate the logarithm.\n * @return {number | BigNumber | Complex | Array | Matrix}\n * Returns the 2-base logarithm of `x`\n */\n return typed(name, {\n number: function number(x) {\n if (x >= 0 || config.predictable) {\n return log2Number(x);\n } else {\n // negative value -> complex value computation\n return _log2Complex(new Complex(x, 0));\n }\n },\n Complex: _log2Complex,\n BigNumber: function BigNumber(x) {\n if (!x.isNegative() || config.predictable) {\n return x.log(2);\n } else {\n // downgrade to number, return Complex valued result\n return _log2Complex(new Complex(x.toNumber(), 0));\n }\n },\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n\n /**\n * Calculate log2 for a complex value\n * @param {Complex} x\n * @returns {Complex}\n * @private\n */\n function _log2Complex(x) {\n var newX = Math.sqrt(x.re * x.re + x.im * x.im);\n return new Complex(Math.log2 ? Math.log2(newX) : Math.log(newX) / Math.LN2, Math.atan2(x.im, x.re) / Math.LN2);\n }\n});","import { factory } from '../../utils/factory.js';\nimport { asinhNumber } from '../../plain/number/index.js';\nvar name = 'asinh';\nvar dependencies = ['typed'];\nexport var createAsinh = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Calculate the hyperbolic arcsine of a value,\n * defined as `asinh(x) = ln(x + sqrt(x^2 + 1))`.\n *\n * To avoid confusion with the matrix hyperbolic arcsine, this function\n * does not apply to matrices.\n *\n * Syntax:\n *\n * math.asinh(x)\n *\n * Examples:\n *\n * math.asinh(0.5) // returns 0.48121182505960347\n *\n * See also:\n *\n * acosh, atanh\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic arcsine of x\n */\n return typed('asinh', {\n number: asinhNumber,\n Complex: function Complex(x) {\n return x.asinh();\n },\n BigNumber: function BigNumber(x) {\n return x.asinh();\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { subtractNumber } from '../../plain/number/index.js';\nvar name = 'subtractScalar';\nvar dependencies = ['typed'];\nexport var createSubtractScalar = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Subtract two scalar values, `x - y`.\n * This function is meant for internal use: it is used by the public function\n * `subtract`\n *\n * This function does not support collections (Array or Matrix).\n *\n * @param {number | BigNumber | Fraction | Complex | Unit} x First value\n * @param {number | BigNumber | Fraction | Complex} y Second value to be subtracted from `x`\n * @return {number | BigNumber | Fraction | Complex | Unit} Difference of `x` and `y`\n * @private\n */\n return typed(name, {\n 'number, number': subtractNumber,\n 'Complex, Complex': function ComplexComplex(x, y) {\n return x.sub(y);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.minus(y);\n },\n 'Fraction, Fraction': function FractionFraction(x, y) {\n return x.sub(y);\n },\n 'Unit, Unit': typed.referToSelf(self => (x, y) => {\n if (x.value === null || x.value === undefined) {\n throw new Error('Parameter x contains a unit with undefined value');\n }\n if (y.value === null || y.value === undefined) {\n throw new Error('Parameter y contains a unit with undefined value');\n }\n if (!x.equalBase(y)) throw new Error('Units do not match');\n var res = x.clone();\n res.value = typed.find(self, [res.valueType(), y.valueType()])(res.value, y.value);\n res.fixPrefix = false;\n return res;\n })\n });\n});","import { factory } from '../../utils/factory.js';\nimport { acscNumber } from '../../plain/number/index.js';\nvar name = 'acsc';\nvar dependencies = ['typed', 'config', 'Complex', 'BigNumber'];\nexport var createAcsc = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n Complex,\n BigNumber: _BigNumber\n } = _ref;\n /**\n * Calculate the inverse cosecant of a value, defined as `acsc(x) = asin(1/x)`.\n *\n * To avoid confusion with the matrix arccosecant, this function does not\n * apply to matrices.\n *\n * Syntax:\n *\n * math.acsc(x)\n *\n * Examples:\n *\n * math.acsc(2) // returns 0.5235987755982989\n * math.acsc(0.5) // returns Complex 1.5707963267948966 -1.3169578969248166i\n * math.acsc(math.csc(1.5)) // returns number ~1.5\n *\n * See also:\n *\n * csc, asin, asec\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} The arc cosecant of x\n */\n return typed(name, {\n number: function number(x) {\n if (x <= -1 || x >= 1 || config.predictable) {\n return acscNumber(x);\n }\n return new Complex(x, 0).acsc();\n },\n Complex: function Complex(x) {\n return x.acsc();\n },\n BigNumber: function BigNumber(x) {\n return new _BigNumber(1).div(x).asin();\n }\n });\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-tabs',{attrs:{\"pills\":\"\"}},[(_vm.acesso.RelatorioFinanceiroLancamento)?_c('b-tab',{attrs:{\"title\":\"Lançamentos\"}},[_c('relatorioFinanceiroLancamento')],1):_vm._e(),(_vm.acesso.RelatorioFinanceiroArrecadacao)?_c('b-tab',{attrs:{\"title\":\"Arrecadação\"}},[_c('relatorioFinanceiroGRPE')],1):_vm._e(),(_vm.acesso.RelatorioFinanceiroTaxasParcelas)?_c('b-tab',{attrs:{\"title\":\"Taxas e Parcelas\"}},[_c('RelatorioTaxasParcelas')],1):_vm._e(),(_vm.acesso.RelatorioFinanceiroIOF)?_c('b-tab',{attrs:{\"title\":\"IOF\"}},[_c('relatorioFinaceiroIOF')],1):_vm._e(),(_vm.acesso.RelatorioFinanceiroCapitalAplicado)?_c('b-tab',{attrs:{\"title\":\"Capital Aplicado x Rentabilidade\"}},[_c('relatorioFinanceiroCapitalAplicadoXRentabilidade')],1):_vm._e(),(_vm.acesso.RelatorioFinanceiroContabil)?_c('b-tab',{attrs:{\"title\":\"Contábil\"}},[_c('relatorioFinanceiroContabil')],1):_vm._e(),(_vm.acesso.RelatorioFinanceiroParcelasAntecipadas)?_c('b-tab',{attrs:{\"title\":\"Parcelas Antecipadas\"}},[_c('relatorioFinanceiroParcelasAntecipadas')],1):_vm._e(),(_vm.acesso.RelatorioFinanceiroDAIR)?_c('b-tab',{attrs:{\"title\":\"DAIR\"}},[_c('relatorioDAIR')],1):_vm._e()],1),(_vm.todosFalsos)?_c('b-card',{staticClass:\"text-center\"},[_c('b-card-body',[_c('b-icon',{attrs:{\"icon\":\"exclamation-triangle\",\"variant\":\"danger\",\"font-scale\":\"2\"}}),_c('b-card-title',{staticClass:\"text-danger mt-2\"},[_vm._v(\"Acesso Negado!\")]),_c('b-card-text',{staticClass:\"mb-1\"},[_vm._v(\"Parece que seu usuário não tem permissão para acessar abas deste módulo.\")]),_c('b-card-text',{staticClass:\"mb-1\"},[_vm._v(\"Para obter acesso, por favor, solicite assistência ou permissões adicionais ao administrador do sistema.\")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h2',[_vm._v(\"Relatório de lançamentos\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Mês\",\"label-for\":\"mes\"}},[_c('b-form-select',{attrs:{\"id\":\"mes\",\"options\":_vm.mesOpcoes},model:{value:(_vm.pesquisar.mes),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"mes\", $$v)},expression:\"pesquisar.mes\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Ano\",\"label-for\":\"ano\"}},[_c('v-select-pt',{attrs:{\"name\":\"ano\",\"options\":_vm.anoOpcao,\"label\":\"exercicio\"},model:{value:(_vm.pesquisar.exercicio),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"exercicio\", $$v)},expression:\"pesquisar.exercicio\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Status\",\"label-for\":\"status\"}},[_c('b-form-select',{attrs:{\"id\":\"status\",\"options\":_vm.statusOpcoes},model:{value:(_vm.pesquisar.statusOpcoes),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"statusOpcoes\", $$v)},expression:\"pesquisar.statusOpcoes\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{attrs:{\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.pesquisar.orgao),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"orgao\", $$v)},expression:\"pesquisar.orgao\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.pesquisarDados()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Pesquisar' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar tabela para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1),(_vm.items.length > 0)?_c('div',{staticStyle:{\"margin-top\":\"0.6rem\"}},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"5\"}},[_c('p',[_vm._v(\" Valor das Parcelas: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(this.totalParcela)+\" \")])],1)])],1)],1):_vm._e(),_c('b-table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.items.length > 0),expression:\"items.length > 0\"}],ref:\"tableLancamento\",staticClass:\"position-relative\",attrs:{\"striped\":\"\",\"responsive\":\"\",\"id\":\"tableLancamento\",\"per-page\":_vm.pesquisar.perPage,\"items\":_vm.items,\"fields\":_vm.fields,\"busy\":_vm.isBusy,\"current-page\":_vm.pesquisar.currentPage,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"table-busy\",fn:function(){return [_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando...\")])],1)]},proxy:true},{key:\"cell(createdAt)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatarData(row.item.createdAt))+\" \")]}},{key:\"cell(statusLancamento)\",fn:function(finanrow){return [_c('b-badge',{attrs:{\"pill\":\"\",\"variant\":_vm.statusLancamento[0][finanrow.item.statusLancamento]}},[_vm._v(\" \"+_vm._s(finanrow.item.statusLancamento == 'Lancado' ? 'Lançado' : finanrow.item.statusLancamento == 'Antecipado por Óbito' ? 'Antecipado por Óbito' : finanrow.item.statusLancamento == 'Antecipado' ? 'Antecipado' : 'Não Lançado')+\" \")])]}},{key:\"cell(statusDesconto)\",fn:function(finanrow){return [_c('b-badge',{attrs:{\"pill\":\"\",\"variant\":_vm.statusDesconto[0][finanrow.item.statusDesconto]}},[_vm._v(\" \"+_vm._s(finanrow.item.statusDesconto == 'NaoDescontada' ? 'Parcela Não Descontada' : finanrow.item.statusDesconto == 'Descontado' ? 'Parcela Descontada' : finanrow.item.statusDesconto == 'Rejeitada' ? 'Parcela Rejeitada' : finanrow.item.statusDesconto == 'Renegociada' ? 'Parcela Renegociada' : finanrow.item.statusDesconto == 'PagaParcialmente' ? 'Parcela Paga Parcialmente' : '')+\" \")])]}},{key:\"cell(orgao)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.orgao)+\" \")]}}])}),(_vm.items.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.pesquisar.perPage),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"perPage\", $$v)},expression:\"pesquisar.perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"first-number\":\"\",\"last-number\":\"\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pesquisar.perPage,\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.pesquisar.currentPage),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"currentPage\", $$v)},expression:\"pesquisar.currentPage\"}})],1):_vm._e(),_c('div',[_c('relatorioFinanceiroLancamentoRetrato',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { set, differenceInDays, isValid, parseISO } from 'date-fns'\r\n\r\n/**\r\n * Calcula o próximo mês e ano com base na data de referência.\r\n *\r\n * @param data - A data de referência.\r\n * @returns Um objeto contendo o próximo mês e ano.\r\n * @throws {TypeError} Se o parâmetro for do tipo diferente de Date, string ou number.\r\n * @throws {RangeError} Se a data de referência não for válida.\r\n */\r\nexport function getNextMonthAndYear(data: Date | string): { nextMonth: number; nextYear: number } {\r\n let date\r\n if (typeof data === 'string') {\r\n date = new Date(data.toString())\r\n } else {\r\n date = data as Date\r\n }\r\n\r\n if (isNaN(date.getTime())) {\r\n throw new TypeError('A data de referência é inválida')\r\n } else if (!isValid(date)) {\r\n throw new RangeError('A data de referência é inválida')\r\n }\r\n\r\n const currentMonth = date.getMonth() + 1\r\n const currentYear = date.getFullYear()\r\n\r\n const nextMonth = (currentMonth % 12) + 1\r\n const nextYear = currentMonth === 12 ? currentYear + 1 : currentYear\r\n\r\n return { nextMonth, nextYear }\r\n}\r\n\r\n/**\r\n * Calcula o número de dias entre duas datas.\r\n *\r\n * @param dataInicio - A data de início para o cálculo.\r\n * @param dataFim - A data de fim para o cálculo.\r\n * @returns A diferença em dias entre as duas datas ou -1 se alguma data for inválida.\r\n * @throws {TypeError} Se algum parâmetro for do tipo diferente de Date, string ou number.\r\n */\r\nexport function calcularDiasEntreDatas(dataInicio: Date | string | number, dataFim: Date | string | number): number {\r\n let startDate: Date | undefined\r\n let endDate: Date | undefined\r\n\r\n if (typeof dataInicio === 'string') {\r\n startDate = new Date(dataInicio)\r\n } else if (typeof dataInicio === 'number') {\r\n startDate = new Date(dataInicio)\r\n } else if (dataInicio instanceof Date) {\r\n startDate = dataInicio\r\n }\r\n\r\n if (typeof dataFim === 'string') {\r\n endDate = new Date(dataFim)\r\n } else if (typeof dataFim === 'number') {\r\n endDate = new Date(dataFim)\r\n } else if (dataFim instanceof Date) {\r\n endDate = dataFim\r\n }\r\n\r\n if (!startDate || !endDate || isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {\r\n throw new TypeError('As datas de início e fim devem ser válidas')\r\n }\r\n\r\n if (!isValid(startDate) || !isValid(endDate)) {\r\n throw new RangeError('As datas de início e fim devem ser válidas')\r\n }\r\n\r\n const diferencas: number = differenceInDays(endDate, startDate)\r\n\r\n return diferencas\r\n}\r\n","import * as XLSX from 'xlsx'\r\nimport { formatarData, formatarValorReais } from '@/libs/utils'\r\n\r\nconst createSheet = (tableData: any[]) => {\r\n // cria um objeto de planilha vazio\r\n const workbook = XLSX.utils.book_new()\r\n // cria uma planilha vazia e adiciona ao objeto de planilha\r\n const worksheet = XLSX.utils.aoa_to_sheet([[]])\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Relatório Geral')\r\n\r\n // adiciona dados da tabela à planilha\r\n XLSX.utils.sheet_add_json(worksheet, tableData, { origin: -1 })\r\n\r\n // salvar o arquivo XLSX\r\n XLSX.writeFile(workbook, 'relatorio-de-lancamentos.xlsx')\r\n}\r\n\r\nexport const asDefault = () => {\r\n return {\r\n convertToExcelFormat: (item, formatarData, formatarValorReais) => {\r\n return {\r\n 'CRIADO EM': item.createdAt ? formatarData(item.createdAt) : '',\r\n 'N° DO CONTRATO': item.codigo ?? '',\r\n 'VALOR DA PARCELA': item.valor ? item.valor : '',\r\n 'DATA DE VENCIMENTO': item.vencimento ? formatarData(item.vencimento) : '',\r\n 'STATUS DE LANÇAMENTO':\r\n item.statusLancamento == 'Lancado' ? 'Lançado' : item.statusLancamento == 'NaoLancado' ? 'Não Lançado' : '',\r\n 'STATUS DA PARCELA':\r\n item.statusDesconto === 'NaoDescontada'\r\n ? 'Parcela Não Descontada'\r\n : item.statusDesconto === 'Descontado'\r\n ? 'Parcela Descontada'\r\n : item.statusDesconto === 'Rejeitada'\r\n ? 'Parcela Rejeitada'\r\n : item.statusDesconto === 'Renegociada'\r\n ? 'Parcela Renegociada'\r\n : item.statusDesconto == 'PagaParcialmente'\r\n ? 'Parcela Paga Parcialmente'\r\n : '',\r\n 'NOME DO TOMADOR': item.nomeCompleto ?? '',\r\n MATRICULA: item.matricula ?? '',\r\n PARCELA: item.numeroParcelas ?? '',\r\n ÓRGÃO: item.orgao ?? '',\r\n 'UNIDADE GESTORA': item.unidadeGestora ?? '',\r\n }\r\n },\r\n export: (items) => {\r\n const situationItems = items.map((item) => asDefault().convertToExcelFormat(item, formatarData, formatarValorReais))\r\n createSheet(situationItems)\r\n },\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas}}),(pageIndex === _vm.paginatedItems.length - 1)?_c('div',{staticClass:\"d-flex justify-content-end\",staticStyle:{\"page-break-inside\":\"avoid\",\"padding-top\":\"10px\"}},[_c('h6',[_vm._v(\"Valor das Parcelas: \"+_vm._s(_vm.parametro.totalParcela))])]):_vm._e()]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroLancamentoRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroLancamentoRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiroLancamentoRetrato.vue?vue&type=template&id=ee2824a8\"\nimport script from \"./relatorioFinanceiroLancamentoRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiroLancamentoRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioFinanceiroLancamentoRetrato.vue?vue&type=style&index=0&id=ee2824a8&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroLancamento.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroLancamento.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiroLancamento.vue?vue&type=template&id=66b0c32e\"\nimport script from \"./relatorioFinanceiroLancamento.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiroLancamento.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('h2',[_vm._v(\"Relatório de geração de Arrecadação\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Mês\",\"label-for\":\"mes\"}},[_c('b-form-select',{attrs:{\"id\":\"mes\",\"options\":_vm.mesOpcoes},model:{value:(_vm.pesquisar.mes),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"mes\", $$v)},expression:\"pesquisar.mes\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Ano\",\"label-for\":\"ano\"}},[_c('v-select-pt',{attrs:{\"name\":\"ano\",\"options\":_vm.anoOpcao,\"label\":\"exercicio\"},model:{value:(_vm.pesquisar.exercicio),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"exercicio\", $$v)},expression:\"pesquisar.exercicio\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Status\",\"label-for\":\"status\"}},[_c('b-form-select',{attrs:{\"id\":\"status\",\"options\":_vm.statusOpcoes},model:{value:(_vm.pesquisar.statusOpcoes),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"statusOpcoes\", $$v)},expression:\"pesquisar.statusOpcoes\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{attrs:{\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.pesquisar.orgao),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"orgao\", $$v)},expression:\"pesquisar.orgao\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Pesquisar' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar tabela para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1),(_vm.items.length > 0)?_c('div',{staticStyle:{\"margin-top\":\"0.6rem\"}},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('p',[_vm._v(\" Total de quantidade apresentada: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.total))])],1)])],1)],1):_vm._e(),_c('b-table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.items.length > 0),expression:\"items.length > 0\"}],ref:\"tableGRPE\",staticClass:\"position-relative\",attrs:{\"striped\":\"\",\"responsive\":\"\",\"id\":\"tableGRPE\",\"per-page\":_vm.pesquisar.perPage,\"items\":_vm.items,\"fields\":_vm.fields,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"busy\":_vm.isBusy},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event},\"change\":function($event){_vm.currentPage = $event}},scopedSlots:_vm._u([{key:\"table-busy\",fn:function(){return [_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando...\")])],1)]},proxy:true},{key:\"cell(createdAt)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatarData(row.item.createdAt))+\" \")]}},{key:\"cell(status)\",fn:function(finanrow){return [_c('b-badge',{attrs:{\"pill\":\"\",\"variant\":_vm.status[0][finanrow.item.status]}},[_vm._v(\" \"+_vm._s(finanrow.item.status == 'Gerado' ? 'Gerado' : finanrow.item.status == 'NaoGerado' ? 'Não Gerado' : finanrow.item.status == 'Pago' ? 'Pago' : 'Expirado')+\" \")])]}}])},[_vm._v(\"> \")]),(_vm.items.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.pesquisar.perPage),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"perPage\", $$v)},expression:\"pesquisar.perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totals.rows,\"per-page\":_vm.pesquisar.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.pesquisar.currentPage),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"currentPage\", $$v)},expression:\"pesquisar.currentPage\"}})],1):_vm._e(),_c('div',[_c('relatorioFinanceiroGRPERetrato',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import * as XLSX from 'xlsx'\r\nimport { formatarData, formatarValorReais } from '@/libs/utils'\r\n\r\nconst createSheet = (tableData: any[]) => {\r\n // cria um objeto de planilha vazio\r\n const workbook = XLSX.utils.book_new()\r\n // cria uma planilha vazia e adiciona ao objeto de planilha\r\n const worksheet = XLSX.utils.aoa_to_sheet([[]])\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Relatório Geral')\r\n\r\n // adiciona dados da tabela à planilha\r\n XLSX.utils.sheet_add_json(worksheet, tableData, { origin: -1 })\r\n\r\n // salvar o arquivo XLSX\r\n XLSX.writeFile(workbook, 'relatorio-de-grpe.xlsx')\r\n}\r\n\r\nexport const asDefault = () => {\r\n return {\r\n convertToExcelFormat: (item, formatarData, formatarValorReais) => {\r\n return {\r\n Competência: item.dataCompetenciaConvertida ?? '',\r\n 'Quantidade De Contratos': item.quantidadeContratos.toString().replace(/\\[|\\]|\"/g, '') ?? '',\r\n 'N° Do Contrato': item.codigo.toString().replace(/\\[|\\]|\"/g, '') ?? '',\r\n 'Data De Vencimento': item.dataVencimento ? formatarData(item.dataVencimento) : '',\r\n 'Dia de Repasse': item.diaDeRepasse ?? '',\r\n Órgão: item.nomeOrgao ?? '',\r\n 'Status Arrecadação': item.status ?? '',\r\n 'Unidade Gestora': item.unidadeGestora ?? '',\r\n }\r\n },\r\n export: (items) => {\r\n const situationItems = items.map((item) => asDefault().convertToExcelFormat(item, formatarData, formatarValorReais))\r\n createSheet(situationItems)\r\n },\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas}}),(pageIndex === _vm.paginatedItems.length - 1)?_c('div',{staticClass:\"d-flex justify-content-end\",staticStyle:{\"page-break-inside\":\"avoid\",\"padding-top\":\"10px\"}},[_c('h6',[_vm._v(\"Valor das Parcelas: \"+_vm._s(_vm.parametro.dados.length))])]):_vm._e()]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroGRPERetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroGRPERetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiroGRPERetrato.vue?vue&type=template&id=3cf9f40e\"\nimport script from \"./relatorioFinanceiroGRPERetrato.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiroGRPERetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioFinanceiroGRPERetrato.vue?vue&type=style&index=0&id=3cf9f40e&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroGRPE.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroGRPE.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiroGRPE.vue?vue&type=template&id=0e5ea7e6\"\nimport script from \"./relatorioFinanceiroGRPE.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiroGRPE.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticStyle:{\"overflow-x\":\"auto\"}},[_c('h2',[_vm._v(\"Relatórios de Taxas e Parcelas\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',[_c('b-row',{staticClass:\"mt-2 mb-2\"},[_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Data Inicial\",\"label-for\":\"dataInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',[_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"dataInicial\",\"type\":\"text\",\"placeholder\":\"DD/MM/AAAA\",\"options\":_vm.options.cleaveDate,\"raw\":false},model:{value:(_vm.dataInicial),callback:function ($$v) {_vm.dataInicial=$$v},expression:\"dataInicial\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{staticClass:\"datePickerWithInput\",attrs:{\"size\":\"sm\",\"button-variant\":\"primary\",\"right\":\"\",\"button-only\":\"\",\"hide-header\":true,\"initial-date\":new Date(),\"state\":errors[0] ? false : null,\"label-help\":\"\",\"label-calendar\":\"Calendário\",\"label-close-button\":\"Fechar\",\"label-current-month\":\"Mês atual\",\"label-next-decade\":\"Próxima década\",\"label-next-month\":\"Próximo mês\",\"label-next-year\":\"Próximo ano\",\"label-prev-decade\":\"Década anterior\",\"label-prev-month\":\"Mês anterior\",\"label-prev-year\":\"Ano anterior\",\"label-select-month\":\"Selecione o mês\",\"label-select-year\":\"Selecione o ano\",\"label-selected\":\"Selecionado\",\"label-no-date-selected\":\"Nenhuma data selecionada\",\"label-reset-button\":\"Resetar\",\"label-today-button\":\"Hoje\",\"label-today\":\"Hoje\",\"locale\":\"pt-br\",\"date-format-options\":{ year: 'numeric', month: '2-digit', day: 'numeric' },\"aria-controls\":\"dataInicial\"},model:{value:(_vm.dataInicialDatePicker),callback:function ($$v) {_vm.dataInicialDatePicker=$$v},expression:\"dataInicialDatePicker\"}})],1)],1),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Data Final\",\"label-for\":\"dataFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Final\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',[_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"dataFinal\",\"type\":\"text\",\"placeholder\":\"DD/MM/AAAA\",\"options\":_vm.options.cleaveDate,\"raw\":false},model:{value:(_vm.dataFinal),callback:function ($$v) {_vm.dataFinal=$$v},expression:\"dataFinal\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{staticClass:\"datePickerWithInput\",attrs:{\"size\":\"sm\",\"button-variant\":\"primary\",\"right\":\"\",\"button-only\":\"\",\"hide-header\":true,\"initial-date\":new Date(),\"state\":errors[0] ? false : null,\"label-help\":\"\",\"label-calendar\":\"Calendário\",\"label-close-button\":\"Fechar\",\"label-current-month\":\"Mês atual\",\"label-next-decade\":\"Próxima década\",\"label-next-month\":\"Próximo mês\",\"label-next-year\":\"Próximo ano\",\"label-prev-decade\":\"Década anterior\",\"label-prev-month\":\"Mês anterior\",\"label-prev-year\":\"Ano anterior\",\"label-select-month\":\"Selecione o mês\",\"label-select-year\":\"Selecione o ano\",\"label-selected\":\"Selecionado\",\"label-no-date-selected\":\"Nenhuma data selecionada\",\"label-reset-button\":\"Resetar\",\"label-today-button\":\"Hoje\",\"label-today\":\"Hoje\",\"locale\":\"pt-br\",\"date-format-options\":{ year: 'numeric', month: '2-digit', day: 'numeric' },\"aria-controls\":\"dataFinal\"},model:{value:(_vm.dataFinalDatePicker),callback:function ($$v) {_vm.dataFinalDatePicker=$$v},expression:\"dataFinalDatePicker\"}})],1)],1),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)],1)],1)],1),_c('b-table',{staticClass:\"position-relative\",attrs:{\"striped\":\"\",\"responsive\":\"\",\"per-page\":_vm.pesquisar.perPage,\"items\":_vm.relatorios,\"fields\":_vm.fields,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"sort-direction\":_vm.sortDirection,\"busy\":_vm.isBusy,\"current-page\":_vm.pesquisar.currentPage,\"foot-row-class\":\"bold-footer-row\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"table-busy\",fn:function(){return [_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando...\")])],1)]},proxy:true},{key:\"cell(nome)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.nome)+\" \")]}},{key:\"cell(acoes)\",fn:function(row){return [[_c('div',{staticStyle:{\"width\":\"10px\"}},[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"primary\",\"title\":\"Este botão contém as opções disponíveis para este relatório\"}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\"}})],1)]},proxy:true}],null,true)},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.buscarRelatorio(row.item.id)}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.buscarRelatorioExcel(row.item.id)}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar tabela para excel\"}},[_vm._v(\"Excel\")])],1)],1)],1)]]}}])}),_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.pesquisar.perPage),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"perPage\", $$v)},expression:\"pesquisar.perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.pesquisar.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}]),model:{value:(_vm.pesquisar.currentPage),callback:function ($$v) {_vm.$set(_vm.pesquisar, \"currentPage\", $$v)},expression:\"pesquisar.currentPage\"}})],1),_c('div',[_c('vue-html2pdf',{ref:\"relatorio\",attrs:{\"show-layout\":false,\"float-layout\":true,\"enable-download\":false,\"preview-modal\":false,\"paginate-elements-by-height\":800,\"filename\":\"ConsigPrev - Relatório\",\"pdf-quality\":2,\"manual-pagination\":true,\"pdf-format\":\"a4\",\"pdf-orientation\":\"landscape\",\"pdf-content-width\":\"1100px\",\"foot-row-class\":\"bold-footer-row\"},on:{\"beforeDownload\":function($event){return _vm.beforeDownload($event)},\"hasDownloaded\":_vm.hasDownloaded,\"startPagination\":_vm.startPagination}},[_c('section',{staticStyle:{\"background-color\":\"white\"},attrs:{\"slot\":\"pdf-content\"},slot:\"pdf-content\"},[_c('b-card',{staticClass:\"fundoRelatorio cabecalhoTable\"},_vm._l((_vm.linhasTabela),function(linhaDaTabela,indice){return _c('div',{key:(\"tabelaItem_\" + indice)},[_c('div',{staticClass:\"fundoRelatorio titulo\"},[_c('div',{staticClass:\"d-none d-lg-flex align-items-center fundoRelatorio\"},[_c('img',{attrs:{\"src\":_vm.logoAgenda}}),_c('h2',{staticClass:\"brand-text text-primary ml-1\",staticStyle:{\"margin-bottom\":\"0px\",\"margin-left\":\"0px !important\"}},[_vm._v(\" ConsigPrev \")])]),_c('div',{staticClass:\"lineBlue\"}),_c('div',{staticClass:\"lineGray\"}),_c('h1',{staticClass:\"fundoRelatorio instituto\",staticStyle:{\"margin-bottom\":\"0px\",\"margin-top\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm.userData.Instituto.nome)+\" \")])]),_c('div',{staticClass:\"fundoRelatorio tituloRelatorio\"},[_vm._v(_vm._s(_vm.nomeRelatorio.nome))]),(!_vm.relatorioDeCompetencia)?_c('div',{staticClass:\"periodoRelatorio fundoRelatorio\"},[_vm._v(\" PERÍODO: \"+_vm._s(_vm.dataInicial)+\" até \"+_vm._s(_vm.dataFinal)+\" \")]):_c('div',{staticClass:\"periodoRelatorio fundoRelatorio\"},[_vm._v(\" COMPETÊNCIA: \"+_vm._s(!String(_vm.dataInicial).includes('/') ? _vm.formatarCompetenciaDescricao(_vm.formatarCompetencia(_vm.dataInicial)) : _vm.formatarCompetenciaDescricao(_vm.formatarCompetencia(_vm.formatarDataGlobal(_vm.dataInicial))))+\" até \"+_vm._s(!String(_vm.dataFinal).includes('/') ? _vm.formatarCompetenciaDescricao(_vm.formatarCompetencia(_vm.dataFinal)) : _vm.formatarCompetenciaDescricao(_vm.formatarCompetencia(_vm.formatarDataGlobal(_vm.dataFinal))))+\" \")]),_c('b-table',{staticClass:\"RelatorioJurosPDF\",class:_vm.linhasTabela.length - 1 == indice ? 'UltimaTable' : '',staticStyle:{\"text-align\":\"center\"},attrs:{\"striped\":\"\",\"responsive\":\"\",\"id\":\"tableTaxaJurosPDF\",\"head-variant\":'light',\"items\":linhaDaTabela,\"fields\":_vm.colunasTabelaRelatorio}}),(!_vm.relatorioDeCompetencia && _vm.linhasTabela.length - 1 == indice && linhaDaTabela.length == 22)?_c('div',{staticClass:\"html2pdf__page-break\"}):_vm._e(),_c('div',{class:linhaDaTabela.length == 22 ? 'margemTotalizador' : ''},[(!_vm.relatorioDeCompetencia && _vm.linhasTabela.length - 1 == indice)?_c('div',{staticClass:\"fundoRelatorio totalParcelas\"},[_vm._v(\" TOTAL DE PARCELAS: \"+_vm._s(_vm.itemsRelatorio.totalParcelas)+\" \")]):_vm._e(),(!_vm.relatorioDeCompetencia && _vm.linhasTabela.length - 1 == indice)?_c('div',{staticClass:\"fundoRelatorio totalParcelas\"},[_vm._v(\" TOTAL DE CONTRATOS: \"+_vm._s(_vm.itemsRelatorio.totalContratos)+\" \")]):_vm._e(),(!_vm.relatorioDeCompetencia && _vm.linhasTabela.length - 1 == indice)?_c('div',{staticClass:\"fundoRelatorio totalParcelas\"},[_vm._v(\" TOTAL DE SEGURADOS: \"+_vm._s(_vm.itemsRelatorio.totalSegurados)+\" \")]):_vm._e(),(_vm.relatorioDeCompetencia && _vm.linhasTabela.length - 1 == indice)?_c('div',{staticClass:\"fundoRelatorio totalParcelas\"},[_vm._v(\" \"+_vm._s(_vm.itemsRelatorio.totalAcumulado ? 'TOTAL ACUMULADO ATÉ O PERÍODO' : '')+\" \"+_vm._s(_vm.itemsRelatorio.totalAcumulado)+\" \")]):_vm._e()]),(_vm.linhasTabela.length - 1 != indice)?_c('div',{staticClass:\"html2pdf__page-break\"}):_vm._e()],1)}),0)],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function mapTableBodies(innerTableCell) {\r\n const findInlineHeight = this.findInlineHeight(innerTableCell, maxWidth, usedWidth)\r\n\r\n usedWidth = findInlineHeight.width\r\n return findInlineHeight.height\r\n}\r\n\r\nfunction findInlineHeight(cell, maxWidth, usedWidth = 0) {\r\n let calcLines = (inlines) => {\r\n if (!inlines)\r\n return {\r\n height: 0,\r\n width: 0,\r\n }\r\n let currentMaxHeight = 0\r\n let lastHadLineEnd = false\r\n for (const currentNode of inlines) {\r\n usedWidth += currentNode.width\r\n if (usedWidth > maxWidth || lastHadLineEnd) {\r\n currentMaxHeight += currentNode.height\r\n usedWidth = currentNode.width\r\n } else {\r\n currentMaxHeight = Math.max(currentNode.height, currentMaxHeight)\r\n }\r\n lastHadLineEnd = !!currentNode.lineEnd\r\n }\r\n return {\r\n height: currentMaxHeight,\r\n width: usedWidth,\r\n }\r\n }\r\n if (cell._offsets) {\r\n usedWidth += cell._offsets.total\r\n }\r\n if (cell._inlines && cell._inlines.length) {\r\n return calcLines(cell._inlines)\r\n } else if (cell.stack && cell.stack[0]) {\r\n return cell.stack\r\n .map((item) => {\r\n return findInlineHeight(item, maxWidth)\r\n })\r\n .reduce((prev, next) => {\r\n return {\r\n height: prev.height + next.height,\r\n width: Math.max(prev.width + next.width),\r\n }\r\n })\r\n } else if (cell.table) {\r\n let currentMaxHeight = 0\r\n for (const currentTableBodies of cell.table.body) {\r\n const innerTableHeights = currentTableBodies.map(mapTableBodies)\r\n currentMaxHeight = Math.max(...innerTableHeights, currentMaxHeight)\r\n }\r\n return {\r\n height: currentMaxHeight,\r\n width: usedWidth,\r\n }\r\n } else if (cell._height) {\r\n usedWidth += cell._width\r\n return {\r\n height: cell._height,\r\n width: usedWidth,\r\n }\r\n }\r\n\r\n return {\r\n height: null,\r\n width: usedWidth,\r\n }\r\n}\r\n\r\nexport default function applyVerticalAlignment(node, rowIndex, align, manualHeight = 0) {\r\n // New default argument\r\n const allCellHeights = node.table.body[rowIndex].map((innerNode, columnIndex) => {\r\n if (innerNode._span) return null\r\n const calcWidth = [...Array(innerNode.colSpan || 1).keys()].reduce((acc, i) => {\r\n return acc + node.table.widths[columnIndex + i]._calcWidth\r\n }, 0)\r\n const mFindInlineHeight = findInlineHeight(innerNode, calcWidth, 0, rowIndex, columnIndex)\r\n return mFindInlineHeight.height\r\n })\r\n const maxRowHeight = manualHeight ? manualHeight[rowIndex] : Math.max(...allCellHeights) // handle manual height\r\n node.table.body[rowIndex].forEach((cell, ci) => {\r\n if (allCellHeights[ci] && maxRowHeight > allCellHeights[ci]) {\r\n let topMargin\r\n\r\n let cellAlign = align\r\n if (Array.isArray(align)) {\r\n cellAlign = align[ci]\r\n }\r\n\r\n if (cellAlign === 'bottom') {\r\n topMargin = maxRowHeight - allCellHeights[ci]\r\n } else if (cellAlign === 'center') {\r\n topMargin = (maxRowHeight - allCellHeights[ci]) / 2\r\n }\r\n\r\n if (topMargin) {\r\n if (cell._margin) {\r\n cell._margin[1] = topMargin\r\n } else {\r\n cell._margin = [0, topMargin, 0, 0]\r\n }\r\n }\r\n }\r\n })\r\n}\r\n","import pdfMake from 'pdfmake/build/pdfmake'\r\nimport pdfFonts from 'pdfmake/build/vfs_fonts'\r\nimport applyVerticalAlignment from '@/views/pages/relatorio/UtilitarioRelatorios'\r\n\r\nexport default {\r\n mounted() {\r\n pdfMake.vfs = pdfFonts.pdfMake.vfs\r\n this.loadImage()\r\n },\r\n methods: {\r\n gerarParcelasRecebidasPorCompetencia(parametros) {\r\n const linhasTabelaRelatorio = parametros.linhasTabelaRelatorio\r\n const colunasTabelaRelatorio = parametros.colunasTabelaRelatorio\r\n const nomeRelatorio = parametros.nomeRelatorio\r\n\r\n const tableContent = []\r\n const fieldsPDF = colunasTabelaRelatorio\r\n const header = fieldsPDF.map((field) => ({ text: field.label, style: 'tableHeader' }))\r\n\r\n tableContent.push(header)\r\n\r\n linhasTabelaRelatorio.forEach((item, indiceLinha) => {\r\n const negrito = item.negrito\r\n\r\n const row = fieldsPDF.map((field, indiceColuna) => {\r\n const value = item[field.key]\r\n const styleLinha = ['tableCell']\r\n\r\n if (indiceColuna == 0) styleLinha.push('conteudoTexto')\r\n\r\n return { text: value, style: styleLinha, bold: negrito }\r\n })\r\n\r\n tableContent.push(row)\r\n })\r\n\r\n const documentDefinition = {\r\n pageSize: 'A4',\r\n pageOrientation: 'landscape',\r\n\r\n content: [\r\n {\r\n text: nomeRelatorio.nome,\r\n fontSize: 16,\r\n style: 'title',\r\n margin: 15,\r\n },\r\n {\r\n text: `PERÍODO: ${parametros.dataInicial} até ${parametros.dataFinal}`,\r\n fontSize: 10,\r\n margin: 15,\r\n alignment: 'center',\r\n },\r\n {\r\n table: {\r\n headerRows: 1,\r\n body: tableContent,\r\n },\r\n layout: {\r\n paddingTop: function (index, node) {\r\n applyVerticalAlignment(node, index, 'center')\r\n return 0\r\n },\r\n },\r\n },\r\n ],\r\n footer: {\r\n columns: [\r\n {\r\n text: `${parametros.instituto.logradouro} ${parametros.instituto.numero}, ${parametros.instituto.bairro}, ${parametros.instituto.cep} - ${parametros.instituto.cidade} - ${parametros.instituto.uf}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n {\r\n text: `E-mail: ${parametros.instituto.emailResponsavel} - Fone: ${parametros.instituto.telefone}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n ],\r\n },\r\n styles: {\r\n table: {\r\n alignment: 'center',\r\n },\r\n conteudoTexto: {\r\n alignment: 'left',\r\n margin: [5, 0, 0, 0],\r\n },\r\n tableHeader: {\r\n bold: true,\r\n fontSize: 11,\r\n fillColor: '#f3f3f3',\r\n alignment: 'center',\r\n margin: [5, 0, 5, 0],\r\n },\r\n tableCell: {\r\n alignment: 'center',\r\n fontSize: 11,\r\n margin: [5, 0, 5, 0],\r\n },\r\n title: {\r\n bold: true,\r\n fontSize: 16,\r\n alignment: 'center',\r\n },\r\n subtitle: {\r\n fontSize: 11,\r\n alignment: 'center',\r\n margin: [15, 10],\r\n },\r\n },\r\n }\r\n\r\n pdfMake.createPdf(documentDefinition).open()\r\n },\r\n },\r\n}\r\n","import pdfMake from 'pdfmake/build/pdfmake'\r\nimport pdfFonts from 'pdfmake/build/vfs_fonts'\r\nimport applyVerticalAlignment from '@/views/pages/relatorio/UtilitarioRelatorios'\r\n\r\nexport default {\r\n mounted() {\r\n pdfMake.vfs = pdfFonts.pdfMake.vfs\r\n this.loadImage()\r\n },\r\n methods: {\r\n gerarParcelasRecebidasPorPeriodo(parametros) {\r\n const linhasTabelaRelatorio = parametros.linhasTabelaRelatorio\r\n const colunasTabelaRelatorio = parametros.colunasTabelaRelatorio\r\n const nomeRelatorio = parametros.nomeRelatorio\r\n\r\n const tableContent = []\r\n const totaisLista = []\r\n const widths = []\r\n const fieldsPDF = colunasTabelaRelatorio\r\n const header = fieldsPDF.map((field) => ({ text: field.label, style: 'tableHeader' }))\r\n\r\n tableContent.push(header)\r\n\r\n linhasTabelaRelatorio.forEach((item, indiceLinha) => {\r\n const negrito = item.negrito\r\n indiceLinha == 0 ? widths.push(200) : widths.push(150)\r\n const row = fieldsPDF.map((field, indiceColuna) => {\r\n const value = item[field.key]\r\n const styleLinha = ['tableCell']\r\n\r\n if (indiceColuna == 0) styleLinha.push('conteudoTexto')\r\n\r\n return { text: value, style: styleLinha, bold: negrito }\r\n })\r\n\r\n tableContent.push(row)\r\n })\r\n\r\n const documentDefinition = {\r\n pageSize: 'A4',\r\n pageOrientation: 'landscape',\r\n\r\n content: [\r\n {\r\n text: nomeRelatorio.nome,\r\n fontSize: 16,\r\n style: 'title',\r\n margin: 15,\r\n },\r\n {\r\n text: `PERÍODO: ${parametros.dataInicial} até ${parametros.dataFinal}`,\r\n fontSize: 10,\r\n margin: 15,\r\n },\r\n {\r\n table: {\r\n headerRows: 1,\r\n body: tableContent,\r\n },\r\n layout: {\r\n paddingTop: function (index, node) {\r\n applyVerticalAlignment(node, index, 'center')\r\n return 0\r\n },\r\n },\r\n },\r\n ...totaisLista,\r\n ],\r\n footer: {\r\n columns: [\r\n {\r\n text: `${parametros.instituto.logradouro} ${parametros.instituto.numero}, ${parametros.instituto.bairro}, ${parametros.instituto.cep} - ${parametros.instituto.cidade} - ${parametros.instituto.uf}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n {\r\n text: `E-mail: ${parametros.instituto.emailResponsavel} - Fone: ${parametros.instituto.telefone}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n ],\r\n },\r\n styles: {\r\n table: {\r\n alignment: 'center',\r\n },\r\n conteudoTexto: {\r\n alignment: 'left',\r\n margin: [5, 0, 0, 0],\r\n },\r\n tableHeader: {\r\n bold: true,\r\n fontSize: 7,\r\n fillColor: '#f3f3f3',\r\n alignment: 'center',\r\n margin: [5, 0, 5, 0],\r\n },\r\n tableCell: {\r\n alignment: 'center',\r\n fontSize: 7,\r\n margin: [5, 0, 5, 0],\r\n },\r\n title: {\r\n bold: true,\r\n fontSize: 16,\r\n alignment: 'center',\r\n },\r\n subtitle: {\r\n fontSize: 11,\r\n alignment: 'center',\r\n margin: [15, 10],\r\n },\r\n },\r\n }\r\n\r\n pdfMake.createPdf(documentDefinition).open()\r\n },\r\n },\r\n}\r\n","import pdfMake from 'pdfmake/build/pdfmake'\r\nimport pdfFonts from 'pdfmake/build/vfs_fonts'\r\nimport applyVerticalAlignment from '@/views/pages/relatorio/UtilitarioRelatorios'\r\n\r\nexport default {\r\n mounted() {\r\n pdfMake.vfs = pdfFonts.pdfMake.vfs\r\n this.loadImage()\r\n },\r\n methods: {\r\n gerarRentabilidadePorCompetencia(parametros) {\r\n const linhasTabelaRelatorio = parametros.linhasTabelaRelatorio\r\n const colunasTabelaRelatorio = parametros.colunasTabelaRelatorio\r\n const nomeRelatorio = parametros.nomeRelatorio\r\n\r\n const tableContent = []\r\n const totaisLista = []\r\n const fieldsPDF = colunasTabelaRelatorio\r\n const header = fieldsPDF.map((field) => ({ text: field.label, style: 'tableHeader' }))\r\n\r\n tableContent.push(header)\r\n\r\n linhasTabelaRelatorio.forEach((item, indiceLinha) => {\r\n const negrito = item.negrito\r\n const row = fieldsPDF.map((field, indiceColuna) => {\r\n const value = item[field.key]\r\n const styleLinha = ['tableCell']\r\n\r\n if (indiceColuna == 0) styleLinha.push('conteudoTexto')\r\n\r\n return { text: value, style: styleLinha, bold: negrito }\r\n })\r\n\r\n tableContent.push(row)\r\n })\r\n\r\n const documentDefinition = {\r\n pageSize: 'A4',\r\n pageOrientation: 'landscape',\r\n\r\n content: [\r\n {\r\n text: nomeRelatorio.nome,\r\n fontSize: 16,\r\n style: 'title',\r\n margin: 15,\r\n },\r\n {\r\n table: {\r\n headerRows: 1,\r\n body: tableContent,\r\n widths: [200, 400],\r\n },\r\n layout: {\r\n paddingTop: function (index, node) {\r\n applyVerticalAlignment(node, index, 'center')\r\n return 0\r\n },\r\n },\r\n },\r\n ...totaisLista,\r\n ],\r\n footer: {\r\n columns: [\r\n {\r\n text: `${parametros.instituto.logradouro} ${parametros.instituto.numero}, ${parametros.instituto.bairro}, ${parametros.instituto.cep} - ${parametros.instituto.cidade} - ${parametros.instituto.uf}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n {\r\n text: `E-mail: ${parametros.instituto.emailResponsavel} - Fone: ${parametros.instituto.telefone}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n ],\r\n },\r\n styles: {\r\n table: {\r\n alignment: 'center',\r\n },\r\n conteudoTexto: {\r\n alignment: 'left',\r\n margin: [5, 0, 0, 0],\r\n },\r\n tableHeader: {\r\n bold: true,\r\n fontSize: 11,\r\n fillColor: '#f3f3f3',\r\n alignment: 'center',\r\n margin: [5, 0, 5, 0],\r\n },\r\n tableCell: {\r\n alignment: 'center',\r\n fontSize: 11,\r\n margin: [5, 0, 5, 0],\r\n },\r\n title: {\r\n bold: true,\r\n fontSize: 16,\r\n alignment: 'center',\r\n },\r\n subtitle: {\r\n fontSize: 11,\r\n alignment: 'center',\r\n margin: [15, 10],\r\n },\r\n },\r\n }\r\n\r\n pdfMake.createPdf(documentDefinition).open()\r\n },\r\n },\r\n}\r\n","import pdfMake from 'pdfmake/build/pdfmake'\r\nimport pdfFonts from 'pdfmake/build/vfs_fonts'\r\nimport applyVerticalAlignment from '@/views/pages/relatorio/UtilitarioRelatorios'\r\n\r\nexport default {\r\n mounted() {\r\n pdfMake.vfs = pdfFonts.pdfMake.vfs\r\n this.loadImage()\r\n },\r\n methods: {\r\n gerarRelatorioTaxaJuros(parametros) {\r\n const linhasTabelaRelatorio = parametros.linhasTabelaRelatorio\r\n const colunasTabelaRelatorio = parametros.colunasTabelaRelatorio\r\n const nomeRelatorio = parametros.nomeRelatorio\r\n\r\n const tableContent = []\r\n const totaisLista = []\r\n const widths = []\r\n const fieldsPDF = colunasTabelaRelatorio\r\n const header = fieldsPDF.map((field) => ({ text: field.label, style: 'tableHeader' }))\r\n\r\n tableContent.push(header)\r\n\r\n linhasTabelaRelatorio.forEach((item, indiceLinha) => {\r\n const negrito = item.negrito\r\n indiceLinha == 0 ? widths.push(200) : widths.push(150)\r\n const row = fieldsPDF.map((field, indiceColuna) => {\r\n const value = item[field.key]\r\n const styleLinha = ['tableCell']\r\n\r\n if (indiceColuna == 0) styleLinha.push('conteudoTexto')\r\n\r\n return { text: value, style: styleLinha, bold: negrito }\r\n })\r\n\r\n tableContent.push(row)\r\n })\r\n\r\n const documentDefinition = {\r\n pageSize: 'A4',\r\n pageOrientation: 'landscape',\r\n\r\n content: [\r\n {\r\n text: nomeRelatorio.nome,\r\n fontSize: 16,\r\n style: 'title',\r\n margin: 15,\r\n },\r\n {\r\n text: `PERÍODO: ${parametros.dataInicial} até ${parametros.dataFinal}`,\r\n fontSize: 10,\r\n margin: 15,\r\n alignment: 'center',\r\n },\r\n {\r\n table: {\r\n headerRows: 1,\r\n body: tableContent,\r\n },\r\n layout: {\r\n paddingTop: function (index, node) {\r\n applyVerticalAlignment(node, index, 'center')\r\n return 0\r\n },\r\n },\r\n },\r\n {\r\n text: `Total de parcelas: ${parametros.itemsRelatorio.totalParcelas}`,\r\n },\r\n {\r\n text: `Total de Contratos: ${parametros.itemsRelatorio.totalContratos}`,\r\n },\r\n {\r\n text: `Total de Segurados: ${parametros.itemsRelatorio.totalSegurados}`,\r\n },\r\n ],\r\n footer: {\r\n columns: [\r\n {\r\n text: `${parametros.instituto.logradouro} ${parametros.instituto.numero}, ${parametros.instituto.bairro}, ${parametros.instituto.cep} - ${parametros.instituto.cidade} - ${parametros.instituto.uf}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n {\r\n text: `E-mail: ${parametros.instituto.emailResponsavel} - Fone: ${parametros.instituto.telefone}`,\r\n fontSize: 8,\r\n margin: 10,\r\n },\r\n ],\r\n },\r\n styles: {\r\n table: {\r\n alignment: 'center',\r\n },\r\n conteudoTexto: {\r\n alignment: 'left',\r\n margin: [5, 0, 0, 0],\r\n },\r\n tableHeader: {\r\n bold: true,\r\n fontSize: 11,\r\n fillColor: '#f3f3f3',\r\n alignment: 'center',\r\n margin: [5, 0, 5, 0],\r\n },\r\n tableCell: {\r\n alignment: 'center',\r\n fontSize: 11,\r\n margin: [5, 0, 5, 0],\r\n },\r\n title: {\r\n bold: true,\r\n fontSize: 16,\r\n alignment: 'center',\r\n },\r\n subtitle: {\r\n fontSize: 11,\r\n alignment: 'center',\r\n margin: [15, 10],\r\n },\r\n },\r\n }\r\n\r\n pdfMake.createPdf(documentDefinition).open()\r\n },\r\n },\r\n}\r\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfMonth\n * @category Month Helpers\n * @summary Return the last day of a month for the given date.\n *\n * @description\n * Return the last day of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a month for 2 September 2014 11:55:00:\n * const result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 00:00:00\n */\nexport default function lastDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioTaxaJuros.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioTaxaJuros.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioTaxaJuros.vue?vue&type=template&id=6e9e24cd\"\nimport script from \"./relatorioTaxaJuros.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioTaxaJuros.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioTaxaJuros.vue?vue&type=style&index=0&id=6e9e24cd&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Pesquisar Por:\",\"label-for\":\"pesquisarPor\"}},[_c('v-select-pt',{staticClass:\"tw-w-full tw-max-w-md tw-mb-4 tw-rounded-md tw-shadow-sm tw-focus:outline-none tw-focus:ring-2 tw-focus:ring-blue-500 tw-focus:border-blue-500 tw-sm:text-sm\",attrs:{\"id\":\"pesquisarPor\",\"clearable\":false,\"options\":_vm.tipoPesquisa,\"label\":\"name\"},model:{value:(_vm.pesquisarPor),callback:function ($$v) {_vm.pesquisarPor=$$v},expression:\"pesquisarPor\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Descrição\",\"label-for\":\"pesquisar\"}},[(_vm.pesquisarPor.id == 1)?_c('b-form-input',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"pesquisar\",\"type\":\"text\",\"placeholder\":\"Nome\",\"raw\":false},model:{value:(_vm.descricao),callback:function ($$v) {_vm.descricao=$$v},expression:\"descricao\"}}):_vm._e(),(_vm.pesquisarPor.id == 2)?_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"pesquisar\",\"type\":\"text\",\"placeholder\":\"Nº Contrato\",\"raw\":false,\"options\":_vm.options.cleaveCodigo},model:{value:(_vm.descricao),callback:function ($$v) {_vm.descricao=$$v},expression:\"descricao\"}}):_vm._e(),(_vm.pesquisarPor.id == 3)?_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"pesquisar\",\"type\":\"text\",\"placeholder\":\"CPF\",\"raw\":false,\"options\":_vm.options.cleaveCPF},model:{value:(_vm.descricao),callback:function ($$v) {_vm.descricao=$$v},expression:\"descricao\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Tipo de data\",\"label-for\":\"dataInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',[_c('b-select',{attrs:{\"options\":_vm.tipoDataOpcoes},model:{value:(_vm.tipoData),callback:function ($$v) {_vm.tipoData=$$v},expression:\"tipoData\"}})],1)]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Data Inicial\",\"label-for\":\"dataInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',[_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"dataInicial\",\"type\":\"text\",\"placeholder\":\"DD/MM/AAAA\",\"options\":_vm.options.cleaveDate,\"raw\":false},model:{value:(_vm.dataInicial),callback:function ($$v) {_vm.dataInicial=$$v},expression:\"dataInicial\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{staticClass:\"datePickerWithInput\",attrs:{\"size\":\"sm\",\"button-variant\":\"primary\",\"right\":\"\",\"button-only\":\"\",\"hide-header\":true,\"initial-date\":new Date(),\"state\":errors[0] ? false : null,\"label-help\":\"\",\"label-calendar\":\"Calendário\",\"label-close-button\":\"Fechar\",\"label-current-month\":\"Mês atual\",\"label-next-decade\":\"Próxima década\",\"label-next-month\":\"Próximo mês\",\"label-next-year\":\"Próximo ano\",\"label-prev-decade\":\"Década anterior\",\"label-prev-month\":\"Mês anterior\",\"label-prev-year\":\"Ano anterior\",\"label-select-month\":\"Selecione o mês\",\"label-select-year\":\"Selecione o ano\",\"label-selected\":\"Selecionado\",\"label-no-date-selected\":\"Nenhuma data selecionada\",\"label-reset-button\":\"Resetar\",\"label-today-button\":\"Hoje\",\"label-today\":\"Hoje\",\"locale\":\"pt-br\",\"date-format-options\":{ year: 'numeric', month: '2-digit', day: 'numeric' },\"aria-controls\":\"dataInicial\"},model:{value:(_vm.dataInicialDatePicker),callback:function ($$v) {_vm.dataInicialDatePicker=$$v},expression:\"dataInicialDatePicker\"}})],1)],1),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Data Final\",\"label-for\":\"dataFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',[_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"dataFinal\",\"type\":\"text\",\"placeholder\":\"DD/MM/AAAA\",\"options\":_vm.options.cleaveDate,\"raw\":false,\"rules\":{\n dataPassada: {\n value: _vm.dataInicial,\n dataParametro: _vm.dataFinal,\n stringParametro: 'data de inicial',\n },\n }},model:{value:(_vm.dataFinal),callback:function ($$v) {_vm.dataFinal=$$v},expression:\"dataFinal\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{staticClass:\"datePickerWithInput\",attrs:{\"size\":\"sm\",\"button-variant\":\"primary\",\"right\":\"\",\"button-only\":\"\",\"hide-header\":true,\"initial-date\":new Date(),\"state\":errors[0] ? false : null,\"label-help\":\"\",\"label-calendar\":\"Calendário\",\"label-close-button\":\"Fechar\",\"label-current-month\":\"Mês atual\",\"label-next-decade\":\"Próxima década\",\"label-next-month\":\"Próximo mês\",\"label-next-year\":\"Próximo ano\",\"label-prev-decade\":\"Década anterior\",\"label-prev-month\":\"Mês anterior\",\"label-prev-year\":\"Ano anterior\",\"label-select-month\":\"Selecione o mês\",\"label-select-year\":\"Selecione o ano\",\"label-selected\":\"Selecionado\",\"label-no-date-selected\":\"Nenhuma data selecionada\",\"label-reset-button\":\"Resetar\",\"label-today-button\":\"Hoje\",\"label-today\":\"Hoje\",\"locale\":\"pt-br\",\"date-format-options\":{ year: 'numeric', month: '2-digit', day: 'numeric' },\"aria-controls\":\"dataFinal\"},model:{value:(_vm.dataFinalDatePicker),callback:function ($$v) {_vm.dataFinalDatePicker=$$v},expression:\"dataFinalDatePicker\"}})],1)],1),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)],1),_c('b-row',{attrs:{\"align-h\":\"end\"}},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('p',[_vm._v(\" Total de Contratos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalRows))])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('p',[_vm._v(\" Valor Total do IOF: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(this.totalValoresContratos))])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"outlined\":\"\",\"id\":\"tabelaGrid\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; },\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(detalhamento)\",fn:function(row){return [_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":row.toggleDetails}},[_vm._v(\" \"+_vm._s(row.detailsShowing ? 'Esconder' : 'Mostrar')+\" \")])]}},{key:\"row-details\",fn:function(row){return [_c('b-row',{staticClass:\"border-top mb-2 mx-3\"}),_c('b-row',{staticClass:\"mb-2 mx-3\"},[_c('b-table',{attrs:{\"small\":\"\",\"fields\":_vm.aliquotaFields,\"items\":[row.item.detalhamento]}})],1)]}}],null,false,4110123619)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":this.itemsTabela.length,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('relatorioFinaceiroIOFPaisagem',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF,\"id\":\"exportarPDF\"}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioPaisagem',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",staticStyle:{\"text-align\":\"center\"},style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1,\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas},scopedSlots:_vm._u([(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot()\",fn:function(){return [_vm._v(\" \"+_vm._s('')+\" \")]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(codigo)\",fn:function(){return [_vm._v(\" \"+_vm._s('Total: ')+\" \")]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(valorTotal)\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.formatarValor(_vm.parametro.dados.reduce(function (acc, item) { return acc + _vm.formatarParaNumber(item.valorTotal); }, 0)))+\" \")]},proxy:true}:null],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroIOFPaisagem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroIOFPaisagem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinaceiroIOFPaisagem.vue?vue&type=template&id=3d1b079c\"\nimport script from \"./relatorioFinaceiroIOFPaisagem.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinaceiroIOFPaisagem.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioFinaceiroIOFPaisagem.vue?vue&type=style&index=0&id=3d1b079c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroIOF.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroIOF.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinaceiroIOF.vue?vue&type=template&id=7d0fb47b\"\nimport script from \"./relatorioFinaceiroIOF.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinaceiroIOF.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioFinaceiroIOF.vue?vue&type=style&index=0&id=7d0fb47b&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Ano de Competência\",\"label-for\":\"anoDeCompetencia\"}},[_c('validation-provider',{attrs:{\"name\":\"Ano de Competência\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select-pt',{attrs:{\"id\":\"anoDeCompetencia\",\"name\":\"anoDeCompetencia\",\"options\":_vm.anoOpcoes,\"reduce\":function (option) { return option.value; },\"label\":\"text\"},model:{value:(_vm.filtroCapital.ano),callback:function ($$v) {_vm.$set(_vm.filtroCapital, \"ano\", $$v)},expression:\"filtroCapital.ano\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Mês de Competência\",\"label-for\":\"mesDeCompetencia\"}},[_c('validation-provider',{attrs:{\"name\":\"Mês de Competência\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select-pt',{attrs:{\"id\":\"mesDeCompetencia\",\"name\":\"mesDeCompetencia\",\"options\":_vm.mesOpcoes,\"reduce\":function (option) { return option.value; },\"label\":\"text\"},model:{value:(_vm.filtroCapital.mes),callback:function ($$v) {_vm.$set(_vm.filtroCapital, \"mes\", $$v)},expression:\"filtroCapital.mes\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)],1),_c('b-row',{attrs:{\"align-h\":\"end\"}},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToPDF()}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToExcel()}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{ref:\"tabelaGrid\",attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"outlined\":\"\",\"id\":\"tabelaGrid\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"sort-direction\":_vm.sortDirection},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}}}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":this.itemsTabela.length,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas},scopedSlots:_vm._u([{key:\"cell(valor)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatarToParseFloat(row.item.valor))+\" \")]}}],null,true)}),(pageIndex === _vm.paginatedItems.length - 1)?_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\",\"align-items\":\"baseline\"}},[_c('div',{staticStyle:{\"margin-left\":\"auto\"}},[_vm._v(\"Total de Contratos Adiantados: \"+_vm._s(_vm.parametro.dados.length))])]):_vm._e(),(pageIndex === _vm.paginatedItems.length - 1)?_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\",\"align-items\":\"baseline\"}},[_c('div',{staticStyle:{\"margin-left\":\"auto\"}},[_vm._v(\"Valor Total: \"+_vm._s(_vm.parametro.totalValores))])]):_vm._e()]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?vue&type=template&id=afb3f3fa\"\nimport script from \"./relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?vue&type=style&index=0&id=afb3f3fa&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroCapitalAplicadoXRentabilidade.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroCapitalAplicadoXRentabilidade.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiroCapitalAplicadoXRentabilidade.vue?vue&type=template&id=34f23821\"\nimport script from \"./relatorioFinanceiroCapitalAplicadoXRentabilidade.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiroCapitalAplicadoXRentabilidade.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão:\",\"label-for\":\"pesquisarOrgao\"}},[_c('v-select-pt',{staticClass:\"tw-w-full tw-max-w-md tw-mb-4 tw-rounded-md tw-shadow-sm tw-focus:outline-none tw-focus:ring-2 tw-focus:ring-blue-500 tw-focus:border-blue-500 tw-sm:text-sm\",attrs:{\"id\":\"pesquisarOrgao\",\"clearable\":false,\"options\":_vm.tipoOrgao,\"label\":\"nome\"},model:{value:(_vm.pesquisarOrgao),callback:function ($$v) {_vm.pesquisarOrgao=$$v},expression:\"pesquisarOrgao\"}})],1)],1),_c('b-col',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Órgãos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalRows))])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Valor Total: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.valorTotalAcumulado))])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"outlined\":\"\",\"id\":\"tabelaGrid\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; }},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}}}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":this.itemsTabela.length,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('relatorioFinaceiroContabilPaisagem',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF,\"id\":\"exportarPDF\"}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioPaisagem',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas}}),(pageIndex === _vm.paginatedItems.length - 1)?_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\",\"align-items\":\"baseline\"}},[_c('div',{staticStyle:{\"margin-left\":\"auto\"}},[_vm._v(\"Total: \"+_vm._s(_vm.parametro.dadosTotal))])]):_vm._e()]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroContabilPaisagem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroContabilPaisagem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinaceiroContabilPaisagem.vue?vue&type=template&id=a39be796\"\nimport script from \"./relatorioFinaceiroContabilPaisagem.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinaceiroContabilPaisagem.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioFinaceiroContabilPaisagem.vue?vue&type=style&index=0&id=a39be796&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroContabil.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroContabil.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinaceiroContabil.vue?vue&type=template&id=301f494e\"\nimport script from \"./relatorioFinaceiroContabil.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinaceiroContabil.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioFinaceiroContabil.vue?vue&type=style&index=0&id=301f494e&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Data Inicial\",\"label-for\":\"dataInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',[_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"dataInicial\",\"type\":\"text\",\"placeholder\":\"DD/MM/AAAA\",\"options\":_vm.options.cleaveDate,\"raw\":false},model:{value:(_vm.dataInicial),callback:function ($$v) {_vm.dataInicial=$$v},expression:\"dataInicial\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{staticClass:\"datePickerWithInput\",attrs:{\"size\":\"sm\",\"button-variant\":\"primary\",\"right\":\"\",\"button-only\":\"\",\"hide-header\":true,\"initial-date\":new Date(),\"state\":errors[0] ? false : null,\"label-help\":\"\",\"label-calendar\":\"Calendário\",\"label-close-button\":\"Fechar\",\"label-current-month\":\"Mês atual\",\"label-next-decade\":\"Próxima década\",\"label-next-month\":\"Próximo mês\",\"label-next-year\":\"Próximo ano\",\"label-prev-decade\":\"Década anterior\",\"label-prev-month\":\"Mês anterior\",\"label-prev-year\":\"Ano anterior\",\"label-select-month\":\"Selecione o mês\",\"label-select-year\":\"Selecione o ano\",\"label-selected\":\"Selecionado\",\"label-no-date-selected\":\"Nenhuma data selecionada\",\"label-reset-button\":\"Resetar\",\"label-today-button\":\"Hoje\",\"label-today\":\"Hoje\",\"locale\":\"pt-br\",\"date-format-options\":{ year: 'numeric', month: '2-digit', day: 'numeric' },\"aria-controls\":\"dataInicial\"},model:{value:(_vm.dataInicialDatePicker),callback:function ($$v) {_vm.dataInicialDatePicker=$$v},expression:\"dataInicialDatePicker\"}})],1)],1),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Data Final\",\"label-for\":\"dataFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-input-group',[_c('cleave',{staticClass:\"form-control cleave-height\",attrs:{\"id\":\"dataFinal\",\"type\":\"text\",\"placeholder\":\"DD/MM/AAAA\",\"options\":_vm.options.cleaveDate,\"raw\":false,\"rules\":{\n dataPassada: {\n value: _vm.dataInicial,\n dataParametro: _vm.dataFinal,\n stringParametro: 'data de inicial',\n },\n }},model:{value:(_vm.dataFinal),callback:function ($$v) {_vm.dataFinal=$$v},expression:\"dataFinal\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{staticClass:\"datePickerWithInput\",attrs:{\"size\":\"sm\",\"button-variant\":\"primary\",\"right\":\"\",\"button-only\":\"\",\"hide-header\":true,\"initial-date\":new Date(),\"state\":errors[0] ? false : null,\"label-help\":\"\",\"label-calendar\":\"Calendário\",\"label-close-button\":\"Fechar\",\"label-current-month\":\"Mês atual\",\"label-next-decade\":\"Próxima década\",\"label-next-month\":\"Próximo mês\",\"label-next-year\":\"Próximo ano\",\"label-prev-decade\":\"Década anterior\",\"label-prev-month\":\"Mês anterior\",\"label-prev-year\":\"Ano anterior\",\"label-select-month\":\"Selecione o mês\",\"label-select-year\":\"Selecione o ano\",\"label-selected\":\"Selecionado\",\"label-no-date-selected\":\"Nenhuma data selecionada\",\"label-reset-button\":\"Resetar\",\"label-today-button\":\"Hoje\",\"label-today\":\"Hoje\",\"locale\":\"pt-br\",\"date-format-options\":{ year: 'numeric', month: '2-digit', day: 'numeric' },\"aria-controls\":\"dataFinal\"},model:{value:(_vm.dataFinalDatePicker),callback:function ($$v) {_vm.dataFinalDatePicker=$$v},expression:\"dataFinalDatePicker\"}})],1)],1),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)],1),_c('b-row',{attrs:{\"align-h\":\"end\"}},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Contratos Adiantados: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalRows))])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Valor Total: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(this.valorTotal))])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',[_c('b-table',{ref:\"tabelaParcelasAdiantadas\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"outlined\":\"\",\"id\":\"tabelaParcelasAdiantadas\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}}}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":this.itemsTabela.length,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroParcelasAntecipadas.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroParcelasAntecipadas.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiroParcelasAntecipadas.vue?vue&type=template&id=49dd1bba\"\nimport script from \"./relatorioFinanceiroParcelasAntecipadas.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiroParcelasAntecipadas.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Ano de Competência\",\"label-for\":\"anoDeCompetencia\"}},[_c('validation-provider',{attrs:{\"name\":\"Ano de Competência\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select-pt',{attrs:{\"id\":\"anoDeCompetencia\",\"name\":\"anoDeCompetencia\",\"options\":_vm.anoOpcoes,\"reduce\":function (option) { return option.value; },\"label\":\"text\"},model:{value:(_vm.filtroDataDAIR.ano),callback:function ($$v) {_vm.$set(_vm.filtroDataDAIR, \"ano\", $$v)},expression:\"filtroDataDAIR.ano\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Mês de Competência\",\"label-for\":\"mesDeCompetencia\"}},[_c('validation-provider',{attrs:{\"name\":\"Mês de Competência\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select-pt',{attrs:{\"id\":\"mesDeCompetencia\",\"name\":\"mesDeCompetencia\",\"options\":_vm.mesOpcoes,\"reduce\":function (option) { return option.value; },\"label\":\"text\"},model:{value:(_vm.filtroDataDAIR.mes),callback:function ($$v) {_vm.$set(_vm.filtroDataDAIR, \"mes\", $$v)},expression:\"filtroDataDAIR.mes\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Categoria\",\"label-for\":\"categoria\"}},[_c('b-form-select',{attrs:{\"id\":\"categoria\",\"options\":_vm.categoriaOpcoes},model:{value:(_vm.categoria),callback:function ($$v) {_vm.categoria=$$v},expression:\"categoria\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToPDF()}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToExcel()}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),_c('b-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.quantidadeEmCapitalizacao),expression:\"quantidadeEmCapitalizacao\"}]},[_c('div',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('b-card-header',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('h2',{staticClass:\"mb-0\"},[_vm._v(\"Em Capitalização\")])])],1)],1)],1),_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{ref:\"tabelaGrid\",attrs:{\"itemsTabelaEmCapitalizacao\":_vm.itemsTabelaEmCapitalizacao}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"outlined\":\"\",\"id\":\"tabelaGrid\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":_vm.currentFields,\"items\":_vm.itemsTabelaEmCapitalizacao,\"responsive\":\"sm\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"sort-direction\":_vm.sortDirection,\"row-details\":function (row) { return row.item.detailsShown; },\"no-footer-sorting\":\"\",\"show-empty\":\"\",\"busy\":_vm.isBusy},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"table-busy\",fn:function(){return [_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\" Carregando...\")])],1)]},proxy:true},{key:\"empty\",fn:function(){return [_c('div',{staticClass:\"text-center\"},[_vm._v(\"Nenhum registro encontrado\")])]},proxy:true},{key:\"cell(categoria)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatarCategoria(row.item.categoria))+\" \")]}}])})],1)])],1)],1)]),_c('b-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.quantidadeEmReparticao),expression:\"quantidadeEmReparticao\"}]},[_c('div',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('b-card-header',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('h2',{staticClass:\"mb-0\"},[_vm._v(\"Em Repartição\")])])],1)],1)],1),_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{ref:\"tabelaGrid\",attrs:{\"itemsTabelaEmCapitalizacao\":_vm.itemsTabelaEmCapitalizacao}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"outlined\":\"\",\"id\":\"tabelaGrid\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":_vm.currentFields,\"items\":_vm.itemsTabelaEmReparticao,\"responsive\":\"sm\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"sort-direction\":_vm.sortDirection,\"row-details\":function (row) { return row.item.detailsShown; },\"no-footer-sorting\":\"\",\"show-empty\":\"\",\"busy\":_vm.isBusy},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"table-busy\",fn:function(){return [_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\" Carregando...\")])],1)]},proxy:true},{key:\"empty\",fn:function(){return [_c('div',{staticClass:\"text-center\"},[_vm._v(\"Nenhum registro encontrado\")])]},proxy:true},{key:\"cell(categoria)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatarCategoria(row.item.categoria))+\" \")]}}])})],1)])],1)],1),_c('div',[_c('relatorioDAIRRetrato',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF,\"id\":\"exportarPDF\"}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[[_c('div',{staticClass:\"text-center mb-3\"},[_c('h5',{staticClass:\"font-weight-bold\",staticStyle:{\"font-size\":\"22px\"}},[_vm._v(\"RELATÓRIO PARA DEMONSTRATIVO DE APLICAÇÕES E\")]),_c('h5',{staticClass:\"font-weight-bold\",staticStyle:{\"font-size\":\"22px\"}},[_vm._v(\"INVESTIMENTOS DOS RECURSOS - DAIR\")]),_c('h5',{staticStyle:{\"font-size\":\"20px\"}},[_vm._v(\" Competência: \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.parametro.competencia))])])]),_c('div',{staticStyle:{\"margin-left\":\"20px\",\"margin-top\":\"20px\"}},[_c('h6',{staticStyle:{\"font-size\":\"18px\",\"font-weight\":\"bold\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\"Empréstimos Consignados\")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Nota CAPAG do Ente Federativo: \"+_vm._s(_vm.parametro.capag)+\" \")]),_c('h6',{staticStyle:{\"font-size\":\"18px\",\"font-weight\":\"bold\",\"margin-top\":\"10px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Informações dos Valores de Consignado na Competência \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Valor Concedido: \"+_vm._s(_vm.parametro.valorConcedido)+\" \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Rentabilidade: \"+_vm._s(_vm.parametro.rentabilidade)+\" \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Total Amortizado: \"+_vm._s(_vm.parametro.totalAmortizado)+\" \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Taxa Média da Operação: \"+_vm._s(_vm.parametro.taxaOperacao)+\" \")])]),(_vm.parametro.quantitativoEmReparticao)?_c('b-row',{staticStyle:{\"margin-top\":\"10px\"}},[_c('div',{staticClass:\"text-center\"},[_c('h6',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"16px\"}},[_vm._v(\"FUNDO EM REPARTIÇÃO\")])]),_c('b-table',{staticClass:\"tabelaEmRelatorio mt-3 custom-header-style py-3\",staticStyle:{\"text-align\":\"center\",\"border-bottom\":\"0.5px solid #4941a6 !important\",\"width\":\"90%\",\"margin\":\"auto\"},attrs:{\"head-variant\":null,\"small\":\"\",\"id\":\"relatorioDairRetratoIdFundoClasseReparticao\",\"items\":_vm.parametro.servidoresEmReparticao,\"fields\":_vm.parametro.colunas},scopedSlots:_vm._u([{key:\"foot(categoria)\",fn:function(data){return [_c('p',{staticStyle:{\"text-align\":\"left\"}},[_vm._v(\" \"+_vm._s(data.row.categoria)+\" \")])]}}],null,false,1799562375)})],1):_vm._e(),(_vm.parametro.quantitativoEmCapitalizacao)?_c('b-row',{staticStyle:{\"margin-top\":\"20px\"}},[_c('div',{staticClass:\"text-center\"},[_c('h6',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"16px\"}},[_vm._v(\"FUNDO EM CAPITALIZAÇÃO OU RPPS SEM SEGREGAÇÃO DE MASSA\")])]),_c('b-table',{staticClass:\"tabelaEmRelatorio mt-3 custom-header-style py-3\",staticStyle:{\"text-align\":\"center\",\"border-bottom\":\"0.5px solid #4941a6 !important\",\"width\":\"90%\",\"margin\":\"auto\"},attrs:{\"head-variant\":null,\"small\":\"\",\"id\":\"relatorioDairRetratoIdFundoClasseCapitalizacao\",\"items\":_vm.parametro.servidoresEmCapitalizacao,\"fields\":_vm.parametro.colunas}})],1):_vm._e(),_c('b-row',{staticClass:\"text-center my-3\",staticStyle:{\"margin-top\":\"20px\",\"break-inside\":\"avoid\",\"page-break-inside\":\"avoid\"}},[_c('b-col',{staticClass:\"text-left border-0\",staticStyle:{\"margin-left\":\"20px\"},attrs:{\"cols\":\"6\"}},[_c('div',[_c('h5',{staticStyle:{\"font-size\":\"20px\",\"font-weight\":\"bold\"}},[_vm._v(\"Resumo Geral de Consignados\")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Total a Vencer: \"+_vm._s(_vm.parametro.totalAVencer)+\" \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Total Vencido: \"+_vm._s(_vm.parametro.totalVencido)+\" \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Rentabilidade Liq. No Acumulado do Ano: \"+_vm._s(_vm.parametro.rentabilidadeAcumuladaNoAno)+\" \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Projetado de Perdas Prováveis: \"+_vm._s(_vm.parametro.projecaoPerdas)+\" \")]),_c('p',{staticStyle:{\"margin-left\":\"10px\",\"font-size\":\"16px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" Meta de Rentabilidade: \"+_vm._s(_vm.parametro.metaDeRentabilidade)+\" \")])])]),_c('b-col',{staticClass:\"text-left border-0\",staticStyle:{\"margin-top\":\"0px\",\"break-inside\":\"avoid\",\"page-break-inside\":\"avoid\",\"margin-right\":\"20px\"},attrs:{\"cols\":\"5\"}},[_c('b-table-simple',{staticClass:\"mt-3 custom-header-style\",attrs:{\"small\":\"\",\"head-variant\":null}},[_c('b-tbody',[_c('b-tr',{staticClass:\"text-left border-0\"},[_c('b-td',{staticStyle:{\"font-size\":\"12px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\",\"font-weight\":\"bold\"}},[_vm._v(\"Com Atraso entre 31 e 60 dias\")]),_c('b-td',{staticStyle:{\"font-size\":\"14px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm.formatarValor(_vm.parametro.parcelasVencidas.between31And60))+\" \")])],1),_c('b-tr',{staticClass:\"text-left border-0\"},[_c('b-td',{staticStyle:{\"font-size\":\"12px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\",\"font-weight\":\"bold\"}},[_vm._v(\"Com Atraso entre 61 e 120 dias\")]),_c('b-td',{staticStyle:{\"font-size\":\"14px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm.formatarValor(_vm.parametro.parcelasVencidas.between61And120))+\" \")])],1),_c('b-tr',{staticClass:\"text-left border-0\"},[_c('b-td',{staticStyle:{\"font-size\":\"12px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\",\"font-weight\":\"bold\"}},[_vm._v(\"Com Atraso entre 121 e 240 dias\")]),_c('b-td',{staticStyle:{\"font-size\":\"14px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm.formatarValor(_vm.parametro.parcelasVencidas.between121And240))+\" \")])],1),_c('b-tr',{staticClass:\"text-left border-0\"},[_c('b-td',{staticStyle:{\"font-size\":\"12px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\",\"font-weight\":\"bold\"}},[_vm._v(\"Com Atraso entre 241 e 360 dias\")]),_c('b-td',{staticStyle:{\"font-size\":\"14px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm.formatarValor(_vm.parametro.parcelasVencidas.between241And360))+\" \")])],1),_c('b-tr',{staticClass:\"text-left border-0\"},[_c('b-td',{staticStyle:{\"font-size\":\"12px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\",\"font-weight\":\"bold\"}},[_vm._v(\"Com Atraso superior a 360 dias\")]),_c('b-td',{staticStyle:{\"font-size\":\"14px\",\"margin-top\":\"5px\",\"margin-bottom\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm.formatarValor(_vm.parametro.parcelasVencidas.above360))+\" \")])],1)],1)],1)],1)],1)]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioDAIRRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioDAIRRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioDAIRRetrato.vue?vue&type=template&id=402ceadc\"\nimport script from \"./relatorioDAIRRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioDAIRRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioDAIRRetrato.vue?vue&type=style&index=0&id=402ceadc&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export class DairObjectDto {\r\n categoria?: string\r\n contratadosAnterior: number\r\n contratados: number\r\n quitados: number\r\n quantidadeAtual: number\r\n capag: string\r\n}\r\n\r\nexport const adicionaTotalizadores = (dairData: DairObjectDto[]): DairObjectDto[] => {\r\n const [contratadosAnterior, contratados, quitados, quantidadeAtual] = dairData.reduce(\r\n (acc, item) => {\r\n acc[0] += item.contratadosAnterior\r\n acc[1] += item.contratados\r\n acc[2] += item.quitados\r\n acc[3] += item.quantidadeAtual\r\n return acc\r\n },\r\n [0, 0, 0, 0],\r\n )\r\n\r\n dairData.push({\r\n categoria: 'Subtotal',\r\n contratadosAnterior: contratadosAnterior,\r\n contratados: contratados,\r\n quitados: quitados,\r\n quantidadeAtual: quantidadeAtual,\r\n capag: '',\r\n })\r\n\r\n return dairData\r\n}\r\n","export const MARGIN_FOR_DAIR = {\r\n top: '210px',\r\n bottom: '70px',\r\n left: '20px',\r\n right: '20px',\r\n}\r\n\r\nexport const customHeaderTemplateForDair = `\r\n \r\n
\r\n
\r\n
\r\n {{{logoDefault}}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{nomeInstituto}}

\r\n
\r\n

{{nomeRelatorio}}

\r\n
\r\n \r\n `\r\n\r\nexport const customFooterTemplateForDair = `\r\n \r\n
\r\n
\r\n

{{informacoesInstituto}}

\r\n
\r\n
\r\n Página de \r\n
\r\n
\r\n `\r\n","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioDAIR.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioDAIR.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioDAIR.vue?vue&type=template&id=4a8f4fab\"\nimport script from \"./relatorioDAIR.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioDAIR.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioDAIR.vue?vue&type=style&index=0&id=4a8f4fab&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-tabs',[_c('b-tab',{attrs:{\"active\":\"\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"PercentIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Amortização\")])]},proxy:true}])},[_c('RelatorioAmortizacao')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"PercentIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Taxa de Oscilação de Riscos\")])]},proxy:true}])},[_c('RelatorioTaxaOscilacaoRiscos')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"PercentIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Taxa de Rentabilidade\")])]},proxy:true}])},[_c('RelatorioTaxaRentabilidade')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"PercentIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Taxa de Fundo Garantidor\")])]},proxy:true}])},[_c('RelatorioTaxaFundoGarantidor')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"PercentIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Taxa de Administração\")])]},proxy:true}])},[_c('RelatorioTaxaAdministracao')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"BarChart2Icon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Consolidado de Parcelas\")])]},proxy:true}])},[_c('RelatorioConsolidadoParcelas')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"BarChart2Icon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Consolidado de Parcelas Recebidas\")])]},proxy:true}])},[_c('RelatorioConsolidadoParcelasRecebidas')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"BarChart2Icon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Consolidado de Rentabilidade\")])]},proxy:true}])},[_c('RelatorioConsolidadoRentabilidade')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\",\"disabled\":_vm.isBusy}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToPDF()}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToExcel()}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Contratos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalContratos))])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Parcelas: \"),_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.totalParcelas))])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Segurados: \"),_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.totalSegurados))])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{ref:\"tabelaGrid\",attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"outlined\":\"\",\"id\":\"tabelaGrid\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"sort-by\":_vm.sortBy,\"sort-direction\":_vm.sortDirection,\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event}},scopedSlots:_vm._u([{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.totalValor))])]},proxy:true},{key:\"foot(amortizacao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalAmortizacao))])]},proxy:true}],null,false,3609700417)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":this.itemsTabela.length,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioAmortizacaoRetrato',{ref:\"exportarPDF\",attrs:{\"parametro\":_vm.parametroPDF,\"id\":\"exportarPDF\"}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(nomeCompleto)\",fn:function(data){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]}}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(matricula)\",fn:function(data){return [_c('span')]}}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(codigo)\",fn:function(data){return [_c('span')]}}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(taxaEmprestimoMensal)\",fn:function(data){return [_c('span')]}}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(valor)\",fn:function(data){return [_c('span',[_vm._v(_vm._s(_vm.parametro.totalizadores.totalValor))])]}}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(amortizacao)\",fn:function(data){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalAmortizacao))])]}}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(unidadeGestora)\",fn:function(){return [_c('span')]},proxy:true}:null],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioAmortizacaoRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioAmortizacaoRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioAmortizacaoRetrato.vue?vue&type=template&id=fb516ef2\"\nimport script from \"./RelatorioAmortizacaoRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioAmortizacaoRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioAmortizacaoRetrato.vue?vue&type=style&index=0&id=fb516ef2&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioAmortizacao.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioAmortizacao.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioAmortizacao.vue?vue&type=template&id=85461c5e\"\nimport script from \"./RelatorioAmortizacao.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioAmortizacao.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioAmortizacao.vue?vue&type=style&index=0&id=85461c5e&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToPDF()}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToExcel()}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Contratos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalContratos)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Parcelas: \"),_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.totalParcelas)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Segurados: \"),_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.totalSegurados)+\" \")])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{ref:\"tabelaGrid\",attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"id\":\"tabelaGrid\",\"outlined\":\"\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\"},scopedSlots:_vm._u([{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.totalValor))])]},proxy:true},{key:\"foot(oscilacaoRiscos)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalOscilacaoRiscos))])]},proxy:true}],null,false,1504794305)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":this.itemsTabela.length,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioTaxaOscilacaoRiscosRetrato',{ref:\"exportarPDF\",attrs:{\"id\":\"exportarPDF\",\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.parametro.totalizadores.totalValor))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(oscilacaoRiscos)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalOscilacaoRiscos))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(unidadeGestora)\",fn:function(){return [_c('span')]},proxy:true}:null],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaOscilacaoRiscosRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaOscilacaoRiscosRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaOscilacaoRiscosRetrato.vue?vue&type=template&id=920a82b8\"\nimport script from \"./RelatorioTaxaOscilacaoRiscosRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaOscilacaoRiscosRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaOscilacaoRiscosRetrato.vue?vue&type=style&index=0&id=920a82b8&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaOscilacaoRiscos.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaOscilacaoRiscos.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaOscilacaoRiscos.vue?vue&type=template&id=42091ddb\"\nimport script from \"./RelatorioTaxaOscilacaoRiscos.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaOscilacaoRiscos.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaOscilacaoRiscos.vue?vue&type=style&index=0&id=42091ddb&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToPDF()}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportToExcel()}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Contratos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalContratos)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Parcelas: \"),_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.totalParcelas)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Segurados: \"),_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.totalSegurados)+\" \")])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{ref:\"tabelaGrid\",attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"id\":\"tabelaGrid\",\"outlined\":\"\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\"},scopedSlots:_vm._u([{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot()\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.totalValor))])]},proxy:true},{key:\"foot(rentabilidade)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalRentabilidade))])]},proxy:true}],null,false,565788327)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioTaxaRentabilidadeRetrato',{ref:\"exportarPDF\",attrs:{\"id\":\"exportarPDF\",\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([{key:\"cell(rentabilidade)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatarToParseFloat(row.item.rentabilidade))+\" \")]}},(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(taxaDoEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.parametro.totalizadores.totalValor))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(rentabilidade)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalRentabilidade))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(unidadeGestora)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true}:null],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaRentabilidadeRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaRentabilidadeRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaRentabilidadeRetrato.vue?vue&type=template&id=3895f886\"\nimport script from \"./RelatorioTaxaRentabilidadeRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaRentabilidadeRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaRentabilidadeRetrato.vue?vue&type=style&index=0&id=3895f886&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaRentabilidade.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaRentabilidade.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaRentabilidade.vue?vue&type=template&id=0618cff3\"\nimport script from \"./RelatorioTaxaRentabilidade.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaRentabilidade.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaRentabilidade.vue?vue&type=style&index=0&id=0618cff3&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Contratos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalContratos)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Parcelas: \"),_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.totalParcelas)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Segurados: \"),_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.totalSegurados)+\" \")])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"id\":\"tabelaGrid\",\"outlined\":\"\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.totalValor))])]},proxy:true},{key:\"foot(fundoGarantidor)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalFundoGarantidor))])]},proxy:true}],null,false,2448517313)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioTaxaFundoGarantidorRetrato',{ref:\"exportarPDF\",attrs:{\"id\":\"exportarPDF\",\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.parametro.totalizadores.totalValor))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(fundoGarantidor)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalFundoGarantidor))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(unidadeGestora)\",fn:function(){return [_c('span')]},proxy:true}:null],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaFundoGarantidorRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaFundoGarantidorRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaFundoGarantidorRetrato.vue?vue&type=template&id=ce52029a\"\nimport script from \"./RelatorioTaxaFundoGarantidorRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaFundoGarantidorRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaFundoGarantidorRetrato.vue?vue&type=style&index=0&id=ce52029a&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaFundoGarantidor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaFundoGarantidor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaFundoGarantidor.vue?vue&type=template&id=8769b2e4\"\nimport script from \"./RelatorioTaxaFundoGarantidor.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaFundoGarantidor.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaFundoGarantidor.vue?vue&type=style&index=0&id=8769b2e4&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Contratos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalContratos)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Parcelas: \"),_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.totalParcelas)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Segurados: \"),_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.totalSegurados)+\" \")])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"id\":\"tabelaGrid\",\"outlined\":\"\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.totalValor))])]},proxy:true},{key:\"foot(administracao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalAdministracao))])]},proxy:true}],null,false,1140165121)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioTaxaFundoGarantidorRetrato',{ref:\"exportarPDF\",attrs:{\"id\":\"exportarPDF\",\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.parametro.totalizadores.totalValor))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(administracao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalAdministracao))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(unidadeGestora)\",fn:function(){return [_c('span')]},proxy:true}:null],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaAdministracaoRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaAdministracaoRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaAdministracaoRetrato.vue?vue&type=template&id=02cd9e86\"\nimport script from \"./RelatorioTaxaAdministracaoRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaAdministracaoRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaAdministracaoRetrato.vue?vue&type=style&index=0&id=02cd9e86&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaAdministracao.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaAdministracao.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxaAdministracao.vue?vue&type=template&id=49d4b866\"\nimport script from \"./RelatorioTaxaAdministracao.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxaAdministracao.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioTaxaAdministracao.vue?vue&type=style&index=0&id=49d4b866&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportMethod('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Contratos: \"),_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.totalContratos)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Parcelas: \"),_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.totalParcelas)+\" \")])],1)]),_c('b-col',{attrs:{\"md\":\"2\"}},[_c('p',[_vm._v(\" Total de Segurados: \"),_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.totalSegurados)+\" \")])],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"id\":\"tabelaGrid\",\"outlined\":\"\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true},{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.totalValor))])]},proxy:true},{key:\"foot(amortizacao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalAmortizacao))])]},proxy:true},{key:\"foot(administracao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalAdministracao))])]},proxy:true},{key:\"foot(oscilacaoRiscos)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalOscilacaoRiscos))])]},proxy:true},{key:\"foot(fundoGarantidor)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalFundoGarantidor))])]},proxy:true},{key:\"foot(rentabilidade)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalRentabilidade))])]},proxy:true}],null,false,3167497217)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioConsolidadoParcelasRetrato',{ref:\"exportarPDF\",attrs:{\"id\":\"exportarPDF\",\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([{key:\"cell(rentabilidade)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatarToParseFloat(row.item.rentabilidade))+\" \")]}},(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(nomeCompleto)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(matricula)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(codigo)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(taxaEmprestimoMensal)\",fn:function(){return [_c('span')]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(valor)\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.parametro.totalizadores.totalValor))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(amortizacao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalAmortizacao))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(administracao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalAdministracao))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(oscilacaoRiscos)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalOscilacaoRiscos))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(fundoGarantidor)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalFundoGarantidor))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(rentabilidade)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalRentabilidade))])]},proxy:true}:null,(pageIndex === _vm.paginatedItems.length - 1)?{key:\"foot(unidadeGestora)\",fn:function(){return [_c('span')]},proxy:true}:null],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioConsolidadoParcelasRetrato.vue?vue&type=template&id=5f2803f2\"\nimport script from \"./RelatorioConsolidadoParcelasRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioConsolidadoParcelasRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioConsolidadoParcelasRetrato.vue?vue&type=style&index=0&id=5f2803f2&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelas.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelas.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioConsolidadoParcelas.vue?vue&type=template&id=259a0aa0\"\nimport script from \"./RelatorioConsolidadoParcelas.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioConsolidadoParcelas.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioConsolidadoParcelas.vue?vue&type=style&index=0&id=259a0aa0&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\",\"rules\":\"required\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"id\":\"tabelaGrid\",\"outlined\":\"\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\"},scopedSlots:_vm._u([{key:\"foot(competencia)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot(administracao)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(_vm._s(_vm.totalValorAdministracao))])]},proxy:true},{key:\"foot(amortizacao)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(_vm._s(_vm.totalAmortizacao))])]},proxy:true},{key:\"foot(oscilacaoRiscos)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(_vm._s(_vm.totalOscilacaoRiscos))])]},proxy:true},{key:\"foot(fundoGarantidor)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(_vm._s(_vm.totalFundoGarantidor))])]},proxy:true},{key:\"foot(rentabilidade)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(_vm._s(_vm.totalRentabilidade))])]},proxy:true}],null,false,2344532286)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioConsolidadoParcelasRecebidasRetrato',{ref:\"exportarPDF\",attrs:{\"id\":\"exportarPDF\",\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([{key:\"foot(competencia)\",fn:function(data){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]}},{key:\"foot(administracao)\",fn:function(data){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalAdministracao))])]}},{key:\"foot(amortizacao)\",fn:function(data){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalAmortizacao))])]}},{key:\"foot(oscilacaoRiscos)\",fn:function(data){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalOscilacaoRiscos))])]}},{key:\"foot(fundoGarantidor)\",fn:function(data){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalFundoGarantidor))])]}},{key:\"foot(rentabilidade)\",fn:function(data){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalRentabilidade))])]}},{key:\"foot(unidadeGestora)\",fn:function(){return [_c('span')]},proxy:true}],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRecebidasRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRecebidasRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioConsolidadoParcelasRecebidasRetrato.vue?vue&type=template&id=53b83f6c\"\nimport script from \"./RelatorioConsolidadoParcelasRecebidasRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioConsolidadoParcelasRecebidasRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioConsolidadoParcelasRecebidasRetrato.vue?vue&type=style&index=0&id=53b83f6c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRecebidas.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRecebidas.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioConsolidadoParcelasRecebidas.vue?vue&type=template&id=5a09bd9c\"\nimport script from \"./RelatorioConsolidadoParcelasRecebidas.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioConsolidadoParcelasRecebidas.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioConsolidadoParcelasRecebidas.vue?vue&type=style&index=0&id=5a09bd9c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h2',[_vm._v(\"Filtros\")]),_c('validation-observer',{ref:\"formPesquisar\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Inicial\",\"label-for\":\"competenciaInicial\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Inicial\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaInicial),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaInicial\", $$v)},expression:\"filtro.competenciaInicial\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('b-form-group',{attrs:{\"label\":\"Competência Final\",\"label-for\":\"competenciaFinal\"}},[_c('validation-provider',{attrs:{\"name\":\"Competência Final\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('date-picker',{staticClass:\"w-100 h-100 input-group-merge form-control-merge\",attrs:{\"format\":\"MM/YYYY\",\"type\":\"month\",\"value-type\":\"date\",\"lang\":\"pt-br\"},model:{value:(_vm.filtro.competenciaFinal),callback:function ($$v) {_vm.$set(_vm.filtro, \"competenciaFinal\", $$v)},expression:\"filtro.competenciaFinal\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1),_c('b-col',{attrs:{\"md\":\"5\"}},[_c('b-form-group',{attrs:{\"label\":\"Órgão\",\"label-for\":\"orgao\"}},[_c('v-select-pt',{staticStyle:{\"max-height\":\"34px !important\"},attrs:{\"id\":\"orgao\",\"name\":\"orgao\",\"options\":_vm.orgaoOpcao,\"reduce\":function (option) { return option.id; },\"label\":\"nome\"},on:{\"option:selected\":function($event){return _vm.carregarGrid()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.carregarGrid.apply(null, arguments)}},model:{value:(_vm.filtro.orgao),callback:function ($$v) {_vm.$set(_vm.filtro, \"orgao\", $$v)},expression:\"filtro.orgao\"}})],1)],1)],1),_c('b-row',{staticClass:\"justify-content-end\"},[_c('b-col',{attrs:{\"md\":\"auto\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"disabled\":_vm.isBusy,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.carregarGrid()}}},[_vm._v(\" \"+_vm._s(!_vm.isBusy ? 'Prévia' : '')+\" \"),(_vm.isBusy)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)],1),_c('b-col',{attrs:{\"md\":\"auto\"}},[[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"left\":\"\",\"popper-opts\":{ positionFixed: true }},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticStyle:{\"margin-top\":\"21px\",\"width\":\"160px\"},attrs:{\"variant\":\"primary\"}},[_vm._v(\" Exportar \")])]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('pdf')}}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para PDF\"}},[_vm._v(\"PDF\")])],1),_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.exportTable('excel')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckCircleIcon\",\"size\":\"16\"}}),_c('span',{staticClass:\"align-middle ml-50\",attrs:{\"title\":\"Exportar para excel\"}},[_vm._v(\"Excel\")])],1)],1)]],2)],1)],1)],1)],1),(this.itemsTabela.length > 0 || _vm.isBusy)?_c('b-card',[(_vm.isBusy)?[_c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle mr-1\"}),_c('strong',[_vm._v(\"Carregando Tabela...\")])],1)]:_vm._e(),(!_vm.isBusy)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.itemsTabela.length > 0),expression:\"this.itemsTabela.length > 0\"}]},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('div',{attrs:{\"itemsTabela\":this.itemsTabela}},[_c('b-table',{ref:\"tabelaGrid\",staticClass:\"position-relative custom-rounded-table\",staticStyle:{\"overflow-x\":\"auto\",\"-webkit-overflow-scrolling\":\"touch\"},attrs:{\"id\":\"tabelaGrid\",\"outlined\":\"\",\"striped\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"fields\":this.currentFields,\"items\":this.itemsTabela,\"responsive\":\"sm\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"sort-direction\":_vm.sortDirection,\"row-details\":function (row) { return row.item.detailsShown; },\"foot-clone\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"foot(competencia)\",fn:function(){return [_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Valor total:\")])]},proxy:true},{key:\"foot(indiceAtualizacao)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalIndiceAtualizacao))])]},proxy:true},{key:\"foot(taxaDeOportunidade)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalTaxaDeOportunidade))])]},proxy:true},{key:\"foot(jurosAtuarial)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalJurosAtuarial))])]},proxy:true},{key:\"foot(rentabilidade)\",fn:function(){return [_c('span',[_vm._v(\" \"+_vm._s(_vm.totalRentabilidade))])]},proxy:true}],null,false,3231598904)}),(this.itemsTabela.length > 0)?_c('b-card-body',{staticClass:\"d-flex justify-content-between flex-wrap pt-0\"},[_c('b-form-group',{staticClass:\"text-nowrap mb-md-0 mr-1\",staticStyle:{\"align-items\":\"center\"},attrs:{\"label\":\"Por Página\",\"label-cols\":\"6\",\"label-align\":\"left\",\"label-size\":\"sm\",\"label-for\":\"sortBySelect\"}},[_c('b-form-select',{attrs:{\"id\":\"perPageSelect\",\"size\":\"sm\",\"inline\":\"\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('b-pagination',{staticClass:\"mb-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,false,1308952388),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1):_vm._e()],1)])],1)],1):_vm._e(),_c('div',[_c('RelatorioConsolidadoRentabilidadeRetrato',{ref:\"exportarPDF\",attrs:{\"id\":\"exportarPDF\",\"parametro\":_vm.parametroPDF}})],1)],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('RelatorioRetrato',[_vm._l((_vm.paginatedItems),function(pageItems,pageIndex){return [_c('b-table',{staticClass:\"ExportarPDFParcela mt-3 custom-header-style\",style:(_vm.tableStyle(pageIndex)),attrs:{\"striped\":\"\",\"small\":\"\",\"id\":\"ExportarPDFParcelaId\",\"head-variant\":'light',\"items\":pageItems,\"fields\":_vm.parametro.colunas,\"foot-clone\":pageIndex == _vm.paginatedItems.length - 1},scopedSlots:_vm._u([{key:\"foot(competencia)\",fn:function(row){return [_vm._v(\" \"+_vm._s('TOTAL:')+\" \")]}},{key:\"foot(indiceAtualizacao)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalIndiceAtualizacao)+\" \")]}},{key:\"foot(jurosAtuarial)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalJurosAtuarial)+\" \")]}},{key:\"foot(taxaDeOportunidade)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalTaxaDeOportunidade)+\" \")]}},{key:\"foot(rentabilidade)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.parametro.totalizadores.totalRentabilidade)+\" \")]}},{key:\"foot(unidadeGestora)\",fn:function(row){return [_vm._v(\" \"+_vm._s('')+\" \")]}}],null,true)})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoRentabilidadeRetrato.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoRentabilidadeRetrato.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioConsolidadoRentabilidadeRetrato.vue?vue&type=template&id=52a8c93a\"\nimport script from \"./RelatorioConsolidadoRentabilidadeRetrato.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioConsolidadoRentabilidadeRetrato.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioConsolidadoRentabilidadeRetrato.vue?vue&type=style&index=0&id=52a8c93a&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoRentabilidade.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoRentabilidade.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioConsolidadoRentabilidade.vue?vue&type=template&id=71556ef4\"\nimport script from \"./RelatorioConsolidadoRentabilidade.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioConsolidadoRentabilidade.vue?vue&type=script&lang=js\"\nimport style0 from \"./RelatorioConsolidadoRentabilidade.vue?vue&type=style&index=0&id=71556ef4&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxasParcelas.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxasParcelas.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RelatorioTaxasParcelas.vue?vue&type=template&id=5561570b\"\nimport script from \"./RelatorioTaxasParcelas.vue?vue&type=script&lang=js\"\nexport * from \"./RelatorioTaxasParcelas.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiro.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiro.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioFinanceiro.vue?vue&type=template&id=3a9fa74a\"\nimport script from \"./relatorioFinanceiro.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioFinanceiro.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioAmortizacao.vue?vue&type=style&index=0&id=85461c5e&prod&lang=css\"","import { factory } from '../../utils/factory.js';\nvar name = 'atan';\nvar dependencies = ['typed'];\nexport var createAtan = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Calculate the inverse tangent of a value.\n *\n * To avoid confusion with matrix arctangent, this function does not apply\n * to matrices.\n *\n * Syntax:\n *\n * math.atan(x)\n *\n * Examples:\n *\n * math.atan(0.5) // returns number 0.4636476090008061\n * math.atan(2) // returns number 1.1071487177940904\n * math.atan(math.tan(1.5)) // returns number 1.5\n *\n * See also:\n *\n * tan, asin, acos\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} The arc tangent of x\n */\n return typed('atan', {\n number: function number(x) {\n return Math.atan(x);\n },\n Complex: function Complex(x) {\n return x.atan();\n },\n BigNumber: function BigNumber(x) {\n return x.atan();\n }\n });\n});","import { flatten } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'setUnion';\nvar dependencies = ['typed', 'size', 'concat', 'subset', 'setIntersect', 'setSymDifference', 'Index'];\nexport var createSetUnion = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n size,\n concat,\n subset,\n setIntersect,\n setSymDifference,\n Index\n } = _ref;\n /**\n * Create the union of two (multi)sets.\n * Multi-dimension arrays will be converted to single-dimension arrays before the operation.\n *\n * Syntax:\n *\n * math.setUnion(set1, set2)\n *\n * Examples:\n *\n * math.setUnion([1, 2, 3, 4], [3, 4, 5, 6]) // returns [1, 2, 3, 4, 5, 6]\n * math.setUnion([[1, 2], [3, 4]], [[3, 4], [5, 6]]) // returns [1, 2, 3, 4, 5, 6]\n *\n * See also:\n *\n * setIntersect, setDifference\n *\n * @param {Array | Matrix} a1 A (multi)set\n * @param {Array | Matrix} a2 A (multi)set\n * @return {Array | Matrix} The union of two (multi)sets\n */\n return typed(name, {\n 'Array | Matrix, Array | Matrix': function ArrayMatrixArrayMatrix(a1, a2) {\n if (subset(size(a1), new Index(0)) === 0) {\n // if any of them is empty, return the other one\n return flatten(a2);\n } else if (subset(size(a2), new Index(0)) === 0) {\n return flatten(a1);\n }\n var b1 = flatten(a1);\n var b2 = flatten(a2);\n return concat(setSymDifference(b1, b2), setIntersect(b1, b2));\n }\n });\n});","import { factory } from '../../utils/factory.js';\nvar name = 'catalan';\nvar dependencies = ['typed', 'addScalar', 'divideScalar', 'multiplyScalar', 'combinations', 'isNegative', 'isInteger'];\nexport var createCatalan = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n addScalar,\n divideScalar,\n multiplyScalar,\n combinations,\n isNegative,\n isInteger\n } = _ref;\n /**\n * The Catalan Numbers enumerate combinatorial structures of many different types.\n * catalan only takes integer arguments.\n * The following condition must be enforced: n >= 0\n *\n * Syntax:\n *\n * math.catalan(n)\n *\n * Examples:\n *\n * math.catalan(3) // returns 5\n * math.catalan(8) // returns 1430\n *\n * See also:\n *\n * bellNumbers\n *\n * @param {Number | BigNumber} n nth Catalan number\n * @return {Number | BigNumber} Cn(n)\n */\n return typed(name, {\n 'number | BigNumber': function numberBigNumber(n) {\n if (!isInteger(n) || isNegative(n)) {\n throw new TypeError('Non-negative integer value expected in function catalan');\n }\n return divideScalar(combinations(multiplyScalar(n, 2), n), addScalar(n, 1));\n }\n });\n});","import { isMatrix } from '../../utils/is.js';\nimport { isInteger } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'partitionSelect';\nvar dependencies = ['typed', 'isNumeric', 'isNaN', 'compare'];\nexport var createPartitionSelect = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n isNumeric,\n isNaN,\n compare\n } = _ref;\n var asc = compare;\n var desc = (a, b) => -compare(a, b);\n\n /**\n * Partition-based selection of an array or 1D matrix.\n * Will find the kth smallest value, and mutates the input array.\n * Uses Quickselect.\n *\n * Syntax:\n *\n * math.partitionSelect(x, k)\n * math.partitionSelect(x, k, compare)\n *\n * Examples:\n *\n * math.partitionSelect([5, 10, 1], 2) // returns 10\n * math.partitionSelect(['C', 'B', 'A', 'D'], 1, math.compareText) // returns 'B'\n *\n * function sortByLength (a, b) {\n * return a.length - b.length\n * }\n * math.partitionSelect(['Langdon', 'Tom', 'Sara'], 2, sortByLength) // returns 'Langdon'\n *\n * // the input array is mutated\n * arr = [5, 2, 1]\n * math.partitionSelect(arr, 0) // returns 1, arr is now: [1, 2, 5]\n * math.partitionSelect(arr, 1, 'desc') // returns 2, arr is now: [5, 2, 1]\n *\n * See also:\n *\n * sort\n *\n * @param {Matrix | Array} x A one dimensional matrix or array to sort\n * @param {Number} k The kth smallest value to be retrieved zero-based index\n * @param {Function | 'asc' | 'desc'} [compare='asc']\n * An optional comparator function. The function is called as\n * `compare(a, b)`, and must return 1 when a > b, -1 when a < b,\n * and 0 when a == b.\n * @return {*} Returns the kth lowest value.\n */\n return typed(name, {\n 'Array | Matrix, number': function ArrayMatrixNumber(x, k) {\n return _partitionSelect(x, k, asc);\n },\n 'Array | Matrix, number, string': function ArrayMatrixNumberString(x, k, compare) {\n if (compare === 'asc') {\n return _partitionSelect(x, k, asc);\n } else if (compare === 'desc') {\n return _partitionSelect(x, k, desc);\n } else {\n throw new Error('Compare string must be \"asc\" or \"desc\"');\n }\n },\n 'Array | Matrix, number, function': _partitionSelect\n });\n function _partitionSelect(x, k, compare) {\n if (!isInteger(k) || k < 0) {\n throw new Error('k must be a non-negative integer');\n }\n if (isMatrix(x)) {\n var size = x.size();\n if (size.length > 1) {\n throw new Error('Only one dimensional matrices supported');\n }\n return quickSelect(x.valueOf(), k, compare);\n }\n if (Array.isArray(x)) {\n return quickSelect(x, k, compare);\n }\n }\n\n /**\n * Quickselect algorithm.\n * Code adapted from:\n * https://blog.teamleadnet.com/2012/07/quick-select-algorithm-find-kth-element.html\n *\n * @param {Array} arr\n * @param {Number} k\n * @param {Function} compare\n * @private\n */\n function quickSelect(arr, k, compare) {\n if (k >= arr.length) {\n throw new Error('k out of bounds');\n }\n\n // check for NaN values since these can cause an infinite while loop\n for (var i = 0; i < arr.length; i++) {\n if (isNumeric(arr[i]) && isNaN(arr[i])) {\n return arr[i]; // return NaN\n }\n }\n\n var from = 0;\n var to = arr.length - 1;\n\n // if from == to we reached the kth element\n while (from < to) {\n var r = from;\n var w = to;\n var pivot = arr[Math.floor(Math.random() * (to - from + 1)) + from];\n\n // stop if the reader and writer meets\n while (r < w) {\n // arr[r] >= pivot\n if (compare(arr[r], pivot) >= 0) {\n // put the large values at the end\n var tmp = arr[w];\n arr[w] = arr[r];\n arr[r] = tmp;\n --w;\n } else {\n // the value is smaller than the pivot, skip\n ++r;\n }\n }\n\n // if we stepped up (r++) we need to step one down (arr[r] > pivot)\n if (compare(arr[r], pivot) > 0) {\n --r;\n }\n\n // the r pointer is on the end of the first k elements\n if (k <= r) {\n to = r;\n } else {\n from = r + 1;\n }\n }\n return arr[k];\n }\n});","import { isArray, isBigNumber, isCollection, isIndex, isMatrix, isNumber, isString, typeOf } from '../../utils/is.js';\nimport { arraySize, getArrayDataType, processSizesWildcard, reshape, resize, unsqueeze, validate, validateIndex, broadcastTo } from '../../utils/array.js';\nimport { format } from '../../utils/string.js';\nimport { isInteger } from '../../utils/number.js';\nimport { clone, deepStrictEqual } from '../../utils/object.js';\nimport { DimensionError } from '../../error/DimensionError.js';\nimport { factory } from '../../utils/factory.js';\nimport { maxArgumentCount } from '../../utils/function.js';\nvar name = 'DenseMatrix';\nvar dependencies = ['Matrix'];\nexport var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n Matrix\n } = _ref;\n /**\n * Dense Matrix implementation. A regular, dense matrix, supporting multi-dimensional matrices. This is the default matrix type.\n * @class DenseMatrix\n * @enum {{ value, index: number[] }}\n */\n function DenseMatrix(data, datatype) {\n if (!(this instanceof DenseMatrix)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n if (datatype && !isString(datatype)) {\n throw new Error('Invalid datatype: ' + datatype);\n }\n if (isMatrix(data)) {\n // check data is a DenseMatrix\n if (data.type === 'DenseMatrix') {\n // clone data & size\n this._data = clone(data._data);\n this._size = clone(data._size);\n this._datatype = datatype || data._datatype;\n } else {\n // build data from existing matrix\n this._data = data.toArray();\n this._size = data.size();\n this._datatype = datatype || data._datatype;\n }\n } else if (data && isArray(data.data) && isArray(data.size)) {\n // initialize fields from JSON representation\n this._data = data.data;\n this._size = data.size;\n // verify the dimensions of the array\n validate(this._data, this._size);\n this._datatype = datatype || data.datatype;\n } else if (isArray(data)) {\n // replace nested Matrices with Arrays\n this._data = preprocess(data);\n // get the dimensions of the array\n this._size = arraySize(this._data);\n // verify the dimensions of the array, TODO: compute size while processing array\n validate(this._data, this._size);\n // data type unknown\n this._datatype = datatype;\n } else if (data) {\n // unsupported type\n throw new TypeError('Unsupported type of data (' + typeOf(data) + ')');\n } else {\n // nothing provided\n this._data = [];\n this._size = [0];\n this._datatype = datatype;\n }\n }\n DenseMatrix.prototype = new Matrix();\n\n /**\n * Create a new DenseMatrix\n */\n DenseMatrix.prototype.createDenseMatrix = function (data, datatype) {\n return new DenseMatrix(data, datatype);\n };\n\n /**\n * Attach type information\n */\n Object.defineProperty(DenseMatrix, 'name', {\n value: 'DenseMatrix'\n });\n DenseMatrix.prototype.constructor = DenseMatrix;\n DenseMatrix.prototype.type = 'DenseMatrix';\n DenseMatrix.prototype.isDenseMatrix = true;\n\n /**\n * Get the matrix type\n *\n * Usage:\n * const matrixType = matrix.getDataType() // retrieves the matrix type\n *\n * @memberOf DenseMatrix\n * @return {string} type information; if multiple types are found from the Matrix, it will return \"mixed\"\n */\n DenseMatrix.prototype.getDataType = function () {\n return getArrayDataType(this._data, typeOf);\n };\n\n /**\n * Get the storage format used by the matrix.\n *\n * Usage:\n * const format = matrix.storage() // retrieve storage format\n *\n * @memberof DenseMatrix\n * @return {string} The storage format.\n */\n DenseMatrix.prototype.storage = function () {\n return 'dense';\n };\n\n /**\n * Get the datatype of the data stored in the matrix.\n *\n * Usage:\n * const format = matrix.datatype() // retrieve matrix datatype\n *\n * @memberof DenseMatrix\n * @return {string} The datatype.\n */\n DenseMatrix.prototype.datatype = function () {\n return this._datatype;\n };\n\n /**\n * Create a new DenseMatrix\n * @memberof DenseMatrix\n * @param {Array} data\n * @param {string} [datatype]\n */\n DenseMatrix.prototype.create = function (data, datatype) {\n return new DenseMatrix(data, datatype);\n };\n\n /**\n * Get a subset of the matrix, or replace a subset of the matrix.\n *\n * Usage:\n * const subset = matrix.subset(index) // retrieve subset\n * const value = matrix.subset(index, replacement) // replace subset\n *\n * @memberof DenseMatrix\n * @param {Index} index\n * @param {Array | Matrix | *} [replacement]\n * @param {*} [defaultValue=0] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be filled with zeros.\n */\n DenseMatrix.prototype.subset = function (index, replacement, defaultValue) {\n switch (arguments.length) {\n case 1:\n return _get(this, index);\n\n // intentional fall through\n case 2:\n case 3:\n return _set(this, index, replacement, defaultValue);\n default:\n throw new SyntaxError('Wrong number of arguments');\n }\n };\n\n /**\n * Get a single element from the matrix.\n * @memberof DenseMatrix\n * @param {number[]} index Zero-based index\n * @return {*} value\n */\n DenseMatrix.prototype.get = function (index) {\n if (!isArray(index)) {\n throw new TypeError('Array expected');\n }\n if (index.length !== this._size.length) {\n throw new DimensionError(index.length, this._size.length);\n }\n\n // check index\n for (var x = 0; x < index.length; x++) {\n validateIndex(index[x], this._size[x]);\n }\n var data = this._data;\n for (var i = 0, ii = index.length; i < ii; i++) {\n var indexI = index[i];\n validateIndex(indexI, data.length);\n data = data[indexI];\n }\n return data;\n };\n\n /**\n * Replace a single element in the matrix.\n * @memberof DenseMatrix\n * @param {number[]} index Zero-based index\n * @param {*} value\n * @param {*} [defaultValue] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be left undefined.\n * @return {DenseMatrix} self\n */\n DenseMatrix.prototype.set = function (index, value, defaultValue) {\n if (!isArray(index)) {\n throw new TypeError('Array expected');\n }\n if (index.length < this._size.length) {\n throw new DimensionError(index.length, this._size.length, '<');\n }\n var i, ii, indexI;\n\n // enlarge matrix when needed\n var size = index.map(function (i) {\n return i + 1;\n });\n _fit(this, size, defaultValue);\n\n // traverse over the dimensions\n var data = this._data;\n for (i = 0, ii = index.length - 1; i < ii; i++) {\n indexI = index[i];\n validateIndex(indexI, data.length);\n data = data[indexI];\n }\n\n // set new value\n indexI = index[index.length - 1];\n validateIndex(indexI, data.length);\n data[indexI] = value;\n return this;\n };\n\n /**\n * Get a submatrix of this matrix\n * @memberof DenseMatrix\n * @param {DenseMatrix} matrix\n * @param {Index} index Zero-based index\n * @private\n */\n function _get(matrix, index) {\n if (!isIndex(index)) {\n throw new TypeError('Invalid index');\n }\n var isScalar = index.isScalar();\n if (isScalar) {\n // return a scalar\n return matrix.get(index.min());\n } else {\n // validate dimensions\n var size = index.size();\n if (size.length !== matrix._size.length) {\n throw new DimensionError(size.length, matrix._size.length);\n }\n\n // validate if any of the ranges in the index is out of range\n var min = index.min();\n var max = index.max();\n for (var i = 0, ii = matrix._size.length; i < ii; i++) {\n validateIndex(min[i], matrix._size[i]);\n validateIndex(max[i], matrix._size[i]);\n }\n\n // retrieve submatrix\n // TODO: more efficient when creating an empty matrix and setting _data and _size manually\n return new DenseMatrix(_getSubmatrix(matrix._data, index, size.length, 0), matrix._datatype);\n }\n }\n\n /**\n * Recursively get a submatrix of a multi dimensional matrix.\n * Index is not checked for correct number or length of dimensions.\n * @memberof DenseMatrix\n * @param {Array} data\n * @param {Index} index\n * @param {number} dims Total number of dimensions\n * @param {number} dim Current dimension\n * @return {Array} submatrix\n * @private\n */\n function _getSubmatrix(data, index, dims, dim) {\n var last = dim === dims - 1;\n var range = index.dimension(dim);\n if (last) {\n return range.map(function (i) {\n validateIndex(i, data.length);\n return data[i];\n }).valueOf();\n } else {\n return range.map(function (i) {\n validateIndex(i, data.length);\n var child = data[i];\n return _getSubmatrix(child, index, dims, dim + 1);\n }).valueOf();\n }\n }\n\n /**\n * Replace a submatrix in this matrix\n * Indexes are zero-based.\n * @memberof DenseMatrix\n * @param {DenseMatrix} matrix\n * @param {Index} index\n * @param {DenseMatrix | Array | *} submatrix\n * @param {*} defaultValue Default value, filled in on new entries when\n * the matrix is resized.\n * @return {DenseMatrix} matrix\n * @private\n */\n function _set(matrix, index, submatrix, defaultValue) {\n if (!index || index.isIndex !== true) {\n throw new TypeError('Invalid index');\n }\n\n // get index size and check whether the index contains a single value\n var iSize = index.size();\n var isScalar = index.isScalar();\n\n // calculate the size of the submatrix, and convert it into an Array if needed\n var sSize;\n if (isMatrix(submatrix)) {\n sSize = submatrix.size();\n submatrix = submatrix.valueOf();\n } else {\n sSize = arraySize(submatrix);\n }\n if (isScalar) {\n // set a scalar\n\n // check whether submatrix is a scalar\n if (sSize.length !== 0) {\n throw new TypeError('Scalar expected');\n }\n matrix.set(index.min(), submatrix, defaultValue);\n } else {\n // set a submatrix\n\n // broadcast submatrix\n if (!deepStrictEqual(sSize, iSize)) {\n try {\n if (sSize.length === 0) {\n submatrix = broadcastTo([submatrix], iSize);\n } else {\n submatrix = broadcastTo(submatrix, iSize);\n }\n sSize = arraySize(submatrix);\n } catch (_unused) {}\n }\n\n // validate dimensions\n if (iSize.length < matrix._size.length) {\n throw new DimensionError(iSize.length, matrix._size.length, '<');\n }\n if (sSize.length < iSize.length) {\n // calculate number of missing outer dimensions\n var i = 0;\n var outer = 0;\n while (iSize[i] === 1 && sSize[i] === 1) {\n i++;\n }\n while (iSize[i] === 1) {\n outer++;\n i++;\n }\n\n // unsqueeze both outer and inner dimensions\n submatrix = unsqueeze(submatrix, iSize.length, outer, sSize);\n }\n\n // check whether the size of the submatrix matches the index size\n if (!deepStrictEqual(iSize, sSize)) {\n throw new DimensionError(iSize, sSize, '>');\n }\n\n // enlarge matrix when needed\n var size = index.max().map(function (i) {\n return i + 1;\n });\n _fit(matrix, size, defaultValue);\n\n // insert the sub matrix\n var dims = iSize.length;\n var dim = 0;\n _setSubmatrix(matrix._data, index, submatrix, dims, dim);\n }\n return matrix;\n }\n\n /**\n * Replace a submatrix of a multi dimensional matrix.\n * @memberof DenseMatrix\n * @param {Array} data\n * @param {Index} index\n * @param {Array} submatrix\n * @param {number} dims Total number of dimensions\n * @param {number} dim\n * @private\n */\n function _setSubmatrix(data, index, submatrix, dims, dim) {\n var last = dim === dims - 1;\n var range = index.dimension(dim);\n if (last) {\n range.forEach(function (dataIndex, subIndex) {\n validateIndex(dataIndex);\n data[dataIndex] = submatrix[subIndex[0]];\n });\n } else {\n range.forEach(function (dataIndex, subIndex) {\n validateIndex(dataIndex);\n _setSubmatrix(data[dataIndex], index, submatrix[subIndex[0]], dims, dim + 1);\n });\n }\n }\n\n /**\n * Resize the matrix to the given size. Returns a copy of the matrix when\n * `copy=true`, otherwise return the matrix itself (resize in place).\n *\n * @memberof DenseMatrix\n * @param {number[] || Matrix} size The new size the matrix should have.\n * @param {*} [defaultValue=0] Default value, filled in on new entries.\n * If not provided, the matrix elements will\n * be filled with zeros.\n * @param {boolean} [copy] Return a resized copy of the matrix\n *\n * @return {Matrix} The resized matrix\n */\n DenseMatrix.prototype.resize = function (size, defaultValue, copy) {\n // validate arguments\n if (!isCollection(size)) {\n throw new TypeError('Array or Matrix expected');\n }\n\n // SparseMatrix input is always 2d, flatten this into 1d if it's indeed a vector\n var sizeArray = size.valueOf().map(value => {\n return Array.isArray(value) && value.length === 1 ? value[0] : value;\n });\n\n // matrix to resize\n var m = copy ? this.clone() : this;\n // resize matrix\n return _resize(m, sizeArray, defaultValue);\n };\n function _resize(matrix, size, defaultValue) {\n // check size\n if (size.length === 0) {\n // first value in matrix\n var v = matrix._data;\n // go deep\n while (isArray(v)) {\n v = v[0];\n }\n return v;\n }\n // resize matrix\n matrix._size = size.slice(0); // copy the array\n matrix._data = resize(matrix._data, matrix._size, defaultValue);\n // return matrix\n return matrix;\n }\n\n /**\n * Reshape the matrix to the given size. Returns a copy of the matrix when\n * `copy=true`, otherwise return the matrix itself (reshape in place).\n *\n * NOTE: This might be better suited to copy by default, instead of modifying\n * in place. For now, it operates in place to remain consistent with\n * resize().\n *\n * @memberof DenseMatrix\n * @param {number[]} size The new size the matrix should have.\n * @param {boolean} [copy] Return a reshaped copy of the matrix\n *\n * @return {Matrix} The reshaped matrix\n */\n DenseMatrix.prototype.reshape = function (size, copy) {\n var m = copy ? this.clone() : this;\n m._data = reshape(m._data, size);\n var currentLength = m._size.reduce((length, size) => length * size);\n m._size = processSizesWildcard(size, currentLength);\n return m;\n };\n\n /**\n * Enlarge the matrix when it is smaller than given size.\n * If the matrix is larger or equal sized, nothing is done.\n * @memberof DenseMatrix\n * @param {DenseMatrix} matrix The matrix to be resized\n * @param {number[]} size\n * @param {*} defaultValue Default value, filled in on new entries.\n * @private\n */\n function _fit(matrix, size, defaultValue) {\n var\n // copy the array\n newSize = matrix._size.slice(0);\n var changed = false;\n\n // add dimensions when needed\n while (newSize.length < size.length) {\n newSize.push(0);\n changed = true;\n }\n\n // enlarge size when needed\n for (var i = 0, ii = size.length; i < ii; i++) {\n if (size[i] > newSize[i]) {\n newSize[i] = size[i];\n changed = true;\n }\n }\n if (changed) {\n // resize only when size is changed\n _resize(matrix, newSize, defaultValue);\n }\n }\n\n /**\n * Create a clone of the matrix\n * @memberof DenseMatrix\n * @return {DenseMatrix} clone\n */\n DenseMatrix.prototype.clone = function () {\n var m = new DenseMatrix({\n data: clone(this._data),\n size: clone(this._size),\n datatype: this._datatype\n });\n return m;\n };\n\n /**\n * Retrieve the size of the matrix.\n * @memberof DenseMatrix\n * @returns {number[]} size\n */\n DenseMatrix.prototype.size = function () {\n return this._size.slice(0); // return a clone of _size\n };\n\n /**\n * Create a new matrix with the results of the callback function executed on\n * each entry of the matrix.\n * @memberof DenseMatrix\n * @param {Function} callback The callback function is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix being traversed.\n *\n * @return {DenseMatrix} matrix\n */\n DenseMatrix.prototype.map = function (callback) {\n // matrix instance\n var me = this;\n var args = maxArgumentCount(callback);\n var recurse = function recurse(value, index) {\n if (isArray(value)) {\n return value.map(function (child, i) {\n return recurse(child, index.concat(i));\n });\n } else {\n // invoke the callback function with the right number of arguments\n if (args === 1) {\n return callback(value);\n } else if (args === 2) {\n return callback(value, index);\n } else {\n // 3 or -1\n return callback(value, index, me);\n }\n }\n };\n\n // determine the new datatype when the original matrix has datatype defined\n // TODO: should be done in matrix constructor instead\n var data = recurse(this._data, []);\n var datatype = this._datatype !== undefined ? getArrayDataType(data, typeOf) : undefined;\n return new DenseMatrix(data, datatype);\n };\n\n /**\n * Execute a callback function on each entry of the matrix.\n * @memberof DenseMatrix\n * @param {Function} callback The callback function is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix being traversed.\n */\n DenseMatrix.prototype.forEach = function (callback) {\n // matrix instance\n var me = this;\n var recurse = function recurse(value, index) {\n if (isArray(value)) {\n value.forEach(function (child, i) {\n recurse(child, index.concat(i));\n });\n } else {\n callback(value, index, me);\n }\n };\n recurse(this._data, []);\n };\n\n /**\n * Iterate over the matrix elements\n * @return {Iterable<{ value, index: number[] }>}\n */\n DenseMatrix.prototype[Symbol.iterator] = function* () {\n var recurse = function* recurse(value, index) {\n if (isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n yield* recurse(value[i], index.concat(i));\n }\n } else {\n yield {\n value,\n index\n };\n }\n };\n yield* recurse(this._data, []);\n };\n\n /**\n * Returns an array containing the rows of a 2D matrix\n * @returns {Array}\n */\n DenseMatrix.prototype.rows = function () {\n var result = [];\n var s = this.size();\n if (s.length !== 2) {\n throw new TypeError('Rows can only be returned for a 2D matrix.');\n }\n var data = this._data;\n for (var row of data) {\n result.push(new DenseMatrix([row], this._datatype));\n }\n return result;\n };\n\n /**\n * Returns an array containing the columns of a 2D matrix\n * @returns {Array}\n */\n DenseMatrix.prototype.columns = function () {\n var _this = this;\n var result = [];\n var s = this.size();\n if (s.length !== 2) {\n throw new TypeError('Rows can only be returned for a 2D matrix.');\n }\n var data = this._data;\n var _loop = function _loop(i) {\n var col = data.map(row => [row[i]]);\n result.push(new DenseMatrix(col, _this._datatype));\n };\n for (var i = 0; i < s[1]; i++) {\n _loop(i);\n }\n return result;\n };\n\n /**\n * Create an Array with a copy of the data of the DenseMatrix\n * @memberof DenseMatrix\n * @returns {Array} array\n */\n DenseMatrix.prototype.toArray = function () {\n return clone(this._data);\n };\n\n /**\n * Get the primitive value of the DenseMatrix: a multidimensional array\n * @memberof DenseMatrix\n * @returns {Array} array\n */\n DenseMatrix.prototype.valueOf = function () {\n return this._data;\n };\n\n /**\n * Get a string representation of the matrix, with optional formatting options.\n * @memberof DenseMatrix\n * @param {Object | number | Function} [options] Formatting options. See\n * lib/utils/number:format for a\n * description of the available\n * options.\n * @returns {string} str\n */\n DenseMatrix.prototype.format = function (options) {\n return format(this._data, options);\n };\n\n /**\n * Get a string representation of the matrix\n * @memberof DenseMatrix\n * @returns {string} str\n */\n DenseMatrix.prototype.toString = function () {\n return format(this._data);\n };\n\n /**\n * Get a JSON representation of the matrix\n * @memberof DenseMatrix\n * @returns {Object}\n */\n DenseMatrix.prototype.toJSON = function () {\n return {\n mathjs: 'DenseMatrix',\n data: this._data,\n size: this._size,\n datatype: this._datatype\n };\n };\n\n /**\n * Get the kth Matrix diagonal.\n *\n * @memberof DenseMatrix\n * @param {number | BigNumber} [k=0] The kth diagonal where the vector will retrieved.\n *\n * @returns {Matrix} The matrix with the diagonal values.\n */\n DenseMatrix.prototype.diagonal = function (k) {\n // validate k if any\n if (k) {\n // convert BigNumber to a number\n if (isBigNumber(k)) {\n k = k.toNumber();\n }\n // is must be an integer\n if (!isNumber(k) || !isInteger(k)) {\n throw new TypeError('The parameter k must be an integer number');\n }\n } else {\n // default value\n k = 0;\n }\n var kSuper = k > 0 ? k : 0;\n var kSub = k < 0 ? -k : 0;\n\n // rows & columns\n var rows = this._size[0];\n var columns = this._size[1];\n\n // number diagonal values\n var n = Math.min(rows - kSub, columns - kSuper);\n\n // x is a matrix get diagonal from matrix\n var data = [];\n\n // loop rows\n for (var i = 0; i < n; i++) {\n data[i] = this._data[i + kSub][i + kSuper];\n }\n\n // create DenseMatrix\n return new DenseMatrix({\n data,\n size: [n],\n datatype: this._datatype\n });\n };\n\n /**\n * Create a diagonal matrix.\n *\n * @memberof DenseMatrix\n * @param {Array} size The matrix size.\n * @param {number | Matrix | Array } value The values for the diagonal.\n * @param {number | BigNumber} [k=0] The kth diagonal where the vector will be filled in.\n * @param {number} [defaultValue] The default value for non-diagonal\n * @param {string} [datatype] The datatype for the diagonal\n *\n * @returns {DenseMatrix}\n */\n DenseMatrix.diagonal = function (size, value, k, defaultValue) {\n if (!isArray(size)) {\n throw new TypeError('Array expected, size parameter');\n }\n if (size.length !== 2) {\n throw new Error('Only two dimensions matrix are supported');\n }\n\n // map size & validate\n size = size.map(function (s) {\n // check it is a big number\n if (isBigNumber(s)) {\n // convert it\n s = s.toNumber();\n }\n // validate arguments\n if (!isNumber(s) || !isInteger(s) || s < 1) {\n throw new Error('Size values must be positive integers');\n }\n return s;\n });\n\n // validate k if any\n if (k) {\n // convert BigNumber to a number\n if (isBigNumber(k)) {\n k = k.toNumber();\n }\n // is must be an integer\n if (!isNumber(k) || !isInteger(k)) {\n throw new TypeError('The parameter k must be an integer number');\n }\n } else {\n // default value\n k = 0;\n }\n var kSuper = k > 0 ? k : 0;\n var kSub = k < 0 ? -k : 0;\n\n // rows and columns\n var rows = size[0];\n var columns = size[1];\n\n // number of non-zero items\n var n = Math.min(rows - kSub, columns - kSuper);\n\n // value extraction function\n var _value;\n\n // check value\n if (isArray(value)) {\n // validate array\n if (value.length !== n) {\n // number of values in array must be n\n throw new Error('Invalid value array length');\n }\n // define function\n _value = function _value(i) {\n // return value @ i\n return value[i];\n };\n } else if (isMatrix(value)) {\n // matrix size\n var ms = value.size();\n // validate matrix\n if (ms.length !== 1 || ms[0] !== n) {\n // number of values in array must be n\n throw new Error('Invalid matrix length');\n }\n // define function\n _value = function _value(i) {\n // return value @ i\n return value.get([i]);\n };\n } else {\n // define function\n _value = function _value() {\n // return value\n return value;\n };\n }\n\n // discover default value if needed\n if (!defaultValue) {\n // check first value in array\n defaultValue = isBigNumber(_value(0)) ? _value(0).mul(0) // trick to create a BigNumber with value zero\n : 0;\n }\n\n // empty array\n var data = [];\n\n // check we need to resize array\n if (size.length > 0) {\n // resize array\n data = resize(data, size, defaultValue);\n // fill diagonal\n for (var d = 0; d < n; d++) {\n data[d + kSub][d + kSuper] = _value(d);\n }\n }\n\n // create DenseMatrix\n return new DenseMatrix({\n data,\n size: [rows, columns]\n });\n };\n\n /**\n * Generate a matrix from a JSON object\n * @memberof DenseMatrix\n * @param {Object} json An object structured like\n * `{\"mathjs\": \"DenseMatrix\", data: [], size: []}`,\n * where mathjs is optional\n * @returns {DenseMatrix}\n */\n DenseMatrix.fromJSON = function (json) {\n return new DenseMatrix(json);\n };\n\n /**\n * Swap rows i and j in Matrix.\n *\n * @memberof DenseMatrix\n * @param {number} i Matrix row index 1\n * @param {number} j Matrix row index 2\n *\n * @return {Matrix} The matrix reference\n */\n DenseMatrix.prototype.swapRows = function (i, j) {\n // check index\n if (!isNumber(i) || !isInteger(i) || !isNumber(j) || !isInteger(j)) {\n throw new Error('Row index must be positive integers');\n }\n // check dimensions\n if (this._size.length !== 2) {\n throw new Error('Only two dimensional matrix is supported');\n }\n // validate index\n validateIndex(i, this._size[0]);\n validateIndex(j, this._size[0]);\n\n // swap rows\n DenseMatrix._swapRows(i, j, this._data);\n // return current instance\n return this;\n };\n\n /**\n * Swap rows i and j in Dense Matrix data structure.\n *\n * @param {number} i Matrix row index 1\n * @param {number} j Matrix row index 2\n * @param {Array} data Matrix data\n */\n DenseMatrix._swapRows = function (i, j, data) {\n // swap values i <-> j\n var vi = data[i];\n data[i] = data[j];\n data[j] = vi;\n };\n\n /**\n * Preprocess data, which can be an Array or DenseMatrix with nested Arrays and\n * Matrices. Clones all (nested) Arrays, and replaces all nested Matrices with Arrays\n * @memberof DenseMatrix\n * @param {Array | Matrix} data\n * @return {Array} data\n */\n function preprocess(data) {\n if (isMatrix(data)) {\n return preprocess(data.valueOf());\n }\n if (isArray(data)) {\n return data.map(preprocess);\n }\n return data;\n }\n return DenseMatrix;\n}, {\n isClass: true\n});","import { factory } from '../../utils/factory.js';\nimport { expNumber } from '../../plain/number/index.js';\nvar name = 'exp';\nvar dependencies = ['typed'];\nexport var createExp = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Calculate the exponential of a value.\n * For matrices, if you want the matrix exponential of square matrix, use\n * the `expm` function; if you want to take the exponential of each element,\n * see the examples.\n *\n * Syntax:\n *\n * math.exp(x)\n *\n * Examples:\n *\n * math.exp(2) // returns number 7.3890560989306495\n * math.pow(math.e, 2) // returns number 7.3890560989306495\n * math.log(math.exp(2)) // returns number 2\n *\n * math.map([1, 2, 3], math.exp)\n * // returns Array [\n * // 2.718281828459045,\n * // 7.3890560989306495,\n * // 20.085536923187668\n * // ]\n *\n * See also:\n *\n * expm1, expm, log, pow\n *\n * @param {number | BigNumber | Complex} x A number to exponentiate\n * @return {number | BigNumber | Complex} Exponential of `x`\n */\n return typed(name, {\n number: expNumber,\n Complex: function Complex(x) {\n return x.exp();\n },\n BigNumber: function BigNumber(x) {\n return x.exp();\n }\n });\n});","import { isBigNumber } from '../../utils/is.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'distance';\nvar dependencies = ['typed', 'addScalar', 'subtractScalar', 'divideScalar', 'multiplyScalar', 'deepEqual', 'sqrt', 'abs'];\nexport var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n addScalar,\n subtractScalar,\n multiplyScalar,\n divideScalar,\n deepEqual,\n sqrt,\n abs\n } = _ref;\n /**\n * Calculates:\n * The eucledian distance between two points in N-dimensional spaces.\n * Distance between point and a line in 2 and 3 dimensional spaces.\n * Pairwise distance between a set of 2D or 3D points\n * NOTE:\n * When substituting coefficients of a line(a, b and c), use ax + by + c = 0 instead of ax + by = c\n * For parametric equation of a 3D line, x0, y0, z0, a, b, c are from: (x−x0, y−y0, z−z0) = t(a, b, c)\n *\n * Syntax:\n *\n * math.distance([x1,y1], [x2,y2])\n * math.distance({pointOneX, pointOneY}, {pointTwoX, pointTwoY})\n * math.distance([x1,y1,z1], [x2,y2,z2])\n * math.distance({pointOneX, pointOneY, pointOneZ}, {pointTwoX, pointTwoY, pointTwoZ})\n * math.distance([x1,y1,z1,a1], [x2,y2,z2,a2])\n * math.distance([[x1,y1], [x2,y2], [x3,y3]])\n * math.distance([[x1,y1,z1], [x2,y2,z2], [x3,y3,z3]])\n * math.distance([pointX,pointY], [a,b,c])\n * math.distance([pointX,pointY], [lineOnePtX,lineOnePtY], [lineTwoPtX,lineTwoPtY])\n * math.distance({pointX, pointY}, {lineOnePtX, lineOnePtY}, {lineTwoPtX, lineTwoPtY})\n * math.distance([pointX,pointY,pointZ], [x0, y0, z0, a, b, c])\n * math.distance({pointX, pointY, pointZ}, {x0, y0, z0, a, b, c})\n *\n * Examples:\n * math.distance([0,0], [4,4]) // Returns 5.656854249492381\n * math.distance(\n * {pointOneX: 0, pointOneY: 0},\n * {pointTwoX: 10, pointTwoY: 10}) // Returns 14.142135623730951\n * math.distance([1, 0, 1], [4, -2, 2]) // Returns 3.7416573867739413\n * math.distance(\n * {pointOneX: 4, pointOneY: 5, pointOneZ: 8},\n * {pointTwoX: 2, pointTwoY: 7, pointTwoZ: 9}) // Returns 3\n * math.distance([1, 0, 1, 0], [0, -1, 0, -1]) // Returns 2\n * math.distance([[1, 2], [1, 2], [1, 3]]) // Returns [0, 1, 1]\n * math.distance([[1,2,4], [1,2,6], [8,1,3]]) // Returns [2, 7.14142842854285, 7.681145747868608]\n * math.distance([10, 10], [8, 1, 3]) // Returns 11.535230316796387\n * math.distance([0, 0], [3, 0], [0, 4]) // Returns 2.4\n * math.distance(\n * {pointX: 0, pointY: 0},\n * {lineOnePtX: 3, lineOnePtY: 0},\n * {lineTwoPtX: 0, lineTwoPtY: 4}) // Returns 2.4\n * math.distance([2, 3, 1], [1, 1, 2, 5, 0, 1]) // Returns 2.3204774044612857\n * math.distance(\n * {pointX: 2, pointY: 3, pointZ: 1},\n * {x0: 1, y0: 1, z0: 2, a: 5, b: 0, c: 1}) // Returns 2.3204774044612857\n *\n * @param {Array | Matrix | Object} x Co-ordinates of first point\n * @param {Array | Matrix | Object} y Co-ordinates of second point\n * @return {Number | BigNumber} Returns the distance from two/three points\n */\n return typed(name, {\n 'Array, Array, Array': function ArrayArrayArray(x, y, z) {\n // Point to Line 2D (x=Point, y=LinePoint1, z=LinePoint2)\n if (x.length === 2 && y.length === 2 && z.length === 2) {\n if (!_2d(x)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for first argument');\n }\n if (!_2d(y)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for second argument');\n }\n if (!_2d(z)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for third argument');\n }\n if (deepEqual(y, z)) {\n throw new TypeError('LinePoint1 should not be same with LinePoint2');\n }\n var xCoeff = subtractScalar(z[1], y[1]);\n var yCoeff = subtractScalar(y[0], z[0]);\n var constant = subtractScalar(multiplyScalar(z[0], y[1]), multiplyScalar(y[0], z[1]));\n return _distancePointLine2D(x[0], x[1], xCoeff, yCoeff, constant);\n } else {\n throw new TypeError('Invalid Arguments: Try again');\n }\n },\n 'Object, Object, Object': function ObjectObjectObject(x, y, z) {\n if (Object.keys(x).length === 2 && Object.keys(y).length === 2 && Object.keys(z).length === 2) {\n if (!_2d(x)) {\n throw new TypeError('Values of pointX and pointY should be numbers or BigNumbers');\n }\n if (!_2d(y)) {\n throw new TypeError('Values of lineOnePtX and lineOnePtY should be numbers or BigNumbers');\n }\n if (!_2d(z)) {\n throw new TypeError('Values of lineTwoPtX and lineTwoPtY should be numbers or BigNumbers');\n }\n if (deepEqual(_objectToArray(y), _objectToArray(z))) {\n throw new TypeError('LinePoint1 should not be same with LinePoint2');\n }\n if ('pointX' in x && 'pointY' in x && 'lineOnePtX' in y && 'lineOnePtY' in y && 'lineTwoPtX' in z && 'lineTwoPtY' in z) {\n var xCoeff = subtractScalar(z.lineTwoPtY, y.lineOnePtY);\n var yCoeff = subtractScalar(y.lineOnePtX, z.lineTwoPtX);\n var constant = subtractScalar(multiplyScalar(z.lineTwoPtX, y.lineOnePtY), multiplyScalar(y.lineOnePtX, z.lineTwoPtY));\n return _distancePointLine2D(x.pointX, x.pointY, xCoeff, yCoeff, constant);\n } else {\n throw new TypeError('Key names do not match');\n }\n } else {\n throw new TypeError('Invalid Arguments: Try again');\n }\n },\n 'Array, Array': function ArrayArray(x, y) {\n // Point to Line 2D (x=[pointX, pointY], y=[x-coeff, y-coeff, const])\n if (x.length === 2 && y.length === 3) {\n if (!_2d(x)) {\n throw new TypeError('Array with 2 numbers or BigNumbers expected for first argument');\n }\n if (!_3d(y)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for second argument');\n }\n return _distancePointLine2D(x[0], x[1], y[0], y[1], y[2]);\n } else if (x.length === 3 && y.length === 6) {\n // Point to Line 3D\n if (!_3d(x)) {\n throw new TypeError('Array with 3 numbers or BigNumbers expected for first argument');\n }\n if (!_parametricLine(y)) {\n throw new TypeError('Array with 6 numbers or BigNumbers expected for second argument');\n }\n return _distancePointLine3D(x[0], x[1], x[2], y[0], y[1], y[2], y[3], y[4], y[5]);\n } else if (x.length === y.length && x.length > 0) {\n // Point to Point N-dimensions\n if (!_containsOnlyNumbers(x)) {\n throw new TypeError('All values of an array should be numbers or BigNumbers');\n }\n if (!_containsOnlyNumbers(y)) {\n throw new TypeError('All values of an array should be numbers or BigNumbers');\n }\n return _euclideanDistance(x, y);\n } else {\n throw new TypeError('Invalid Arguments: Try again');\n }\n },\n 'Object, Object': function ObjectObject(x, y) {\n if (Object.keys(x).length === 2 && Object.keys(y).length === 3) {\n if (!_2d(x)) {\n throw new TypeError('Values of pointX and pointY should be numbers or BigNumbers');\n }\n if (!_3d(y)) {\n throw new TypeError('Values of xCoeffLine, yCoeffLine and constant should be numbers or BigNumbers');\n }\n if ('pointX' in x && 'pointY' in x && 'xCoeffLine' in y && 'yCoeffLine' in y && 'constant' in y) {\n return _distancePointLine2D(x.pointX, x.pointY, y.xCoeffLine, y.yCoeffLine, y.constant);\n } else {\n throw new TypeError('Key names do not match');\n }\n } else if (Object.keys(x).length === 3 && Object.keys(y).length === 6) {\n // Point to Line 3D\n if (!_3d(x)) {\n throw new TypeError('Values of pointX, pointY and pointZ should be numbers or BigNumbers');\n }\n if (!_parametricLine(y)) {\n throw new TypeError('Values of x0, y0, z0, a, b and c should be numbers or BigNumbers');\n }\n if ('pointX' in x && 'pointY' in x && 'x0' in y && 'y0' in y && 'z0' in y && 'a' in y && 'b' in y && 'c' in y) {\n return _distancePointLine3D(x.pointX, x.pointY, x.pointZ, y.x0, y.y0, y.z0, y.a, y.b, y.c);\n } else {\n throw new TypeError('Key names do not match');\n }\n } else if (Object.keys(x).length === 2 && Object.keys(y).length === 2) {\n // Point to Point 2D\n if (!_2d(x)) {\n throw new TypeError('Values of pointOneX and pointOneY should be numbers or BigNumbers');\n }\n if (!_2d(y)) {\n throw new TypeError('Values of pointTwoX and pointTwoY should be numbers or BigNumbers');\n }\n if ('pointOneX' in x && 'pointOneY' in x && 'pointTwoX' in y && 'pointTwoY' in y) {\n return _euclideanDistance([x.pointOneX, x.pointOneY], [y.pointTwoX, y.pointTwoY]);\n } else {\n throw new TypeError('Key names do not match');\n }\n } else if (Object.keys(x).length === 3 && Object.keys(y).length === 3) {\n // Point to Point 3D\n if (!_3d(x)) {\n throw new TypeError('Values of pointOneX, pointOneY and pointOneZ should be numbers or BigNumbers');\n }\n if (!_3d(y)) {\n throw new TypeError('Values of pointTwoX, pointTwoY and pointTwoZ should be numbers or BigNumbers');\n }\n if ('pointOneX' in x && 'pointOneY' in x && 'pointOneZ' in x && 'pointTwoX' in y && 'pointTwoY' in y && 'pointTwoZ' in y) {\n return _euclideanDistance([x.pointOneX, x.pointOneY, x.pointOneZ], [y.pointTwoX, y.pointTwoY, y.pointTwoZ]);\n } else {\n throw new TypeError('Key names do not match');\n }\n } else {\n throw new TypeError('Invalid Arguments: Try again');\n }\n },\n Array: function Array(arr) {\n if (!_pairwise(arr)) {\n throw new TypeError('Incorrect array format entered for pairwise distance calculation');\n }\n return _distancePairwise(arr);\n }\n });\n function _isNumber(a) {\n // distance supports numbers and bignumbers\n return typeof a === 'number' || isBigNumber(a);\n }\n function _2d(a) {\n // checks if the number of arguments are correct in count and are valid (should be numbers)\n if (a.constructor !== Array) {\n a = _objectToArray(a);\n }\n return _isNumber(a[0]) && _isNumber(a[1]);\n }\n function _3d(a) {\n // checks if the number of arguments are correct in count and are valid (should be numbers)\n if (a.constructor !== Array) {\n a = _objectToArray(a);\n }\n return _isNumber(a[0]) && _isNumber(a[1]) && _isNumber(a[2]);\n }\n function _containsOnlyNumbers(a) {\n // checks if the number of arguments are correct in count and are valid (should be numbers)\n if (!Array.isArray(a)) {\n a = _objectToArray(a);\n }\n return a.every(_isNumber);\n }\n function _parametricLine(a) {\n if (a.constructor !== Array) {\n a = _objectToArray(a);\n }\n return _isNumber(a[0]) && _isNumber(a[1]) && _isNumber(a[2]) && _isNumber(a[3]) && _isNumber(a[4]) && _isNumber(a[5]);\n }\n function _objectToArray(o) {\n var keys = Object.keys(o);\n var a = [];\n for (var i = 0; i < keys.length; i++) {\n a.push(o[keys[i]]);\n }\n return a;\n }\n function _pairwise(a) {\n // checks for valid arguments passed to _distancePairwise(Array)\n if (a[0].length === 2 && _isNumber(a[0][0]) && _isNumber(a[0][1])) {\n if (a.some(aI => aI.length !== 2 || !_isNumber(aI[0]) || !_isNumber(aI[1]))) {\n return false;\n }\n } else if (a[0].length === 3 && _isNumber(a[0][0]) && _isNumber(a[0][1]) && _isNumber(a[0][2])) {\n if (a.some(aI => aI.length !== 3 || !_isNumber(aI[0]) || !_isNumber(aI[1]) || !_isNumber(aI[2]))) {\n return false;\n }\n } else {\n return false;\n }\n return true;\n }\n function _distancePointLine2D(x, y, a, b, c) {\n var num = abs(addScalar(addScalar(multiplyScalar(a, x), multiplyScalar(b, y)), c));\n var den = sqrt(addScalar(multiplyScalar(a, a), multiplyScalar(b, b)));\n return divideScalar(num, den);\n }\n function _distancePointLine3D(x, y, z, x0, y0, z0, a, b, c) {\n var num = [subtractScalar(multiplyScalar(subtractScalar(y0, y), c), multiplyScalar(subtractScalar(z0, z), b)), subtractScalar(multiplyScalar(subtractScalar(z0, z), a), multiplyScalar(subtractScalar(x0, x), c)), subtractScalar(multiplyScalar(subtractScalar(x0, x), b), multiplyScalar(subtractScalar(y0, y), a))];\n num = sqrt(addScalar(addScalar(multiplyScalar(num[0], num[0]), multiplyScalar(num[1], num[1])), multiplyScalar(num[2], num[2])));\n var den = sqrt(addScalar(addScalar(multiplyScalar(a, a), multiplyScalar(b, b)), multiplyScalar(c, c)));\n return divideScalar(num, den);\n }\n function _euclideanDistance(x, y) {\n var vectorSize = x.length;\n var result = 0;\n var diff = 0;\n for (var i = 0; i < vectorSize; i++) {\n diff = subtractScalar(x[i], y[i]);\n result = addScalar(multiplyScalar(diff, diff), result);\n }\n return sqrt(result);\n }\n function _distancePairwise(a) {\n var result = [];\n var pointA = [];\n var pointB = [];\n for (var i = 0; i < a.length - 1; i++) {\n for (var j = i + 1; j < a.length; j++) {\n if (a[0].length === 2) {\n pointA = [a[i][0], a[i][1]];\n pointB = [a[j][0], a[j][1]];\n } else if (a[0].length === 3) {\n pointA = [a[i][0], a[i][1], a[i][2]];\n pointB = [a[j][0], a[j][1], a[j][2]];\n }\n result.push(_euclideanDistance(pointA, pointB));\n }\n }\n return result;\n }\n});","import { factory } from '../utils/factory.js';\nimport { deepMap } from '../utils/collection.js';\nvar name = 'boolean';\nvar dependencies = ['typed'];\nexport var createBoolean = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Create a boolean or convert a string or number to a boolean.\n * In case of a number, `true` is returned for non-zero numbers, and `false` in\n * case of zero.\n * Strings can be `'true'` or `'false'`, or can contain a number.\n * When value is a matrix, all elements will be converted to boolean.\n *\n * Syntax:\n *\n * math.boolean(x)\n *\n * Examples:\n *\n * math.boolean(0) // returns false\n * math.boolean(1) // returns true\n * math.boolean(-3) // returns true\n * math.boolean('true') // returns true\n * math.boolean('false') // returns false\n * math.boolean([1, 0, 1, 1]) // returns [true, false, true, true]\n *\n * See also:\n *\n * bignumber, complex, index, matrix, string, unit\n *\n * @param {string | number | boolean | Array | Matrix | null} value A value of any type\n * @return {boolean | Array | Matrix} The boolean value\n */\n return typed(name, {\n '': function _() {\n return false;\n },\n boolean: function boolean(x) {\n return x;\n },\n number: function number(x) {\n return !!x;\n },\n null: function _null(x) {\n return false;\n },\n BigNumber: function BigNumber(x) {\n return !x.isZero();\n },\n string: function string(x) {\n // try case insensitive\n var lcase = x.toLowerCase();\n if (lcase === 'true') {\n return true;\n } else if (lcase === 'false') {\n return false;\n }\n\n // test whether value is a valid number\n var num = Number(x);\n if (x !== '' && !isNaN(num)) {\n return !!num;\n }\n throw new Error('Cannot convert \"' + x + '\" to a boolean');\n },\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","import { factory } from '../../utils/factory.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'unequal';\nvar dependencies = ['typed', 'config', 'equalScalar', 'matrix', 'DenseMatrix', 'concat'];\nexport var createUnequal = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n equalScalar,\n matrix,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo07xSSf = createMatAlgo07xSSf({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Test whether two values are unequal.\n *\n * The function tests whether the relative difference between x and y is\n * larger than the configured epsilon. The function cannot be used to compare\n * values smaller than approximately 2.22e-16.\n *\n * For matrices, the function is evaluated element wise.\n * In case of complex numbers, x.re must unequal y.re, or x.im must unequal y.im.\n * Strings are compared by their numerical value.\n *\n * Values `null` and `undefined` are compared strictly, thus `null` is unequal\n * with everything except `null`, and `undefined` is unequal with everything\n * except `undefined`.\n *\n * Syntax:\n *\n * math.unequal(x, y)\n *\n * Examples:\n *\n * math.unequal(2 + 2, 3) // returns true\n * math.unequal(2 + 2, 4) // returns false\n *\n * const a = math.unit('50 cm')\n * const b = math.unit('5 m')\n * math.unequal(a, b) // returns false\n *\n * const c = [2, 5, 1]\n * const d = [2, 7, 1]\n *\n * math.unequal(c, d) // returns [false, true, false]\n * math.deepEqual(c, d) // returns false\n *\n * math.unequal(0, null) // returns true\n * See also:\n *\n * equal, deepEqual, smaller, smallerEq, larger, largerEq, compare\n *\n * @param {number | BigNumber | Fraction | boolean | Complex | Unit | string | Array | Matrix | undefined} x First value to compare\n * @param {number | BigNumber | Fraction | boolean | Complex | Unit | string | Array | Matrix | undefined} y Second value to compare\n * @return {boolean | Array | Matrix} Returns true when the compared values are unequal, else returns false\n */\n return typed(name, createUnequalNumber({\n typed,\n equalScalar\n }), matrixAlgorithmSuite({\n elop: _unequal,\n SS: matAlgo07xSSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n function _unequal(x, y) {\n return !equalScalar(x, y);\n }\n});\nexport var createUnequalNumber = factory(name, ['typed', 'equalScalar'], _ref2 => {\n var {\n typed,\n equalScalar\n } = _ref2;\n return typed(name, {\n 'any, any': function anyAny(x, y) {\n // strict equality for null and undefined?\n if (x === null) {\n return y !== null;\n }\n if (y === null) {\n return x !== null;\n }\n if (x === undefined) {\n return y !== undefined;\n }\n if (y === undefined) {\n return x !== undefined;\n }\n return !equalScalar(x, y);\n }\n });\n});","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaFundoGarantidor.vue?vue&type=style&index=0&id=8769b2e4&prod&lang=css\"","import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';\nimport { nearlyEqual } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { createCompareUnits } from './compareUnits.js';\nvar name = 'smaller';\nvar dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];\nexport var createSmaller = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo07xSSf = createMatAlgo07xSSf({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var compareUnits = createCompareUnits({\n typed\n });\n\n /**\n * Test whether value x is smaller than y.\n *\n * The function returns true when x is smaller than y and the relative\n * difference between x and y is smaller than the configured epsilon. The\n * function cannot be used to compare values smaller than approximately 2.22e-16.\n *\n * For matrices, the function is evaluated element wise.\n * Strings are compared by their numerical value.\n *\n * Syntax:\n *\n * math.smaller(x, y)\n *\n * Examples:\n *\n * math.smaller(2, 3) // returns true\n * math.smaller(5, 2 * 2) // returns false\n *\n * const a = math.unit('5 cm')\n * const b = math.unit('2 inch')\n * math.smaller(a, b) // returns true\n *\n * See also:\n *\n * equal, unequal, smallerEq, smaller, smallerEq, compare\n *\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} x First value to compare\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} y Second value to compare\n * @return {boolean | Array | Matrix} Returns true when the x is smaller than y, else returns false\n */\n return typed(name, createSmallerNumber({\n typed,\n config\n }), {\n 'boolean, boolean': (x, y) => x < y,\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.lt(y) && !bigNearlyEqual(x, y, config.epsilon);\n },\n 'Fraction, Fraction': (x, y) => x.compare(y) === -1,\n 'Complex, Complex': function ComplexComplex(x, y) {\n throw new TypeError('No ordering relation is defined for complex numbers');\n }\n }, compareUnits, matrixAlgorithmSuite({\n SS: matAlgo07xSSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n});\nexport var createSmallerNumber = /* #__PURE__ */factory(name, ['typed', 'config'], _ref2 => {\n var {\n typed,\n config\n } = _ref2;\n return typed(name, {\n 'number, number': function numberNumber(x, y) {\n return x < y && !nearlyEqual(x, y, config.epsilon);\n }\n });\n});","import { isBigNumber, isObject } from './is.js';\n\n/**\n * Clone an object\n *\n * clone(x)\n *\n * Can clone any primitive type, array, and object.\n * If x has a function clone, this function will be invoked to clone the object.\n *\n * @param {*} x\n * @return {*} clone\n */\nexport function clone(x) {\n var type = typeof x;\n\n // immutable primitive types\n if (type === 'number' || type === 'string' || type === 'boolean' || x === null || x === undefined) {\n return x;\n }\n\n // use clone function of the object when available\n if (typeof x.clone === 'function') {\n return x.clone();\n }\n\n // array\n if (Array.isArray(x)) {\n return x.map(function (value) {\n return clone(value);\n });\n }\n if (x instanceof Date) return new Date(x.valueOf());\n if (isBigNumber(x)) return x; // bignumbers are immutable\n\n // object\n if (isObject(x)) {\n return mapObject(x, clone);\n }\n throw new TypeError(\"Cannot clone: unknown type of value (value: \".concat(x, \")\"));\n}\n\n/**\n * Apply map to all properties of an object\n * @param {Object} object\n * @param {function} callback\n * @return {Object} Returns a copy of the object with mapped properties\n */\nexport function mapObject(object, callback) {\n var clone = {};\n for (var key in object) {\n if (hasOwnProperty(object, key)) {\n clone[key] = callback(object[key]);\n }\n }\n return clone;\n}\n\n/**\n * Extend object a with the properties of object b\n * @param {Object} a\n * @param {Object} b\n * @return {Object} a\n */\nexport function extend(a, b) {\n for (var prop in b) {\n if (hasOwnProperty(b, prop)) {\n a[prop] = b[prop];\n }\n }\n return a;\n}\n\n/**\n * Deep extend an object a with the properties of object b\n * @param {Object} a\n * @param {Object} b\n * @returns {Object}\n */\nexport function deepExtend(a, b) {\n // TODO: add support for Arrays to deepExtend\n if (Array.isArray(b)) {\n throw new TypeError('Arrays are not supported by deepExtend');\n }\n for (var prop in b) {\n // We check against prop not being in Object.prototype or Function.prototype\n // to prevent polluting for example Object.__proto__.\n if (hasOwnProperty(b, prop) && !(prop in Object.prototype) && !(prop in Function.prototype)) {\n if (b[prop] && b[prop].constructor === Object) {\n if (a[prop] === undefined) {\n a[prop] = {};\n }\n if (a[prop] && a[prop].constructor === Object) {\n deepExtend(a[prop], b[prop]);\n } else {\n a[prop] = b[prop];\n }\n } else if (Array.isArray(b[prop])) {\n throw new TypeError('Arrays are not supported by deepExtend');\n } else {\n a[prop] = b[prop];\n }\n }\n }\n return a;\n}\n\n/**\n * Deep test equality of all fields in two pairs of arrays or objects.\n * Compares values and functions strictly (ie. 2 is not the same as '2').\n * @param {Array | Object} a\n * @param {Array | Object} b\n * @returns {boolean}\n */\nexport function deepStrictEqual(a, b) {\n var prop, i, len;\n if (Array.isArray(a)) {\n if (!Array.isArray(b)) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (i = 0, len = a.length; i < len; i++) {\n if (!deepStrictEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n } else if (typeof a === 'function') {\n return a === b;\n } else if (a instanceof Object) {\n if (Array.isArray(b) || !(b instanceof Object)) {\n return false;\n }\n for (prop in a) {\n // noinspection JSUnfilteredForInLoop\n if (!(prop in b) || !deepStrictEqual(a[prop], b[prop])) {\n return false;\n }\n }\n for (prop in b) {\n // noinspection JSUnfilteredForInLoop\n if (!(prop in a)) {\n return false;\n }\n }\n return true;\n } else {\n return a === b;\n }\n}\n\n/**\n * Recursively flatten a nested object.\n * @param {Object} nestedObject\n * @return {Object} Returns the flattened object\n */\nexport function deepFlatten(nestedObject) {\n var flattenedObject = {};\n _deepFlatten(nestedObject, flattenedObject);\n return flattenedObject;\n}\n\n// helper function used by deepFlatten\nfunction _deepFlatten(nestedObject, flattenedObject) {\n for (var prop in nestedObject) {\n if (hasOwnProperty(nestedObject, prop)) {\n var value = nestedObject[prop];\n if (typeof value === 'object' && value !== null) {\n _deepFlatten(value, flattenedObject);\n } else {\n flattenedObject[prop] = value;\n }\n }\n }\n}\n\n/**\n * Test whether the current JavaScript engine supports Object.defineProperty\n * @returns {boolean} returns true if supported\n */\nexport function canDefineProperty() {\n // test needed for broken IE8 implementation\n try {\n if (Object.defineProperty) {\n Object.defineProperty({}, 'x', {\n get: function get() {\n return null;\n }\n });\n return true;\n }\n } catch (e) {}\n return false;\n}\n\n/**\n * Attach a lazy loading property to a constant.\n * The given function `fn` is called once when the property is first requested.\n *\n * @param {Object} object Object where to add the property\n * @param {string} prop Property name\n * @param {Function} valueResolver Function returning the property value. Called\n * without arguments.\n */\nexport function lazy(object, prop, valueResolver) {\n var _uninitialized = true;\n var _value;\n Object.defineProperty(object, prop, {\n get: function get() {\n if (_uninitialized) {\n _value = valueResolver();\n _uninitialized = false;\n }\n return _value;\n },\n set: function set(value) {\n _value = value;\n _uninitialized = false;\n },\n configurable: true,\n enumerable: true\n });\n}\n\n/**\n * Traverse a path into an object.\n * When a namespace is missing, it will be created\n * @param {Object} object\n * @param {string | string[]} path A dot separated string like 'name.space'\n * @return {Object} Returns the object at the end of the path\n */\nexport function traverse(object, path) {\n if (path && typeof path === 'string') {\n return traverse(object, path.split('.'));\n }\n var obj = object;\n if (path) {\n for (var i = 0; i < path.length; i++) {\n var key = path[i];\n if (!(key in obj)) {\n obj[key] = {};\n }\n obj = obj[key];\n }\n }\n return obj;\n}\n\n/**\n * A safe hasOwnProperty\n * @param {Object} object\n * @param {string} property\n */\nexport function hasOwnProperty(object, property) {\n return object && Object.hasOwnProperty.call(object, property);\n}\n\n/**\n * Test whether an object is a factory. a factory has fields:\n *\n * - factory: function (type: Object, config: Object, load: function, typed: function [, math: Object]) (required)\n * - name: string (optional)\n * - path: string A dot separated path (optional)\n * - math: boolean If true (false by default), the math namespace is passed\n * as fifth argument of the factory function\n *\n * @param {*} object\n * @returns {boolean}\n */\nexport function isLegacyFactory(object) {\n return object && typeof object.factory === 'function';\n}\n\n/**\n * Get a nested property from an object\n * @param {Object} object\n * @param {string | string[]} path\n * @returns {Object}\n */\nexport function get(object, path) {\n if (typeof path === 'string') {\n if (isPath(path)) {\n return get(object, path.split('.'));\n } else {\n return object[path];\n }\n }\n var child = object;\n for (var i = 0; i < path.length; i++) {\n var key = path[i];\n child = child ? child[key] : undefined;\n }\n return child;\n}\n\n/**\n * Set a nested property in an object\n * Mutates the object itself\n * If the path doesn't exist, it will be created\n * @param {Object} object\n * @param {string | string[]} path\n * @param {*} value\n * @returns {Object}\n */\nexport function set(object, path, value) {\n if (typeof path === 'string') {\n if (isPath(path)) {\n return set(object, path.split('.'), value);\n } else {\n object[path] = value;\n return object;\n }\n }\n var child = object;\n for (var i = 0; i < path.length - 1; i++) {\n var key = path[i];\n if (child[key] === undefined) {\n child[key] = {};\n }\n child = child[key];\n }\n if (path.length > 0) {\n var lastKey = path[path.length - 1];\n child[lastKey] = value;\n }\n return object;\n}\n\n/**\n * Create an object composed of the picked object properties\n * @param {Object} object\n * @param {string[]} properties\n * @param {function} [transform] Optional value to transform a value when picking it\n * @return {Object}\n */\nexport function pick(object, properties, transform) {\n var copy = {};\n for (var i = 0; i < properties.length; i++) {\n var key = properties[i];\n var value = get(object, key);\n if (value !== undefined) {\n set(copy, key, transform ? transform(value, key) : value);\n }\n }\n return copy;\n}\n\n/**\n * Shallow version of pick, creating an object composed of the picked object properties\n * but not for nested properties\n * @param {Object} object\n * @param {string[]} properties\n * @return {Object}\n */\nexport function pickShallow(object, properties) {\n var copy = {};\n for (var i = 0; i < properties.length; i++) {\n var key = properties[i];\n var value = object[key];\n if (value !== undefined) {\n copy[key] = value;\n }\n }\n return copy;\n}\nexport function values(object) {\n return Object.keys(object).map(key => object[key]);\n}\n\n// helper function to test whether a string contains a path like 'user.name'\nfunction isPath(str) {\n return str.indexOf('.') !== -1;\n}","/**\n * Transpose a matrix\n * @param {Array} mat\n * @returns {Array} ret\n * @private\n */\nexport function _switch(mat) {\n var I = mat.length;\n var J = mat[0].length;\n var i, j;\n var ret = [];\n for (j = 0; j < J; j++) {\n var tmp = [];\n for (i = 0; i < I; i++) {\n tmp.push(mat[i][j]);\n }\n ret.push(tmp);\n }\n return ret;\n}","import { factory } from '../../utils/factory.js';\nvar name = 'matrixFromColumns';\nvar dependencies = ['typed', 'matrix', 'flatten', 'size'];\nexport var createMatrixFromColumns = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n flatten,\n size\n } = _ref;\n /**\n * Create a dense matrix from vectors as individual columns.\n * If you pass row vectors, they will be transposed (but not conjugated!)\n *\n * Syntax:\n *\n * math.matrixFromColumns(...arr)\n * math.matrixFromColumns(col1, col2)\n * math.matrixFromColumns(col1, col2, col3)\n *\n * Examples:\n *\n * math.matrixFromColumns([1, 2, 3], [[4],[5],[6]])\n * math.matrixFromColumns(...vectors)\n *\n * See also:\n *\n * matrix, matrixFromRows, matrixFromFunction, zeros\n *\n * @param {... Array | Matrix} cols Multiple columns\n * @return { number[][] | Matrix } if at least one of the arguments is an array, an array will be returned\n */\n return typed(name, {\n '...Array': function Array(arr) {\n return _createArray(arr);\n },\n '...Matrix': function Matrix(arr) {\n return matrix(_createArray(arr.map(m => m.toArray())));\n }\n\n // TODO implement this properly for SparseMatrix\n });\n\n function _createArray(arr) {\n if (arr.length === 0) throw new TypeError('At least one column is needed to construct a matrix.');\n var N = checkVectorTypeAndReturnLength(arr[0]);\n\n // create an array with empty rows\n var result = [];\n for (var i = 0; i < N; i++) {\n result[i] = [];\n }\n\n // loop columns\n for (var col of arr) {\n var colLength = checkVectorTypeAndReturnLength(col);\n if (colLength !== N) {\n throw new TypeError('The vectors had different length: ' + (N | 0) + ' ≠ ' + (colLength | 0));\n }\n var f = flatten(col);\n\n // push a value to each row\n for (var _i = 0; _i < N; _i++) {\n result[_i].push(f[_i]);\n }\n }\n return result;\n }\n function checkVectorTypeAndReturnLength(vec) {\n var s = size(vec);\n if (s.length === 1) {\n // 1D vector\n return s[0];\n } else if (s.length === 2) {\n // 2D vector\n if (s[0] === 1) {\n // row vector\n return s[1];\n } else if (s[1] === 1) {\n // col vector\n return s[0];\n } else {\n throw new TypeError('At least one of the arguments is not a vector.');\n }\n } else {\n throw new TypeError('Only one- or two-dimensional vectors are supported.');\n }\n }\n});","import { factory } from '../../utils/factory.js';\nimport { cschNumber } from '../../plain/number/index.js';\nvar name = 'csch';\nvar dependencies = ['typed', 'BigNumber'];\nexport var createCsch = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n BigNumber: _BigNumber\n } = _ref;\n /**\n * Calculate the hyperbolic cosecant of a value,\n * defined as `csch(x) = 1 / sinh(x)`.\n *\n * To avoid confusion with the matrix hyperbolic cosecant, this function\n * does not apply to matrices.\n *\n * Syntax:\n *\n * math.csch(x)\n *\n * Examples:\n *\n * // csch(x) = 1/ sinh(x)\n * math.csch(0.5) // returns 1.9190347513349437\n * 1 / math.sinh(0.5) // returns 1.9190347513349437\n *\n * See also:\n *\n * sinh, sech, coth\n *\n * @param {number | BigNumber | Complex} x Function input\n * @return {number | BigNumber | Complex} Hyperbolic cosecant of x\n */\n return typed(name, {\n number: cschNumber,\n Complex: x => x.csch(),\n BigNumber: x => new _BigNumber(1).div(x.sinh())\n });\n});","import { isBigNumber, isMatrix } from '../../utils/is.js';\nimport { DimensionError } from '../../error/DimensionError.js';\nimport { ArgumentsError } from '../../error/ArgumentsError.js';\nimport { isInteger } from '../../utils/number.js';\nimport { format } from '../../utils/string.js';\nimport { clone } from '../../utils/object.js';\nimport { resize as arrayResize } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'resize';\nvar dependencies = ['config', 'matrix'];\nexport var createResize = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n config,\n matrix\n } = _ref;\n /**\n * Resize a matrix\n *\n * Syntax:\n *\n * math.resize(x, size)\n * math.resize(x, size, defaultValue)\n *\n * Examples:\n *\n * math.resize([1, 2, 3, 4, 5], [3]) // returns Array [1, 2, 3]\n * math.resize([1, 2, 3], [5], 0) // returns Array [1, 2, 3, 0, 0]\n * math.resize(2, [2, 3], 0) // returns Matrix [[2, 0, 0], [0, 0, 0]]\n * math.resize(\"hello\", [8], \"!\") // returns string 'hello!!!'\n *\n * See also:\n *\n * size, squeeze, subset, reshape\n *\n * @param {Array | Matrix | *} x Matrix to be resized\n * @param {Array | Matrix} size One dimensional array with numbers\n * @param {number | string} [defaultValue=0] Zero by default, except in\n * case of a string, in that case\n * defaultValue = ' '\n * @return {* | Array | Matrix} A resized clone of matrix `x`\n */\n // TODO: rework resize to a typed-function\n return function resize(x, size, defaultValue) {\n if (arguments.length !== 2 && arguments.length !== 3) {\n throw new ArgumentsError('resize', arguments.length, 2, 3);\n }\n if (isMatrix(size)) {\n size = size.valueOf(); // get Array\n }\n\n if (isBigNumber(size[0])) {\n // convert bignumbers to numbers\n size = size.map(function (value) {\n return !isBigNumber(value) ? value : value.toNumber();\n });\n }\n\n // check x is a Matrix\n if (isMatrix(x)) {\n // use optimized matrix implementation, return copy\n return x.resize(size, defaultValue, true);\n }\n if (typeof x === 'string') {\n // resize string\n return _resizeString(x, size, defaultValue);\n }\n\n // check result should be a matrix\n var asMatrix = Array.isArray(x) ? false : config.matrix !== 'Array';\n if (size.length === 0) {\n // output a scalar\n while (Array.isArray(x)) {\n x = x[0];\n }\n return clone(x);\n } else {\n // output an array/matrix\n if (!Array.isArray(x)) {\n x = [x];\n }\n x = clone(x);\n var res = arrayResize(x, size, defaultValue);\n return asMatrix ? matrix(res) : res;\n }\n };\n\n /**\n * Resize a string\n * @param {string} str\n * @param {number[]} size\n * @param {string} [defaultChar=' ']\n * @private\n */\n function _resizeString(str, size, defaultChar) {\n if (defaultChar !== undefined) {\n if (typeof defaultChar !== 'string' || defaultChar.length !== 1) {\n throw new TypeError('Single character expected as defaultValue');\n }\n } else {\n defaultChar = ' ';\n }\n if (size.length !== 1) {\n throw new DimensionError(size.length, 1);\n }\n var len = size[0];\n if (typeof len !== 'number' || !isInteger(len)) {\n throw new TypeError('Invalid size, must contain positive integers ' + '(size: ' + format(size) + ')');\n }\n if (str.length > len) {\n return str.substring(0, len);\n } else if (str.length < len) {\n var res = str;\n for (var i = 0, ii = len - str.length; i < ii; i++) {\n res += defaultChar;\n }\n return res;\n } else {\n return str;\n }\n }\n});","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global[\"'typed'\"] = factory());\n})(this, (function () { 'use strict';\n\n function ok() {\n return true;\n }\n\n function notOk() {\n return false;\n }\n\n function undef() {\n return undefined;\n }\n\n const NOT_TYPED_FUNCTION = 'Argument is not a typed-function.';\n /**\n * @typedef {{\n * params: Param[],\n * fn: function,\n * test: function,\n * implementation: function\n * }} Signature\n *\n * @typedef {{\n * types: Type[],\n * hasAny: boolean,\n * hasConversion: boolean,\n * restParam: boolean\n * }} Param\n *\n * @typedef {{\n * name: string,\n * typeIndex: number,\n * test: function,\n * isAny: boolean,\n * conversion?: ConversionDef,\n * conversionIndex: number,\n * }} Type\n *\n * @typedef {{\n * from: string,\n * to: string,\n * convert: function (*) : *\n * }} ConversionDef\n *\n * @typedef {{\n * name: string,\n * test: function(*) : boolean,\n * isAny?: boolean\n * }} TypeDef\n */\n\n /**\n * @returns {() => function}\n */\n\n function create() {\n // data type tests\n\n /**\n * Returns true if the argument is a non-null \"plain\" object\n */\n function isPlainObject(x) {\n return typeof x === 'object' && x !== null && x.constructor === Object;\n }\n\n const _types = [{\n name: 'number',\n test: function (x) {\n return typeof x === 'number';\n }\n }, {\n name: 'string',\n test: function (x) {\n return typeof x === 'string';\n }\n }, {\n name: 'boolean',\n test: function (x) {\n return typeof x === 'boolean';\n }\n }, {\n name: 'Function',\n test: function (x) {\n return typeof x === 'function';\n }\n }, {\n name: 'Array',\n test: Array.isArray\n }, {\n name: 'Date',\n test: function (x) {\n return x instanceof Date;\n }\n }, {\n name: 'RegExp',\n test: function (x) {\n return x instanceof RegExp;\n }\n }, {\n name: 'Object',\n test: isPlainObject\n }, {\n name: 'null',\n test: function (x) {\n return x === null;\n }\n }, {\n name: 'undefined',\n test: function (x) {\n return x === undefined;\n }\n }];\n const anyType = {\n name: 'any',\n test: ok,\n isAny: true\n }; // Data structures to track the types. As these are local variables in\n // create(), each typed universe will get its own copy, but the variables\n // will only be accessible through the (closures of the) functions supplied\n // as properties of the typed object, not directly.\n // These will be initialized in clear() below\n\n let typeMap; // primary store of all types\n\n let typeList; // Array of just type names, for the sake of ordering\n // And similar data structures for the type conversions:\n\n let nConversions = 0; // the actual conversions are stored on a property of the destination types\n // This is a temporary object, will be replaced with a function at the end\n\n let typed = {\n createCount: 0\n };\n /**\n * Takes a type name and returns the corresponding official type object\n * for that type.\n *\n * @param {string} typeName\n * @returns {TypeDef} type\n */\n\n function findType(typeName) {\n const type = typeMap.get(typeName);\n\n if (type) {\n return type;\n } // Remainder is error handling\n\n\n let message = 'Unknown type \"' + typeName + '\"';\n const name = typeName.toLowerCase();\n let otherName;\n\n for (otherName of typeList) {\n if (otherName.toLowerCase() === name) {\n message += '. Did you mean \"' + otherName + '\" ?';\n break;\n }\n }\n\n throw new TypeError(message);\n }\n /**\n * Adds an array `types` of type definitions to this typed instance.\n * Each type definition should be an object with properties:\n * 'name' - a string giving the name of the type; 'test' - function\n * returning a boolean that tests membership in the type; and optionally\n * 'isAny' - true only for the 'any' type.\n *\n * The second optional argument, `before`, gives the name of a type that\n * these types should be added before. The new types are added in the\n * order specified.\n * @param {TypeDef[]} types\n * @param {string | boolean} [beforeSpec='any'] before\n */\n\n\n function addTypes(types) {\n let beforeSpec = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'any';\n const beforeIndex = beforeSpec ? findType(beforeSpec).index : typeList.length;\n const newTypes = [];\n\n for (let i = 0; i < types.length; ++i) {\n if (!types[i] || typeof types[i].name !== 'string' || typeof types[i].test !== 'function') {\n throw new TypeError('Object with properties {name: string, test: function} expected');\n }\n\n const typeName = types[i].name;\n\n if (typeMap.has(typeName)) {\n throw new TypeError('Duplicate type name \"' + typeName + '\"');\n }\n\n newTypes.push(typeName);\n typeMap.set(typeName, {\n name: typeName,\n test: types[i].test,\n isAny: types[i].isAny,\n index: beforeIndex + i,\n conversionsTo: [] // Newly added type can't have any conversions to it\n\n });\n } // update the typeList\n\n\n const affectedTypes = typeList.slice(beforeIndex);\n typeList = typeList.slice(0, beforeIndex).concat(newTypes).concat(affectedTypes); // Fix the indices\n\n for (let i = beforeIndex + newTypes.length; i < typeList.length; ++i) {\n typeMap.get(typeList[i]).index = i;\n }\n }\n /**\n * Removes all types and conversions from this typed instance.\n * May cause previously constructed typed-functions to throw\n * strange errors when they are called with types that do not\n * match any of their signatures.\n */\n\n\n function clear() {\n typeMap = new Map();\n typeList = [];\n nConversions = 0;\n addTypes([anyType], false);\n } // initialize the types to the default list\n\n\n clear();\n addTypes(_types);\n /**\n * Removes all conversions, leaving the types alone.\n */\n\n function clearConversions() {\n let typeName;\n\n for (typeName of typeList) {\n typeMap.get(typeName).conversionsTo = [];\n }\n\n nConversions = 0;\n }\n /**\n * Find the type names that match a value.\n * @param {*} value\n * @return {string[]} Array of names of types for which\n * the type test matches the value.\n */\n\n\n function findTypeNames(value) {\n const matches = typeList.filter(name => {\n const type = typeMap.get(name);\n return !type.isAny && type.test(value);\n });\n\n if (matches.length) {\n return matches;\n }\n\n return ['any'];\n }\n /**\n * Check if an entity is a typed function created by any instance\n * @param {any} entity\n * @returns {boolean}\n */\n\n\n function isTypedFunction(entity) {\n return entity && typeof entity === 'function' && '_typedFunctionData' in entity;\n }\n /**\n * Find a specific signature from a (composed) typed function, for example:\n *\n * typed.findSignature(fn, ['number', 'string'])\n * typed.findSignature(fn, 'number, string')\n * typed.findSignature(fn, 'number,string', {exact: true})\n *\n * This function findSignature will by default return the best match to\n * the given signature, possibly employing type conversions.\n *\n * The (optional) third argument is a plain object giving options\n * controlling the signature search. Currently the only implemented\n * option is `exact`: if specified as true (default is false), only\n * exact matches will be returned (i.e. signatures for which `fn` was\n * directly defined). Note that a (possibly different) type matching\n * `any`, or one or more instances of TYPE matching `...TYPE` are\n * considered exact matches in this regard, as no conversions are used.\n *\n * This function returns a \"signature\" object, as does `typed.resolve()`,\n * which is a plain object with four keys: `params` (the array of parameters\n * for this signature), `fn` (the originally supplied function for this\n * signature), `test` (a generated function that determines if an argument\n * list matches this signature, and `implementation` (the function to call\n * on a matching argument list, that performs conversions if necessary and\n * then calls the originally supplied function).\n *\n * @param {Function} fn A typed-function\n * @param {string | string[]} signature\n * Signature to be found, can be an array or a comma separated string.\n * @param {object} options Controls the signature search as documented\n * @return {{ params: Param[], fn: function, test: function, implementation: function }}\n * Returns the matching signature, or throws an error when no signature\n * is found.\n */\n\n\n function findSignature(fn, signature, options) {\n if (!isTypedFunction(fn)) {\n throw new TypeError(NOT_TYPED_FUNCTION);\n } // Canonicalize input\n\n\n const exact = options && options.exact;\n const stringSignature = Array.isArray(signature) ? signature.join(',') : signature;\n const params = parseSignature(stringSignature);\n const canonicalSignature = stringifyParams(params); // First hope we get lucky and exactly match a signature\n\n if (!exact || canonicalSignature in fn.signatures) {\n // OK, we can check the internal signatures\n const match = fn._typedFunctionData.signatureMap.get(canonicalSignature);\n\n if (match) {\n return match;\n }\n } // Oh well, we did not; so we have to go back and check the parameters\n // one by one, in order to catch things like `any` and rest params.\n // Note here we can assume there is at least one parameter, because\n // the empty signature would have matched successfully above.\n\n\n const nParams = params.length;\n let remainingSignatures;\n\n if (exact) {\n remainingSignatures = [];\n let name;\n\n for (name in fn.signatures) {\n remainingSignatures.push(fn._typedFunctionData.signatureMap.get(name));\n }\n } else {\n remainingSignatures = fn._typedFunctionData.signatures;\n }\n\n for (let i = 0; i < nParams; ++i) {\n const want = params[i];\n const filteredSignatures = [];\n let possibility;\n\n for (possibility of remainingSignatures) {\n const have = getParamAtIndex(possibility.params, i);\n\n if (!have || want.restParam && !have.restParam) {\n continue;\n }\n\n if (!have.hasAny) {\n // have to check all of the wanted types are available\n const haveTypes = paramTypeSet(have);\n\n if (want.types.some(wtype => !haveTypes.has(wtype.name))) {\n continue;\n }\n } // OK, this looks good\n\n\n filteredSignatures.push(possibility);\n }\n\n remainingSignatures = filteredSignatures;\n if (remainingSignatures.length === 0) break;\n } // Return the first remaining signature that was totally matched:\n\n\n let candidate;\n\n for (candidate of remainingSignatures) {\n if (candidate.params.length <= nParams) {\n return candidate;\n }\n }\n\n throw new TypeError('Signature not found (signature: ' + (fn.name || 'unnamed') + '(' + stringifyParams(params, ', ') + '))');\n }\n /**\n * Find the proper function to call for a specific signature from\n * a (composed) typed function, for example:\n *\n * typed.find(fn, ['number', 'string'])\n * typed.find(fn, 'number, string')\n * typed.find(fn, 'number,string', {exact: true})\n *\n * This function find will by default return the best match to\n * the given signature, possibly employing type conversions (and returning\n * a function that will perform those conversions as needed). The\n * (optional) third argument is a plain object giving options contolling\n * the signature search. Currently only the option `exact` is implemented,\n * which defaults to \"false\". If `exact` is specified as true, then only\n * exact matches will be returned (i.e. signatures for which `fn` was\n * directly defined). Uses of `any` and `...TYPE` are considered exact if\n * no conversions are necessary to apply the corresponding function.\n *\n * @param {Function} fn A typed-function\n * @param {string | string[]} signature\n * Signature to be found, can be an array or a comma separated string.\n * @param {object} options Controls the signature match as documented\n * @return {function}\n * Returns the function to call for the given signature, or throws an\n * error if no match is found.\n */\n\n\n function find(fn, signature, options) {\n return findSignature(fn, signature, options).implementation;\n }\n /**\n * Convert a given value to another data type, specified by type name.\n *\n * @param {*} value\n * @param {string} typeName\n */\n\n\n function convert(value, typeName) {\n // check conversion is needed\n const type = findType(typeName);\n\n if (type.test(value)) {\n return value;\n }\n\n const conversions = type.conversionsTo;\n\n if (conversions.length === 0) {\n throw new Error('There are no conversions to ' + typeName + ' defined.');\n }\n\n for (let i = 0; i < conversions.length; i++) {\n const fromType = findType(conversions[i].from);\n\n if (fromType.test(value)) {\n return conversions[i].convert(value);\n }\n }\n\n throw new Error('Cannot convert ' + value + ' to ' + typeName);\n }\n /**\n * Stringify parameters in a normalized way\n * @param {Param[]} params\n * @param {string} [','] separator\n * @return {string}\n */\n\n\n function stringifyParams(params) {\n let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';\n return params.map(p => p.name).join(separator);\n }\n /**\n * Parse a parameter, like \"...number | boolean\"\n * @param {string} param\n * @return {Param} param\n */\n\n\n function parseParam(param) {\n const restParam = param.indexOf('...') === 0;\n const types = !restParam ? param : param.length > 3 ? param.slice(3) : 'any';\n const typeDefs = types.split('|').map(s => findType(s.trim()));\n let hasAny = false;\n let paramName = restParam ? '...' : '';\n const exactTypes = typeDefs.map(function (type) {\n hasAny = type.isAny || hasAny;\n paramName += type.name + '|';\n return {\n name: type.name,\n typeIndex: type.index,\n test: type.test,\n isAny: type.isAny,\n conversion: null,\n conversionIndex: -1\n };\n });\n return {\n types: exactTypes,\n name: paramName.slice(0, -1),\n // remove trailing '|' from above\n hasAny,\n hasConversion: false,\n restParam\n };\n }\n /**\n * Expands a parsed parameter with the types available from currently\n * defined conversions.\n * @param {Param} param\n * @return {Param} param\n */\n\n\n function expandParam(param) {\n const typeNames = param.types.map(t => t.name);\n const matchingConversions = availableConversions(typeNames);\n let hasAny = param.hasAny;\n let newName = param.name;\n const convertibleTypes = matchingConversions.map(function (conversion) {\n const type = findType(conversion.from);\n hasAny = type.isAny || hasAny;\n newName += '|' + conversion.from;\n return {\n name: conversion.from,\n typeIndex: type.index,\n test: type.test,\n isAny: type.isAny,\n conversion,\n conversionIndex: conversion.index\n };\n });\n return {\n types: param.types.concat(convertibleTypes),\n name: newName,\n hasAny,\n hasConversion: convertibleTypes.length > 0,\n restParam: param.restParam\n };\n }\n /**\n * Return the set of type names in a parameter.\n * Caches the result for efficiency\n *\n * @param {Param} param\n * @return {Set} typenames\n */\n\n\n function paramTypeSet(param) {\n if (!param.typeSet) {\n param.typeSet = new Set();\n param.types.forEach(type => param.typeSet.add(type.name));\n }\n\n return param.typeSet;\n }\n /**\n * Parse a signature with comma separated parameters,\n * like \"number | boolean, ...string\"\n *\n * @param {string} signature\n * @return {Param[]} params\n */\n\n\n function parseSignature(rawSignature) {\n const params = [];\n\n if (typeof rawSignature !== 'string') {\n throw new TypeError('Signatures must be strings');\n }\n\n const signature = rawSignature.trim();\n\n if (signature === '') {\n return params;\n }\n\n const rawParams = signature.split(',');\n\n for (let i = 0; i < rawParams.length; ++i) {\n const parsedParam = parseParam(rawParams[i].trim());\n\n if (parsedParam.restParam && i !== rawParams.length - 1) {\n throw new SyntaxError('Unexpected rest parameter \"' + rawParams[i] + '\": ' + 'only allowed for the last parameter');\n } // if invalid, short-circuit (all the types may have been filtered)\n\n\n if (parsedParam.types.length === 0) {\n return null;\n }\n\n params.push(parsedParam);\n }\n\n return params;\n }\n /**\n * Test whether a set of params contains a restParam\n * @param {Param[]} params\n * @return {boolean} Returns true when the last parameter is a restParam\n */\n\n\n function hasRestParam(params) {\n const param = last(params);\n return param ? param.restParam : false;\n }\n /**\n * Create a type test for a single parameter, which can have one or multiple\n * types.\n * @param {Param} param\n * @return {function(x: *) : boolean} Returns a test function\n */\n\n\n function compileTest(param) {\n if (!param || param.types.length === 0) {\n // nothing to do\n return ok;\n } else if (param.types.length === 1) {\n return findType(param.types[0].name).test;\n } else if (param.types.length === 2) {\n const test0 = findType(param.types[0].name).test;\n const test1 = findType(param.types[1].name).test;\n return function or(x) {\n return test0(x) || test1(x);\n };\n } else {\n // param.types.length > 2\n const tests = param.types.map(function (type) {\n return findType(type.name).test;\n });\n return function or(x) {\n for (let i = 0; i < tests.length; i++) {\n if (tests[i](x)) {\n return true;\n }\n }\n\n return false;\n };\n }\n }\n /**\n * Create a test for all parameters of a signature\n * @param {Param[]} params\n * @return {function(args: Array<*>) : boolean}\n */\n\n\n function compileTests(params) {\n let tests, test0, test1;\n\n if (hasRestParam(params)) {\n // variable arguments like '...number'\n tests = initial(params).map(compileTest);\n const varIndex = tests.length;\n const lastTest = compileTest(last(params));\n\n const testRestParam = function (args) {\n for (let i = varIndex; i < args.length; i++) {\n if (!lastTest(args[i])) {\n return false;\n }\n }\n\n return true;\n };\n\n return function testArgs(args) {\n for (let i = 0; i < tests.length; i++) {\n if (!tests[i](args[i])) {\n return false;\n }\n }\n\n return testRestParam(args) && args.length >= varIndex + 1;\n };\n } else {\n // no variable arguments\n if (params.length === 0) {\n return function testArgs(args) {\n return args.length === 0;\n };\n } else if (params.length === 1) {\n test0 = compileTest(params[0]);\n return function testArgs(args) {\n return test0(args[0]) && args.length === 1;\n };\n } else if (params.length === 2) {\n test0 = compileTest(params[0]);\n test1 = compileTest(params[1]);\n return function testArgs(args) {\n return test0(args[0]) && test1(args[1]) && args.length === 2;\n };\n } else {\n // arguments.length > 2\n tests = params.map(compileTest);\n return function testArgs(args) {\n for (let i = 0; i < tests.length; i++) {\n if (!tests[i](args[i])) {\n return false;\n }\n }\n\n return args.length === tests.length;\n };\n }\n }\n }\n /**\n * Find the parameter at a specific index of a Params list.\n * Handles rest parameters.\n * @param {Param[]} params\n * @param {number} index\n * @return {Param | null} Returns the matching parameter when found,\n * null otherwise.\n */\n\n\n function getParamAtIndex(params, index) {\n return index < params.length ? params[index] : hasRestParam(params) ? last(params) : null;\n }\n /**\n * Get all type names of a parameter\n * @param {Params[]} params\n * @param {number} index\n * @return {string[]} Returns an array with type names\n */\n\n\n function getTypeSetAtIndex(params, index) {\n const param = getParamAtIndex(params, index);\n\n if (!param) {\n return new Set();\n }\n\n return paramTypeSet(param);\n }\n /**\n * Test whether a type is an exact type or conversion\n * @param {Type} type\n * @return {boolean} Returns true when\n */\n\n\n function isExactType(type) {\n return type.conversion === null || type.conversion === undefined;\n }\n /**\n * Helper function for creating error messages: create an array with\n * all available types on a specific argument index.\n * @param {Signature[]} signatures\n * @param {number} index\n * @return {string[]} Returns an array with available types\n */\n\n\n function mergeExpectedParams(signatures, index) {\n const typeSet = new Set();\n signatures.forEach(signature => {\n const paramSet = getTypeSetAtIndex(signature.params, index);\n let name;\n\n for (name of paramSet) {\n typeSet.add(name);\n }\n });\n return typeSet.has('any') ? ['any'] : Array.from(typeSet);\n }\n /**\n * Create\n * @param {string} name The name of the function\n * @param {array.<*>} args The actual arguments passed to the function\n * @param {Signature[]} signatures A list with available signatures\n * @return {TypeError} Returns a type error with additional data\n * attached to it in the property `data`\n */\n\n\n function createError(name, args, signatures) {\n let err, expected;\n\n const _name = name || 'unnamed'; // test for wrong type at some index\n\n\n let matchingSignatures = signatures;\n let index;\n\n for (index = 0; index < args.length; index++) {\n const nextMatchingDefs = [];\n matchingSignatures.forEach(signature => {\n const param = getParamAtIndex(signature.params, index);\n const test = compileTest(param);\n\n if ((index < signature.params.length || hasRestParam(signature.params)) && test(args[index])) {\n nextMatchingDefs.push(signature);\n }\n });\n\n if (nextMatchingDefs.length === 0) {\n // no matching signatures anymore, throw error \"wrong type\"\n expected = mergeExpectedParams(matchingSignatures, index);\n\n if (expected.length > 0) {\n const actualTypes = findTypeNames(args[index]);\n err = new TypeError('Unexpected type of argument in function ' + _name + ' (expected: ' + expected.join(' or ') + ', actual: ' + actualTypes.join(' | ') + ', index: ' + index + ')');\n err.data = {\n category: 'wrongType',\n fn: _name,\n index,\n actual: actualTypes,\n expected\n };\n return err;\n }\n } else {\n matchingSignatures = nextMatchingDefs;\n }\n } // test for too few arguments\n\n\n const lengths = matchingSignatures.map(function (signature) {\n return hasRestParam(signature.params) ? Infinity : signature.params.length;\n });\n\n if (args.length < Math.min.apply(null, lengths)) {\n expected = mergeExpectedParams(matchingSignatures, index);\n err = new TypeError('Too few arguments in function ' + _name + ' (expected: ' + expected.join(' or ') + ', index: ' + args.length + ')');\n err.data = {\n category: 'tooFewArgs',\n fn: _name,\n index: args.length,\n expected\n };\n return err;\n } // test for too many arguments\n\n\n const maxLength = Math.max.apply(null, lengths);\n\n if (args.length > maxLength) {\n err = new TypeError('Too many arguments in function ' + _name + ' (expected: ' + maxLength + ', actual: ' + args.length + ')');\n err.data = {\n category: 'tooManyArgs',\n fn: _name,\n index: args.length,\n expectedLength: maxLength\n };\n return err;\n } // Generic error\n\n\n const argTypes = [];\n\n for (let i = 0; i < args.length; ++i) {\n argTypes.push(findTypeNames(args[i]).join('|'));\n }\n\n err = new TypeError('Arguments of type \"' + argTypes.join(', ') + '\" do not match any of the defined signatures of function ' + _name + '.');\n err.data = {\n category: 'mismatch',\n actual: argTypes\n };\n return err;\n }\n /**\n * Find the lowest index of all exact types of a parameter (no conversions)\n * @param {Param} param\n * @return {number} Returns the index of the lowest type in typed.types\n */\n\n\n function getLowestTypeIndex(param) {\n let min = typeList.length + 1;\n\n for (let i = 0; i < param.types.length; i++) {\n if (isExactType(param.types[i])) {\n min = Math.min(min, param.types[i].typeIndex);\n }\n }\n\n return min;\n }\n /**\n * Find the lowest index of the conversion of all types of the parameter\n * having a conversion\n * @param {Param} param\n * @return {number} Returns the lowest index of the conversions of this type\n */\n\n\n function getLowestConversionIndex(param) {\n let min = nConversions + 1;\n\n for (let i = 0; i < param.types.length; i++) {\n if (!isExactType(param.types[i])) {\n min = Math.min(min, param.types[i].conversionIndex);\n }\n }\n\n return min;\n }\n /**\n * Compare two params\n * @param {Param} param1\n * @param {Param} param2\n * @return {number} returns -1 when param1 must get a lower\n * index than param2, 1 when the opposite,\n * or zero when both are equal\n */\n\n\n function compareParams(param1, param2) {\n // We compare a number of metrics on a param in turn:\n // 1) 'any' parameters are the least preferred\n if (param1.hasAny) {\n if (!param2.hasAny) {\n return 1;\n }\n } else if (param2.hasAny) {\n return -1;\n } // 2) Prefer non-rest to rest parameters\n\n\n if (param1.restParam) {\n if (!param2.restParam) {\n return 1;\n }\n } else if (param2.restParam) {\n return -1;\n } // 3) Prefer exact type match to conversions\n\n\n if (param1.hasConversion) {\n if (!param2.hasConversion) {\n return 1;\n }\n } else if (param2.hasConversion) {\n return -1;\n } // 4) Prefer lower type index:\n\n\n const typeDiff = getLowestTypeIndex(param1) - getLowestTypeIndex(param2);\n\n if (typeDiff < 0) {\n return -1;\n }\n\n if (typeDiff > 0) {\n return 1;\n } // 5) Prefer lower conversion index\n\n\n const convDiff = getLowestConversionIndex(param1) - getLowestConversionIndex(param2);\n\n if (convDiff < 0) {\n return -1;\n }\n\n if (convDiff > 0) {\n return 1;\n } // Don't have a basis for preference\n\n\n return 0;\n }\n /**\n * Compare two signatures\n * @param {Signature} signature1\n * @param {Signature} signature2\n * @return {number} returns a negative number when param1 must get a lower\n * index than param2, a positive number when the opposite,\n * or zero when both are equal\n */\n\n\n function compareSignatures(signature1, signature2) {\n const pars1 = signature1.params;\n const pars2 = signature2.params;\n const last1 = last(pars1);\n const last2 = last(pars2);\n const hasRest1 = hasRestParam(pars1);\n const hasRest2 = hasRestParam(pars2); // We compare a number of metrics on signatures in turn:\n // 1) An \"any rest param\" is least preferred\n\n if (hasRest1 && last1.hasAny) {\n if (!hasRest2 || !last2.hasAny) {\n return 1;\n }\n } else if (hasRest2 && last2.hasAny) {\n return -1;\n } // 2) Minimize the number of 'any' parameters\n\n\n let any1 = 0;\n let conv1 = 0;\n let par;\n\n for (par of pars1) {\n if (par.hasAny) ++any1;\n if (par.hasConversion) ++conv1;\n }\n\n let any2 = 0;\n let conv2 = 0;\n\n for (par of pars2) {\n if (par.hasAny) ++any2;\n if (par.hasConversion) ++conv2;\n }\n\n if (any1 !== any2) {\n return any1 - any2;\n } // 3) A conversion rest param is less preferred\n\n\n if (hasRest1 && last1.hasConversion) {\n if (!hasRest2 || !last2.hasConversion) {\n return 1;\n }\n } else if (hasRest2 && last2.hasConversion) {\n return -1;\n } // 4) Minimize the number of conversions\n\n\n if (conv1 !== conv2) {\n return conv1 - conv2;\n } // 5) Prefer no rest param\n\n\n if (hasRest1) {\n if (!hasRest2) {\n return 1;\n }\n } else if (hasRest2) {\n return -1;\n } // 6) Prefer shorter with rest param, longer without\n\n\n const lengthCriterion = (pars1.length - pars2.length) * (hasRest1 ? -1 : 1);\n\n if (lengthCriterion !== 0) {\n return lengthCriterion;\n } // Signatures are identical in each of the above metrics.\n // In particular, they are the same length.\n // We can therefore compare the parameters one by one.\n // First we count which signature has more preferred parameters.\n\n\n const comparisons = [];\n let tc = 0;\n\n for (let i = 0; i < pars1.length; ++i) {\n const thisComparison = compareParams(pars1[i], pars2[i]);\n comparisons.push(thisComparison);\n tc += thisComparison;\n }\n\n if (tc !== 0) {\n return tc;\n } // They have the same number of preferred parameters, so go by the\n // earliest parameter in which we have a preference.\n // In other words, dispatch is driven somewhat more by earlier\n // parameters than later ones.\n\n\n let c;\n\n for (c of comparisons) {\n if (c !== 0) {\n return c;\n }\n } // It's a tossup:\n\n\n return 0;\n }\n /**\n * Produce a list of all conversions from distinct types to one of\n * the given types.\n *\n * @param {string[]} typeNames\n * @return {ConversionDef[]} Returns the conversions that are available\n * resulting in any given type (if any)\n */\n\n\n function availableConversions(typeNames) {\n if (typeNames.length === 0) {\n return [];\n }\n\n const types = typeNames.map(findType);\n\n if (typeNames.length > 1) {\n types.sort((t1, t2) => t1.index - t2.index);\n }\n\n let matches = types[0].conversionsTo;\n\n if (typeNames.length === 1) {\n return matches;\n }\n\n matches = matches.concat([]); // shallow copy the matches\n // Since the types are now in index order, we just want the first\n // occurrence of any from type:\n\n const knownTypes = new Set(typeNames);\n\n for (let i = 1; i < types.length; ++i) {\n let newMatch;\n\n for (newMatch of types[i].conversionsTo) {\n if (!knownTypes.has(newMatch.from)) {\n matches.push(newMatch);\n knownTypes.add(newMatch.from);\n }\n }\n }\n\n return matches;\n }\n /**\n * Preprocess arguments before calling the original function:\n * - if needed convert the parameters\n * - in case of rest parameters, move the rest parameters into an Array\n * @param {Param[]} params\n * @param {function} fn\n * @return {function} Returns a wrapped function\n */\n\n\n function compileArgsPreprocessing(params, fn) {\n let fnConvert = fn; // TODO: can we make this wrapper function smarter/simpler?\n\n if (params.some(p => p.hasConversion)) {\n const restParam = hasRestParam(params);\n const compiledConversions = params.map(compileArgConversion);\n\n fnConvert = function convertArgs() {\n const args = [];\n const last = restParam ? arguments.length - 1 : arguments.length;\n\n for (let i = 0; i < last; i++) {\n args[i] = compiledConversions[i](arguments[i]);\n }\n\n if (restParam) {\n args[last] = arguments[last].map(compiledConversions[last]);\n }\n\n return fn.apply(this, args);\n };\n }\n\n let fnPreprocess = fnConvert;\n\n if (hasRestParam(params)) {\n const offset = params.length - 1;\n\n fnPreprocess = function preprocessRestParams() {\n return fnConvert.apply(this, slice(arguments, 0, offset).concat([slice(arguments, offset)]));\n };\n }\n\n return fnPreprocess;\n }\n /**\n * Compile conversion for a parameter to the right type\n * @param {Param} param\n * @return {function} Returns the wrapped function that will convert arguments\n *\n */\n\n\n function compileArgConversion(param) {\n let test0, test1, conversion0, conversion1;\n const tests = [];\n const conversions = [];\n param.types.forEach(function (type) {\n if (type.conversion) {\n tests.push(findType(type.conversion.from).test);\n conversions.push(type.conversion.convert);\n }\n }); // create optimized conversion functions depending on the number of conversions\n\n switch (conversions.length) {\n case 0:\n return function convertArg(arg) {\n return arg;\n };\n\n case 1:\n test0 = tests[0];\n conversion0 = conversions[0];\n return function convertArg(arg) {\n if (test0(arg)) {\n return conversion0(arg);\n }\n\n return arg;\n };\n\n case 2:\n test0 = tests[0];\n test1 = tests[1];\n conversion0 = conversions[0];\n conversion1 = conversions[1];\n return function convertArg(arg) {\n if (test0(arg)) {\n return conversion0(arg);\n }\n\n if (test1(arg)) {\n return conversion1(arg);\n }\n\n return arg;\n };\n\n default:\n return function convertArg(arg) {\n for (let i = 0; i < conversions.length; i++) {\n if (tests[i](arg)) {\n return conversions[i](arg);\n }\n }\n\n return arg;\n };\n }\n }\n /**\n * Split params with union types in to separate params.\n *\n * For example:\n *\n * splitParams([['Array', 'Object'], ['string', 'RegExp'])\n * // returns:\n * // [\n * // ['Array', 'string'],\n * // ['Array', 'RegExp'],\n * // ['Object', 'string'],\n * // ['Object', 'RegExp']\n * // ]\n *\n * @param {Param[]} params\n * @return {Param[]}\n */\n\n\n function splitParams(params) {\n function _splitParams(params, index, paramsSoFar) {\n if (index < params.length) {\n const param = params[index];\n let resultingParams = [];\n\n if (param.restParam) {\n // split the types of a rest parameter in two:\n // one with only exact types, and one with exact types and conversions\n const exactTypes = param.types.filter(isExactType);\n\n if (exactTypes.length < param.types.length) {\n resultingParams.push({\n types: exactTypes,\n name: '...' + exactTypes.map(t => t.name).join('|'),\n hasAny: exactTypes.some(t => t.isAny),\n hasConversion: false,\n restParam: true\n });\n }\n\n resultingParams.push(param);\n } else {\n // split all the types of a regular parameter into one type per param\n resultingParams = param.types.map(function (type) {\n return {\n types: [type],\n name: type.name,\n hasAny: type.isAny,\n hasConversion: type.conversion,\n restParam: false\n };\n });\n } // recurse over the groups with types\n\n\n return flatMap(resultingParams, function (nextParam) {\n return _splitParams(params, index + 1, paramsSoFar.concat([nextParam]));\n });\n } else {\n // we've reached the end of the parameters.\n return [paramsSoFar];\n }\n }\n\n return _splitParams(params, 0, []);\n }\n /**\n * Test whether two param lists represent conflicting signatures\n * @param {Param[]} params1\n * @param {Param[]} params2\n * @return {boolean} Returns true when the signatures conflict, false otherwise.\n */\n\n\n function conflicting(params1, params2) {\n const ii = Math.max(params1.length, params2.length);\n\n for (let i = 0; i < ii; i++) {\n const typeSet1 = getTypeSetAtIndex(params1, i);\n const typeSet2 = getTypeSetAtIndex(params2, i);\n let overlap = false;\n let name;\n\n for (name of typeSet2) {\n if (typeSet1.has(name)) {\n overlap = true;\n break;\n }\n }\n\n if (!overlap) {\n return false;\n }\n }\n\n const len1 = params1.length;\n const len2 = params2.length;\n const restParam1 = hasRestParam(params1);\n const restParam2 = hasRestParam(params2);\n return restParam1 ? restParam2 ? len1 === len2 : len2 >= len1 : restParam2 ? len1 >= len2 : len1 === len2;\n }\n /**\n * Helper function for `resolveReferences` that returns a copy of\n * functionList wihe any prior resolutions cleared out, in case we are\n * recycling signatures from a prior typed function construction.\n *\n * @param {Array.} functionList\n * @return {Array.}\n */\n\n\n function clearResolutions(functionList) {\n return functionList.map(fn => {\n if (isReferToSelf(fn)) {\n return referToSelf(fn.referToSelf.callback);\n }\n\n if (isReferTo(fn)) {\n return makeReferTo(fn.referTo.references, fn.referTo.callback);\n }\n\n return fn;\n });\n }\n /**\n * Take a list of references, a list of functions functionList, and a\n * signatureMap indexing signatures into functionList, and return\n * the list of resolutions, or a false-y value if they don't all\n * resolve in a valid way (yet).\n *\n * @param {string[]} references\n * @param {Array} signatureMap\n * @return {function[] | false} resolutions\n */\n\n\n function collectResolutions(references, functionList, signatureMap) {\n const resolvedReferences = [];\n let reference;\n\n for (reference of references) {\n let resolution = signatureMap[reference];\n\n if (typeof resolution !== 'number') {\n throw new TypeError('No definition for referenced signature \"' + reference + '\"');\n }\n\n resolution = functionList[resolution];\n\n if (typeof resolution !== 'function') {\n return false;\n }\n\n resolvedReferences.push(resolution);\n }\n\n return resolvedReferences;\n }\n /**\n * Resolve any references in the functionList for the typed function\n * itself. The signatureMap tells which index in the functionList a\n * given signature should be mapped to (for use in resolving typed.referTo)\n * and self provides the destions of a typed.referToSelf.\n *\n * @param {Array} functionList\n * @param {Object.} signatureMap\n * @param {function} self The typed-function itself\n * @return {Array} The list of resolved functions\n */\n\n\n function resolveReferences(functionList, signatureMap, self) {\n const resolvedFunctions = clearResolutions(functionList);\n const isResolved = new Array(resolvedFunctions.length).fill(false);\n let leftUnresolved = true;\n\n while (leftUnresolved) {\n leftUnresolved = false;\n let nothingResolved = true;\n\n for (let i = 0; i < resolvedFunctions.length; ++i) {\n if (isResolved[i]) continue;\n const fn = resolvedFunctions[i];\n\n if (isReferToSelf(fn)) {\n resolvedFunctions[i] = fn.referToSelf.callback(self); // Preserve reference in case signature is reused someday:\n\n resolvedFunctions[i].referToSelf = fn.referToSelf;\n isResolved[i] = true;\n nothingResolved = false;\n } else if (isReferTo(fn)) {\n const resolvedReferences = collectResolutions(fn.referTo.references, resolvedFunctions, signatureMap);\n\n if (resolvedReferences) {\n resolvedFunctions[i] = fn.referTo.callback.apply(this, resolvedReferences); // Preserve reference in case signature is reused someday:\n\n resolvedFunctions[i].referTo = fn.referTo;\n isResolved[i] = true;\n nothingResolved = false;\n } else {\n leftUnresolved = true;\n }\n }\n }\n\n if (nothingResolved && leftUnresolved) {\n throw new SyntaxError('Circular reference detected in resolving typed.referTo');\n }\n }\n\n return resolvedFunctions;\n }\n /**\n * Validate whether any of the function bodies contains a self-reference\n * usage like `this(...)` or `this.signatures`. This self-referencing is\n * deprecated since typed-function v3. It has been replaced with\n * the functions typed.referTo and typed.referToSelf.\n * @param {Object.} signaturesMap\n */\n\n\n function validateDeprecatedThis(signaturesMap) {\n // TODO: remove this deprecation warning logic some day (it's introduced in v3)\n // match occurrences like 'this(' and 'this.signatures'\n const deprecatedThisRegex = /\\bthis(\\(|\\.signatures\\b)/;\n Object.keys(signaturesMap).forEach(signature => {\n const fn = signaturesMap[signature];\n\n if (deprecatedThisRegex.test(fn.toString())) {\n throw new SyntaxError('Using `this` to self-reference a function ' + 'is deprecated since typed-function@3. ' + 'Use typed.referTo and typed.referToSelf instead.');\n }\n });\n }\n /**\n * Create a typed function\n * @param {String} name The name for the typed function\n * @param {Object.} rawSignaturesMap\n * An object with one or\n * multiple signatures as key, and the\n * function corresponding to the\n * signature as value.\n * @return {function} Returns the created typed function.\n */\n\n\n function createTypedFunction(name, rawSignaturesMap) {\n typed.createCount++;\n\n if (Object.keys(rawSignaturesMap).length === 0) {\n throw new SyntaxError('No signatures provided');\n }\n\n if (typed.warnAgainstDeprecatedThis) {\n validateDeprecatedThis(rawSignaturesMap);\n } // Main processing loop for signatures\n\n\n const parsedParams = [];\n const originalFunctions = [];\n const signaturesMap = {};\n const preliminarySignatures = []; // may have duplicates from conversions\n\n let signature;\n\n for (signature in rawSignaturesMap) {\n // A) Protect against polluted Object prototype:\n if (!Object.prototype.hasOwnProperty.call(rawSignaturesMap, signature)) {\n continue;\n } // B) Parse the signature\n\n\n const params = parseSignature(signature);\n if (!params) continue; // C) Check for conflicts\n\n parsedParams.forEach(function (pp) {\n if (conflicting(pp, params)) {\n throw new TypeError('Conflicting signatures \"' + stringifyParams(pp) + '\" and \"' + stringifyParams(params) + '\".');\n }\n });\n parsedParams.push(params); // D) Store the provided function and add conversions\n\n const functionIndex = originalFunctions.length;\n originalFunctions.push(rawSignaturesMap[signature]);\n const conversionParams = params.map(expandParam); // E) Split the signatures and collect them up\n\n let sp;\n\n for (sp of splitParams(conversionParams)) {\n const spName = stringifyParams(sp);\n preliminarySignatures.push({\n params: sp,\n name: spName,\n fn: functionIndex\n });\n\n if (sp.every(p => !p.hasConversion)) {\n signaturesMap[spName] = functionIndex;\n }\n }\n }\n\n preliminarySignatures.sort(compareSignatures); // Note the forward reference to theTypedFn\n\n const resolvedFunctions = resolveReferences(originalFunctions, signaturesMap, theTypedFn); // Fill in the proper function for each signature\n\n let s;\n\n for (s in signaturesMap) {\n if (Object.prototype.hasOwnProperty.call(signaturesMap, s)) {\n signaturesMap[s] = resolvedFunctions[signaturesMap[s]];\n }\n }\n\n const signatures = [];\n const internalSignatureMap = new Map(); // benchmarks faster than object\n\n for (s of preliminarySignatures) {\n // Note it's only safe to eliminate duplicates like this\n // _after_ the signature sorting step above; otherwise we might\n // remove the wrong one.\n if (!internalSignatureMap.has(s.name)) {\n s.fn = resolvedFunctions[s.fn];\n signatures.push(s);\n internalSignatureMap.set(s.name, s);\n }\n } // we create a highly optimized checks for the first couple of signatures with max 2 arguments\n\n\n const ok0 = signatures[0] && signatures[0].params.length <= 2 && !hasRestParam(signatures[0].params);\n const ok1 = signatures[1] && signatures[1].params.length <= 2 && !hasRestParam(signatures[1].params);\n const ok2 = signatures[2] && signatures[2].params.length <= 2 && !hasRestParam(signatures[2].params);\n const ok3 = signatures[3] && signatures[3].params.length <= 2 && !hasRestParam(signatures[3].params);\n const ok4 = signatures[4] && signatures[4].params.length <= 2 && !hasRestParam(signatures[4].params);\n const ok5 = signatures[5] && signatures[5].params.length <= 2 && !hasRestParam(signatures[5].params);\n const allOk = ok0 && ok1 && ok2 && ok3 && ok4 && ok5; // compile the tests\n\n for (let i = 0; i < signatures.length; ++i) {\n signatures[i].test = compileTests(signatures[i].params);\n }\n\n const test00 = ok0 ? compileTest(signatures[0].params[0]) : notOk;\n const test10 = ok1 ? compileTest(signatures[1].params[0]) : notOk;\n const test20 = ok2 ? compileTest(signatures[2].params[0]) : notOk;\n const test30 = ok3 ? compileTest(signatures[3].params[0]) : notOk;\n const test40 = ok4 ? compileTest(signatures[4].params[0]) : notOk;\n const test50 = ok5 ? compileTest(signatures[5].params[0]) : notOk;\n const test01 = ok0 ? compileTest(signatures[0].params[1]) : notOk;\n const test11 = ok1 ? compileTest(signatures[1].params[1]) : notOk;\n const test21 = ok2 ? compileTest(signatures[2].params[1]) : notOk;\n const test31 = ok3 ? compileTest(signatures[3].params[1]) : notOk;\n const test41 = ok4 ? compileTest(signatures[4].params[1]) : notOk;\n const test51 = ok5 ? compileTest(signatures[5].params[1]) : notOk; // compile the functions\n\n for (let i = 0; i < signatures.length; ++i) {\n signatures[i].implementation = compileArgsPreprocessing(signatures[i].params, signatures[i].fn);\n }\n\n const fn0 = ok0 ? signatures[0].implementation : undef;\n const fn1 = ok1 ? signatures[1].implementation : undef;\n const fn2 = ok2 ? signatures[2].implementation : undef;\n const fn3 = ok3 ? signatures[3].implementation : undef;\n const fn4 = ok4 ? signatures[4].implementation : undef;\n const fn5 = ok5 ? signatures[5].implementation : undef;\n const len0 = ok0 ? signatures[0].params.length : -1;\n const len1 = ok1 ? signatures[1].params.length : -1;\n const len2 = ok2 ? signatures[2].params.length : -1;\n const len3 = ok3 ? signatures[3].params.length : -1;\n const len4 = ok4 ? signatures[4].params.length : -1;\n const len5 = ok5 ? signatures[5].params.length : -1; // simple and generic, but also slow\n\n const iStart = allOk ? 6 : 0;\n const iEnd = signatures.length; // de-reference ahead for execution speed:\n\n const tests = signatures.map(s => s.test);\n const fns = signatures.map(s => s.implementation);\n\n const generic = function generic() {\n\n for (let i = iStart; i < iEnd; i++) {\n if (tests[i](arguments)) {\n return fns[i].apply(this, arguments);\n }\n }\n\n return typed.onMismatch(name, arguments, signatures);\n }; // create the typed function\n // fast, specialized version. Falls back to the slower, generic one if needed\n\n\n function theTypedFn(arg0, arg1) {\n\n if (arguments.length === len0 && test00(arg0) && test01(arg1)) {\n return fn0.apply(this, arguments);\n }\n\n if (arguments.length === len1 && test10(arg0) && test11(arg1)) {\n return fn1.apply(this, arguments);\n }\n\n if (arguments.length === len2 && test20(arg0) && test21(arg1)) {\n return fn2.apply(this, arguments);\n }\n\n if (arguments.length === len3 && test30(arg0) && test31(arg1)) {\n return fn3.apply(this, arguments);\n }\n\n if (arguments.length === len4 && test40(arg0) && test41(arg1)) {\n return fn4.apply(this, arguments);\n }\n\n if (arguments.length === len5 && test50(arg0) && test51(arg1)) {\n return fn5.apply(this, arguments);\n }\n\n return generic.apply(this, arguments);\n } // attach name the typed function\n\n\n try {\n Object.defineProperty(theTypedFn, 'name', {\n value: name\n });\n } catch (err) {// old browsers do not support Object.defineProperty and some don't support setting the name property\n // the function name is not essential for the functioning, it's mostly useful for debugging,\n // so it's fine to have unnamed functions.\n } // attach signatures to the function.\n // This property is close to the original collection of signatures\n // used to create the typed-function, just with unions split:\n\n\n theTypedFn.signatures = signaturesMap; // Store internal data for functions like resolve, find, etc.\n // Also serves as the flag that this is a typed-function\n\n theTypedFn._typedFunctionData = {\n signatures,\n signatureMap: internalSignatureMap\n };\n return theTypedFn;\n }\n /**\n * Action to take on mismatch\n * @param {string} name Name of function that was attempted to be called\n * @param {Array} args Actual arguments to the call\n * @param {Array} signatures Known signatures of the named typed-function\n */\n\n\n function _onMismatch(name, args, signatures) {\n throw createError(name, args, signatures);\n }\n /**\n * Return all but the last items of an array or function Arguments\n * @param {Array | Arguments} arr\n * @return {Array}\n */\n\n\n function initial(arr) {\n return slice(arr, 0, arr.length - 1);\n }\n /**\n * return the last item of an array or function Arguments\n * @param {Array | Arguments} arr\n * @return {*}\n */\n\n\n function last(arr) {\n return arr[arr.length - 1];\n }\n /**\n * Slice an array or function Arguments\n * @param {Array | Arguments | IArguments} arr\n * @param {number} start\n * @param {number} [end]\n * @return {Array}\n */\n\n\n function slice(arr, start, end) {\n return Array.prototype.slice.call(arr, start, end);\n }\n /**\n * Return the first item from an array for which test(arr[i]) returns true\n * @param {Array} arr\n * @param {function} test\n * @return {* | undefined} Returns the first matching item\n * or undefined when there is no match\n */\n\n\n function findInArray(arr, test) {\n for (let i = 0; i < arr.length; i++) {\n if (test(arr[i])) {\n return arr[i];\n }\n }\n\n return undefined;\n }\n /**\n * Flat map the result invoking a callback for every item in an array.\n * https://gist.github.com/samgiles/762ee337dff48623e729\n * @param {Array} arr\n * @param {function} callback\n * @return {Array}\n */\n\n\n function flatMap(arr, callback) {\n return Array.prototype.concat.apply([], arr.map(callback));\n }\n /**\n * Create a reference callback to one or multiple signatures\n *\n * Syntax:\n *\n * typed.referTo(signature1, signature2, ..., function callback(fn1, fn2, ...) {\n * // ...\n * })\n *\n * @returns {{referTo: {references: string[], callback}}}\n */\n\n\n function referTo() {\n const references = initial(arguments).map(s => stringifyParams(parseSignature(s)));\n const callback = last(arguments);\n\n if (typeof callback !== 'function') {\n throw new TypeError('Callback function expected as last argument');\n }\n\n return makeReferTo(references, callback);\n }\n\n function makeReferTo(references, callback) {\n return {\n referTo: {\n references,\n callback\n }\n };\n }\n /**\n * Create a reference callback to the typed-function itself\n *\n * @param {(self: function) => function} callback\n * @returns {{referToSelf: { callback: function }}}\n */\n\n\n function referToSelf(callback) {\n if (typeof callback !== 'function') {\n throw new TypeError('Callback function expected as first argument');\n }\n\n return {\n referToSelf: {\n callback\n }\n };\n }\n /**\n * Test whether something is a referTo object, holding a list with reference\n * signatures and a callback.\n *\n * @param {Object | function} objectOrFn\n * @returns {boolean}\n */\n\n\n function isReferTo(objectOrFn) {\n return objectOrFn && typeof objectOrFn.referTo === 'object' && Array.isArray(objectOrFn.referTo.references) && typeof objectOrFn.referTo.callback === 'function';\n }\n /**\n * Test whether something is a referToSelf object, holding a callback where\n * to pass `self`.\n *\n * @param {Object | function} objectOrFn\n * @returns {boolean}\n */\n\n\n function isReferToSelf(objectOrFn) {\n return objectOrFn && typeof objectOrFn.referToSelf === 'object' && typeof objectOrFn.referToSelf.callback === 'function';\n }\n /**\n * Check if name is (A) new, (B) a match, or (C) a mismatch; and throw\n * an error in case (C).\n *\n * @param { string | undefined } nameSoFar\n * @param { string | undefined } newName\n * @returns { string } updated name\n */\n\n\n function checkName(nameSoFar, newName) {\n if (!nameSoFar) {\n return newName;\n }\n\n if (newName && newName !== nameSoFar) {\n const err = new Error('Function names do not match (expected: ' + nameSoFar + ', actual: ' + newName + ')');\n err.data = {\n actual: newName,\n expected: nameSoFar\n };\n throw err;\n }\n\n return nameSoFar;\n }\n /**\n * Retrieve the implied name from an object with signature keys\n * and function values, checking whether all value names match\n *\n * @param { {string: function} } obj\n */\n\n\n function getObjectName(obj) {\n let name;\n\n for (const key in obj) {\n // Only pay attention to own properties, and only if their values\n // are typed functions or functions with a signature property\n if (Object.prototype.hasOwnProperty.call(obj, key) && (isTypedFunction(obj[key]) || typeof obj[key].signature === 'string')) {\n name = checkName(name, obj[key].name);\n }\n }\n\n return name;\n }\n /**\n * Copy all of the signatures from the second argument into the first,\n * which is modified by side effect, checking for conflicts\n *\n * @param {Object.} dest\n * @param {Object.} source\n */\n\n\n function mergeSignatures(dest, source) {\n let key;\n\n for (key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n if (key in dest) {\n if (source[key] !== dest[key]) {\n const err = new Error('Signature \"' + key + '\" is defined twice');\n err.data = {\n signature: key,\n sourceFunction: source[key],\n destFunction: dest[key]\n };\n throw err;\n } // else: both signatures point to the same function, that's fine\n\n }\n\n dest[key] = source[key];\n }\n }\n }\n\n const saveTyped = typed;\n /**\n * Originally the main function was a typed function itself, but then\n * it might not be able to generate error messages if the client\n * replaced the type system with different names.\n *\n * Main entry: typed([name], functions/objects with signatures...)\n *\n * Assembles and returns a new typed-function from the given items\n * that provide signatures and implementations, each of which may be\n * * a plain object mapping (string) signatures to implementing functions,\n * * a previously constructed typed function, or\n * * any other single function with a string-valued property `signature`.\n * The name of the resulting typed-function will be given by the\n * string-valued name argument if present, or if not, by the name\n * of any of the arguments that have one, as long as any that do are\n * consistent with each other. If no name is specified, the name will be\n * an empty string.\n *\n * @param {string} maybeName [optional]\n * @param {(function|object)[]} signature providers\n * @returns {typed-function}\n */\n\n typed = function (maybeName) {\n const named = typeof maybeName === 'string';\n const start = named ? 1 : 0;\n let name = named ? maybeName : '';\n const allSignatures = {};\n\n for (let i = start; i < arguments.length; ++i) {\n const item = arguments[i];\n let theseSignatures = {};\n let thisName;\n\n if (typeof item === 'function') {\n thisName = item.name;\n\n if (typeof item.signature === 'string') {\n // Case 1: Ordinary function with a string 'signature' property\n theseSignatures[item.signature] = item;\n } else if (isTypedFunction(item)) {\n // Case 2: Existing typed function\n theseSignatures = item.signatures;\n }\n } else if (isPlainObject(item)) {\n // Case 3: Plain object, assume keys = signatures, values = functions\n theseSignatures = item;\n\n if (!named) {\n thisName = getObjectName(item);\n }\n }\n\n if (Object.keys(theseSignatures).length === 0) {\n const err = new TypeError('Argument to \\'typed\\' at index ' + i + ' is not a (typed) function, ' + 'nor an object with signatures as keys and functions as values.');\n err.data = {\n index: i,\n argument: item\n };\n throw err;\n }\n\n if (!named) {\n name = checkName(name, thisName);\n }\n\n mergeSignatures(allSignatures, theseSignatures);\n }\n\n return createTypedFunction(name || '', allSignatures);\n };\n\n typed.create = create;\n typed.createCount = saveTyped.createCount;\n typed.onMismatch = _onMismatch;\n typed.throwMismatchError = _onMismatch;\n typed.createError = createError;\n typed.clear = clear;\n typed.clearConversions = clearConversions;\n typed.addTypes = addTypes;\n typed._findType = findType; // For unit testing only\n\n typed.referTo = referTo;\n typed.referToSelf = referToSelf;\n typed.convert = convert;\n typed.findSignature = findSignature;\n typed.find = find;\n typed.isTypedFunction = isTypedFunction;\n typed.warnAgainstDeprecatedThis = true;\n /**\n * add a type (convenience wrapper for typed.addTypes)\n * @param {{name: string, test: function}} type\n * @param {boolean} [beforeObjectTest=true]\n * If true, the new test will be inserted before\n * the test with name 'Object' (if any), since\n * tests for Object match Array and classes too.\n */\n\n typed.addType = function (type, beforeObjectTest) {\n let before = 'any';\n\n if (beforeObjectTest !== false && typeMap.has('Object')) {\n before = 'Object';\n }\n\n typed.addTypes([type], before);\n };\n /**\n * Verify that the ConversionDef conversion has a valid format.\n *\n * @param {conversionDef} conversion\n * @return {void}\n * @throws {TypeError|SyntaxError}\n */\n\n\n function _validateConversion(conversion) {\n if (!conversion || typeof conversion.from !== 'string' || typeof conversion.to !== 'string' || typeof conversion.convert !== 'function') {\n throw new TypeError('Object with properties {from: string, to: string, convert: function} expected');\n }\n\n if (conversion.to === conversion.from) {\n throw new SyntaxError('Illegal to define conversion from \"' + conversion.from + '\" to itself.');\n }\n }\n /**\n * Add a conversion\n *\n * @param {ConversionDef} conversion\n * @returns {void}\n * @throws {TypeError}\n */\n\n\n typed.addConversion = function (conversion) {\n _validateConversion(conversion);\n\n const to = findType(conversion.to);\n\n if (to.conversionsTo.every(function (other) {\n return other.from !== conversion.from;\n })) {\n to.conversionsTo.push({\n from: conversion.from,\n convert: conversion.convert,\n index: nConversions++\n });\n } else {\n throw new Error('There is already a conversion from \"' + conversion.from + '\" to \"' + to.name + '\"');\n }\n };\n /**\n * Convenience wrapper to call addConversion on each conversion in a list.\n *\n @param {ConversionDef[]} conversions\n @returns {void}\n @throws {TypeError}\n */\n\n\n typed.addConversions = function (conversions) {\n conversions.forEach(typed.addConversion);\n };\n /**\n * Remove the specified conversion. The format is the same as for\n * addConversion, and the convert function must match or an error\n * is thrown.\n *\n * @param {{from: string, to: string, convert: function}} conversion\n * @returns {void}\n * @throws {TypeError|SyntaxError|Error}\n */\n\n\n typed.removeConversion = function (conversion) {\n _validateConversion(conversion);\n\n const to = findType(conversion.to);\n const existingConversion = findInArray(to.conversionsTo, c => c.from === conversion.from);\n\n if (!existingConversion) {\n throw new Error('Attempt to remove nonexistent conversion from ' + conversion.from + ' to ' + conversion.to);\n }\n\n if (existingConversion.convert !== conversion.convert) {\n throw new Error('Conversion to remove does not match existing conversion');\n }\n\n const index = to.conversionsTo.indexOf(existingConversion);\n to.conversionsTo.splice(index, 1);\n };\n /**\n * Produce the specific signature that a typed function\n * will execute on the given arguments. Here, a \"signature\" is an\n * object with properties 'params', 'test', 'fn', and 'implementation'.\n * This last property is a function that converts params as necessary\n * and then calls 'fn'. Returns null if there is no matching signature.\n * @param {typed-function} tf\n * @param {any[]} argList\n * @returns {{params: string, test: function, fn: function, implementation: function}}\n */\n\n\n typed.resolve = function (tf, argList) {\n if (!isTypedFunction(tf)) {\n throw new TypeError(NOT_TYPED_FUNCTION);\n }\n\n const sigs = tf._typedFunctionData.signatures;\n\n for (let i = 0; i < sigs.length; ++i) {\n if (sigs[i].test(argList)) {\n return sigs[i];\n }\n }\n\n return null;\n };\n\n return typed;\n }\n\n var typedFunction = create();\n\n return typedFunction;\n\n}));\n//# sourceMappingURL=typed-function.js.map\n","import { isInteger } from '../../utils/number.js';\nimport { product } from '../../utils/product.js';\nexport function combinationsNumber(n, k) {\n if (!isInteger(n) || n < 0) {\n throw new TypeError('Positive integer value expected in function combinations');\n }\n if (!isInteger(k) || k < 0) {\n throw new TypeError('Positive integer value expected in function combinations');\n }\n if (k > n) {\n throw new TypeError('k must be less than or equal to n');\n }\n var nMinusk = n - k;\n var answer = 1;\n var firstnumerator = k < nMinusk ? nMinusk + 1 : k + 1;\n var nextdivisor = 2;\n var lastdivisor = k < nMinusk ? k : nMinusk;\n // balance multiplications and divisions to try to keep intermediate values\n // in exact-integer range as long as possible\n for (var nextnumerator = firstnumerator; nextnumerator <= n; ++nextnumerator) {\n answer *= nextnumerator;\n while (nextdivisor <= lastdivisor && answer % nextdivisor === 0) {\n answer /= nextdivisor;\n ++nextdivisor;\n }\n }\n // for big n, k, floating point may have caused weirdness in remainder\n if (nextdivisor <= lastdivisor) {\n answer /= product(nextdivisor, lastdivisor);\n }\n return answer;\n}\ncombinationsNumber.signature = 'number, number';","import { factory } from '../../utils/factory.js';\nimport { combinationsNumber } from '../../plain/number/combinations.js';\nvar name = 'combinations';\nvar dependencies = ['typed'];\nexport var createCombinations = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Compute the number of ways of picking `k` unordered outcomes from `n`\n * possibilities.\n *\n * Combinations only takes integer arguments.\n * The following condition must be enforced: k <= n.\n *\n * Syntax:\n *\n * math.combinations(n, k)\n *\n * Examples:\n *\n * math.combinations(7, 5) // returns 21\n *\n * See also:\n *\n * combinationsWithRep, permutations, factorial\n *\n * @param {number | BigNumber} n Total number of objects in the set\n * @param {number | BigNumber} k Number of objects in the subset\n * @return {number | BigNumber} Number of possible combinations.\n */\n return typed(name, {\n 'number, number': combinationsNumber,\n 'BigNumber, BigNumber': function BigNumberBigNumber(n, k) {\n var BigNumber = n.constructor;\n var result, i;\n var nMinusk = n.minus(k);\n var one = new BigNumber(1);\n if (!isPositiveInteger(n) || !isPositiveInteger(k)) {\n throw new TypeError('Positive integer value expected in function combinations');\n }\n if (k.gt(n)) {\n throw new TypeError('k must be less than n in function combinations');\n }\n result = one;\n if (k.lt(nMinusk)) {\n for (i = one; i.lte(nMinusk); i = i.plus(one)) {\n result = result.times(k.plus(i)).dividedBy(i);\n }\n } else {\n for (i = one; i.lte(k); i = i.plus(one)) {\n result = result.times(nMinusk.plus(i)).dividedBy(i);\n }\n }\n return result;\n }\n\n // TODO: implement support for collection in combinations\n });\n});\n\n/**\n * Test whether BigNumber n is a positive integer\n * @param {BigNumber} n\n * @returns {boolean} isPositiveInteger\n */\nfunction isPositiveInteger(n) {\n return n.isInteger() && n.gte(0);\n}","import { factory } from '../../../utils/factory.js';\nvar name = 'matAlgo12xSfs';\nvar dependencies = ['typed', 'DenseMatrix'];\nexport var createMatAlgo12xSfs = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n DenseMatrix\n } = _ref;\n /**\n * Iterates over SparseMatrix S nonzero items and invokes the callback function f(Sij, b).\n * Callback function invoked MxN times.\n *\n *\n * ┌ f(Sij, b) ; S(i,j) !== 0\n * C(i,j) = ┤\n * └ f(0, b) ; otherwise\n *\n *\n * @param {Matrix} s The SparseMatrix instance (S)\n * @param {Scalar} b The Scalar value\n * @param {Function} callback The f(Aij,b) operation to invoke\n * @param {boolean} inverse A true value indicates callback should be invoked f(b,Sij)\n *\n * @return {Matrix} DenseMatrix (C)\n *\n * https://github.com/josdejong/mathjs/pull/346#issuecomment-97626813\n */\n return function matAlgo12xSfs(s, b, callback, inverse) {\n // sparse matrix arrays\n var avalues = s._values;\n var aindex = s._index;\n var aptr = s._ptr;\n var asize = s._size;\n var adt = s._datatype;\n\n // sparse matrix cannot be a Pattern matrix\n if (!avalues) {\n throw new Error('Cannot perform operation on Pattern Sparse Matrix and Scalar value');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string') {\n // datatype\n dt = adt;\n // convert b to the same datatype\n b = typed.convert(b, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result arrays\n var cdata = [];\n\n // workspaces\n var x = [];\n // marks indicating we have a value in x for a given column\n var w = [];\n\n // loop columns\n for (var j = 0; j < columns; j++) {\n // columns mark\n var mark = j + 1;\n // values in j\n for (var k0 = aptr[j], k1 = aptr[j + 1], k = k0; k < k1; k++) {\n // row\n var r = aindex[k];\n // update workspace\n x[r] = avalues[k];\n w[r] = mark;\n }\n // loop rows\n for (var i = 0; i < rows; i++) {\n // initialize C on first column\n if (j === 0) {\n // create row array\n cdata[i] = [];\n }\n // check sparse matrix has a value @ i,j\n if (w[i] === mark) {\n // invoke callback, update C\n cdata[i][j] = inverse ? cf(b, x[i]) : cf(x[i], b);\n } else {\n // dense matrix value @ i, j\n cdata[i][j] = inverse ? cf(b, 0) : cf(0, b);\n }\n }\n }\n\n // return dense matrix\n return new DenseMatrix({\n data: cdata,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { deepForEach } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { improveErrorMessage } from './utils/improveErrorMessage.js';\nvar name = 'prod';\nvar dependencies = ['typed', 'config', 'multiplyScalar', 'numeric'];\nexport var createProd = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n multiplyScalar,\n numeric\n } = _ref;\n /**\n * Compute the product of a matrix or a list with values.\n * In case of a multidimensional array or matrix, the sum of all\n * elements will be calculated.\n *\n * Syntax:\n *\n * math.prod(a, b, c, ...)\n * math.prod(A)\n *\n * Examples:\n *\n * math.multiply(2, 3) // returns 6\n * math.prod(2, 3) // returns 6\n * math.prod(2, 3, 4) // returns 24\n * math.prod([2, 3, 4]) // returns 24\n * math.prod([[2, 5], [4, 3]]) // returns 120\n *\n * See also:\n *\n * mean, median, min, max, sum, std, variance\n *\n * @param {... *} args A single matrix or or multiple scalar values\n * @return {*} The product of all values\n */\n return typed(name, {\n // prod([a, b, c, d, ...])\n 'Array | Matrix': _prod,\n // prod([a, b, c, d, ...], dim)\n 'Array | Matrix, number | BigNumber': function ArrayMatrixNumberBigNumber(array, dim) {\n // TODO: implement prod(A, dim)\n throw new Error('prod(A, dim) is not yet supported');\n // return reduce(arguments[0], arguments[1], math.prod)\n },\n\n // prod(a, b, c, d, ...)\n '...': function _(args) {\n return _prod(args);\n }\n });\n\n /**\n * Recursively calculate the product of an n-dimensional array\n * @param {Array} array\n * @return {number} prod\n * @private\n */\n function _prod(array) {\n var prod;\n deepForEach(array, function (value) {\n try {\n prod = prod === undefined ? value : multiplyScalar(prod, value);\n } catch (err) {\n throw improveErrorMessage(err, 'prod', value);\n }\n });\n\n // make sure returning numeric value: parse a string into a numeric value\n if (typeof prod === 'string') {\n prod = numeric(prod, config.number);\n }\n if (prod === undefined) {\n throw new Error('Cannot calculate prod of an empty array');\n }\n return prod;\n }\n});","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroContabilPaisagem.vue?vue&type=style&index=0&id=a39be796&prod&lang=css\"","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaRentabilidadeRetrato.vue?vue&type=style&index=0&id=3895f886&prod&lang=css\"","/**\n * Create a range error with the message:\n * 'Index out of range (index < min)'\n * 'Index out of range (index < max)'\n *\n * @param {number} index The actual index\n * @param {number} [min=0] Minimum index (included)\n * @param {number} [max] Maximum index (excluded)\n * @extends RangeError\n */\nexport function IndexError(index, min, max) {\n if (!(this instanceof IndexError)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n this.index = index;\n if (arguments.length < 3) {\n this.min = 0;\n this.max = min;\n } else {\n this.min = min;\n this.max = max;\n }\n if (this.min !== undefined && this.index < this.min) {\n this.message = 'Index out of range (' + this.index + ' < ' + this.min + ')';\n } else if (this.max !== undefined && this.index >= this.max) {\n this.message = 'Index out of range (' + this.index + ' > ' + (this.max - 1) + ')';\n } else {\n this.message = 'Index out of range (' + this.index + ')';\n }\n this.stack = new Error().stack;\n}\nIndexError.prototype = new RangeError();\nIndexError.prototype.constructor = RangeError;\nIndexError.prototype.name = 'IndexError';\nIndexError.prototype.isIndexError = true;","import { factory } from '../../utils/factory.js';\nvar name = 'lyap';\nvar dependencies = ['typed', 'matrix', 'sylvester', 'multiply', 'transpose'];\nexport var createLyap = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n sylvester,\n multiply,\n transpose\n } = _ref;\n /**\n *\n * Solves the Continuous-time Lyapunov equation AP+PA'+Q=0 for P, where\n * Q is an input matrix. When Q is symmetric, P is also symmetric. Notice\n * that different equivalent definitions exist for the Continuous-time\n * Lyapunov equation.\n * https://en.wikipedia.org/wiki/Lyapunov_equation\n *\n * Syntax:\n *\n * math.lyap(A, Q)\n *\n * Examples:\n *\n * const A = [[-2, 0], [1, -4]]\n * const Q = [[3, 1], [1, 3]]\n * const P = math.lyap(A, Q)\n *\n * See also:\n *\n * sylvester, schur\n *\n * @param {Matrix | Array} A Matrix A\n * @param {Matrix | Array} Q Matrix Q\n * @return {Matrix | Array} Matrix P solution to the Continuous-time Lyapunov equation AP+PA'=Q\n */\n return typed(name, {\n 'Matrix, Matrix': function MatrixMatrix(A, Q) {\n return sylvester(A, transpose(A), multiply(-1, Q));\n },\n 'Array, Matrix': function ArrayMatrix(A, Q) {\n return sylvester(matrix(A), transpose(matrix(A)), multiply(-1, Q));\n },\n 'Matrix, Array': function MatrixArray(A, Q) {\n return sylvester(A, transpose(matrix(A)), matrix(multiply(-1, Q)));\n },\n 'Array, Array': function ArrayArray(A, Q) {\n return sylvester(matrix(A), transpose(matrix(A)), matrix(multiply(-1, Q))).toArray();\n }\n });\n});","import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';\nimport { nearlyEqual } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { createCompareUnits } from './compareUnits.js';\nvar name = 'smallerEq';\nvar dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];\nexport var createSmallerEq = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo07xSSf = createMatAlgo07xSSf({\n typed,\n DenseMatrix\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var compareUnits = createCompareUnits({\n typed\n });\n\n /**\n * Test whether value x is smaller or equal to y.\n *\n * The function returns true when x is smaller than y or the relative\n * difference between x and y is smaller than the configured epsilon. The\n * function cannot be used to compare values smaller than approximately 2.22e-16.\n *\n * For matrices, the function is evaluated element wise.\n * Strings are compared by their numerical value.\n *\n * Syntax:\n *\n * math.smallerEq(x, y)\n *\n * Examples:\n *\n * math.smaller(1 + 2, 3) // returns false\n * math.smallerEq(1 + 2, 3) // returns true\n *\n * See also:\n *\n * equal, unequal, smaller, larger, largerEq, compare\n *\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} x First value to compare\n * @param {number | BigNumber | Fraction | boolean | Unit | string | Array | Matrix} y Second value to compare\n * @return {boolean | Array | Matrix} Returns true when the x is smaller than y, else returns false\n */\n return typed(name, createSmallerEqNumber({\n typed,\n config\n }), {\n 'boolean, boolean': (x, y) => x <= y,\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return x.lte(y) || bigNearlyEqual(x, y, config.epsilon);\n },\n 'Fraction, Fraction': (x, y) => x.compare(y) !== 1,\n 'Complex, Complex': function ComplexComplex() {\n throw new TypeError('No ordering relation is defined for complex numbers');\n }\n }, compareUnits, matrixAlgorithmSuite({\n SS: matAlgo07xSSf,\n DS: matAlgo03xDSf,\n Ss: matAlgo12xSfs\n }));\n});\nexport var createSmallerEqNumber = /* #__PURE__ */factory(name, ['typed', 'config'], _ref2 => {\n var {\n typed,\n config\n } = _ref2;\n return typed(name, {\n 'number, number': function numberNumber(x, y) {\n return x <= y || nearlyEqual(x, y, config.epsilon);\n }\n });\n});","import { arraySize as size } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'kron';\nvar dependencies = ['typed', 'matrix', 'multiplyScalar'];\nexport var createKron = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n multiplyScalar\n } = _ref;\n /**\n * Calculates the kronecker product of 2 matrices or vectors.\n *\n * NOTE: If a one dimensional vector / matrix is given, it will be\n * wrapped so its two dimensions.\n * See the examples.\n *\n * Syntax:\n *\n * math.kron(x, y)\n *\n * Examples:\n *\n * math.kron([[1, 0], [0, 1]], [[1, 2], [3, 4]])\n * // returns [ [ 1, 2, 0, 0 ], [ 3, 4, 0, 0 ], [ 0, 0, 1, 2 ], [ 0, 0, 3, 4 ] ]\n *\n * math.kron([1,1], [2,3,4])\n * // returns [ [ 2, 3, 4, 2, 3, 4 ] ]\n *\n * See also:\n *\n * multiply, dot, cross\n *\n * @param {Array | Matrix} x First vector\n * @param {Array | Matrix} y Second vector\n * @return {Array | Matrix} Returns the kronecker product of `x` and `y`\n */\n return typed(name, {\n 'Matrix, Matrix': function MatrixMatrix(x, y) {\n return matrix(_kron(x.toArray(), y.toArray()));\n },\n 'Matrix, Array': function MatrixArray(x, y) {\n return matrix(_kron(x.toArray(), y));\n },\n 'Array, Matrix': function ArrayMatrix(x, y) {\n return matrix(_kron(x, y.toArray()));\n },\n 'Array, Array': _kron\n });\n\n /**\n * Calculate the kronecker product of two matrices / vectors\n * @param {Array} a First vector\n * @param {Array} b Second vector\n * @returns {Array} Returns the kronecker product of x and y\n * @private\n */\n function _kron(a, b) {\n // Deal with the dimensions of the matricies.\n if (size(a).length === 1) {\n // Wrap it in a 2D Matrix\n a = [a];\n }\n if (size(b).length === 1) {\n // Wrap it in a 2D Matrix\n b = [b];\n }\n if (size(a).length > 2 || size(b).length > 2) {\n throw new RangeError('Vectors with dimensions greater then 2 are not supported expected ' + '(Size x = ' + JSON.stringify(a.length) + ', y = ' + JSON.stringify(b.length) + ')');\n }\n var t = [];\n var r = [];\n return a.map(function (a) {\n return b.map(function (b) {\n r = [];\n t.push(r);\n return a.map(function (y) {\n return b.map(function (x) {\n return r.push(multiplyScalar(y, x));\n });\n });\n });\n }) && t;\n }\n});","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\n","import { factory } from '../../utils/factory.js';\nimport { createFloor } from './floor.js';\nimport { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo05xSfSf } from '../../type/matrix/utils/matAlgo05xSfSf.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'mod';\nvar dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix', 'concat'];\nexport var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n round,\n matrix,\n equalScalar,\n zeros,\n DenseMatrix,\n concat\n } = _ref;\n var floor = createFloor({\n typed,\n config,\n round,\n matrix,\n equalScalar,\n zeros,\n DenseMatrix\n });\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo05xSfSf = createMatAlgo05xSfSf({\n typed,\n equalScalar\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Calculates the modulus, the remainder of an integer division.\n *\n * For matrices, the function is evaluated element wise.\n *\n * The modulus is defined as:\n *\n * x - y * floor(x / y)\n *\n * See https://en.wikipedia.org/wiki/Modulo_operation.\n *\n * Syntax:\n *\n * math.mod(x, y)\n *\n * Examples:\n *\n * math.mod(8, 3) // returns 2\n * math.mod(11, 2) // returns 1\n *\n * function isOdd(x) {\n * return math.mod(x, 2) != 0\n * }\n *\n * isOdd(2) // returns false\n * isOdd(3) // returns true\n *\n * See also:\n *\n * divide\n *\n * @param {number | BigNumber | Fraction | Array | Matrix} x Dividend\n * @param {number | BigNumber | Fraction | Array | Matrix} y Divisor\n * @return {number | BigNumber | Fraction | Array | Matrix} Returns the remainder of `x` divided by `y`.\n */\n return typed(name, {\n 'number, number': _modNumber,\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n if (y.isNeg()) {\n throw new Error('Cannot calculate mod for a negative divisor');\n }\n return y.isZero() ? x : x.mod(y);\n },\n 'Fraction, Fraction': function FractionFraction(x, y) {\n if (y.compare(0) < 0) {\n throw new Error('Cannot calculate mod for a negative divisor');\n }\n // Workaround suggested in Fraction.js library to calculate correct modulo for negative dividend\n return x.compare(0) >= 0 ? x.mod(y) : x.mod(y).add(y).mod(y);\n }\n }, matrixAlgorithmSuite({\n SS: matAlgo05xSfSf,\n DS: matAlgo03xDSf,\n SD: matAlgo02xDS0,\n Ss: matAlgo11xS0s,\n sS: matAlgo12xSfs\n }));\n\n /**\n * Calculate the modulus of two numbers\n * @param {number} x\n * @param {number} y\n * @returns {number} res\n * @private\n */\n function _modNumber(x, y) {\n // We don't use JavaScript's % operator here as this doesn't work\n // correctly for x < 0 and x === 0\n // see https://en.wikipedia.org/wiki/Modulo_operation\n\n // We use mathjs floor to handle errors associated with\n // precision float approximation\n return y === 0 ? x : x - y * floor(x / y);\n }\n});","import { acosh, asinh, atanh, cosh, sign, sinh, tanh } from '../../utils/number.js';\nvar n1 = 'number';\nvar n2 = 'number, number';\nexport function acosNumber(x) {\n return Math.acos(x);\n}\nacosNumber.signature = n1;\nexport function acoshNumber(x) {\n return acosh(x);\n}\nacoshNumber.signature = n1;\nexport function acotNumber(x) {\n return Math.atan(1 / x);\n}\nacotNumber.signature = n1;\nexport function acothNumber(x) {\n return isFinite(x) ? (Math.log((x + 1) / x) + Math.log(x / (x - 1))) / 2 : 0;\n}\nacothNumber.signature = n1;\nexport function acscNumber(x) {\n return Math.asin(1 / x);\n}\nacscNumber.signature = n1;\nexport function acschNumber(x) {\n var xInv = 1 / x;\n return Math.log(xInv + Math.sqrt(xInv * xInv + 1));\n}\nacschNumber.signature = n1;\nexport function asecNumber(x) {\n return Math.acos(1 / x);\n}\nasecNumber.signature = n1;\nexport function asechNumber(x) {\n var xInv = 1 / x;\n var ret = Math.sqrt(xInv * xInv - 1);\n return Math.log(ret + xInv);\n}\nasechNumber.signature = n1;\nexport function asinNumber(x) {\n return Math.asin(x);\n}\nasinNumber.signature = n1;\nexport function asinhNumber(x) {\n return asinh(x);\n}\nasinhNumber.signature = n1;\nexport function atanNumber(x) {\n return Math.atan(x);\n}\natanNumber.signature = n1;\nexport function atan2Number(y, x) {\n return Math.atan2(y, x);\n}\natan2Number.signature = n2;\nexport function atanhNumber(x) {\n return atanh(x);\n}\natanhNumber.signature = n1;\nexport function cosNumber(x) {\n return Math.cos(x);\n}\ncosNumber.signature = n1;\nexport function coshNumber(x) {\n return cosh(x);\n}\ncoshNumber.signature = n1;\nexport function cotNumber(x) {\n return 1 / Math.tan(x);\n}\ncotNumber.signature = n1;\nexport function cothNumber(x) {\n var e = Math.exp(2 * x);\n return (e + 1) / (e - 1);\n}\ncothNumber.signature = n1;\nexport function cscNumber(x) {\n return 1 / Math.sin(x);\n}\ncscNumber.signature = n1;\nexport function cschNumber(x) {\n // consider values close to zero (+/-)\n if (x === 0) {\n return Number.POSITIVE_INFINITY;\n } else {\n return Math.abs(2 / (Math.exp(x) - Math.exp(-x))) * sign(x);\n }\n}\ncschNumber.signature = n1;\nexport function secNumber(x) {\n return 1 / Math.cos(x);\n}\nsecNumber.signature = n1;\nexport function sechNumber(x) {\n return 2 / (Math.exp(x) + Math.exp(-x));\n}\nsechNumber.signature = n1;\nexport function sinNumber(x) {\n return Math.sin(x);\n}\nsinNumber.signature = n1;\nexport function sinhNumber(x) {\n return sinh(x);\n}\nsinhNumber.signature = n1;\nexport function tanNumber(x) {\n return Math.tan(x);\n}\ntanNumber.signature = n1;\nexport function tanhNumber(x) {\n return tanh(x);\n}\ntanhNumber.signature = n1;","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinanceiroCapitalAplicadoXRentabilidadeRetrato.vue?vue&type=style&index=0&id=afb3f3fa&prod&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioTaxaAdministracao.vue?vue&type=style&index=0&id=49d4b866&prod&lang=css\"","import { factory } from '../../utils/factory.js';\nvar name = 'kldivergence';\nvar dependencies = ['typed', 'matrix', 'divide', 'sum', 'multiply', 'map', 'dotDivide', 'log', 'isNumeric'];\nexport var createKldivergence = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n divide,\n sum,\n multiply,\n map,\n dotDivide,\n log,\n isNumeric\n } = _ref;\n /**\n * Calculate the Kullback-Leibler (KL) divergence between two distributions\n *\n * Syntax:\n *\n * math.kldivergence(x, y)\n *\n * Examples:\n *\n * math.kldivergence([0.7,0.5,0.4], [0.2,0.9,0.5]) //returns 0.24376698773121153\n *\n *\n * @param {Array | Matrix} q First vector\n * @param {Array | Matrix} p Second vector\n * @return {number} Returns distance between q and p\n */\n return typed(name, {\n 'Array, Array': function ArrayArray(q, p) {\n return _kldiv(matrix(q), matrix(p));\n },\n 'Matrix, Array': function MatrixArray(q, p) {\n return _kldiv(q, matrix(p));\n },\n 'Array, Matrix': function ArrayMatrix(q, p) {\n return _kldiv(matrix(q), p);\n },\n 'Matrix, Matrix': function MatrixMatrix(q, p) {\n return _kldiv(q, p);\n }\n });\n function _kldiv(q, p) {\n var plength = p.size().length;\n var qlength = q.size().length;\n if (plength > 1) {\n throw new Error('first object must be one dimensional');\n }\n if (qlength > 1) {\n throw new Error('second object must be one dimensional');\n }\n if (plength !== qlength) {\n throw new Error('Length of two vectors must be equal');\n }\n\n // Before calculation, apply normalization\n var sumq = sum(q);\n if (sumq === 0) {\n throw new Error('Sum of elements in first object must be non zero');\n }\n var sump = sum(p);\n if (sump === 0) {\n throw new Error('Sum of elements in second object must be non zero');\n }\n var qnorm = divide(q, sum(q));\n var pnorm = divide(p, sum(p));\n var result = sum(multiply(qnorm, map(dotDivide(qnorm, pnorm), x => log(x))));\n if (isNumeric(result)) {\n return result;\n } else {\n return Number.NaN;\n }\n }\n});","import { flatten } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'mode';\nvar dependencies = ['typed', 'isNaN', 'isNumeric'];\nexport var createMode = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n isNaN,\n isNumeric\n } = _ref;\n /**\n * Computes the mode of a set of numbers or a list with values(numbers or characters).\n * If there are multiple modes, it returns a list of those values.\n *\n * Syntax:\n *\n * math.mode(a, b, c, ...)\n * math.mode(A)\n *\n * Examples:\n *\n * math.mode(2, 1, 4, 3, 1) // returns [1]\n * math.mode([1, 2.7, 3.2, 4, 2.7]) // returns [2.7]\n * math.mode(1, 4, 6, 1, 6) // returns [1, 6]\n * math.mode('a','a','b','c') // returns [\"a\"]\n * math.mode(1, 1.5, 'abc') // returns [1, 1.5, \"abc\"]\n *\n * See also:\n *\n * median,\n * mean\n *\n * @param {... *} args A single matrix\n * @return {*} The mode of all values\n */\n return typed(name, {\n 'Array | Matrix': _mode,\n '...': function _(args) {\n return _mode(args);\n }\n });\n\n /**\n * Calculates the mode in an 1-dimensional array\n * @param {Array} values\n * @return {Array} mode\n * @private\n */\n function _mode(values) {\n values = flatten(values.valueOf());\n var num = values.length;\n if (num === 0) {\n throw new Error('Cannot calculate mode of an empty array');\n }\n var count = {};\n var mode = [];\n var max = 0;\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n if (isNumeric(value) && isNaN(value)) {\n throw new Error('Cannot calculate mode of an array containing NaN values');\n }\n if (!(value in count)) {\n count[value] = 0;\n }\n count[value]++;\n if (count[value] === max) {\n mode.push(value);\n } else if (count[value] > max) {\n max = count[value];\n mode = [value];\n }\n }\n return mode;\n }\n});","import { deepMap } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { isPositiveNumber } from '../../plain/number/index.js';\nvar name = 'isPositive';\nvar dependencies = ['typed'];\nexport var createIsPositive = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Test whether a value is positive: larger than zero.\n * The function supports types `number`, `BigNumber`, `Fraction`, and `Unit`.\n *\n * The function is evaluated element-wise in case of Array or Matrix input.\n *\n * Syntax:\n *\n * math.isPositive(x)\n *\n * Examples:\n *\n * math.isPositive(3) // returns true\n * math.isPositive(-2) // returns false\n * math.isPositive(0) // returns false\n * math.isPositive(-0) // returns false\n * math.isPositive(0.5) // returns true\n * math.isPositive(math.bignumber(2)) // returns true\n * math.isPositive(math.fraction(-2, 5)) // returns false\n * math.isPositive(math.fraction(1, 3)) // returns true\n * math.isPositive('2') // returns true\n * math.isPositive([2, 0, -3]) // returns [true, false, false]\n *\n * See also:\n *\n * isNumeric, isZero, isNegative, isInteger\n *\n * @param {number | BigNumber | Fraction | Unit | Array | Matrix} x Value to be tested\n * @return {boolean} Returns true when `x` is larger than zero.\n * Throws an error in case of an unknown data type.\n */\n return typed(name, {\n number: isPositiveNumber,\n BigNumber: function BigNumber(x) {\n return !x.isNeg() && !x.isZero() && !x.isNaN();\n },\n Fraction: function Fraction(x) {\n return x.s > 0 && x.n > 0;\n },\n Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","import { factory } from '../../utils/factory.js';\nvar name = 'Matrix';\nvar dependencies = [];\nexport var createMatrixClass = /* #__PURE__ */factory(name, dependencies, () => {\n /**\n * @constructor Matrix\n *\n * A Matrix is a wrapper around an Array. A matrix can hold a multi dimensional\n * array. A matrix can be constructed as:\n *\n * let matrix = math.matrix(data)\n *\n * Matrix contains the functions to resize, get and set values, get the size,\n * clone the matrix and to convert the matrix to a vector, array, or scalar.\n * Furthermore, one can iterate over the matrix using map and forEach.\n * The internal Array of the Matrix can be accessed using the function valueOf.\n *\n * Example usage:\n *\n * let matrix = math.matrix([[1, 2], [3, 4]])\n * matix.size() // [2, 2]\n * matrix.resize([3, 2], 5)\n * matrix.valueOf() // [[1, 2], [3, 4], [5, 5]]\n * matrix.subset([1,2]) // 3 (indexes are zero-based)\n *\n */\n function Matrix() {\n if (!(this instanceof Matrix)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n }\n\n /**\n * Attach type information\n */\n Matrix.prototype.type = 'Matrix';\n Matrix.prototype.isMatrix = true;\n\n /**\n * Get the storage format used by the matrix.\n *\n * Usage:\n * const format = matrix.storage() // retrieve storage format\n *\n * @return {string} The storage format.\n */\n Matrix.prototype.storage = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke storage on a Matrix interface');\n };\n\n /**\n * Get the datatype of the data stored in the matrix.\n *\n * Usage:\n * const format = matrix.datatype() // retrieve matrix datatype\n *\n * @return {string} The datatype.\n */\n Matrix.prototype.datatype = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke datatype on a Matrix interface');\n };\n\n /**\n * Create a new Matrix With the type of the current matrix instance\n * @param {Array | Object} data\n * @param {string} [datatype]\n */\n Matrix.prototype.create = function (data, datatype) {\n throw new Error('Cannot invoke create on a Matrix interface');\n };\n\n /**\n * Get a subset of the matrix, or replace a subset of the matrix.\n *\n * Usage:\n * const subset = matrix.subset(index) // retrieve subset\n * const value = matrix.subset(index, replacement) // replace subset\n *\n * @param {Index} index\n * @param {Array | Matrix | *} [replacement]\n * @param {*} [defaultValue=0] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be filled with zeros.\n */\n Matrix.prototype.subset = function (index, replacement, defaultValue) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke subset on a Matrix interface');\n };\n\n /**\n * Get a single element from the matrix.\n * @param {number[]} index Zero-based index\n * @return {*} value\n */\n Matrix.prototype.get = function (index) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke get on a Matrix interface');\n };\n\n /**\n * Replace a single element in the matrix.\n * @param {number[]} index Zero-based index\n * @param {*} value\n * @param {*} [defaultValue] Default value, filled in on new entries when\n * the matrix is resized. If not provided,\n * new matrix elements will be left undefined.\n * @return {Matrix} self\n */\n Matrix.prototype.set = function (index, value, defaultValue) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke set on a Matrix interface');\n };\n\n /**\n * Resize the matrix to the given size. Returns a copy of the matrix when\n * `copy=true`, otherwise return the matrix itself (resize in place).\n *\n * @param {number[]} size The new size the matrix should have.\n * @param {*} [defaultValue=0] Default value, filled in on new entries.\n * If not provided, the matrix elements will\n * be filled with zeros.\n * @param {boolean} [copy] Return a resized copy of the matrix\n *\n * @return {Matrix} The resized matrix\n */\n Matrix.prototype.resize = function (size, defaultValue) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke resize on a Matrix interface');\n };\n\n /**\n * Reshape the matrix to the given size. Returns a copy of the matrix when\n * `copy=true`, otherwise return the matrix itself (reshape in place).\n *\n * @param {number[]} size The new size the matrix should have.\n * @param {boolean} [copy] Return a reshaped copy of the matrix\n *\n * @return {Matrix} The reshaped matrix\n */\n Matrix.prototype.reshape = function (size, defaultValue) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke reshape on a Matrix interface');\n };\n\n /**\n * Create a clone of the matrix\n * @return {Matrix} clone\n */\n Matrix.prototype.clone = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke clone on a Matrix interface');\n };\n\n /**\n * Retrieve the size of the matrix.\n * @returns {number[]} size\n */\n Matrix.prototype.size = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke size on a Matrix interface');\n };\n\n /**\n * Create a new matrix with the results of the callback function executed on\n * each entry of the matrix.\n * @param {Function} callback The callback function is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix being traversed.\n * @param {boolean} [skipZeros] Invoke callback function for non-zero values only.\n *\n * @return {Matrix} matrix\n */\n Matrix.prototype.map = function (callback, skipZeros) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke map on a Matrix interface');\n };\n\n /**\n * Execute a callback function on each entry of the matrix.\n * @param {Function} callback The callback function is invoked with three\n * parameters: the value of the element, the index\n * of the element, and the Matrix being traversed.\n */\n Matrix.prototype.forEach = function (callback) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke forEach on a Matrix interface');\n };\n\n /**\n * Iterate over the matrix elements\n * @return {Iterable<{ value, index: number[] }>}\n */\n Matrix.prototype[Symbol.iterator] = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot iterate a Matrix interface');\n };\n\n /**\n * Create an Array with a copy of the data of the Matrix\n * @returns {Array} array\n */\n Matrix.prototype.toArray = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke toArray on a Matrix interface');\n };\n\n /**\n * Get the primitive value of the Matrix: a multidimensional array\n * @returns {Array} array\n */\n Matrix.prototype.valueOf = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke valueOf on a Matrix interface');\n };\n\n /**\n * Get a string representation of the matrix, with optional formatting options.\n * @param {Object | number | Function} [options] Formatting options. See\n * lib/utils/number:format for a\n * description of the available\n * options.\n * @returns {string} str\n */\n Matrix.prototype.format = function (options) {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke format on a Matrix interface');\n };\n\n /**\n * Get a string representation of the matrix\n * @returns {string} str\n */\n Matrix.prototype.toString = function () {\n // must be implemented by each of the Matrix implementations\n throw new Error('Cannot invoke toString on a Matrix interface');\n };\n return Matrix;\n}, {\n isClass: true\n});","import { containsCollections } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nimport { _switch } from '../../utils/switch.js';\nimport { improveErrorMessage } from './utils/improveErrorMessage.js';\nimport { arraySize } from '../../utils/array.js';\nimport { IndexError } from '../../error/IndexError.js';\nvar name = 'cumsum';\nvar dependencies = ['typed', 'add', 'unaryPlus'];\nexport var createCumSum = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n add,\n unaryPlus\n } = _ref;\n /**\n * Compute the cumulative sum of a matrix or a list with values.\n * In case of a (multi dimensional) array or matrix, the cumulative sums\n * along a specified dimension (defaulting to the first) will be calculated.\n *\n * Syntax:\n *\n * math.cumsum(a, b, c, ...)\n * math.cumsum(A)\n *\n * Examples:\n *\n * math.cumsum(2, 1, 4, 3) // returns [2, 3, 7, 10]\n * math.cumsum([2, 1, 4, 3]) // returns [2, 3, 7, 10]\n * math.cumsum([[1, 2], [3, 4]]) // returns [[1, 2], [4, 6]]\n * math.cumsum([[1, 2], [3, 4]], 0) // returns [[1, 2], [4, 6]]\n * math.cumsum([[1, 2], [3, 4]], 1) // returns [[1, 3], [3, 7]]\n * math.cumsum([[2, 5], [4, 3], [1, 7]]) // returns [[2, 5], [6, 8], [7, 15]]\n *\n * See also:\n *\n * mean, median, min, max, prod, std, variance, sum\n *\n * @param {... *} args A single matrix or or multiple scalar values\n * @return {*} The cumulative sum of all values\n */\n return typed(name, {\n // sum([a, b, c, d, ...])\n Array: _cumsum,\n Matrix: function Matrix(matrix) {\n return matrix.create(_cumsum(matrix.valueOf()));\n },\n // sum([a, b, c, d, ...], dim)\n 'Array, number | BigNumber': _ncumSumDim,\n 'Matrix, number | BigNumber': function MatrixNumberBigNumber(matrix, dim) {\n return matrix.create(_ncumSumDim(matrix.valueOf(), dim));\n },\n // cumsum(a, b, c, d, ...)\n '...': function _(args) {\n if (containsCollections(args)) {\n throw new TypeError('All values expected to be scalar in function cumsum');\n }\n return _cumsum(args);\n }\n });\n\n /**\n * Recursively calculate the cumulative sum of an n-dimensional array\n * @param {Array} array\n * @return {number} cumsum\n * @private\n */\n function _cumsum(array) {\n try {\n return _cumsummap(array);\n } catch (err) {\n throw improveErrorMessage(err, name);\n }\n }\n function _cumsummap(array) {\n if (array.length === 0) {\n return [];\n }\n var sums = [unaryPlus(array[0])]; // unaryPlus converts to number if need be\n for (var i = 1; i < array.length; ++i) {\n // Must use add below and not addScalar for the case of summing a\n // 2+-dimensional array along the 0th dimension (the row vectors,\n // or higher-d analogues, are literally added to each other).\n sums.push(add(sums[i - 1], array[i]));\n }\n return sums;\n }\n function _ncumSumDim(array, dim) {\n var size = arraySize(array);\n if (dim < 0 || dim >= size.length) {\n // TODO: would be more clear when throwing a DimensionError here\n throw new IndexError(dim, size.length);\n }\n try {\n return _cumsumDimensional(array, dim);\n } catch (err) {\n throw improveErrorMessage(err, name);\n }\n }\n\n /* Possible TODO: Refactor _reduce in collection.js to be able to work here as well */\n function _cumsumDimensional(mat, dim) {\n var i, ret, tran;\n if (dim <= 0) {\n var initialValue = mat[0][0];\n if (!Array.isArray(initialValue)) {\n return _cumsummap(mat);\n } else {\n tran = _switch(mat);\n ret = [];\n for (i = 0; i < tran.length; i++) {\n ret[i] = _cumsumDimensional(tran[i], dim - 1);\n }\n return ret;\n }\n } else {\n ret = [];\n for (i = 0; i < mat.length; i++) {\n ret[i] = _cumsumDimensional(mat[i], dim - 1);\n }\n return ret;\n }\n }\n});","import { factory } from '../../utils/factory.js';\nvar name = 'invmod';\nvar dependencies = ['typed', 'config', 'BigNumber', 'xgcd', 'equal', 'smaller', 'mod', 'add', 'isInteger'];\nexport var createInvmod = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n BigNumber,\n xgcd,\n equal,\n smaller,\n mod,\n add,\n isInteger\n } = _ref;\n /**\n * Calculate the (modular) multiplicative inverse of a modulo b. Solution to the equation `ax ≣ 1 (mod b)`\n * See https://en.wikipedia.org/wiki/Modular_multiplicative_inverse.\n *\n * Syntax:\n *\n * math.invmod(a, b)\n *\n * Examples:\n *\n * math.invmod(8, 12) // returns NaN\n * math.invmod(7, 13) // returns 2\n * math.invmod(15151, 15122) // returns 10429\n *\n * See also:\n *\n * gcd, xgcd\n *\n * @param {number | BigNumber} a An integer number\n * @param {number | BigNumber} b An integer number\n * @return {number | BigNumber } Returns an integer number\n * where `invmod(a,b)*a ≣ 1 (mod b)`\n */\n return typed(name, {\n 'number, number': invmod,\n 'BigNumber, BigNumber': invmod\n });\n function invmod(a, b) {\n if (!isInteger(a) || !isInteger(b)) throw new Error('Parameters in function invmod must be integer numbers');\n a = mod(a, b);\n if (equal(b, 0)) throw new Error('Divisor must be non zero');\n var res = xgcd(a, b);\n res = res.valueOf();\n var [gcd, inv] = res;\n if (!equal(gcd, BigNumber(1))) return NaN;\n inv = mod(inv, b);\n if (smaller(inv, BigNumber(0))) inv = add(inv, b);\n return inv;\n }\n});","import { factory } from '../../utils/factory.js';\nimport { deepMap } from '../../utils/collection.js';\nimport { signNumber } from '../../plain/number/index.js';\nvar name = 'sign';\nvar dependencies = ['typed', 'BigNumber', 'Fraction', 'complex'];\nexport var createSign = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n BigNumber: _BigNumber,\n complex,\n Fraction: _Fraction\n } = _ref;\n /**\n * Compute the sign of a value. The sign of a value x is:\n *\n * - 1 when x > 0\n * - -1 when x < 0\n * - 0 when x == 0\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.sign(x)\n *\n * Examples:\n *\n * math.sign(3.5) // returns 1\n * math.sign(-4.2) // returns -1\n * math.sign(0) // returns 0\n *\n * math.sign([3, 5, -2, 0, 2]) // returns [1, 1, -1, 0, 1]\n *\n * See also:\n *\n * abs\n *\n * @param {number | BigNumber | Fraction | Complex | Array | Matrix | Unit} x\n * The number for which to determine the sign\n * @return {number | BigNumber | Fraction | Complex | Array | Matrix | Unit}\n * The sign of `x`\n */\n return typed(name, {\n number: signNumber,\n Complex: function Complex(x) {\n return x.im === 0 ? complex(signNumber(x.re)) : x.sign();\n },\n BigNumber: function BigNumber(x) {\n return new _BigNumber(x.cmp(0));\n },\n Fraction: function Fraction(x) {\n return new _Fraction(x.s, 1);\n },\n // deep map collection, skip zeros since sign(0) = 0\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self, true)),\n Unit: typed.referToSelf(self => x => {\n if (!x._isDerived() && x.units[0].unit.offset !== 0) {\n throw new TypeError('sign is ambiguous for units with offset');\n }\n return typed.find(self, x.valueType())(x.value);\n })\n });\n});","import { typeOf } from '../../utils/is.js';\nimport { factory } from '../../utils/factory.js';\nimport { noBignumber, noFraction } from '../../utils/noop.js';\nvar name = 'numeric';\nvar dependencies = ['number', '?bignumber', '?fraction'];\nexport var createNumeric = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n number: _number,\n bignumber,\n fraction\n } = _ref;\n var validInputTypes = {\n string: true,\n number: true,\n BigNumber: true,\n Fraction: true\n };\n\n // Load the conversion functions for each output type\n var validOutputTypes = {\n number: x => _number(x),\n BigNumber: bignumber ? x => bignumber(x) : noBignumber,\n Fraction: fraction ? x => fraction(x) : noFraction\n };\n\n /**\n * Convert a numeric input to a specific numeric type: number, BigNumber, or Fraction.\n *\n * Syntax:\n *\n * math.numeric(x)\n *\n * Examples:\n *\n * math.numeric('4') // returns 4\n * math.numeric('4', 'number') // returns 4\n * math.numeric('4', 'BigNumber') // returns BigNumber 4\n * math.numeric('4', 'Fraction') // returns Fraction 4\n * math.numeric(4, 'Fraction') // returns Fraction 4\n * math.numeric(math.fraction(2, 5), 'number') // returns 0.4\n *\n * See also:\n *\n * number, fraction, bignumber, string, format\n *\n * @param {string | number | BigNumber | Fraction } value\n * A numeric value or a string containing a numeric value\n * @param {string} outputType\n * Desired numeric output type.\n * Available values: 'number', 'BigNumber', or 'Fraction'\n * @return {number | BigNumber | Fraction}\n * Returns an instance of the numeric in the requested type\n */\n return function numeric(value) {\n var outputType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'number';\n var check = arguments.length > 2 ? arguments[2] : undefined;\n if (check !== undefined) {\n throw new SyntaxError('numeric() takes one or two arguments');\n }\n var inputType = typeOf(value);\n if (!(inputType in validInputTypes)) {\n throw new TypeError('Cannot convert ' + value + ' of type \"' + inputType + '\"; valid input types are ' + Object.keys(validInputTypes).join(', '));\n }\n if (!(outputType in validOutputTypes)) {\n throw new TypeError('Cannot convert ' + value + ' to type \"' + outputType + '\"; valid output types are ' + Object.keys(validOutputTypes).join(', '));\n }\n if (outputType === inputType) {\n return value;\n } else {\n return validOutputTypes[outputType](value);\n }\n };\n});","import { factory } from '../../utils/factory.js';\nimport { secNumber } from '../../plain/number/index.js';\nimport { createTrigUnit } from './trigUnit.js';\nvar name = 'sec';\nvar dependencies = ['typed', 'BigNumber'];\nexport var createSec = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n BigNumber: _BigNumber\n } = _ref;\n var trigUnit = createTrigUnit({\n typed\n });\n\n /**\n * Calculate the secant of a value, defined as `sec(x) = 1/cos(x)`.\n *\n * To avoid confusion with the matrix secant, this function does not\n * apply to matrices.\n *\n * Syntax:\n *\n * math.sec(x)\n *\n * Examples:\n *\n * math.sec(2) // returns number -2.4029979617223822\n * 1 / math.cos(2) // returns number -2.4029979617223822\n *\n * See also:\n *\n * cos, csc, cot\n *\n * @param {number | BigNumber | Complex | Unit} x Function input\n * @return {number | BigNumber | Complex} Secant of x\n */\n return typed(name, {\n number: secNumber,\n Complex: x => x.sec(),\n BigNumber: x => new _BigNumber(1).div(x.cos())\n }, trigUnit);\n});","import { deepMap } from '../../utils/collection.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'isPrime';\nvar dependencies = ['typed'];\nexport var createIsPrime = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Test whether a value is prime: has no divisors other than itself and one.\n * The function supports type `number`, `bignumber`.\n *\n * The function is evaluated element-wise in case of Array or Matrix input.\n *\n * Syntax:\n *\n * math.isPrime(x)\n *\n * Examples:\n *\n * math.isPrime(3) // returns true\n * math.isPrime(-2) // returns false\n * math.isPrime(0) // returns false\n * math.isPrime(-0) // returns false\n * math.isPrime(0.5) // returns false\n * math.isPrime('2') // returns true\n * math.isPrime([2, 17, 100]) // returns [true, true, false]\n *\n * See also:\n *\n * isNumeric, isZero, isNegative, isInteger\n *\n * @param {number | BigNumber | Array | Matrix} x Value to be tested\n * @return {boolean} Returns true when `x` is larger than zero.\n * Throws an error in case of an unknown data type.\n */\n return typed(name, {\n number: function number(x) {\n if (x * 0 !== 0) {\n return false;\n }\n if (x <= 3) {\n return x > 1;\n }\n if (x % 2 === 0 || x % 3 === 0) {\n return false;\n }\n for (var i = 5; i * i <= x; i += 6) {\n if (x % i === 0 || x % (i + 2) === 0) {\n return false;\n }\n }\n return true;\n },\n BigNumber: function BigNumber(n) {\n if (n.toNumber() * 0 !== 0) {\n return false;\n }\n if (n.lte(3)) return n.gt(1);\n if (n.mod(2).eq(0) || n.mod(3).eq(0)) return false;\n if (n.lt(Math.pow(2, 32))) {\n var x = n.toNumber();\n for (var i = 5; i * i <= x; i += 6) {\n if (x % i === 0 || x % (i + 2) === 0) {\n return false;\n }\n }\n return true;\n }\n function modPow(base, exponent, modulus) {\n // exponent can be huge, use non-recursive variant\n var accumulator = 1;\n while (!exponent.eq(0)) {\n if (exponent.mod(2).eq(0)) {\n exponent = exponent.div(2);\n base = base.mul(base).mod(modulus);\n } else {\n exponent = exponent.sub(1);\n accumulator = base.mul(accumulator).mod(modulus);\n }\n }\n return accumulator;\n }\n\n // https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test#Deterministic_variants\n var Decimal = n.constructor.clone({\n precision: n.toFixed(0).length * 2\n });\n n = new Decimal(n);\n var r = 0;\n var d = n.sub(1);\n while (d.mod(2).eq(0)) {\n d = d.div(2);\n r += 1;\n }\n var bases = null;\n // https://en.wikipedia.org/wiki/Miller–Rabin_primality_test#Testing_against_small_sets_of_bases\n if (n.lt('3317044064679887385961981')) {\n bases = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41].filter(x => x < n);\n } else {\n var max = Math.min(n.toNumber() - 2, Math.floor(2 * Math.pow(n.toFixed(0).length * Math.log(10), 2)));\n bases = [];\n for (var _i = 2; _i <= max; _i += 1) {\n bases.push(max);\n }\n }\n for (var _i2 = 0; _i2 < bases.length; _i2 += 1) {\n var a = bases[_i2];\n var adn = modPow(n.sub(n).add(a), d, n);\n if (!adn.eq(1)) {\n for (var _i3 = 0, _x = adn; !_x.eq(n.sub(1)); _i3 += 1, _x = _x.mul(_x).mod(n)) {\n if (_i3 === r - 1) {\n return false;\n }\n }\n }\n }\n return true;\n },\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// type checks for all known types\n//\n// note that:\n//\n// - check by duck-typing on a property like `isUnit`, instead of checking instanceof.\n// instanceof cannot be used because that would not allow to pass data from\n// one instance of math.js to another since each has it's own instance of Unit.\n// - check the `isUnit` property via the constructor, so there will be no\n// matches for \"fake\" instances like plain objects with a property `isUnit`.\n// That is important for security reasons.\n// - It must not be possible to override the type checks used internally,\n// for security reasons, so these functions are not exposed in the expression\n// parser.\n\nexport function isNumber(x) {\n return typeof x === 'number';\n}\nexport function isBigNumber(x) {\n if (!x || typeof x !== 'object' || typeof x.constructor !== 'function') {\n return false;\n }\n if (x.isBigNumber === true && typeof x.constructor.prototype === 'object' && x.constructor.prototype.isBigNumber === true) {\n return true;\n }\n if (typeof x.constructor.isDecimal === 'function' && x.constructor.isDecimal(x) === true) {\n return true;\n }\n return false;\n}\nexport function isComplex(x) {\n return x && typeof x === 'object' && Object.getPrototypeOf(x).isComplex === true || false;\n}\nexport function isFraction(x) {\n return x && typeof x === 'object' && Object.getPrototypeOf(x).isFraction === true || false;\n}\nexport function isUnit(x) {\n return x && x.constructor.prototype.isUnit === true || false;\n}\nexport function isString(x) {\n return typeof x === 'string';\n}\nexport var isArray = Array.isArray;\nexport function isMatrix(x) {\n return x && x.constructor.prototype.isMatrix === true || false;\n}\n\n/**\n * Test whether a value is a collection: an Array or Matrix\n * @param {*} x\n * @returns {boolean} isCollection\n */\nexport function isCollection(x) {\n return Array.isArray(x) || isMatrix(x);\n}\nexport function isDenseMatrix(x) {\n return x && x.isDenseMatrix && x.constructor.prototype.isMatrix === true || false;\n}\nexport function isSparseMatrix(x) {\n return x && x.isSparseMatrix && x.constructor.prototype.isMatrix === true || false;\n}\nexport function isRange(x) {\n return x && x.constructor.prototype.isRange === true || false;\n}\nexport function isIndex(x) {\n return x && x.constructor.prototype.isIndex === true || false;\n}\nexport function isBoolean(x) {\n return typeof x === 'boolean';\n}\nexport function isResultSet(x) {\n return x && x.constructor.prototype.isResultSet === true || false;\n}\nexport function isHelp(x) {\n return x && x.constructor.prototype.isHelp === true || false;\n}\nexport function isFunction(x) {\n return typeof x === 'function';\n}\nexport function isDate(x) {\n return x instanceof Date;\n}\nexport function isRegExp(x) {\n return x instanceof RegExp;\n}\nexport function isObject(x) {\n return !!(x && typeof x === 'object' && x.constructor === Object && !isComplex(x) && !isFraction(x));\n}\nexport function isNull(x) {\n return x === null;\n}\nexport function isUndefined(x) {\n return x === undefined;\n}\nexport function isAccessorNode(x) {\n return x && x.isAccessorNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isArrayNode(x) {\n return x && x.isArrayNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isAssignmentNode(x) {\n return x && x.isAssignmentNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isBlockNode(x) {\n return x && x.isBlockNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isConditionalNode(x) {\n return x && x.isConditionalNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isConstantNode(x) {\n return x && x.isConstantNode === true && x.constructor.prototype.isNode === true || false;\n}\n\n/* Very specialized: returns true for those nodes which in the numerator of\n a fraction means that the division in that fraction has precedence over implicit\n multiplication, e.g. -2/3 x parses as (-2/3) x and 3/4 x parses as (3/4) x but\n 6!/8 x parses as 6! / (8x). It is located here because it is shared between\n parse.js and OperatorNode.js (for parsing and printing, respectively).\n\n This should *not* be exported from mathjs, unlike most of the tests here.\n Its name does not start with 'is' to prevent utils/snapshot.js from thinking\n it should be exported.\n*/\nexport function rule2Node(node) {\n return isConstantNode(node) || isOperatorNode(node) && node.args.length === 1 && isConstantNode(node.args[0]) && '-+~'.includes(node.op);\n}\nexport function isFunctionAssignmentNode(x) {\n return x && x.isFunctionAssignmentNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isFunctionNode(x) {\n return x && x.isFunctionNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isIndexNode(x) {\n return x && x.isIndexNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isNode(x) {\n return x && x.isNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isObjectNode(x) {\n return x && x.isObjectNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isOperatorNode(x) {\n return x && x.isOperatorNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isParenthesisNode(x) {\n return x && x.isParenthesisNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isRangeNode(x) {\n return x && x.isRangeNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isRelationalNode(x) {\n return x && x.isRelationalNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isSymbolNode(x) {\n return x && x.isSymbolNode === true && x.constructor.prototype.isNode === true || false;\n}\nexport function isChain(x) {\n return x && x.constructor.prototype.isChain === true || false;\n}\nexport function typeOf(x) {\n var t = typeof x;\n if (t === 'object') {\n if (x === null) return 'null';\n if (isBigNumber(x)) return 'BigNumber'; // Special: weird mashup with Decimal\n if (x.constructor && x.constructor.name) return x.constructor.name;\n return 'Object'; // just in case\n }\n\n return t; // can be 'string', 'number', 'boolean', 'function', 'bigint', ...\n}","import { factory } from '../../../utils/factory.js';\nvar name = 'sparse';\nvar dependencies = ['typed', 'SparseMatrix'];\nexport var createSparse = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n SparseMatrix\n } = _ref;\n /**\n * Create a Sparse Matrix. The function creates a new `math.Matrix` object from\n * an `Array`. A Matrix has utility functions to manipulate the data in the\n * matrix, like getting the size and getting or setting values in the matrix.\n * Note that a Sparse Matrix is always 2-dimensional, so for example if\n * you create one from a plain array of _n_ numbers, you get an _n_ by 1\n * Sparse \"column vector\".\n *\n * Syntax:\n *\n * math.sparse() // creates an empty sparse matrix.\n * math.sparse(data) // creates a sparse matrix with initial data.\n * math.sparse(data, 'number') // creates a sparse matrix with initial data, number datatype.\n *\n * Examples:\n *\n * let m = math.sparse([[1, 2], [3, 4]])\n * m.size() // Array [2, 2]\n * m.resize([3, 2], 5)\n * m.valueOf() // Array [[1, 2], [3, 4], [5, 5]]\n * m.get([1, 0]) // number 3\n * let v = math.sparse([0, 0, 1])\n * v.size() // Array [3, 1]\n * v.get([2, 0]) // number 1\n *\n * See also:\n *\n * bignumber, boolean, complex, index, number, string, unit, matrix\n *\n * @param {Array | Matrix} [data] A two dimensional array\n *\n * @return {Matrix} The created matrix\n */\n return typed(name, {\n '': function _() {\n return new SparseMatrix([]);\n },\n string: function string(datatype) {\n return new SparseMatrix([], datatype);\n },\n 'Array | Matrix': function ArrayMatrix(data) {\n return new SparseMatrix(data);\n },\n 'Array | Matrix, string': function ArrayMatrixString(data, datatype) {\n return new SparseMatrix(data, datatype);\n }\n });\n});","import { factory } from '../../utils/factory.js';\nimport { randomMatrix } from './util/randomMatrix.js';\nimport { createRng } from './util/seededRNG.js';\nimport { isMatrix } from '../../utils/is.js';\nvar name = 'randomInt';\nvar dependencies = ['typed', 'config', '?on'];\nexport var createRandomInt = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n on\n } = _ref;\n // seeded pseudo random number generator\n var rng = createRng(config.randomSeed);\n if (on) {\n on('config', function (curr, prev) {\n if (curr.randomSeed !== prev.randomSeed) {\n rng = createRng(curr.randomSeed);\n }\n });\n }\n\n /**\n * Return a random integer number larger or equal to `min` and smaller than `max`\n * using a uniform distribution.\n *\n * Syntax:\n *\n * math.randomInt() // generate a random integer between 0 and 1\n * math.randomInt(max) // generate a random integer between 0 and max\n * math.randomInt(min, max) // generate a random integer between min and max\n * math.randomInt(size) // generate a matrix with random integer between 0 and 1\n * math.randomInt(size, max) // generate a matrix with random integer between 0 and max\n * math.randomInt(size, min, max) // generate a matrix with random integer between min and max\n *\n * Examples:\n *\n * math.randomInt(100) // returns a random integer between 0 and 100\n * math.randomInt(30, 40) // returns a random integer between 30 and 40\n * math.randomInt([2, 3]) // returns a 2x3 matrix with random integers between 0 and 1\n *\n * See also:\n *\n * random, pickRandom\n *\n * @param {Array | Matrix} [size] If provided, an array or matrix with given\n * size and filled with random values is returned\n * @param {number} [min] Minimum boundary for the random value, included\n * @param {number} [max] Maximum boundary for the random value, excluded\n * @return {number | Array | Matrix} A random integer value\n */\n return typed(name, {\n '': () => _randomInt(0, 1),\n number: max => _randomInt(0, max),\n 'number, number': (min, max) => _randomInt(min, max),\n 'Array | Matrix': size => _randomIntMatrix(size, 0, 1),\n 'Array | Matrix, number': (size, max) => _randomIntMatrix(size, 0, max),\n 'Array | Matrix, number, number': (size, min, max) => _randomIntMatrix(size, min, max)\n });\n function _randomIntMatrix(size, min, max) {\n var res = randomMatrix(size.valueOf(), () => _randomInt(min, max));\n return isMatrix(size) ? size.create(res) : res;\n }\n function _randomInt(min, max) {\n return Math.floor(min + rng() * (max - min));\n }\n});","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export var DEFAULT_CONFIG = {\n // minimum relative difference between two compared values,\n // used by all comparison functions\n epsilon: 1e-12,\n // type of default matrix output. Choose 'matrix' (default) or 'array'\n matrix: 'Matrix',\n // type of default number output. Choose 'number' (default) 'BigNumber', or 'Fraction\n number: 'number',\n // number of significant digits in BigNumbers\n precision: 64,\n // predictable output type of functions. When true, output type depends only\n // on the input types. When false (default), output type can vary depending\n // on input values. For example `math.sqrt(-4)` returns `complex('2i')` when\n // predictable is false, and returns `NaN` when true.\n predictable: false,\n // random seed for seeded pseudo random number generation\n // null = randomly seed\n randomSeed: null\n};","import { clone, mapObject, deepExtend } from '../../utils/object.js';\nimport { DEFAULT_CONFIG } from '../config.js';\nexport var MATRIX_OPTIONS = ['Matrix', 'Array']; // valid values for option matrix\nexport var NUMBER_OPTIONS = ['number', 'BigNumber', 'Fraction']; // valid values for option number\n\nexport function configFactory(config, emit) {\n /**\n * Set configuration options for math.js, and get current options.\n * Will emit a 'config' event, with arguments (curr, prev, changes).\n *\n * This function is only available on a mathjs instance created using `create`.\n *\n * Syntax:\n *\n * math.config(config: Object): Object\n *\n * Examples:\n *\n *\n * import { create, all } from 'mathjs'\n *\n * // create a mathjs instance\n * const math = create(all)\n *\n * math.config().number // outputs 'number'\n * math.evaluate('0.4') // outputs number 0.4\n * math.config({number: 'Fraction'})\n * math.evaluate('0.4') // outputs Fraction 2/5\n *\n * @param {Object} [options] Available options:\n * {number} epsilon\n * Minimum relative difference between two\n * compared values, used by all comparison functions.\n * {string} matrix\n * A string 'Matrix' (default) or 'Array'.\n * {string} number\n * A string 'number' (default), 'BigNumber', or 'Fraction'\n * {number} precision\n * The number of significant digits for BigNumbers.\n * Not applicable for Numbers.\n * {string} parenthesis\n * How to display parentheses in LaTeX and string\n * output.\n * {string} randomSeed\n * Random seed for seeded pseudo random number generator.\n * Set to null to randomly seed.\n * @return {Object} Returns the current configuration\n */\n function _config(options) {\n if (options) {\n var prev = mapObject(config, clone);\n\n // validate some of the options\n validateOption(options, 'matrix', MATRIX_OPTIONS);\n validateOption(options, 'number', NUMBER_OPTIONS);\n\n // merge options\n deepExtend(config, options);\n var curr = mapObject(config, clone);\n var changes = mapObject(options, clone);\n\n // emit 'config' event\n emit('config', curr, prev, changes);\n return curr;\n } else {\n return mapObject(config, clone);\n }\n }\n\n // attach the valid options to the function so they can be extended\n _config.MATRIX_OPTIONS = MATRIX_OPTIONS;\n _config.NUMBER_OPTIONS = NUMBER_OPTIONS;\n\n // attach the config properties as readonly properties to the config function\n Object.keys(DEFAULT_CONFIG).forEach(key => {\n Object.defineProperty(_config, key, {\n get: () => config[key],\n enumerable: true,\n configurable: true\n });\n });\n return _config;\n}\n\n/**\n * Test whether an Array contains a specific item.\n * @param {Array.} array\n * @param {string} item\n * @return {boolean}\n */\nfunction contains(array, item) {\n return array.indexOf(item) !== -1;\n}\n\n/**\n * Validate an option\n * @param {Object} options Object with options\n * @param {string} name Name of the option to validate\n * @param {Array.} values Array with valid values for this option\n */\nfunction validateOption(options, name, values) {\n if (options[name] !== undefined && !contains(values, options[name])) {\n // unknown value\n console.warn('Warning: Unknown value \"' + options[name] + '\" for configuration option \"' + name + '\". ' + 'Available options: ' + values.map(value => JSON.stringify(value)).join(', ') + '.');\n }\n}","import { factory } from '../../../utils/factory.js';\nvar name = 'matAlgo11xS0s';\nvar dependencies = ['typed', 'equalScalar'];\nexport var createMatAlgo11xS0s = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n equalScalar\n } = _ref;\n /**\n * Iterates over SparseMatrix S nonzero items and invokes the callback function f(Sij, b).\n * Callback function invoked NZ times (number of nonzero items in S).\n *\n *\n * ┌ f(Sij, b) ; S(i,j) !== 0\n * C(i,j) = ┤\n * └ 0 ; otherwise\n *\n *\n * @param {Matrix} s The SparseMatrix instance (S)\n * @param {Scalar} b The Scalar value\n * @param {Function} callback The f(Aij,b) operation to invoke\n * @param {boolean} inverse A true value indicates callback should be invoked f(b,Sij)\n *\n * @return {Matrix} SparseMatrix (C)\n *\n * https://github.com/josdejong/mathjs/pull/346#issuecomment-97626813\n */\n return function matAlgo11xS0s(s, b, callback, inverse) {\n // sparse matrix arrays\n var avalues = s._values;\n var aindex = s._index;\n var aptr = s._ptr;\n var asize = s._size;\n var adt = s._datatype;\n\n // sparse matrix cannot be a Pattern matrix\n if (!avalues) {\n throw new Error('Cannot perform operation on Pattern Sparse Matrix and Scalar value');\n }\n\n // rows & columns\n var rows = asize[0];\n var columns = asize[1];\n\n // datatype\n var dt;\n // equal signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n // callback signature to use\n var cf = callback;\n\n // process data types\n if (typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signature that matches (dt, dt)\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n // convert b to the same datatype\n b = typed.convert(b, dt);\n // callback\n cf = typed.find(callback, [dt, dt]);\n }\n\n // result arrays\n var cvalues = [];\n var cindex = [];\n var cptr = [];\n\n // loop columns\n for (var j = 0; j < columns; j++) {\n // initialize ptr\n cptr[j] = cindex.length;\n // values in j\n for (var k0 = aptr[j], k1 = aptr[j + 1], k = k0; k < k1; k++) {\n // row\n var i = aindex[k];\n // invoke callback\n var v = inverse ? cf(b, avalues[k]) : cf(avalues[k], b);\n // check value is zero\n if (!eq(v, zero)) {\n // push index & value\n cindex.push(i);\n cvalues.push(v);\n }\n }\n }\n // update ptr\n cptr[columns] = cindex.length;\n\n // return sparse matrix\n return s.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [rows, columns],\n datatype: dt\n });\n };\n});","import { arraySize, squeeze } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'cross';\nvar dependencies = ['typed', 'matrix', 'subtract', 'multiply'];\nexport var createCross = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n subtract,\n multiply\n } = _ref;\n /**\n * Calculate the cross product for two vectors in three dimensional space.\n * The cross product of `A = [a1, a2, a3]` and `B = [b1, b2, b3]` is defined\n * as:\n *\n * cross(A, B) = [\n * a2 * b3 - a3 * b2,\n * a3 * b1 - a1 * b3,\n * a1 * b2 - a2 * b1\n * ]\n *\n * If one of the input vectors has a dimension greater than 1, the output\n * vector will be a 1x3 (2-dimensional) matrix.\n *\n * Syntax:\n *\n * math.cross(x, y)\n *\n * Examples:\n *\n * math.cross([1, 1, 0], [0, 1, 1]) // Returns [1, -1, 1]\n * math.cross([3, -3, 1], [4, 9, 2]) // Returns [-15, -2, 39]\n * math.cross([2, 3, 4], [5, 6, 7]) // Returns [-3, 6, -3]\n * math.cross([[1, 2, 3]], [[4], [5], [6]]) // Returns [[-3, 6, -3]]\n *\n * See also:\n *\n * dot, multiply\n *\n * @param {Array | Matrix} x First vector\n * @param {Array | Matrix} y Second vector\n * @return {Array | Matrix} Returns the cross product of `x` and `y`\n */\n return typed(name, {\n 'Matrix, Matrix': function MatrixMatrix(x, y) {\n return matrix(_cross(x.toArray(), y.toArray()));\n },\n 'Matrix, Array': function MatrixArray(x, y) {\n return matrix(_cross(x.toArray(), y));\n },\n 'Array, Matrix': function ArrayMatrix(x, y) {\n return matrix(_cross(x, y.toArray()));\n },\n 'Array, Array': _cross\n });\n\n /**\n * Calculate the cross product for two arrays\n * @param {Array} x First vector\n * @param {Array} y Second vector\n * @returns {Array} Returns the cross product of x and y\n * @private\n */\n function _cross(x, y) {\n var highestDimension = Math.max(arraySize(x).length, arraySize(y).length);\n x = squeeze(x);\n y = squeeze(y);\n var xSize = arraySize(x);\n var ySize = arraySize(y);\n if (xSize.length !== 1 || ySize.length !== 1 || xSize[0] !== 3 || ySize[0] !== 3) {\n throw new RangeError('Vectors with length 3 expected ' + '(Size A = [' + xSize.join(', ') + '], B = [' + ySize.join(', ') + '])');\n }\n var product = [subtract(multiply(x[1], y[2]), multiply(x[2], y[1])), subtract(multiply(x[2], y[0]), multiply(x[0], y[2])), subtract(multiply(x[0], y[1]), multiply(x[1], y[0]))];\n if (highestDimension > 1) {\n return [product];\n } else {\n return product;\n }\n }\n});","import { factory } from '../../utils/factory.js';\nimport { isMatrix } from '../../utils/is.js';\nimport { arraySize } from '../../utils/array.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nvar name = 'multiply';\nvar dependencies = ['typed', 'matrix', 'addScalar', 'multiplyScalar', 'equalScalar', 'dot'];\nexport var createMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n addScalar,\n multiplyScalar,\n equalScalar,\n dot\n } = _ref;\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n function _validateMatrixDimensions(size1, size2) {\n // check left operand dimensions\n switch (size1.length) {\n case 1:\n // check size2\n switch (size2.length) {\n case 1:\n // Vector x Vector\n if (size1[0] !== size2[0]) {\n // throw error\n throw new RangeError('Dimension mismatch in multiplication. Vectors must have the same length');\n }\n break;\n case 2:\n // Vector x Matrix\n if (size1[0] !== size2[0]) {\n // throw error\n throw new RangeError('Dimension mismatch in multiplication. Vector length (' + size1[0] + ') must match Matrix rows (' + size2[0] + ')');\n }\n break;\n default:\n throw new Error('Can only multiply a 1 or 2 dimensional matrix (Matrix B has ' + size2.length + ' dimensions)');\n }\n break;\n case 2:\n // check size2\n switch (size2.length) {\n case 1:\n // Matrix x Vector\n if (size1[1] !== size2[0]) {\n // throw error\n throw new RangeError('Dimension mismatch in multiplication. Matrix columns (' + size1[1] + ') must match Vector length (' + size2[0] + ')');\n }\n break;\n case 2:\n // Matrix x Matrix\n if (size1[1] !== size2[0]) {\n // throw error\n throw new RangeError('Dimension mismatch in multiplication. Matrix A columns (' + size1[1] + ') must match Matrix B rows (' + size2[0] + ')');\n }\n break;\n default:\n throw new Error('Can only multiply a 1 or 2 dimensional matrix (Matrix B has ' + size2.length + ' dimensions)');\n }\n break;\n default:\n throw new Error('Can only multiply a 1 or 2 dimensional matrix (Matrix A has ' + size1.length + ' dimensions)');\n }\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a Dense Vector (N)\n * @param {Matrix} b Dense Vector (N)\n *\n * @return {number} Scalar value\n */\n function _multiplyVectorVector(a, b, n) {\n // check empty vector\n if (n === 0) {\n throw new Error('Cannot multiply two empty vectors');\n }\n return dot(a, b);\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a Dense Vector (M)\n * @param {Matrix} b Matrix (MxN)\n *\n * @return {Matrix} Dense Vector (N)\n */\n function _multiplyVectorMatrix(a, b) {\n // process storage\n if (b.storage() !== 'dense') {\n throw new Error('Support for SparseMatrix not implemented');\n }\n return _multiplyVectorDenseMatrix(a, b);\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a Dense Vector (M)\n * @param {Matrix} b Dense Matrix (MxN)\n *\n * @return {Matrix} Dense Vector (N)\n */\n function _multiplyVectorDenseMatrix(a, b) {\n // a dense\n var adata = a._data;\n var asize = a._size;\n var adt = a._datatype;\n // b dense\n var bdata = b._data;\n var bsize = b._size;\n var bdt = b._datatype;\n // rows & columns\n var alength = asize[0];\n var bcolumns = bsize[1];\n\n // datatype\n var dt;\n // addScalar signature to use\n var af = addScalar;\n // multiplyScalar signature to use\n var mf = multiplyScalar;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signatures that matches (dt, dt)\n af = typed.find(addScalar, [dt, dt]);\n mf = typed.find(multiplyScalar, [dt, dt]);\n }\n\n // result\n var c = [];\n\n // loop matrix columns\n for (var j = 0; j < bcolumns; j++) {\n // sum (do not initialize it with zero)\n var sum = mf(adata[0], bdata[0][j]);\n // loop vector\n for (var i = 1; i < alength; i++) {\n // multiply & accumulate\n sum = af(sum, mf(adata[i], bdata[i][j]));\n }\n c[j] = sum;\n }\n\n // return matrix\n return a.createDenseMatrix({\n data: c,\n size: [bcolumns],\n datatype: dt\n });\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a Matrix (MxN)\n * @param {Matrix} b Dense Vector (N)\n *\n * @return {Matrix} Dense Vector (M)\n */\n var _multiplyMatrixVector = typed('_multiplyMatrixVector', {\n 'DenseMatrix, any': _multiplyDenseMatrixVector,\n 'SparseMatrix, any': _multiplySparseMatrixVector\n });\n\n /**\n * C = A * B\n *\n * @param {Matrix} a Matrix (MxN)\n * @param {Matrix} b Matrix (NxC)\n *\n * @return {Matrix} Matrix (MxC)\n */\n var _multiplyMatrixMatrix = typed('_multiplyMatrixMatrix', {\n 'DenseMatrix, DenseMatrix': _multiplyDenseMatrixDenseMatrix,\n 'DenseMatrix, SparseMatrix': _multiplyDenseMatrixSparseMatrix,\n 'SparseMatrix, DenseMatrix': _multiplySparseMatrixDenseMatrix,\n 'SparseMatrix, SparseMatrix': _multiplySparseMatrixSparseMatrix\n });\n\n /**\n * C = A * B\n *\n * @param {Matrix} a DenseMatrix (MxN)\n * @param {Matrix} b Dense Vector (N)\n *\n * @return {Matrix} Dense Vector (M)\n */\n function _multiplyDenseMatrixVector(a, b) {\n // a dense\n var adata = a._data;\n var asize = a._size;\n var adt = a._datatype;\n // b dense\n var bdata = b._data;\n var bdt = b._datatype;\n // rows & columns\n var arows = asize[0];\n var acolumns = asize[1];\n\n // datatype\n var dt;\n // addScalar signature to use\n var af = addScalar;\n // multiplyScalar signature to use\n var mf = multiplyScalar;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signatures that matches (dt, dt)\n af = typed.find(addScalar, [dt, dt]);\n mf = typed.find(multiplyScalar, [dt, dt]);\n }\n\n // result\n var c = [];\n\n // loop matrix a rows\n for (var i = 0; i < arows; i++) {\n // current row\n var row = adata[i];\n // sum (do not initialize it with zero)\n var sum = mf(row[0], bdata[0]);\n // loop matrix a columns\n for (var j = 1; j < acolumns; j++) {\n // multiply & accumulate\n sum = af(sum, mf(row[j], bdata[j]));\n }\n c[i] = sum;\n }\n\n // return matrix\n return a.createDenseMatrix({\n data: c,\n size: [arows],\n datatype: dt\n });\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a DenseMatrix (MxN)\n * @param {Matrix} b DenseMatrix (NxC)\n *\n * @return {Matrix} DenseMatrix (MxC)\n */\n function _multiplyDenseMatrixDenseMatrix(a, b) {\n // a dense\n var adata = a._data;\n var asize = a._size;\n var adt = a._datatype;\n // b dense\n var bdata = b._data;\n var bsize = b._size;\n var bdt = b._datatype;\n // rows & columns\n var arows = asize[0];\n var acolumns = asize[1];\n var bcolumns = bsize[1];\n\n // datatype\n var dt;\n // addScalar signature to use\n var af = addScalar;\n // multiplyScalar signature to use\n var mf = multiplyScalar;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signatures that matches (dt, dt)\n af = typed.find(addScalar, [dt, dt]);\n mf = typed.find(multiplyScalar, [dt, dt]);\n }\n\n // result\n var c = [];\n\n // loop matrix a rows\n for (var i = 0; i < arows; i++) {\n // current row\n var row = adata[i];\n // initialize row array\n c[i] = [];\n // loop matrix b columns\n for (var j = 0; j < bcolumns; j++) {\n // sum (avoid initializing sum to zero)\n var sum = mf(row[0], bdata[0][j]);\n // loop matrix a columns\n for (var x = 1; x < acolumns; x++) {\n // multiply & accumulate\n sum = af(sum, mf(row[x], bdata[x][j]));\n }\n c[i][j] = sum;\n }\n }\n\n // return matrix\n return a.createDenseMatrix({\n data: c,\n size: [arows, bcolumns],\n datatype: dt\n });\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a DenseMatrix (MxN)\n * @param {Matrix} b SparseMatrix (NxC)\n *\n * @return {Matrix} SparseMatrix (MxC)\n */\n function _multiplyDenseMatrixSparseMatrix(a, b) {\n // a dense\n var adata = a._data;\n var asize = a._size;\n var adt = a._datatype;\n // b sparse\n var bvalues = b._values;\n var bindex = b._index;\n var bptr = b._ptr;\n var bsize = b._size;\n var bdt = b._datatype;\n // validate b matrix\n if (!bvalues) {\n throw new Error('Cannot multiply Dense Matrix times Pattern only Matrix');\n }\n // rows & columns\n var arows = asize[0];\n var bcolumns = bsize[1];\n\n // datatype\n var dt;\n // addScalar signature to use\n var af = addScalar;\n // multiplyScalar signature to use\n var mf = multiplyScalar;\n // equalScalar signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signatures that matches (dt, dt)\n af = typed.find(addScalar, [dt, dt]);\n mf = typed.find(multiplyScalar, [dt, dt]);\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n }\n\n // result\n var cvalues = [];\n var cindex = [];\n var cptr = [];\n // c matrix\n var c = b.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [arows, bcolumns],\n datatype: dt\n });\n\n // loop b columns\n for (var jb = 0; jb < bcolumns; jb++) {\n // update ptr\n cptr[jb] = cindex.length;\n // indeces in column jb\n var kb0 = bptr[jb];\n var kb1 = bptr[jb + 1];\n // do not process column jb if no data exists\n if (kb1 > kb0) {\n // last row mark processed\n var last = 0;\n // loop a rows\n for (var i = 0; i < arows; i++) {\n // column mark\n var mark = i + 1;\n // C[i, jb]\n var cij = void 0;\n // values in b column j\n for (var kb = kb0; kb < kb1; kb++) {\n // row\n var ib = bindex[kb];\n // check value has been initialized\n if (last !== mark) {\n // first value in column jb\n cij = mf(adata[i][ib], bvalues[kb]);\n // update mark\n last = mark;\n } else {\n // accumulate value\n cij = af(cij, mf(adata[i][ib], bvalues[kb]));\n }\n }\n // check column has been processed and value != 0\n if (last === mark && !eq(cij, zero)) {\n // push row & value\n cindex.push(i);\n cvalues.push(cij);\n }\n }\n }\n }\n // update ptr\n cptr[bcolumns] = cindex.length;\n\n // return sparse matrix\n return c;\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a SparseMatrix (MxN)\n * @param {Matrix} b Dense Vector (N)\n *\n * @return {Matrix} SparseMatrix (M, 1)\n */\n function _multiplySparseMatrixVector(a, b) {\n // a sparse\n var avalues = a._values;\n var aindex = a._index;\n var aptr = a._ptr;\n var adt = a._datatype;\n // validate a matrix\n if (!avalues) {\n throw new Error('Cannot multiply Pattern only Matrix times Dense Matrix');\n }\n // b dense\n var bdata = b._data;\n var bdt = b._datatype;\n // rows & columns\n var arows = a._size[0];\n var brows = b._size[0];\n // result\n var cvalues = [];\n var cindex = [];\n var cptr = [];\n\n // datatype\n var dt;\n // addScalar signature to use\n var af = addScalar;\n // multiplyScalar signature to use\n var mf = multiplyScalar;\n // equalScalar signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signatures that matches (dt, dt)\n af = typed.find(addScalar, [dt, dt]);\n mf = typed.find(multiplyScalar, [dt, dt]);\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n }\n\n // workspace\n var x = [];\n // vector with marks indicating a value x[i] exists in a given column\n var w = [];\n\n // update ptr\n cptr[0] = 0;\n // rows in b\n for (var ib = 0; ib < brows; ib++) {\n // b[ib]\n var vbi = bdata[ib];\n // check b[ib] != 0, avoid loops\n if (!eq(vbi, zero)) {\n // A values & index in ib column\n for (var ka0 = aptr[ib], ka1 = aptr[ib + 1], ka = ka0; ka < ka1; ka++) {\n // a row\n var ia = aindex[ka];\n // check value exists in current j\n if (!w[ia]) {\n // ia is new entry in j\n w[ia] = true;\n // add i to pattern of C\n cindex.push(ia);\n // x(ia) = A\n x[ia] = mf(vbi, avalues[ka]);\n } else {\n // i exists in C already\n x[ia] = af(x[ia], mf(vbi, avalues[ka]));\n }\n }\n }\n }\n // copy values from x to column jb of c\n for (var p1 = cindex.length, p = 0; p < p1; p++) {\n // row\n var ic = cindex[p];\n // copy value\n cvalues[p] = x[ic];\n }\n // update ptr\n cptr[1] = cindex.length;\n\n // return sparse matrix\n return a.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [arows, 1],\n datatype: dt\n });\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a SparseMatrix (MxN)\n * @param {Matrix} b DenseMatrix (NxC)\n *\n * @return {Matrix} SparseMatrix (MxC)\n */\n function _multiplySparseMatrixDenseMatrix(a, b) {\n // a sparse\n var avalues = a._values;\n var aindex = a._index;\n var aptr = a._ptr;\n var adt = a._datatype;\n // validate a matrix\n if (!avalues) {\n throw new Error('Cannot multiply Pattern only Matrix times Dense Matrix');\n }\n // b dense\n var bdata = b._data;\n var bdt = b._datatype;\n // rows & columns\n var arows = a._size[0];\n var brows = b._size[0];\n var bcolumns = b._size[1];\n\n // datatype\n var dt;\n // addScalar signature to use\n var af = addScalar;\n // multiplyScalar signature to use\n var mf = multiplyScalar;\n // equalScalar signature to use\n var eq = equalScalar;\n // zero value\n var zero = 0;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signatures that matches (dt, dt)\n af = typed.find(addScalar, [dt, dt]);\n mf = typed.find(multiplyScalar, [dt, dt]);\n eq = typed.find(equalScalar, [dt, dt]);\n // convert 0 to the same datatype\n zero = typed.convert(0, dt);\n }\n\n // result\n var cvalues = [];\n var cindex = [];\n var cptr = [];\n // c matrix\n var c = a.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [arows, bcolumns],\n datatype: dt\n });\n\n // workspace\n var x = [];\n // vector with marks indicating a value x[i] exists in a given column\n var w = [];\n\n // loop b columns\n for (var jb = 0; jb < bcolumns; jb++) {\n // update ptr\n cptr[jb] = cindex.length;\n // mark in workspace for current column\n var mark = jb + 1;\n // rows in jb\n for (var ib = 0; ib < brows; ib++) {\n // b[ib, jb]\n var vbij = bdata[ib][jb];\n // check b[ib, jb] != 0, avoid loops\n if (!eq(vbij, zero)) {\n // A values & index in ib column\n for (var ka0 = aptr[ib], ka1 = aptr[ib + 1], ka = ka0; ka < ka1; ka++) {\n // a row\n var ia = aindex[ka];\n // check value exists in current j\n if (w[ia] !== mark) {\n // ia is new entry in j\n w[ia] = mark;\n // add i to pattern of C\n cindex.push(ia);\n // x(ia) = A\n x[ia] = mf(vbij, avalues[ka]);\n } else {\n // i exists in C already\n x[ia] = af(x[ia], mf(vbij, avalues[ka]));\n }\n }\n }\n }\n // copy values from x to column jb of c\n for (var p0 = cptr[jb], p1 = cindex.length, p = p0; p < p1; p++) {\n // row\n var ic = cindex[p];\n // copy value\n cvalues[p] = x[ic];\n }\n }\n // update ptr\n cptr[bcolumns] = cindex.length;\n\n // return sparse matrix\n return c;\n }\n\n /**\n * C = A * B\n *\n * @param {Matrix} a SparseMatrix (MxN)\n * @param {Matrix} b SparseMatrix (NxC)\n *\n * @return {Matrix} SparseMatrix (MxC)\n */\n function _multiplySparseMatrixSparseMatrix(a, b) {\n // a sparse\n var avalues = a._values;\n var aindex = a._index;\n var aptr = a._ptr;\n var adt = a._datatype;\n // b sparse\n var bvalues = b._values;\n var bindex = b._index;\n var bptr = b._ptr;\n var bdt = b._datatype;\n\n // rows & columns\n var arows = a._size[0];\n var bcolumns = b._size[1];\n // flag indicating both matrices (a & b) contain data\n var values = avalues && bvalues;\n\n // datatype\n var dt;\n // addScalar signature to use\n var af = addScalar;\n // multiplyScalar signature to use\n var mf = multiplyScalar;\n\n // process data types\n if (adt && bdt && adt === bdt && typeof adt === 'string') {\n // datatype\n dt = adt;\n // find signatures that matches (dt, dt)\n af = typed.find(addScalar, [dt, dt]);\n mf = typed.find(multiplyScalar, [dt, dt]);\n }\n\n // result\n var cvalues = values ? [] : undefined;\n var cindex = [];\n var cptr = [];\n // c matrix\n var c = a.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [arows, bcolumns],\n datatype: dt\n });\n\n // workspace\n var x = values ? [] : undefined;\n // vector with marks indicating a value x[i] exists in a given column\n var w = [];\n // variables\n var ka, ka0, ka1, kb, kb0, kb1, ia, ib;\n // loop b columns\n for (var jb = 0; jb < bcolumns; jb++) {\n // update ptr\n cptr[jb] = cindex.length;\n // mark in workspace for current column\n var mark = jb + 1;\n // B values & index in j\n for (kb0 = bptr[jb], kb1 = bptr[jb + 1], kb = kb0; kb < kb1; kb++) {\n // b row\n ib = bindex[kb];\n // check we need to process values\n if (values) {\n // loop values in a[:,ib]\n for (ka0 = aptr[ib], ka1 = aptr[ib + 1], ka = ka0; ka < ka1; ka++) {\n // row\n ia = aindex[ka];\n // check value exists in current j\n if (w[ia] !== mark) {\n // ia is new entry in j\n w[ia] = mark;\n // add i to pattern of C\n cindex.push(ia);\n // x(ia) = A\n x[ia] = mf(bvalues[kb], avalues[ka]);\n } else {\n // i exists in C already\n x[ia] = af(x[ia], mf(bvalues[kb], avalues[ka]));\n }\n }\n } else {\n // loop values in a[:,ib]\n for (ka0 = aptr[ib], ka1 = aptr[ib + 1], ka = ka0; ka < ka1; ka++) {\n // row\n ia = aindex[ka];\n // check value exists in current j\n if (w[ia] !== mark) {\n // ia is new entry in j\n w[ia] = mark;\n // add i to pattern of C\n cindex.push(ia);\n }\n }\n }\n }\n // check we need to process matrix values (pattern matrix)\n if (values) {\n // copy values from x to column jb of c\n for (var p0 = cptr[jb], p1 = cindex.length, p = p0; p < p1; p++) {\n // row\n var ic = cindex[p];\n // copy value\n cvalues[p] = x[ic];\n }\n }\n }\n // update ptr\n cptr[bcolumns] = cindex.length;\n\n // return sparse matrix\n return c;\n }\n\n /**\n * Multiply two or more values, `x * y`.\n * For matrices, the matrix product is calculated.\n *\n * Syntax:\n *\n * math.multiply(x, y)\n * math.multiply(x, y, z, ...)\n *\n * Examples:\n *\n * math.multiply(4, 5.2) // returns number 20.8\n * math.multiply(2, 3, 4) // returns number 24\n *\n * const a = math.complex(2, 3)\n * const b = math.complex(4, 1)\n * math.multiply(a, b) // returns Complex 5 + 14i\n *\n * const c = [[1, 2], [4, 3]]\n * const d = [[1, 2, 3], [3, -4, 7]]\n * math.multiply(c, d) // returns Array [[7, -6, 17], [13, -4, 33]]\n *\n * const e = math.unit('2.1 km')\n * math.multiply(3, e) // returns Unit 6.3 km\n *\n * See also:\n *\n * divide, prod, cross, dot\n *\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x First value to multiply\n * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Second value to multiply\n * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Multiplication of `x` and `y`\n */\n return typed(name, multiplyScalar, {\n // we extend the signatures of multiplyScalar with signatures dealing with matrices\n\n 'Array, Array': typed.referTo('Matrix, Matrix', selfMM => (x, y) => {\n // check dimensions\n _validateMatrixDimensions(arraySize(x), arraySize(y));\n\n // use dense matrix implementation\n var m = selfMM(matrix(x), matrix(y));\n // return array or scalar\n return isMatrix(m) ? m.valueOf() : m;\n }),\n 'Matrix, Matrix': function MatrixMatrix(x, y) {\n // dimensions\n var xsize = x.size();\n var ysize = y.size();\n\n // check dimensions\n _validateMatrixDimensions(xsize, ysize);\n\n // process dimensions\n if (xsize.length === 1) {\n // process y dimensions\n if (ysize.length === 1) {\n // Vector * Vector\n return _multiplyVectorVector(x, y, xsize[0]);\n }\n // Vector * Matrix\n return _multiplyVectorMatrix(x, y);\n }\n // process y dimensions\n if (ysize.length === 1) {\n // Matrix * Vector\n return _multiplyMatrixVector(x, y);\n }\n // Matrix * Matrix\n return _multiplyMatrixMatrix(x, y);\n },\n 'Matrix, Array': typed.referTo('Matrix,Matrix', selfMM => (x, y) => selfMM(x, matrix(y))),\n 'Array, Matrix': typed.referToSelf(self => (x, y) => {\n // use Matrix * Matrix implementation\n return self(matrix(x, y.storage()), y);\n }),\n 'SparseMatrix, any': function SparseMatrixAny(x, y) {\n return matAlgo11xS0s(x, y, multiplyScalar, false);\n },\n 'DenseMatrix, any': function DenseMatrixAny(x, y) {\n return matAlgo14xDs(x, y, multiplyScalar, false);\n },\n 'any, SparseMatrix': function anySparseMatrix(x, y) {\n return matAlgo11xS0s(y, x, multiplyScalar, true);\n },\n 'any, DenseMatrix': function anyDenseMatrix(x, y) {\n return matAlgo14xDs(y, x, multiplyScalar, true);\n },\n 'Array, any': function ArrayAny(x, y) {\n // use matrix implementation\n return matAlgo14xDs(matrix(x), y, multiplyScalar, false).valueOf();\n },\n 'any, Array': function anyArray(x, y) {\n // use matrix implementation\n return matAlgo14xDs(matrix(y), x, multiplyScalar, true).valueOf();\n },\n 'any, any': multiplyScalar,\n 'any, any, ...any': typed.referToSelf(self => (x, y, rest) => {\n var result = self(x, y);\n for (var i = 0; i < rest.length; i++) {\n result = self(result, rest[i]);\n }\n return result;\n })\n });\n});","import { factory } from '../../utils/factory.js';\nvar name = 'Spa';\nvar dependencies = ['addScalar', 'equalScalar', 'FibonacciHeap'];\nexport var createSpaClass = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n addScalar,\n equalScalar,\n FibonacciHeap\n } = _ref;\n /**\n * An ordered Sparse Accumulator is a representation for a sparse vector that includes a dense array\n * of the vector elements and an ordered list of non-zero elements.\n */\n function Spa() {\n if (!(this instanceof Spa)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n\n // allocate vector, TODO use typed arrays\n this._values = [];\n this._heap = new FibonacciHeap();\n }\n\n /**\n * Attach type information\n */\n Spa.prototype.type = 'Spa';\n Spa.prototype.isSpa = true;\n\n /**\n * Set the value for index i.\n *\n * @param {number} i The index\n * @param {number | BigNumber | Complex} The value at index i\n */\n Spa.prototype.set = function (i, v) {\n // check we have a value @ i\n if (!this._values[i]) {\n // insert in heap\n var node = this._heap.insert(i, v);\n // set the value @ i\n this._values[i] = node;\n } else {\n // update the value @ i\n this._values[i].value = v;\n }\n };\n Spa.prototype.get = function (i) {\n var node = this._values[i];\n if (node) {\n return node.value;\n }\n return 0;\n };\n Spa.prototype.accumulate = function (i, v) {\n // node @ i\n var node = this._values[i];\n if (!node) {\n // insert in heap\n node = this._heap.insert(i, v);\n // initialize value\n this._values[i] = node;\n } else {\n // accumulate value\n node.value = addScalar(node.value, v);\n }\n };\n Spa.prototype.forEach = function (from, to, callback) {\n // references\n var heap = this._heap;\n var values = this._values;\n // nodes\n var nodes = [];\n // node with minimum key, save it\n var node = heap.extractMinimum();\n if (node) {\n nodes.push(node);\n }\n // extract nodes from heap (ordered)\n while (node && node.key <= to) {\n // check it is in range\n if (node.key >= from) {\n // check value is not zero\n if (!equalScalar(node.value, 0)) {\n // invoke callback\n callback(node.key, node.value, this);\n }\n }\n // extract next node, save it\n node = heap.extractMinimum();\n if (node) {\n nodes.push(node);\n }\n }\n // reinsert all nodes in heap\n for (var i = 0; i < nodes.length; i++) {\n // current node\n var n = nodes[i];\n // insert node in heap\n node = heap.insert(n.key, n.value);\n // update values\n values[node.key] = node;\n }\n };\n Spa.prototype.swap = function (i, j) {\n // node @ i and j\n var nodei = this._values[i];\n var nodej = this._values[j];\n // check we need to insert indeces\n if (!nodei && nodej) {\n // insert in heap\n nodei = this._heap.insert(i, nodej.value);\n // remove from heap\n this._heap.remove(nodej);\n // set values\n this._values[i] = nodei;\n this._values[j] = undefined;\n } else if (nodei && !nodej) {\n // insert in heap\n nodej = this._heap.insert(j, nodei.value);\n // remove from heap\n this._heap.remove(nodei);\n // set values\n this._values[j] = nodej;\n this._values[i] = undefined;\n } else if (nodei && nodej) {\n // swap values\n var v = nodei.value;\n nodei.value = nodej.value;\n nodej.value = v;\n }\n };\n return Spa;\n}, {\n isClass: true\n});","import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nimport { createMatAlgo06xS0S0 } from '../../type/matrix/utils/matAlgo06xS0S0.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { andNumber } from '../../plain/number/index.js';\nvar name = 'and';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'not', 'concat'];\nexport var createAnd = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n zeros,\n not,\n concat\n } = _ref;\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo06xS0S0 = createMatAlgo06xS0S0({\n typed,\n equalScalar\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Logical `and`. Test whether two values are both defined with a nonzero/nonempty value.\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.and(x, y)\n *\n * Examples:\n *\n * math.and(2, 4) // returns true\n *\n * a = [2, 0, 0]\n * b = [3, 7, 0]\n * c = 0\n *\n * math.and(a, b) // returns [true, false, false]\n * math.and(a, c) // returns [false, false, false]\n *\n * See also:\n *\n * not, or, xor\n *\n * @param {number | BigNumber | Complex | Unit | Array | Matrix} x First value to check\n * @param {number | BigNumber | Complex | Unit | Array | Matrix} y Second value to check\n * @return {boolean | Array | Matrix}\n * Returns true when both inputs are defined with a nonzero/nonempty value.\n */\n return typed(name, {\n 'number, number': andNumber,\n 'Complex, Complex': function ComplexComplex(x, y) {\n return (x.re !== 0 || x.im !== 0) && (y.re !== 0 || y.im !== 0);\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {\n return !x.isZero() && !y.isZero() && !x.isNaN() && !y.isNaN();\n },\n 'Unit, Unit': typed.referToSelf(self => (x, y) => self(x.value || 0, y.value || 0)),\n 'SparseMatrix, any': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (not(y)) {\n // return zero matrix\n return zeros(x.size(), x.storage());\n }\n return matAlgo11xS0s(x, y, self, false);\n }),\n 'DenseMatrix, any': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (not(y)) {\n // return zero matrix\n return zeros(x.size(), x.storage());\n }\n return matAlgo14xDs(x, y, self, false);\n }),\n 'any, SparseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (not(x)) {\n // return zero matrix\n return zeros(x.size(), x.storage());\n }\n return matAlgo11xS0s(y, x, self, true);\n }),\n 'any, DenseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (not(x)) {\n // return zero matrix\n return zeros(x.size(), x.storage());\n }\n return matAlgo14xDs(y, x, self, true);\n }),\n 'Array, any': typed.referToSelf(self => (x, y) => {\n // use matrix implementation\n return self(matrix(x), y).valueOf();\n }),\n 'any, Array': typed.referToSelf(self => (x, y) => {\n // use matrix implementation\n return self(x, matrix(y)).valueOf();\n })\n }, matrixAlgorithmSuite({\n SS: matAlgo06xS0S0,\n DS: matAlgo02xDS0\n }));\n});","import { factory } from '../../../utils/factory.js';\nimport { createSolveValidation } from './utils/solveValidation.js';\nvar name = 'usolve';\nvar dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtractScalar', 'equalScalar', 'DenseMatrix'];\nexport var createUsolve = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n divideScalar,\n multiplyScalar,\n subtractScalar,\n equalScalar,\n DenseMatrix\n } = _ref;\n var solveValidation = createSolveValidation({\n DenseMatrix\n });\n\n /**\n * Finds one solution of a linear equation system by backward substitution. Matrix must be an upper triangular matrix. Throws an error if there's no solution.\n *\n * `U * x = b`\n *\n * Syntax:\n *\n * math.usolve(U, b)\n *\n * Examples:\n *\n * const a = [[-2, 3], [2, 1]]\n * const b = [11, 9]\n * const x = usolve(a, b) // [[8], [9]]\n *\n * See also:\n *\n * usolveAll, lup, slu, usolve, lusolve\n *\n * @param {Matrix, Array} U A N x N matrix or array (U)\n * @param {Matrix, Array} b A column vector with the b values\n *\n * @return {DenseMatrix | Array} A column vector with the linear system solution (x)\n */\n return typed(name, {\n 'SparseMatrix, Array | Matrix': function SparseMatrixArrayMatrix(m, b) {\n return _sparseBackwardSubstitution(m, b);\n },\n 'DenseMatrix, Array | Matrix': function DenseMatrixArrayMatrix(m, b) {\n return _denseBackwardSubstitution(m, b);\n },\n 'Array, Array | Matrix': function ArrayArrayMatrix(a, b) {\n var m = matrix(a);\n var r = _denseBackwardSubstitution(m, b);\n return r.valueOf();\n }\n });\n function _denseBackwardSubstitution(m, b) {\n // make b into a column vector\n b = solveValidation(m, b, true);\n var bdata = b._data;\n var rows = m._size[0];\n var columns = m._size[1];\n\n // result\n var x = [];\n var mdata = m._data;\n // loop columns backwards\n for (var j = columns - 1; j >= 0; j--) {\n // b[j]\n var bj = bdata[j][0] || 0;\n // x[j]\n var xj = void 0;\n if (!equalScalar(bj, 0)) {\n // value at [j, j]\n var vjj = mdata[j][j];\n if (equalScalar(vjj, 0)) {\n // system cannot be solved\n throw new Error('Linear system cannot be solved since matrix is singular');\n }\n xj = divideScalar(bj, vjj);\n\n // loop rows\n for (var i = j - 1; i >= 0; i--) {\n // update copy of b\n bdata[i] = [subtractScalar(bdata[i][0] || 0, multiplyScalar(xj, mdata[i][j]))];\n }\n } else {\n // zero value at j\n xj = 0;\n }\n // update x\n x[j] = [xj];\n }\n return new DenseMatrix({\n data: x,\n size: [rows, 1]\n });\n }\n function _sparseBackwardSubstitution(m, b) {\n // make b into a column vector\n b = solveValidation(m, b, true);\n var bdata = b._data;\n var rows = m._size[0];\n var columns = m._size[1];\n var values = m._values;\n var index = m._index;\n var ptr = m._ptr;\n\n // result\n var x = [];\n\n // loop columns backwards\n for (var j = columns - 1; j >= 0; j--) {\n var bj = bdata[j][0] || 0;\n if (!equalScalar(bj, 0)) {\n // non-degenerate row, find solution\n\n var vjj = 0;\n\n // upper triangular matrix values & index (column j)\n var jValues = [];\n var jIndices = [];\n\n // first & last indeces in column\n var firstIndex = ptr[j];\n var lastIndex = ptr[j + 1];\n\n // values in column, find value at [j, j], loop backwards\n for (var k = lastIndex - 1; k >= firstIndex; k--) {\n var i = index[k];\n\n // check row (rows are not sorted!)\n if (i === j) {\n vjj = values[k];\n } else if (i < j) {\n // store upper triangular\n jValues.push(values[k]);\n jIndices.push(i);\n }\n }\n\n // at this point we must have a value in vjj\n if (equalScalar(vjj, 0)) {\n throw new Error('Linear system cannot be solved since matrix is singular');\n }\n var xj = divideScalar(bj, vjj);\n for (var _k = 0, _lastIndex = jIndices.length; _k < _lastIndex; _k++) {\n var _i = jIndices[_k];\n bdata[_i] = [subtractScalar(bdata[_i][0], multiplyScalar(xj, jValues[_k]))];\n }\n x[j] = [xj];\n } else {\n // degenerate row, we can choose any value\n x[j] = [0];\n }\n }\n return new DenseMatrix({\n data: x,\n size: [rows, 1]\n });\n }\n});","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatorioConsolidadoParcelasRetrato.vue?vue&type=style&index=0&id=5f2803f2&prod&lang=css\"","/* eslint-disable no-loss-of-precision */\n\nimport { deepMap } from '../../utils/collection.js';\nimport { sign } from '../../utils/number.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'erf';\nvar dependencies = ['typed'];\nexport var createErf = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Compute the erf function of a value using a rational Chebyshev\n * approximations for different intervals of x.\n *\n * This is a translation of W. J. Cody's Fortran implementation from 1987\n * ( https://www.netlib.org/specfun/erf ). See the AMS publication\n * \"Rational Chebyshev Approximations for the Error Function\" by W. J. Cody\n * for an explanation of this process.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.erf(x)\n *\n * Examples:\n *\n * math.erf(0.2) // returns 0.22270258921047847\n * math.erf(-0.5) // returns -0.5204998778130465\n * math.erf(4) // returns 0.9999999845827421\n *\n * See also:\n * zeta\n *\n * @param {number | Array | Matrix} x A real number\n * @return {number | Array | Matrix} The erf of `x`\n */\n return typed('name', {\n number: function number(x) {\n var y = Math.abs(x);\n if (y >= MAX_NUM) {\n return sign(x);\n }\n if (y <= THRESH) {\n return sign(x) * erf1(y);\n }\n if (y <= 4.0) {\n return sign(x) * (1 - erfc2(y));\n }\n return sign(x) * (1 - erfc3(y));\n },\n 'Array | Matrix': typed.referToSelf(self => n => deepMap(n, self))\n\n // TODO: For complex numbers, use the approximation for the Faddeeva function\n // from \"More Efficient Computation of the Complex Error Function\" (AMS)\n });\n\n /**\n * Approximates the error function erf() for x <= 0.46875 using this function:\n * n\n * erf(x) = x * sum (p_j * x^(2j)) / (q_j * x^(2j))\n * j=0\n */\n function erf1(y) {\n var ysq = y * y;\n var xnum = P[0][4] * ysq;\n var xden = ysq;\n var i;\n for (i = 0; i < 3; i += 1) {\n xnum = (xnum + P[0][i]) * ysq;\n xden = (xden + Q[0][i]) * ysq;\n }\n return y * (xnum + P[0][3]) / (xden + Q[0][3]);\n }\n\n /**\n * Approximates the complement of the error function erfc() for\n * 0.46875 <= x <= 4.0 using this function:\n * n\n * erfc(x) = e^(-x^2) * sum (p_j * x^j) / (q_j * x^j)\n * j=0\n */\n function erfc2(y) {\n var xnum = P[1][8] * y;\n var xden = y;\n var i;\n for (i = 0; i < 7; i += 1) {\n xnum = (xnum + P[1][i]) * y;\n xden = (xden + Q[1][i]) * y;\n }\n var result = (xnum + P[1][7]) / (xden + Q[1][7]);\n var ysq = parseInt(y * 16) / 16;\n var del = (y - ysq) * (y + ysq);\n return Math.exp(-ysq * ysq) * Math.exp(-del) * result;\n }\n\n /**\n * Approximates the complement of the error function erfc() for x > 4.0 using\n * this function:\n *\n * erfc(x) = (e^(-x^2) / x) * [ 1/sqrt(pi) +\n * n\n * 1/(x^2) * sum (p_j * x^(-2j)) / (q_j * x^(-2j)) ]\n * j=0\n */\n function erfc3(y) {\n var ysq = 1 / (y * y);\n var xnum = P[2][5] * ysq;\n var xden = ysq;\n var i;\n for (i = 0; i < 4; i += 1) {\n xnum = (xnum + P[2][i]) * ysq;\n xden = (xden + Q[2][i]) * ysq;\n }\n var result = ysq * (xnum + P[2][4]) / (xden + Q[2][4]);\n result = (SQRPI - result) / y;\n ysq = parseInt(y * 16) / 16;\n var del = (y - ysq) * (y + ysq);\n return Math.exp(-ysq * ysq) * Math.exp(-del) * result;\n }\n});\n\n/**\n * Upper bound for the first approximation interval, 0 <= x <= THRESH\n * @constant\n */\nvar THRESH = 0.46875;\n\n/**\n * Constant used by W. J. Cody's Fortran77 implementation to denote sqrt(pi)\n * @constant\n */\nvar SQRPI = 5.6418958354775628695e-1;\n\n/**\n * Coefficients for each term of the numerator sum (p_j) for each approximation\n * interval (see W. J. Cody's paper for more details)\n * @constant\n */\nvar P = [[3.16112374387056560e00, 1.13864154151050156e02, 3.77485237685302021e02, 3.20937758913846947e03, 1.85777706184603153e-1], [5.64188496988670089e-1, 8.88314979438837594e00, 6.61191906371416295e01, 2.98635138197400131e02, 8.81952221241769090e02, 1.71204761263407058e03, 2.05107837782607147e03, 1.23033935479799725e03, 2.15311535474403846e-8], [3.05326634961232344e-1, 3.60344899949804439e-1, 1.25781726111229246e-1, 1.60837851487422766e-2, 6.58749161529837803e-4, 1.63153871373020978e-2]];\n\n/**\n * Coefficients for each term of the denominator sum (q_j) for each approximation\n * interval (see W. J. Cody's paper for more details)\n * @constant\n */\nvar Q = [[2.36012909523441209e01, 2.44024637934444173e02, 1.28261652607737228e03, 2.84423683343917062e03], [1.57449261107098347e01, 1.17693950891312499e02, 5.37181101862009858e02, 1.62138957456669019e03, 3.29079923573345963e03, 4.36261909014324716e03, 3.43936767414372164e03, 1.23033935480374942e03], [2.56852019228982242e00, 1.87295284992346047e00, 5.27905102951428412e-1, 6.05183413124413191e-2, 2.33520497626869185e-3]];\n\n/**\n * Maximum/minimum safe numbers to input to erf() (in ES6+, this number is\n * Number.[MAX|MIN]_SAFE_INTEGER). erf() for all numbers beyond this limit will\n * return 1\n */\nvar MAX_NUM = Math.pow(2, 53);","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioFinaceiroContabil.vue?vue&type=style&index=0&id=301f494e&prod&lang=css\"","import { factory } from '../../utils/factory.js';\nvar name = 'zpk2tf';\nvar dependencies = ['typed', 'add', 'multiply', 'Complex', 'number'];\nexport var createZpk2tf = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n add,\n multiply,\n Complex,\n number\n } = _ref;\n /**\n * Compute the transfer function of a zero-pole-gain model.\n *\n * Syntax:\n * math.zpk2tf(z, p, k)\n *\n * Examples:\n * math.zpk2tf([1, 2], [-1, -2], 1) // returns [[1, -3, 2], [1, 3, 2]]\n *\n * See also:\n * freqz\n *\n * @param {Array} z Array of zeros values\n * @param {Array} p Array of poles values\n * @param {number} k Gain value\n * @return {Array} Two dimensional array containing the numerator (first row) and denominator (second row) polynomials\n *\n */\n return typed(name, {\n 'Array,Array,number': function ArrayArrayNumber(z, p, k) {\n return _zpk2tf(z, p, k);\n },\n 'Array,Array': function ArrayArray(z, p) {\n return _zpk2tf(z, p, 1);\n },\n 'Matrix,Matrix,number': function MatrixMatrixNumber(z, p, k) {\n return _zpk2tf(z.valueOf(), p.valueOf(), k);\n },\n 'Matrix,Matrix': function MatrixMatrix(z, p) {\n return _zpk2tf(z.valueOf(), p.valueOf(), 1);\n }\n });\n function _zpk2tf(z, p, k) {\n // if z is bignumber, convert it to number\n if (z.some(el => el.type === 'BigNumber')) {\n z = z.map(el => number(el));\n }\n // if p is bignumber, convert it to number\n if (p.some(el => el.type === 'BigNumber')) {\n p = p.map(el => number(el));\n }\n var num = [Complex(1, 0)];\n var den = [Complex(1, 0)];\n for (var i = 0; i < z.length; i++) {\n var zero = z[i];\n if (typeof zero === 'number') zero = Complex(zero, 0);\n num = _multiply(num, [Complex(1, 0), Complex(-zero.re, -zero.im)]);\n }\n for (var _i = 0; _i < p.length; _i++) {\n var pole = p[_i];\n if (typeof pole === 'number') pole = Complex(pole, 0);\n den = _multiply(den, [Complex(1, 0), Complex(-pole.re, -pole.im)]);\n }\n for (var _i2 = 0; _i2 < num.length; _i2++) {\n num[_i2] = multiply(num[_i2], k);\n }\n return [num, den];\n }\n function _multiply(a, b) {\n var c = [];\n for (var i = 0; i < a.length + b.length - 1; i++) {\n c[i] = Complex(0, 0);\n for (var j = 0; j < a.length; j++) {\n if (i - j >= 0 && i - j < b.length) {\n c[i] = add(c[i], multiply(a[j], b[i - j]));\n }\n }\n }\n return c;\n }\n});","import { factory } from '../utils/factory.js';\nvar name = 'replacer';\nvar dependencies = [];\nexport var createReplacer = /* #__PURE__ */factory(name, dependencies, () => {\n /**\n * Stringify data types into their JSON representation.\n * Most data types can be serialized using their `.toJSON` method,\n * but not all, for example the number `Infinity`. For these cases you have\n * to use the replacer. Example usage:\n *\n * JSON.stringify([2, Infinity], math.replacer)\n *\n * @param {string} key\n * @param {*} value\n * @returns {*} Returns the replaced object\n */\n return function replacer(key, value) {\n // the numeric values Infinitiy, -Infinity, and NaN cannot be serialized to JSON\n if (typeof value === 'number' && (!isFinite(value) || isNaN(value))) {\n return {\n mathjs: 'number',\n value: String(value)\n };\n }\n return value;\n };\n});","/**\n * Permutes a sparse matrix C = P * A * Q\n *\n * @param {SparseMatrix} a The Matrix A\n * @param {Array} pinv The row permutation vector\n * @param {Array} q The column permutation vector\n * @param {boolean} values Create a pattern matrix (false), values and pattern otherwise\n *\n * @return {Matrix} C = P * A * Q, null on error\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csPermute(a, pinv, q, values) {\n // a arrays\n var avalues = a._values;\n var aindex = a._index;\n var aptr = a._ptr;\n var asize = a._size;\n var adt = a._datatype;\n // rows & columns\n var m = asize[0];\n var n = asize[1];\n // c arrays\n var cvalues = values && a._values ? [] : null;\n var cindex = []; // (aptr[n])\n var cptr = []; // (n + 1)\n // initialize vars\n var nz = 0;\n // loop columns\n for (var k = 0; k < n; k++) {\n // column k of C is column q[k] of A\n cptr[k] = nz;\n // apply column permutation\n var j = q ? q[k] : k;\n // loop values in column j of A\n for (var t0 = aptr[j], t1 = aptr[j + 1], t = t0; t < t1; t++) {\n // row i of A is row pinv[i] of C\n var r = pinv ? pinv[aindex[t]] : aindex[t];\n // index\n cindex[nz] = r;\n // check we need to populate values\n if (cvalues) {\n cvalues[nz] = avalues[t];\n }\n // increment number of nonzero elements\n nz++;\n }\n }\n // finalize the last column of C\n cptr[n] = nz;\n // return C matrix\n return a.createSparseMatrix({\n values: cvalues,\n index: cindex,\n ptr: cptr,\n size: [m, n],\n datatype: adt\n });\n}","/**\n * Depth-first search and postorder of a tree rooted at node j\n *\n * @param {Number} j The tree node\n * @param {Number} k\n * @param {Array} w The workspace array\n * @param {Number} head The index offset within the workspace for the head array\n * @param {Number} next The index offset within the workspace for the next array\n * @param {Array} post The post ordering array\n * @param {Number} stack The index offset within the workspace for the stack array\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csTdfs(j, k, w, head, next, post, stack) {\n // variables\n var top = 0;\n // place j on the stack\n w[stack] = j;\n // while (stack is not empty)\n while (top >= 0) {\n // p = top of stack\n var p = w[stack + top];\n // i = youngest child of p\n var i = w[head + p];\n if (i === -1) {\n // p has no unordered children left\n top--;\n // node p is the kth postordered node\n post[k++] = p;\n } else {\n // remove i from children of p\n w[head + p] = w[next + i];\n // increment top\n ++top;\n // start dfs on child node i\n w[stack + top] = i;\n }\n }\n return k;\n}","import { csTdfs } from './csTdfs.js';\n\n/**\n * Post order a tree of forest\n *\n * @param {Array} parent The tree or forest\n * @param {Number} n Number of columns\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csPost(parent, n) {\n // check inputs\n if (!parent) {\n return null;\n }\n // vars\n var k = 0;\n var j;\n // allocate result\n var post = []; // (n)\n // workspace, head: first n entries, next: next n entries, stack: last n entries\n var w = []; // (3 * n)\n var head = 0;\n var next = n;\n var stack = 2 * n;\n // initialize workspace\n for (j = 0; j < n; j++) {\n // empty linked lists\n w[head + j] = -1;\n }\n // traverse nodes in reverse order\n for (j = n - 1; j >= 0; j--) {\n // check j is a root\n if (parent[j] === -1) {\n continue;\n }\n // add j to list of its parent\n w[next + j] = w[head + parent[j]];\n w[head + parent[j]] = j;\n }\n // loop nodes\n for (j = 0; j < n; j++) {\n // skip j if it is not a root\n if (parent[j] !== -1) {\n continue;\n }\n // depth-first search\n k = csTdfs(j, k, w, head, next, post, stack);\n }\n return post;\n}","/**\n * Computes the elimination tree of Matrix A (using triu(A)) or the\n * elimination tree of A'A without forming A'A.\n *\n * @param {Matrix} a The A Matrix\n * @param {boolean} ata A value of true the function computes the etree of A'A\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csEtree(a, ata) {\n // check inputs\n if (!a) {\n return null;\n }\n // a arrays\n var aindex = a._index;\n var aptr = a._ptr;\n var asize = a._size;\n // rows & columns\n var m = asize[0];\n var n = asize[1];\n\n // allocate result\n var parent = []; // (n)\n\n // allocate workspace\n var w = []; // (n + (ata ? m : 0))\n var ancestor = 0; // first n entries in w\n var prev = n; // last m entries (ata = true)\n\n var i, inext;\n\n // check we are calculating A'A\n if (ata) {\n // initialize workspace\n for (i = 0; i < m; i++) {\n w[prev + i] = -1;\n }\n }\n // loop columns\n for (var k = 0; k < n; k++) {\n // node k has no parent yet\n parent[k] = -1;\n // nor does k have an ancestor\n w[ancestor + k] = -1;\n // values in column k\n for (var p0 = aptr[k], p1 = aptr[k + 1], p = p0; p < p1; p++) {\n // row\n var r = aindex[p];\n // node\n i = ata ? w[prev + r] : r;\n // traverse from i to k\n for (; i !== -1 && i < k; i = inext) {\n // inext = ancestor of i\n inext = w[ancestor + i];\n // path compression\n w[ancestor + i] = k;\n // check no anc., parent is k\n if (inext === -1) {\n parent[i] = k;\n }\n }\n if (ata) {\n w[prev + r] = k;\n }\n }\n }\n return parent;\n}","/**\n * Keeps entries in the matrix when the callback function returns true, removes the entry otherwise\n *\n * @param {Matrix} a The sparse matrix\n * @param {function} callback The callback function, function will be invoked with the following args:\n * - The entry row\n * - The entry column\n * - The entry value\n * - The state parameter\n * @param {any} other The state\n *\n * @return The number of nonzero elements in the matrix\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csFkeep(a, callback, other) {\n // a arrays\n var avalues = a._values;\n var aindex = a._index;\n var aptr = a._ptr;\n var asize = a._size;\n // columns\n var n = asize[1];\n // nonzero items\n var nz = 0;\n // loop columns\n for (var j = 0; j < n; j++) {\n // get current location of col j\n var p = aptr[j];\n // record new location of col j\n aptr[j] = nz;\n for (; p < aptr[j + 1]; p++) {\n // check we need to keep this item\n if (callback(aindex[p], j, avalues ? avalues[p] : 1, other)) {\n // keep A(i,j)\n aindex[nz] = aindex[p];\n // check we need to process values (pattern only)\n if (avalues) {\n avalues[nz] = avalues[p];\n }\n // increment nonzero items\n nz++;\n }\n }\n }\n // finalize A\n aptr[n] = nz;\n // trim arrays\n aindex.splice(nz, aindex.length - nz);\n // check we need to process values (pattern only)\n if (avalues) {\n avalues.splice(nz, avalues.length - nz);\n }\n // return number of nonzero items\n return nz;\n}","/**\n * This function \"flips\" its input about the integer -1.\n *\n * @param {Number} i The value to flip\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csFlip(i) {\n // flip the value\n return -i - 2;\n}","import { factory } from '../../../utils/factory.js';\nimport { csFkeep } from './csFkeep.js';\nimport { csFlip } from './csFlip.js';\nimport { csTdfs } from './csTdfs.js';\nvar name = 'csAmd';\nvar dependencies = ['add', 'multiply', 'transpose'];\nexport var createCsAmd = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n add,\n multiply,\n transpose\n } = _ref;\n /**\n * Approximate minimum degree ordering. The minimum degree algorithm is a widely used\n * heuristic for finding a permutation P so that P*A*P' has fewer nonzeros in its factorization\n * than A. It is a gready method that selects the sparsest pivot row and column during the course\n * of a right looking sparse Cholesky factorization.\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n *\n * @param {Number} order 0: Natural, 1: Cholesky, 2: LU, 3: QR\n * @param {Matrix} m Sparse Matrix\n */\n return function csAmd(order, a) {\n // check input parameters\n if (!a || order <= 0 || order > 3) {\n return null;\n }\n // a matrix arrays\n var asize = a._size;\n // rows and columns\n var m = asize[0];\n var n = asize[1];\n // initialize vars\n var lemax = 0;\n // dense threshold\n var dense = Math.max(16, 10 * Math.sqrt(n));\n dense = Math.min(n - 2, dense);\n // create target matrix C\n var cm = _createTargetMatrix(order, a, m, n, dense);\n // drop diagonal entries\n csFkeep(cm, _diag, null);\n // C matrix arrays\n var cindex = cm._index;\n var cptr = cm._ptr;\n\n // number of nonzero elements in C\n var cnz = cptr[n];\n\n // allocate result (n+1)\n var P = [];\n\n // create workspace (8 * (n + 1))\n var W = [];\n var len = 0; // first n + 1 entries\n var nv = n + 1; // next n + 1 entries\n var next = 2 * (n + 1); // next n + 1 entries\n var head = 3 * (n + 1); // next n + 1 entries\n var elen = 4 * (n + 1); // next n + 1 entries\n var degree = 5 * (n + 1); // next n + 1 entries\n var w = 6 * (n + 1); // next n + 1 entries\n var hhead = 7 * (n + 1); // last n + 1 entries\n\n // use P as workspace for last\n var last = P;\n\n // initialize quotient graph\n var mark = _initializeQuotientGraph(n, cptr, W, len, head, last, next, hhead, nv, w, elen, degree);\n\n // initialize degree lists\n var nel = _initializeDegreeLists(n, cptr, W, degree, elen, w, dense, nv, head, last, next);\n\n // minimum degree node\n var mindeg = 0;\n\n // vars\n var i, j, k, k1, k2, e, pj, ln, nvi, pk, eln, p1, p2, pn, h, d;\n\n // while (selecting pivots) do\n while (nel < n) {\n // select node of minimum approximate degree. amd() is now ready to start eliminating the graph. It first\n // finds a node k of minimum degree and removes it from its degree list. The variable nel keeps track of thow\n // many nodes have been eliminated.\n for (k = -1; mindeg < n && (k = W[head + mindeg]) === -1; mindeg++);\n if (W[next + k] !== -1) {\n last[W[next + k]] = -1;\n }\n // remove k from degree list\n W[head + mindeg] = W[next + k];\n // elenk = |Ek|\n var elenk = W[elen + k];\n // # of nodes k represents\n var nvk = W[nv + k];\n // W[nv + k] nodes of A eliminated\n nel += nvk;\n\n // Construct a new element. The new element Lk is constructed in place if |Ek| = 0. nv[i] is\n // negated for all nodes i in Lk to flag them as members of this set. Each node i is removed from the\n // degree lists. All elements e in Ek are absorved into element k.\n var dk = 0;\n // flag k as in Lk\n W[nv + k] = -nvk;\n var p = cptr[k];\n // do in place if W[elen + k] === 0\n var pk1 = elenk === 0 ? p : cnz;\n var pk2 = pk1;\n for (k1 = 1; k1 <= elenk + 1; k1++) {\n if (k1 > elenk) {\n // search the nodes in k\n e = k;\n // list of nodes starts at cindex[pj]\n pj = p;\n // length of list of nodes in k\n ln = W[len + k] - elenk;\n } else {\n // search the nodes in e\n e = cindex[p++];\n pj = cptr[e];\n // length of list of nodes in e\n ln = W[len + e];\n }\n for (k2 = 1; k2 <= ln; k2++) {\n i = cindex[pj++];\n // check node i dead, or seen\n if ((nvi = W[nv + i]) <= 0) {\n continue;\n }\n // W[degree + Lk] += size of node i\n dk += nvi;\n // negate W[nv + i] to denote i in Lk\n W[nv + i] = -nvi;\n // place i in Lk\n cindex[pk2++] = i;\n if (W[next + i] !== -1) {\n last[W[next + i]] = last[i];\n }\n // check we need to remove i from degree list\n if (last[i] !== -1) {\n W[next + last[i]] = W[next + i];\n } else {\n W[head + W[degree + i]] = W[next + i];\n }\n }\n if (e !== k) {\n // absorb e into k\n cptr[e] = csFlip(k);\n // e is now a dead element\n W[w + e] = 0;\n }\n }\n // cindex[cnz...nzmax] is free\n if (elenk !== 0) {\n cnz = pk2;\n }\n // external degree of k - |Lk\\i|\n W[degree + k] = dk;\n // element k is in cindex[pk1..pk2-1]\n cptr[k] = pk1;\n W[len + k] = pk2 - pk1;\n // k is now an element\n W[elen + k] = -2;\n\n // Find set differences. The scan1 function now computes the set differences |Le \\ Lk| for all elements e. At the start of the\n // scan, no entry in the w array is greater than or equal to mark.\n\n // clear w if necessary\n mark = _wclear(mark, lemax, W, w, n);\n // scan 1: find |Le\\Lk|\n for (pk = pk1; pk < pk2; pk++) {\n i = cindex[pk];\n // check if W[elen + i] empty, skip it\n if ((eln = W[elen + i]) <= 0) {\n continue;\n }\n // W[nv + i] was negated\n nvi = -W[nv + i];\n var wnvi = mark - nvi;\n // scan Ei\n for (p = cptr[i], p1 = cptr[i] + eln - 1; p <= p1; p++) {\n e = cindex[p];\n if (W[w + e] >= mark) {\n // decrement |Le\\Lk|\n W[w + e] -= nvi;\n } else if (W[w + e] !== 0) {\n // ensure e is a live element, 1st time e seen in scan 1\n W[w + e] = W[degree + e] + wnvi;\n }\n }\n }\n\n // degree update\n // The second pass computes the approximate degree di, prunes the sets Ei and Ai, and computes a hash\n // function h(i) for all nodes in Lk.\n\n // scan2: degree update\n for (pk = pk1; pk < pk2; pk++) {\n // consider node i in Lk\n i = cindex[pk];\n p1 = cptr[i];\n p2 = p1 + W[elen + i] - 1;\n pn = p1;\n // scan Ei\n for (h = 0, d = 0, p = p1; p <= p2; p++) {\n e = cindex[p];\n // check e is an unabsorbed element\n if (W[w + e] !== 0) {\n // dext = |Le\\Lk|\n var dext = W[w + e] - mark;\n if (dext > 0) {\n // sum up the set differences\n d += dext;\n // keep e in Ei\n cindex[pn++] = e;\n // compute the hash of node i\n h += e;\n } else {\n // aggressive absorb. e->k\n cptr[e] = csFlip(k);\n // e is a dead element\n W[w + e] = 0;\n }\n }\n }\n // W[elen + i] = |Ei|\n W[elen + i] = pn - p1 + 1;\n var p3 = pn;\n var p4 = p1 + W[len + i];\n // prune edges in Ai\n for (p = p2 + 1; p < p4; p++) {\n j = cindex[p];\n // check node j dead or in Lk\n var nvj = W[nv + j];\n if (nvj <= 0) {\n continue;\n }\n // degree(i) += |j|\n d += nvj;\n // place j in node list of i\n cindex[pn++] = j;\n // compute hash for node i\n h += j;\n }\n // check for mass elimination\n if (d === 0) {\n // absorb i into k\n cptr[i] = csFlip(k);\n nvi = -W[nv + i];\n // |Lk| -= |i|\n dk -= nvi;\n // |k| += W[nv + i]\n nvk += nvi;\n nel += nvi;\n W[nv + i] = 0;\n // node i is dead\n W[elen + i] = -1;\n } else {\n // update degree(i)\n W[degree + i] = Math.min(W[degree + i], d);\n // move first node to end\n cindex[pn] = cindex[p3];\n // move 1st el. to end of Ei\n cindex[p3] = cindex[p1];\n // add k as 1st element in of Ei\n cindex[p1] = k;\n // new len of adj. list of node i\n W[len + i] = pn - p1 + 1;\n // finalize hash of i\n h = (h < 0 ? -h : h) % n;\n // place i in hash bucket\n W[next + i] = W[hhead + h];\n W[hhead + h] = i;\n // save hash of i in last[i]\n last[i] = h;\n }\n }\n // finalize |Lk|\n W[degree + k] = dk;\n lemax = Math.max(lemax, dk);\n // clear w\n mark = _wclear(mark + lemax, lemax, W, w, n);\n\n // Supernode detection. Supernode detection relies on the hash function h(i) computed for each node i.\n // If two nodes have identical adjacency lists, their hash functions wil be identical.\n for (pk = pk1; pk < pk2; pk++) {\n i = cindex[pk];\n // check i is dead, skip it\n if (W[nv + i] >= 0) {\n continue;\n }\n // scan hash bucket of node i\n h = last[i];\n i = W[hhead + h];\n // hash bucket will be empty\n W[hhead + h] = -1;\n for (; i !== -1 && W[next + i] !== -1; i = W[next + i], mark++) {\n ln = W[len + i];\n eln = W[elen + i];\n for (p = cptr[i] + 1; p <= cptr[i] + ln - 1; p++) {\n W[w + cindex[p]] = mark;\n }\n var jlast = i;\n // compare i with all j\n for (j = W[next + i]; j !== -1;) {\n var ok = W[len + j] === ln && W[elen + j] === eln;\n for (p = cptr[j] + 1; ok && p <= cptr[j] + ln - 1; p++) {\n // compare i and j\n if (W[w + cindex[p]] !== mark) {\n ok = 0;\n }\n }\n // check i and j are identical\n if (ok) {\n // absorb j into i\n cptr[j] = csFlip(i);\n W[nv + i] += W[nv + j];\n W[nv + j] = 0;\n // node j is dead\n W[elen + j] = -1;\n // delete j from hash bucket\n j = W[next + j];\n W[next + jlast] = j;\n } else {\n // j and i are different\n jlast = j;\n j = W[next + j];\n }\n }\n }\n }\n\n // Finalize new element. The elimination of node k is nearly complete. All nodes i in Lk are scanned one last time.\n // Node i is removed from Lk if it is dead. The flagged status of nv[i] is cleared.\n for (p = pk1, pk = pk1; pk < pk2; pk++) {\n i = cindex[pk];\n // check i is dead, skip it\n if ((nvi = -W[nv + i]) <= 0) {\n continue;\n }\n // restore W[nv + i]\n W[nv + i] = nvi;\n // compute external degree(i)\n d = W[degree + i] + dk - nvi;\n d = Math.min(d, n - nel - nvi);\n if (W[head + d] !== -1) {\n last[W[head + d]] = i;\n }\n // put i back in degree list\n W[next + i] = W[head + d];\n last[i] = -1;\n W[head + d] = i;\n // find new minimum degree\n mindeg = Math.min(mindeg, d);\n W[degree + i] = d;\n // place i in Lk\n cindex[p++] = i;\n }\n // # nodes absorbed into k\n W[nv + k] = nvk;\n // length of adj list of element k\n if ((W[len + k] = p - pk1) === 0) {\n // k is a root of the tree\n cptr[k] = -1;\n // k is now a dead element\n W[w + k] = 0;\n }\n if (elenk !== 0) {\n // free unused space in Lk\n cnz = p;\n }\n }\n\n // Postordering. The elimination is complete, but no permutation has been computed. All that is left\n // of the graph is the assembly tree (ptr) and a set of dead nodes and elements (i is a dead node if\n // nv[i] is zero and a dead element if nv[i] > 0). It is from this information only that the final permutation\n // is computed. The tree is restored by unflipping all of ptr.\n\n // fix assembly tree\n for (i = 0; i < n; i++) {\n cptr[i] = csFlip(cptr[i]);\n }\n for (j = 0; j <= n; j++) {\n W[head + j] = -1;\n }\n // place unordered nodes in lists\n for (j = n; j >= 0; j--) {\n // skip if j is an element\n if (W[nv + j] > 0) {\n continue;\n }\n // place j in list of its parent\n W[next + j] = W[head + cptr[j]];\n W[head + cptr[j]] = j;\n }\n // place elements in lists\n for (e = n; e >= 0; e--) {\n // skip unless e is an element\n if (W[nv + e] <= 0) {\n continue;\n }\n if (cptr[e] !== -1) {\n // place e in list of its parent\n W[next + e] = W[head + cptr[e]];\n W[head + cptr[e]] = e;\n }\n }\n // postorder the assembly tree\n for (k = 0, i = 0; i <= n; i++) {\n if (cptr[i] === -1) {\n k = csTdfs(i, k, W, head, next, P, w);\n }\n }\n // remove last item in array\n P.splice(P.length - 1, 1);\n // return P\n return P;\n };\n\n /**\n * Creates the matrix that will be used by the approximate minimum degree ordering algorithm. The function accepts the matrix M as input and returns a permutation\n * vector P. The amd algorithm operates on a symmetrix matrix, so one of three symmetric matrices is formed.\n *\n * Order: 0\n * A natural ordering P=null matrix is returned.\n *\n * Order: 1\n * Matrix must be square. This is appropriate for a Cholesky or LU factorization.\n * P = M + M'\n *\n * Order: 2\n * Dense columns from M' are dropped, M recreated from M'. This is appropriatefor LU factorization of unsymmetric matrices.\n * P = M' * M\n *\n * Order: 3\n * This is best used for QR factorization or LU factorization is matrix M has no dense rows. A dense row is a row with more than 10*sqr(columns) entries.\n * P = M' * M\n */\n function _createTargetMatrix(order, a, m, n, dense) {\n // compute A'\n var at = transpose(a);\n\n // check order = 1, matrix must be square\n if (order === 1 && n === m) {\n // C = A + A'\n return add(a, at);\n }\n\n // check order = 2, drop dense columns from M'\n if (order === 2) {\n // transpose arrays\n var tindex = at._index;\n var tptr = at._ptr;\n // new column index\n var p2 = 0;\n // loop A' columns (rows)\n for (var j = 0; j < m; j++) {\n // column j of AT starts here\n var p = tptr[j];\n // new column j starts here\n tptr[j] = p2;\n // skip dense col j\n if (tptr[j + 1] - p > dense) {\n continue;\n }\n // map rows in column j of A\n for (var p1 = tptr[j + 1]; p < p1; p++) {\n tindex[p2++] = tindex[p];\n }\n }\n // finalize AT\n tptr[m] = p2;\n // recreate A from new transpose matrix\n a = transpose(at);\n // use A' * A\n return multiply(at, a);\n }\n\n // use A' * A, square or rectangular matrix\n return multiply(at, a);\n }\n\n /**\n * Initialize quotient graph. There are four kind of nodes and elements that must be represented:\n *\n * - A live node is a node i (or a supernode) that has not been selected as a pivot nad has not been merged into another supernode.\n * - A dead node i is one that has been removed from the graph, having been absorved into r = flip(ptr[i]).\n * - A live element e is one that is in the graph, having been formed when node e was selected as the pivot.\n * - A dead element e is one that has benn absorved into a subsequent element s = flip(ptr[e]).\n */\n function _initializeQuotientGraph(n, cptr, W, len, head, last, next, hhead, nv, w, elen, degree) {\n // Initialize quotient graph\n for (var k = 0; k < n; k++) {\n W[len + k] = cptr[k + 1] - cptr[k];\n }\n W[len + n] = 0;\n // initialize workspace\n for (var i = 0; i <= n; i++) {\n // degree list i is empty\n W[head + i] = -1;\n last[i] = -1;\n W[next + i] = -1;\n // hash list i is empty\n W[hhead + i] = -1;\n // node i is just one node\n W[nv + i] = 1;\n // node i is alive\n W[w + i] = 1;\n // Ek of node i is empty\n W[elen + i] = 0;\n // degree of node i\n W[degree + i] = W[len + i];\n }\n // clear w\n var mark = _wclear(0, 0, W, w, n);\n // n is a dead element\n W[elen + n] = -2;\n // n is a root of assembly tree\n cptr[n] = -1;\n // n is a dead element\n W[w + n] = 0;\n // return mark\n return mark;\n }\n\n /**\n * Initialize degree lists. Each node is placed in its degree lists. Nodes of zero degree are eliminated immediately. Nodes with\n * degree >= dense are alsol eliminated and merged into a placeholder node n, a dead element. Thes nodes will appera last in the\n * output permutation p.\n */\n function _initializeDegreeLists(n, cptr, W, degree, elen, w, dense, nv, head, last, next) {\n // result\n var nel = 0;\n // loop columns\n for (var i = 0; i < n; i++) {\n // degree @ i\n var d = W[degree + i];\n // check node i is empty\n if (d === 0) {\n // element i is dead\n W[elen + i] = -2;\n nel++;\n // i is a root of assembly tree\n cptr[i] = -1;\n W[w + i] = 0;\n } else if (d > dense) {\n // absorb i into element n\n W[nv + i] = 0;\n // node i is dead\n W[elen + i] = -1;\n nel++;\n cptr[i] = csFlip(n);\n W[nv + n]++;\n } else {\n var h = W[head + d];\n if (h !== -1) {\n last[h] = i;\n }\n // put node i in degree list d\n W[next + i] = W[head + d];\n W[head + d] = i;\n }\n }\n return nel;\n }\n function _wclear(mark, lemax, W, w, n) {\n if (mark < 2 || mark + lemax < 0) {\n for (var k = 0; k < n; k++) {\n if (W[w + k] !== 0) {\n W[w + k] = 1;\n }\n }\n mark = 2;\n }\n // at this point, W [0..n-1] < mark holds\n return mark;\n }\n function _diag(i, j) {\n return i !== j;\n }\n});","/**\n * This function determines if j is a leaf of the ith row subtree.\n * Consider A(i,j), node j in ith row subtree and return lca(jprev,j)\n *\n * @param {Number} i The ith row subtree\n * @param {Number} j The node to test\n * @param {Array} w The workspace array\n * @param {Number} first The index offset within the workspace for the first array\n * @param {Number} maxfirst The index offset within the workspace for the maxfirst array\n * @param {Number} prevleaf The index offset within the workspace for the prevleaf array\n * @param {Number} ancestor The index offset within the workspace for the ancestor array\n *\n * @return {Object}\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csLeaf(i, j, w, first, maxfirst, prevleaf, ancestor) {\n var s, sparent;\n\n // our result\n var jleaf = 0;\n var q;\n\n // check j is a leaf\n if (i <= j || w[first + j] <= w[maxfirst + i]) {\n return -1;\n }\n // update max first[j] seen so far\n w[maxfirst + i] = w[first + j];\n // jprev = previous leaf of ith subtree\n var jprev = w[prevleaf + i];\n w[prevleaf + i] = j;\n\n // check j is first or subsequent leaf\n if (jprev === -1) {\n // 1st leaf, q = root of ith subtree\n jleaf = 1;\n q = i;\n } else {\n // update jleaf\n jleaf = 2;\n // q = least common ancester (jprev,j)\n for (q = jprev; q !== w[ancestor + q]; q = w[ancestor + q]);\n for (s = jprev; s !== q; s = sparent) {\n // path compression\n sparent = w[ancestor + s];\n w[ancestor + s] = q;\n }\n }\n return {\n jleaf,\n q\n };\n}","import { factory } from '../../../utils/factory.js';\nimport { csLeaf } from './csLeaf.js';\nvar name = 'csCounts';\nvar dependencies = ['transpose'];\nexport var createCsCounts = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n transpose\n } = _ref;\n /**\n * Computes the column counts using the upper triangular part of A.\n * It transposes A internally, none of the input parameters are modified.\n *\n * @param {Matrix} a The sparse matrix A\n *\n * @param {Matrix} ata Count the columns of A'A instead\n *\n * @return An array of size n of the column counts or null on error\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\n return function (a, parent, post, ata) {\n // check inputs\n if (!a || !parent || !post) {\n return null;\n }\n // a matrix arrays\n var asize = a._size;\n // rows and columns\n var m = asize[0];\n var n = asize[1];\n // variables\n var i, j, k, J, p, p0, p1;\n\n // workspace size\n var s = 4 * n + (ata ? n + m + 1 : 0);\n // allocate workspace\n var w = []; // (s)\n var ancestor = 0; // first n entries\n var maxfirst = n; // next n entries\n var prevleaf = 2 * n; // next n entries\n var first = 3 * n; // next n entries\n var head = 4 * n; // next n + 1 entries (used when ata is true)\n var next = 5 * n + 1; // last entries in workspace\n // clear workspace w[0..s-1]\n for (k = 0; k < s; k++) {\n w[k] = -1;\n }\n\n // allocate result\n var colcount = []; // (n)\n\n // AT = A'\n var at = transpose(a);\n // at arrays\n var tindex = at._index;\n var tptr = at._ptr;\n\n // find w[first + j]\n for (k = 0; k < n; k++) {\n j = post[k];\n // colcount[j]=1 if j is a leaf\n colcount[j] = w[first + j] === -1 ? 1 : 0;\n for (; j !== -1 && w[first + j] === -1; j = parent[j]) {\n w[first + j] = k;\n }\n }\n\n // initialize ata if needed\n if (ata) {\n // invert post\n for (k = 0; k < n; k++) {\n w[post[k]] = k;\n }\n // loop rows (columns in AT)\n for (i = 0; i < m; i++) {\n // values in column i of AT\n for (k = n, p0 = tptr[i], p1 = tptr[i + 1], p = p0; p < p1; p++) {\n k = Math.min(k, w[tindex[p]]);\n }\n // place row i in linked list k\n w[next + i] = w[head + k];\n w[head + k] = i;\n }\n }\n\n // each node in its own set\n for (i = 0; i < n; i++) {\n w[ancestor + i] = i;\n }\n for (k = 0; k < n; k++) {\n // j is the kth node in postordered etree\n j = post[k];\n // check j is not a root\n if (parent[j] !== -1) {\n colcount[parent[j]]--;\n }\n\n // J=j for LL'=A case\n for (J = ata ? w[head + k] : j; J !== -1; J = ata ? w[next + J] : -1) {\n for (p = tptr[J]; p < tptr[J + 1]; p++) {\n i = tindex[p];\n var r = csLeaf(i, j, w, first, maxfirst, prevleaf, ancestor);\n // check A(i,j) is in skeleton\n if (r.jleaf >= 1) {\n colcount[j]++;\n }\n // check account for overlap in q\n if (r.jleaf === 2) {\n colcount[r.q]--;\n }\n }\n }\n if (parent[j] !== -1) {\n w[ancestor + j] = parent[j];\n }\n }\n // sum up colcount's of each child\n for (j = 0; j < n; j++) {\n if (parent[j] !== -1) {\n colcount[parent[j]] += colcount[j];\n }\n }\n return colcount;\n };\n});","import { csPermute } from './csPermute.js';\nimport { csPost } from './csPost.js';\nimport { csEtree } from './csEtree.js';\nimport { createCsAmd } from './csAmd.js';\nimport { createCsCounts } from './csCounts.js';\nimport { factory } from '../../../utils/factory.js';\nvar name = 'csSqr';\nvar dependencies = ['add', 'multiply', 'transpose'];\nexport var createCsSqr = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n add,\n multiply,\n transpose\n } = _ref;\n var csAmd = createCsAmd({\n add,\n multiply,\n transpose\n });\n var csCounts = createCsCounts({\n transpose\n });\n\n /**\n * Symbolic ordering and analysis for QR and LU decompositions.\n *\n * @param {Number} order The ordering strategy (see csAmd for more details)\n * @param {Matrix} a The A matrix\n * @param {boolean} qr Symbolic ordering and analysis for QR decomposition (true) or\n * symbolic ordering and analysis for LU decomposition (false)\n *\n * @return {Object} The Symbolic ordering and analysis for matrix A\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\n return function csSqr(order, a, qr) {\n // a arrays\n var aptr = a._ptr;\n var asize = a._size;\n // columns\n var n = asize[1];\n // vars\n var k;\n // symbolic analysis result\n var s = {};\n // fill-reducing ordering\n s.q = csAmd(order, a);\n // validate results\n if (order && !s.q) {\n return null;\n }\n // QR symbolic analysis\n if (qr) {\n // apply permutations if needed\n var c = order ? csPermute(a, null, s.q, 0) : a;\n // etree of C'*C, where C=A(:,q)\n s.parent = csEtree(c, 1);\n // post order elimination tree\n var post = csPost(s.parent, n);\n // col counts chol(C'*C)\n s.cp = csCounts(c, s.parent, post, 1);\n // check we have everything needed to calculate number of nonzero elements\n if (c && s.parent && s.cp && _vcount(c, s)) {\n // calculate number of nonzero elements\n for (s.unz = 0, k = 0; k < n; k++) {\n s.unz += s.cp[k];\n }\n }\n } else {\n // for LU factorization only, guess nnz(L) and nnz(U)\n s.unz = 4 * aptr[n] + n;\n s.lnz = s.unz;\n }\n // return result S\n return s;\n };\n\n /**\n * Compute nnz(V) = s.lnz, s.pinv, s.leftmost, s.m2 from A and s.parent\n */\n function _vcount(a, s) {\n // a arrays\n var aptr = a._ptr;\n var aindex = a._index;\n var asize = a._size;\n // rows & columns\n var m = asize[0];\n var n = asize[1];\n // initialize s arrays\n s.pinv = []; // (m + n)\n s.leftmost = []; // (m)\n // vars\n var parent = s.parent;\n var pinv = s.pinv;\n var leftmost = s.leftmost;\n // workspace, next: first m entries, head: next n entries, tail: next n entries, nque: next n entries\n var w = []; // (m + 3 * n)\n var next = 0;\n var head = m;\n var tail = m + n;\n var nque = m + 2 * n;\n // vars\n var i, k, p, p0, p1;\n // initialize w\n for (k = 0; k < n; k++) {\n // queue k is empty\n w[head + k] = -1;\n w[tail + k] = -1;\n w[nque + k] = 0;\n }\n // initialize row arrays\n for (i = 0; i < m; i++) {\n leftmost[i] = -1;\n }\n // loop columns backwards\n for (k = n - 1; k >= 0; k--) {\n // values & index for column k\n for (p0 = aptr[k], p1 = aptr[k + 1], p = p0; p < p1; p++) {\n // leftmost[i] = min(find(A(i,:)))\n leftmost[aindex[p]] = k;\n }\n }\n // scan rows in reverse order\n for (i = m - 1; i >= 0; i--) {\n // row i is not yet ordered\n pinv[i] = -1;\n k = leftmost[i];\n // check row i is empty\n if (k === -1) {\n continue;\n }\n // first row in queue k\n if (w[nque + k]++ === 0) {\n w[tail + k] = i;\n }\n // put i at head of queue k\n w[next + i] = w[head + k];\n w[head + k] = i;\n }\n s.lnz = 0;\n s.m2 = m;\n // find row permutation and nnz(V)\n for (k = 0; k < n; k++) {\n // remove row i from queue k\n i = w[head + k];\n // count V(k,k) as nonzero\n s.lnz++;\n // add a fictitious row\n if (i < 0) {\n i = s.m2++;\n }\n // associate row i with V(:,k)\n pinv[i] = k;\n // skip if V(k+1:m,k) is empty\n if (--nque[k] <= 0) {\n continue;\n }\n // nque[k] is nnz (V(k+1:m,k))\n s.lnz += w[nque + k];\n // move all rows to parent of k\n var pa = parent[k];\n if (pa !== -1) {\n if (w[nque + pa] === 0) {\n w[tail + pa] = w[tail + k];\n }\n w[next + w[tail + k]] = w[head + pa];\n w[head + pa] = w[next + i];\n w[nque + pa] += w[nque + k];\n }\n }\n for (i = 0; i < m; i++) {\n if (pinv[i] < 0) {\n pinv[i] = k++;\n }\n }\n return true;\n }\n});","/**\n * Checks if the node at w[j] is marked\n *\n * @param {Array} w The array\n * @param {Number} j The array index\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csMarked(w, j) {\n // check node is marked\n return w[j] < 0;\n}","import { csFlip } from './csFlip.js';\n\n/**\n * Marks the node at w[j]\n *\n * @param {Array} w The array\n * @param {Number} j The array index\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csMark(w, j) {\n // mark w[j]\n w[j] = csFlip(w[j]);\n}","import { csFlip } from './csFlip.js';\n\n/**\n * Flips the value if it is negative of returns the same value otherwise.\n *\n * @param {Number} i The value to flip\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csUnflip(i) {\n // flip the value if it is negative\n return i < 0 ? csFlip(i) : i;\n}","import { csMarked } from './csMarked.js';\nimport { csMark } from './csMark.js';\nimport { csUnflip } from './csUnflip.js';\n\n/**\n * Depth-first search computes the nonzero pattern xi of the directed graph G (Matrix) starting\n * at nodes in B (see csReach()).\n *\n * @param {Number} j The starting node for the DFS algorithm\n * @param {Matrix} g The G matrix to search, ptr array modified, then restored\n * @param {Number} top Start index in stack xi[top..n-1]\n * @param {Number} k The kth column in B\n * @param {Array} xi The nonzero pattern xi[top] .. xi[n - 1], an array of size = 2 * n\n * The first n entries is the nonzero pattern, the last n entries is the stack\n * @param {Array} pinv The inverse row permutation vector, must be null for L * x = b\n *\n * @return {Number} New value of top\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csDfs(j, g, top, xi, pinv) {\n // g arrays\n var index = g._index;\n var ptr = g._ptr;\n var size = g._size;\n // columns\n var n = size[1];\n // vars\n var i, p, p2;\n // initialize head\n var head = 0;\n // initialize the recursion stack\n xi[0] = j;\n // loop\n while (head >= 0) {\n // get j from the top of the recursion stack\n j = xi[head];\n // apply permutation vector\n var jnew = pinv ? pinv[j] : j;\n // check node j is marked\n if (!csMarked(ptr, j)) {\n // mark node j as visited\n csMark(ptr, j);\n // update stack (last n entries in xi)\n xi[n + head] = jnew < 0 ? 0 : csUnflip(ptr[jnew]);\n }\n // node j done if no unvisited neighbors\n var done = 1;\n // examine all neighbors of j, stack (last n entries in xi)\n for (p = xi[n + head], p2 = jnew < 0 ? 0 : csUnflip(ptr[jnew + 1]); p < p2; p++) {\n // consider neighbor node i\n i = index[p];\n // check we have visited node i, skip it\n if (csMarked(ptr, i)) {\n continue;\n }\n // pause depth-first search of node j, update stack (last n entries in xi)\n xi[n + head] = p;\n // start dfs at node i\n xi[++head] = i;\n // node j is not done\n done = 0;\n // break, to start dfs(i)\n break;\n }\n // check depth-first search at node j is done\n if (done) {\n // remove j from the recursion stack\n head--;\n // and place in the output stack\n xi[--top] = j;\n }\n }\n return top;\n}","import { csMarked } from './csMarked.js';\nimport { csMark } from './csMark.js';\nimport { csDfs } from './csDfs.js';\n\n/**\n * The csReach function computes X = Reach(B), where B is the nonzero pattern of the n-by-1\n * sparse column of vector b. The function returns the set of nodes reachable from any node in B. The\n * nonzero pattern xi of the solution x to the sparse linear system Lx=b is given by X=Reach(B).\n *\n * @param {Matrix} g The G matrix\n * @param {Matrix} b The B matrix\n * @param {Number} k The kth column in B\n * @param {Array} xi The nonzero pattern xi[top] .. xi[n - 1], an array of size = 2 * n\n * The first n entries is the nonzero pattern, the last n entries is the stack\n * @param {Array} pinv The inverse row permutation vector\n *\n * @return {Number} The index for the nonzero pattern\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\nexport function csReach(g, b, k, xi, pinv) {\n // g arrays\n var gptr = g._ptr;\n var gsize = g._size;\n // b arrays\n var bindex = b._index;\n var bptr = b._ptr;\n // columns\n var n = gsize[1];\n // vars\n var p, p0, p1;\n // initialize top\n var top = n;\n // loop column indeces in B\n for (p0 = bptr[k], p1 = bptr[k + 1], p = p0; p < p1; p++) {\n // node i\n var i = bindex[p];\n // check node i is marked\n if (!csMarked(gptr, i)) {\n // start a dfs at unmarked node i\n top = csDfs(i, g, top, xi, pinv);\n }\n }\n // loop columns from top -> n - 1\n for (p = top; p < n; p++) {\n // restore G\n csMark(gptr, xi[p]);\n }\n return top;\n}","import { csReach } from './csReach.js';\nimport { factory } from '../../../utils/factory.js';\nvar name = 'csSpsolve';\nvar dependencies = ['divideScalar', 'multiply', 'subtract'];\nexport var createCsSpsolve = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n divideScalar,\n multiply,\n subtract\n } = _ref;\n /**\n * The function csSpsolve() computes the solution to G * x = bk, where bk is the\n * kth column of B. When lo is true, the function assumes G = L is lower triangular with the\n * diagonal entry as the first entry in each column. When lo is true, the function assumes G = U\n * is upper triangular with the diagonal entry as the last entry in each column.\n *\n * @param {Matrix} g The G matrix\n * @param {Matrix} b The B matrix\n * @param {Number} k The kth column in B\n * @param {Array} xi The nonzero pattern xi[top] .. xi[n - 1], an array of size = 2 * n\n * The first n entries is the nonzero pattern, the last n entries is the stack\n * @param {Array} x The soluton to the linear system G * x = b\n * @param {Array} pinv The inverse row permutation vector, must be null for L * x = b\n * @param {boolean} lo The lower (true) upper triangular (false) flag\n *\n * @return {Number} The index for the nonzero pattern\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\n return function csSpsolve(g, b, k, xi, x, pinv, lo) {\n // g arrays\n var gvalues = g._values;\n var gindex = g._index;\n var gptr = g._ptr;\n var gsize = g._size;\n // columns\n var n = gsize[1];\n // b arrays\n var bvalues = b._values;\n var bindex = b._index;\n var bptr = b._ptr;\n // vars\n var p, p0, p1, q;\n // xi[top..n-1] = csReach(B(:,k))\n var top = csReach(g, b, k, xi, pinv);\n // clear x\n for (p = top; p < n; p++) {\n x[xi[p]] = 0;\n }\n // scatter b\n for (p0 = bptr[k], p1 = bptr[k + 1], p = p0; p < p1; p++) {\n x[bindex[p]] = bvalues[p];\n }\n // loop columns\n for (var px = top; px < n; px++) {\n // x array index for px\n var j = xi[px];\n // apply permutation vector (U x = b), j maps to column J of G\n var J = pinv ? pinv[j] : j;\n // check column J is empty\n if (J < 0) {\n continue;\n }\n // column value indeces in G, p0 <= p < p1\n p0 = gptr[J];\n p1 = gptr[J + 1];\n // x(j) /= G(j,j)\n x[j] = divideScalar(x[j], gvalues[lo ? p0 : p1 - 1]);\n // first entry L(j,j)\n p = lo ? p0 + 1 : p0;\n q = lo ? p1 : p1 - 1;\n // loop\n for (; p < q; p++) {\n // row\n var i = gindex[p];\n // x(i) -= G(i,j) * x(j)\n x[i] = subtract(x[i], multiply(gvalues[p], x[j]));\n }\n }\n // return top of stack\n return top;\n };\n});","import { factory } from '../../../utils/factory.js';\nimport { createCsSpsolve } from './csSpsolve.js';\nvar name = 'csLu';\nvar dependencies = ['abs', 'divideScalar', 'multiply', 'subtract', 'larger', 'largerEq', 'SparseMatrix'];\nexport var createCsLu = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n abs,\n divideScalar,\n multiply,\n subtract,\n larger,\n largerEq,\n SparseMatrix\n } = _ref;\n var csSpsolve = createCsSpsolve({\n divideScalar,\n multiply,\n subtract\n });\n\n /**\n * Computes the numeric LU factorization of the sparse matrix A. Implements a Left-looking LU factorization\n * algorithm that computes L and U one column at a tume. At the kth step, it access columns 1 to k-1 of L\n * and column k of A. Given the fill-reducing column ordering q (see parameter s) computes L, U and pinv so\n * L * U = A(p, q), where p is the inverse of pinv.\n *\n * @param {Matrix} m The A Matrix to factorize\n * @param {Object} s The symbolic analysis from csSqr(). Provides the fill-reducing\n * column ordering q\n * @param {Number} tol Partial pivoting threshold (1 for partial pivoting)\n *\n * @return {Number} The numeric LU factorization of A or null\n *\n * Reference: http://faculty.cse.tamu.edu/davis/publications.html\n */\n return function csLu(m, s, tol) {\n // validate input\n if (!m) {\n return null;\n }\n // m arrays\n var size = m._size;\n // columns\n var n = size[1];\n // symbolic analysis result\n var q;\n var lnz = 100;\n var unz = 100;\n // update symbolic analysis parameters\n if (s) {\n q = s.q;\n lnz = s.lnz || lnz;\n unz = s.unz || unz;\n }\n // L arrays\n var lvalues = []; // (lnz)\n var lindex = []; // (lnz)\n var lptr = []; // (n + 1)\n // L\n var L = new SparseMatrix({\n values: lvalues,\n index: lindex,\n ptr: lptr,\n size: [n, n]\n });\n // U arrays\n var uvalues = []; // (unz)\n var uindex = []; // (unz)\n var uptr = []; // (n + 1)\n // U\n var U = new SparseMatrix({\n values: uvalues,\n index: uindex,\n ptr: uptr,\n size: [n, n]\n });\n // inverse of permutation vector\n var pinv = []; // (n)\n // vars\n var i, p;\n // allocate arrays\n var x = []; // (n)\n var xi = []; // (2 * n)\n // initialize variables\n for (i = 0; i < n; i++) {\n // clear workspace\n x[i] = 0;\n // no rows pivotal yet\n pinv[i] = -1;\n // no cols of L yet\n lptr[i + 1] = 0;\n }\n // reset number of nonzero elements in L and U\n lnz = 0;\n unz = 0;\n // compute L(:,k) and U(:,k)\n for (var k = 0; k < n; k++) {\n // update ptr\n lptr[k] = lnz;\n uptr[k] = unz;\n // apply column permutations if needed\n var col = q ? q[k] : k;\n // solve triangular system, x = L\\A(:,col)\n var top = csSpsolve(L, m, col, xi, x, pinv, 1);\n // find pivot\n var ipiv = -1;\n var a = -1;\n // loop xi[] from top -> n\n for (p = top; p < n; p++) {\n // x[i] is nonzero\n i = xi[p];\n // check row i is not yet pivotal\n if (pinv[i] < 0) {\n // absolute value of x[i]\n var xabs = abs(x[i]);\n // check absoulte value is greater than pivot value\n if (larger(xabs, a)) {\n // largest pivot candidate so far\n a = xabs;\n ipiv = i;\n }\n } else {\n // x(i) is the entry U(pinv[i],k)\n uindex[unz] = pinv[i];\n uvalues[unz++] = x[i];\n }\n }\n // validate we found a valid pivot\n if (ipiv === -1 || a <= 0) {\n return null;\n }\n // update actual pivot column, give preference to diagonal value\n if (pinv[col] < 0 && largerEq(abs(x[col]), multiply(a, tol))) {\n ipiv = col;\n }\n // the chosen pivot\n var pivot = x[ipiv];\n // last entry in U(:,k) is U(k,k)\n uindex[unz] = k;\n uvalues[unz++] = pivot;\n // ipiv is the kth pivot row\n pinv[ipiv] = k;\n // first entry in L(:,k) is L(k,k) = 1\n lindex[lnz] = ipiv;\n lvalues[lnz++] = 1;\n // L(k+1:n,k) = x / pivot\n for (p = top; p < n; p++) {\n // row\n i = xi[p];\n // check x(i) is an entry in L(:,k)\n if (pinv[i] < 0) {\n // save unpermuted row in L\n lindex[lnz] = i;\n // scale pivot column\n lvalues[lnz++] = divideScalar(x[i], pivot);\n }\n // x[0..n-1] = 0 for next k\n x[i] = 0;\n }\n }\n // update ptr\n lptr[n] = lnz;\n uptr[n] = unz;\n // fix row indices of L for final pinv\n for (p = 0; p < lnz; p++) {\n lindex[p] = pinv[lindex[p]];\n }\n // trim arrays\n lvalues.splice(lnz, lvalues.length - lnz);\n lindex.splice(lnz, lindex.length - lnz);\n uvalues.splice(unz, uvalues.length - unz);\n uindex.splice(unz, uindex.length - unz);\n // return LU factor\n return {\n L,\n U,\n pinv\n };\n };\n});","import { isInteger } from '../../../utils/number.js';\nimport { factory } from '../../../utils/factory.js';\nimport { createCsSqr } from '../sparse/csSqr.js';\nimport { createCsLu } from '../sparse/csLu.js';\nvar name = 'slu';\nvar dependencies = ['typed', 'abs', 'add', 'multiply', 'transpose', 'divideScalar', 'subtract', 'larger', 'largerEq', 'SparseMatrix'];\nexport var createSlu = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n abs,\n add,\n multiply,\n transpose,\n divideScalar,\n subtract,\n larger,\n largerEq,\n SparseMatrix\n } = _ref;\n var csSqr = createCsSqr({\n add,\n multiply,\n transpose\n });\n var csLu = createCsLu({\n abs,\n divideScalar,\n multiply,\n subtract,\n larger,\n largerEq,\n SparseMatrix\n });\n\n /**\n * Calculate the Sparse Matrix LU decomposition with full pivoting. Sparse Matrix `A` is decomposed in two matrices (`L`, `U`) and two permutation vectors (`pinv`, `q`) where\n *\n * `P * A * Q = L * U`\n *\n * Syntax:\n *\n * math.slu(A, order, threshold)\n *\n * Examples:\n *\n * const A = math.sparse([[4,3], [6, 3]])\n * math.slu(A, 1, 0.001)\n * // returns:\n * // {\n * // L: [[1, 0], [1.5, 1]]\n * // U: [[4, 3], [0, -1.5]]\n * // p: [0, 1]\n * // q: [0, 1]\n * // }\n *\n * See also:\n *\n * lup, lsolve, usolve, lusolve\n *\n * @param {SparseMatrix} A A two dimensional sparse matrix for which to get the LU decomposition.\n * @param {Number} order The Symbolic Ordering and Analysis order:\n * 0 - Natural ordering, no permutation vector q is returned\n * 1 - Matrix must be square, symbolic ordering and analisis is performed on M = A + A'\n * 2 - Symbolic ordering and analisis is performed on M = A' * A. Dense columns from A' are dropped, A recreated from A'.\n * This is appropriatefor LU factorization of unsymmetric matrices.\n * 3 - Symbolic ordering and analisis is performed on M = A' * A. This is best used for LU factorization is matrix M has no dense rows.\n * A dense row is a row with more than 10*sqr(columns) entries.\n * @param {Number} threshold Partial pivoting threshold (1 for partial pivoting)\n *\n * @return {Object} The lower triangular matrix, the upper triangular matrix and the permutation vectors.\n */\n return typed(name, {\n 'SparseMatrix, number, number': function SparseMatrixNumberNumber(a, order, threshold) {\n // verify order\n if (!isInteger(order) || order < 0 || order > 3) {\n throw new Error('Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]');\n }\n // verify threshold\n if (threshold < 0 || threshold > 1) {\n throw new Error('Partial pivoting threshold must be a number from 0 to 1');\n }\n\n // perform symbolic ordering and analysis\n var s = csSqr(order, a, false);\n\n // perform lu decomposition\n var f = csLu(a, s, threshold);\n\n // return decomposition\n return {\n L: f.L,\n U: f.U,\n p: f.pinv,\n q: s.q,\n toString: function toString() {\n return 'L: ' + this.L.toString() + '\\nU: ' + this.U.toString() + '\\np: ' + this.p.toString() + (this.q ? '\\nq: ' + this.q.toString() : '') + '\\n';\n }\n };\n }\n });\n});","import { applyCallback } from '../../utils/applyCallback.js';\nimport { filter, filterRegExp } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'filter';\nvar dependencies = ['typed'];\nexport var createFilter = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Filter the items in an array or one dimensional matrix.\n *\n * Syntax:\n *\n * math.filter(x, test)\n *\n * Examples:\n *\n * function isPositive (x) {\n * return x > 0\n * }\n * math.filter([6, -2, -1, 4, 3], isPositive) // returns [6, 4, 3]\n *\n * math.filter([\"23\", \"foo\", \"100\", \"55\", \"bar\"], /[0-9]+/) // returns [\"23\", \"100\", \"55\"]\n *\n * See also:\n *\n * forEach, map, sort\n *\n * @param {Matrix | Array} x A one dimensional matrix or array to filter\n * @param {Function | RegExp} test\n * A function or regular expression to test items.\n * All entries for which `test` returns true are returned.\n * When `test` is a function, it is invoked with three parameters:\n * the value of the element, the index of the element, and the\n * matrix/array being traversed. The function must return a boolean.\n * @return {Matrix | Array} Returns the filtered matrix.\n */\n return typed('filter', {\n 'Array, function': _filterCallback,\n 'Matrix, function': function MatrixFunction(x, test) {\n return x.create(_filterCallback(x.toArray(), test));\n },\n 'Array, RegExp': filterRegExp,\n 'Matrix, RegExp': function MatrixRegExp(x, test) {\n return x.create(filterRegExp(x.toArray(), test));\n }\n });\n});\n\n/**\n * Filter values in a callback given a callback function\n * @param {Array} x\n * @param {Function} callback\n * @return {Array} Returns the filtered array\n * @private\n */\nfunction _filterCallback(x, callback) {\n return filter(x, function (value, index, array) {\n // invoke the callback function with the right number of arguments\n return applyCallback(callback, value, [index], array, 'filter');\n });\n}","import { factory } from '../../utils/factory.js';\nimport { isNumber } from '../../utils/is.js';\nvar name = 'stirlingS2';\nvar dependencies = ['typed', 'addScalar', 'subtractScalar', 'multiplyScalar', 'divideScalar', 'pow', 'factorial', 'combinations', 'isNegative', 'isInteger', 'number', '?bignumber', 'larger'];\nexport var createStirlingS2 = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n addScalar,\n subtractScalar,\n multiplyScalar,\n divideScalar,\n pow,\n factorial,\n combinations,\n isNegative,\n isInteger,\n number,\n bignumber,\n larger\n } = _ref;\n var smallCache = [];\n var bigCache = [];\n /**\n * The Stirling numbers of the second kind, counts the number of ways to partition\n * a set of n labelled objects into k nonempty unlabelled subsets.\n * stirlingS2 only takes integer arguments.\n * The following condition must be enforced: k <= n.\n *\n * If n = k or k = 1 <= n, then s(n,k) = 1\n * If k = 0 < n, then s(n,k) = 0\n *\n * Note that if either n or k is supplied as a BigNumber, the result will be\n * as well.\n *\n * Syntax:\n *\n * math.stirlingS2(n, k)\n *\n * Examples:\n *\n * math.stirlingS2(5, 3) //returns 25\n *\n * See also:\n *\n * bellNumbers\n *\n * @param {Number | BigNumber} n Total number of objects in the set\n * @param {Number | BigNumber} k Number of objects in the subset\n * @return {Number | BigNumber} S(n,k)\n */\n return typed(name, {\n 'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, k) {\n if (!isInteger(n) || isNegative(n) || !isInteger(k) || isNegative(k)) {\n throw new TypeError('Non-negative integer value expected in function stirlingS2');\n } else if (larger(k, n)) {\n throw new TypeError('k must be less than or equal to n in function stirlingS2');\n }\n var big = !(isNumber(n) && isNumber(k));\n var cache = big ? bigCache : smallCache;\n var make = big ? bignumber : number;\n var nn = number(n);\n var nk = number(k);\n /* See if we already have the value: */\n if (cache[nn] && cache[nn].length > nk) {\n return cache[nn][nk];\n }\n /* Fill the cache */\n for (var m = 0; m <= nn; ++m) {\n if (!cache[m]) {\n cache[m] = [m === 0 ? make(1) : make(0)];\n }\n if (m === 0) continue;\n var row = cache[m];\n var prev = cache[m - 1];\n for (var i = row.length; i <= m && i <= nk; ++i) {\n if (i === m) {\n row[i] = 1;\n } else {\n row[i] = addScalar(multiplyScalar(make(i), prev[i]), prev[i - 1]);\n }\n }\n }\n return cache[nn][nk];\n }\n });\n});","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nexport default formatters;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","import { rightArithShiftBigNumber } from '../../utils/bignumber/bitwise.js';\nimport { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';\nimport { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js';\nimport { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';\nimport { createMatAlgo08xS0Sid } from '../../type/matrix/utils/matAlgo08xS0Sid.js';\nimport { factory } from '../../utils/factory.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nimport { createUseMatrixForArrayScalar } from './useMatrixForArrayScalar.js';\nimport { rightArithShiftNumber } from '../../plain/number/index.js';\nvar name = 'rightArithShift';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix', 'concat'];\nexport var createRightArithShift = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n zeros,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo01xDSid = createMatAlgo01xDSid({\n typed\n });\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo08xS0Sid = createMatAlgo08xS0Sid({\n typed,\n equalScalar\n });\n var matAlgo10xSids = createMatAlgo10xSids({\n typed,\n DenseMatrix\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo14xDs = createMatAlgo14xDs({\n typed\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n var useMatrixForArrayScalar = createUseMatrixForArrayScalar({\n typed,\n matrix\n });\n\n /**\n * Bitwise right arithmetic shift of a value x by y number of bits, `x >> y`.\n * For matrices, the function is evaluated element wise.\n * For units, the function is evaluated on the best prefix base.\n *\n * Syntax:\n *\n * math.rightArithShift(x, y)\n *\n * Examples:\n *\n * math.rightArithShift(4, 2) // returns number 1\n *\n * math.rightArithShift([16, -32, 64], 4) // returns Array [1, -2, 4]\n *\n * See also:\n *\n * bitAnd, bitNot, bitOr, bitXor, rightArithShift, rightLogShift\n *\n * @param {number | BigNumber | Array | Matrix} x Value to be shifted\n * @param {number | BigNumber} y Amount of shifts\n * @return {number | BigNumber | Array | Matrix} `x` zero-filled shifted right `y` times\n */\n return typed(name, {\n 'number, number': rightArithShiftNumber,\n 'BigNumber, BigNumber': rightArithShiftBigNumber,\n 'SparseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(y, 0)) {\n return x.clone();\n }\n return matAlgo11xS0s(x, y, self, false);\n }),\n 'DenseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(y, 0)) {\n return x.clone();\n }\n return matAlgo14xDs(x, y, self, false);\n }),\n 'number | BigNumber, SparseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(x, 0)) {\n return zeros(y.size(), y.storage());\n }\n return matAlgo10xSids(y, x, self, true);\n }),\n 'number | BigNumber, DenseMatrix': typed.referToSelf(self => (x, y) => {\n // check scalar\n if (equalScalar(x, 0)) {\n return zeros(y.size(), y.storage());\n }\n return matAlgo14xDs(y, x, self, true);\n })\n }, useMatrixForArrayScalar, matrixAlgorithmSuite({\n SS: matAlgo08xS0Sid,\n DS: matAlgo01xDSid,\n SD: matAlgo02xDS0\n }));\n});","import { factory } from '../utils/factory.js';\nimport { deepMap } from '../utils/collection.js';\nvar name = 'number';\nvar dependencies = ['typed'];\n\n/**\n * Separates the radix, integer part, and fractional part of a non decimal number string\n * @param {string} input string to parse\n * @returns {object} the parts of the string or null if not a valid input\n */\nfunction getNonDecimalNumberParts(input) {\n var nonDecimalWithRadixMatch = input.match(/(0[box])([0-9a-fA-F]*)\\.([0-9a-fA-F]*)/);\n if (nonDecimalWithRadixMatch) {\n var radix = {\n '0b': 2,\n '0o': 8,\n '0x': 16\n }[nonDecimalWithRadixMatch[1]];\n var integerPart = nonDecimalWithRadixMatch[2];\n var fractionalPart = nonDecimalWithRadixMatch[3];\n return {\n input,\n radix,\n integerPart,\n fractionalPart\n };\n } else {\n return null;\n }\n}\n\n/**\n * Makes a number from a radix, and integer part, and a fractional part\n * @param {parts} [x] parts of the number string (from getNonDecimalNumberParts)\n * @returns {number} the number\n */\nfunction makeNumberFromNonDecimalParts(parts) {\n var n = parseInt(parts.integerPart, parts.radix);\n var f = 0;\n for (var i = 0; i < parts.fractionalPart.length; i++) {\n var digitValue = parseInt(parts.fractionalPart[i], parts.radix);\n f += digitValue / Math.pow(parts.radix, i + 1);\n }\n var result = n + f;\n if (isNaN(result)) {\n throw new SyntaxError('String \"' + parts.input + '\" is no valid number');\n }\n return result;\n}\nexport var createNumber = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Create a number or convert a string, boolean, or unit to a number.\n * When value is a matrix, all elements will be converted to number.\n *\n * Syntax:\n *\n * math.number(value)\n * math.number(unit, valuelessUnit)\n *\n * Examples:\n *\n * math.number(2) // returns number 2\n * math.number('7.2') // returns number 7.2\n * math.number(true) // returns number 1\n * math.number([true, false, true, true]) // returns [1, 0, 1, 1]\n * math.number(math.unit('52cm'), 'm') // returns 0.52\n *\n * See also:\n *\n * bignumber, boolean, complex, index, matrix, string, unit\n *\n * @param {string | number | BigNumber | Fraction | boolean | Array | Matrix | Unit | null} [value] Value to be converted\n * @param {Unit | string} [valuelessUnit] A valueless unit, used to convert a unit to a number\n * @return {number | Array | Matrix} The created number\n */\n var number = typed('number', {\n '': function _() {\n return 0;\n },\n number: function number(x) {\n return x;\n },\n string: function string(x) {\n if (x === 'NaN') return NaN;\n var nonDecimalNumberParts = getNonDecimalNumberParts(x);\n if (nonDecimalNumberParts) {\n return makeNumberFromNonDecimalParts(nonDecimalNumberParts);\n }\n var size = 0;\n var wordSizeSuffixMatch = x.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);\n if (wordSizeSuffixMatch) {\n // x includes a size suffix like 0xffffi32, so we extract\n // the suffix and remove it from x\n size = Number(wordSizeSuffixMatch[2]);\n x = wordSizeSuffixMatch[1];\n }\n var num = Number(x);\n if (isNaN(num)) {\n throw new SyntaxError('String \"' + x + '\" is no valid number');\n }\n if (wordSizeSuffixMatch) {\n // x is a signed bin, oct, or hex literal\n // num is the value of string x if x is interpreted as unsigned\n if (num > 2 ** size - 1) {\n // literal is too large for size suffix\n throw new SyntaxError(\"String \\\"\".concat(x, \"\\\" is out of range\"));\n }\n // check if the bit at index size - 1 is set and if so do the twos complement\n if (num >= 2 ** (size - 1)) {\n num = num - 2 ** size;\n }\n }\n return num;\n },\n BigNumber: function BigNumber(x) {\n return x.toNumber();\n },\n Fraction: function Fraction(x) {\n return x.valueOf();\n },\n Unit: typed.referToSelf(self => x => {\n var clone = x.clone();\n clone.value = self(x.value);\n return clone;\n }),\n null: function _null(x) {\n return 0;\n },\n 'Unit, string | Unit': function UnitStringUnit(unit, valuelessUnit) {\n return unit.toNumber(valuelessUnit);\n },\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n\n // reviver function to parse a JSON object like:\n //\n // {\"mathjs\":\"number\",\"value\":\"2.3\"}\n //\n // into a number 2.3\n number.fromJSON = function (json) {\n return parseFloat(json.value);\n };\n return number;\n});","import { factory } from '../../utils/factory.js';\nimport { isCollection } from '../../utils/is.js';\nvar name = 'std';\nvar dependencies = ['typed', 'map', 'sqrt', 'variance'];\nexport var createStd = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n map,\n sqrt,\n variance\n } = _ref;\n /**\n * Compute the standard deviation of a matrix or a list with values.\n * The standard deviations is defined as the square root of the variance:\n * `std(A) = sqrt(variance(A))`.\n * In case of a (multi dimensional) array or matrix, the standard deviation\n * over all elements will be calculated by default, unless an axis is specified\n * in which case the standard deviation will be computed along that axis.\n *\n * Additionally, it is possible to compute the standard deviation along the rows\n * or columns of a matrix by specifying the dimension as the second argument.\n *\n * Optionally, the type of normalization can be specified as the final\n * parameter. The parameter `normalization` can be one of the following values:\n *\n * - 'unbiased' (default) The sum of squared errors is divided by (n - 1)\n * - 'uncorrected' The sum of squared errors is divided by n\n * - 'biased' The sum of squared errors is divided by (n + 1)\n *\n *\n * Syntax:\n *\n * math.std(a, b, c, ...)\n * math.std(A)\n * math.std(A, normalization)\n * math.std(A, dimension)\n * math.std(A, dimension, normalization)\n *\n * Examples:\n *\n * math.std(2, 4, 6) // returns 2\n * math.std([2, 4, 6, 8]) // returns 2.581988897471611\n * math.std([2, 4, 6, 8], 'uncorrected') // returns 2.23606797749979\n * math.std([2, 4, 6, 8], 'biased') // returns 2\n *\n * math.std([[1, 2, 3], [4, 5, 6]]) // returns 1.8708286933869707\n * math.std([[1, 2, 3], [4, 6, 8]], 0) // returns [2.1213203435596424, 2.8284271247461903, 3.5355339059327378]\n * math.std([[1, 2, 3], [4, 6, 8]], 1) // returns [1, 2]\n * math.std([[1, 2, 3], [4, 6, 8]], 1, 'biased') // returns [0.7071067811865476, 1.4142135623730951]\n *\n * See also:\n *\n * mean, median, max, min, prod, sum, variance\n *\n * @param {Array | Matrix} array\n * A single matrix or or multiple scalar values\n * @param {string} [normalization='unbiased']\n * Determines how to normalize the variance.\n * Choose 'unbiased' (default), 'uncorrected', or 'biased'.\n * @param dimension {number | BigNumber}\n * Determines the axis to compute the standard deviation for a matrix\n * @return {*} The standard deviation\n */\n return typed(name, {\n // std([a, b, c, d, ...])\n 'Array | Matrix': _std,\n // std([a, b, c, d, ...], normalization)\n 'Array | Matrix, string': _std,\n // std([a, b, c, c, ...], dim)\n 'Array | Matrix, number | BigNumber': _std,\n // std([a, b, c, c, ...], dim, normalization)\n 'Array | Matrix, number | BigNumber, string': _std,\n // std(a, b, c, d, ...)\n '...': function _(args) {\n return _std(args);\n }\n });\n function _std(array, normalization) {\n if (array.length === 0) {\n throw new SyntaxError('Function std requires one or more parameters (0 provided)');\n }\n try {\n var v = variance.apply(null, arguments);\n if (isCollection(v)) {\n return map(v, sqrt);\n } else {\n return sqrt(v);\n }\n } catch (err) {\n if (err instanceof TypeError && err.message.indexOf(' variance') !== -1) {\n throw new TypeError(err.message.replace(' variance', ' std'));\n } else {\n throw err;\n }\n }\n }\n});","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","import { factory } from '../../utils/factory.js';\nimport { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';\nimport { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';\nimport { createMatAlgo09xS0Sf } from '../../type/matrix/utils/matAlgo09xS0Sf.js';\nimport { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';\nimport { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';\nimport { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';\nvar name = 'atan2';\nvar dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix', 'concat'];\nexport var createAtan2 = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n matrix,\n equalScalar,\n BigNumber,\n DenseMatrix,\n concat\n } = _ref;\n var matAlgo02xDS0 = createMatAlgo02xDS0({\n typed,\n equalScalar\n });\n var matAlgo03xDSf = createMatAlgo03xDSf({\n typed\n });\n var matAlgo09xS0Sf = createMatAlgo09xS0Sf({\n typed,\n equalScalar\n });\n var matAlgo11xS0s = createMatAlgo11xS0s({\n typed,\n equalScalar\n });\n var matAlgo12xSfs = createMatAlgo12xSfs({\n typed,\n DenseMatrix\n });\n var matrixAlgorithmSuite = createMatrixAlgorithmSuite({\n typed,\n matrix,\n concat\n });\n\n /**\n * Calculate the inverse tangent function with two arguments, y/x.\n * By providing two arguments, the right quadrant of the computed angle can be\n * determined.\n *\n * For matrices, the function is evaluated element wise.\n *\n * Syntax:\n *\n * math.atan2(y, x)\n *\n * Examples:\n *\n * math.atan2(2, 2) / math.pi // returns number 0.25\n *\n * const angle = math.unit(60, 'deg') // returns Unit 60 deg\n * const x = math.cos(angle)\n * const y = math.sin(angle)\n *\n * math.atan(2) // returns number 1.1071487177940904\n *\n * See also:\n *\n * tan, atan, sin, cos\n *\n * @param {number | Array | Matrix} y Second dimension\n * @param {number | Array | Matrix} x First dimension\n * @return {number | Array | Matrix} Four-quadrant inverse tangent\n */\n return typed(name, {\n 'number, number': Math.atan2,\n // Complex numbers doesn't seem to have a reasonable implementation of\n // atan2(). Even Matlab removed the support, after they only calculated\n // the atan only on base of the real part of the numbers and ignored\n // the imaginary.\n\n 'BigNumber, BigNumber': (y, x) => BigNumber.atan2(y, x)\n }, matrixAlgorithmSuite({\n scalar: 'number | BigNumber',\n SS: matAlgo09xS0Sf,\n DS: matAlgo03xDSf,\n SD: matAlgo02xDS0,\n Ss: matAlgo11xS0s,\n sS: matAlgo12xSfs\n }));\n});","import { factory } from '../../../utils/factory.js';\nimport { deepMap } from '../../../utils/collection.js';\nvar name = 'bignumber';\nvar dependencies = ['typed', 'BigNumber'];\nexport var createBignumber = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n BigNumber\n } = _ref;\n /**\n * Create a BigNumber, which can store numbers with arbitrary precision.\n * When a matrix is provided, all elements will be converted to BigNumber.\n *\n * Syntax:\n *\n * math.bignumber(x)\n *\n * Examples:\n *\n * 0.1 + 0.2 // returns number 0.30000000000000004\n * math.bignumber(0.1) + math.bignumber(0.2) // returns BigNumber 0.3\n *\n *\n * 7.2e500 // returns number Infinity\n * math.bignumber('7.2e500') // returns BigNumber 7.2e500\n *\n * See also:\n *\n * boolean, complex, index, matrix, string, unit\n *\n * @param {number | string | Fraction | BigNumber | Array | Matrix | boolean | null} [value] Value for the big number,\n * 0 by default.\n * @returns {BigNumber} The created bignumber\n */\n return typed('bignumber', {\n '': function _() {\n return new BigNumber(0);\n },\n number: function number(x) {\n // convert to string to prevent errors in case of >15 digits\n return new BigNumber(x + '');\n },\n string: function string(x) {\n var wordSizeSuffixMatch = x.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);\n if (wordSizeSuffixMatch) {\n // x has a word size suffix\n var size = wordSizeSuffixMatch[2];\n var n = BigNumber(wordSizeSuffixMatch[1]);\n var twoPowSize = new BigNumber(2).pow(Number(size));\n if (n.gt(twoPowSize.sub(1))) {\n throw new SyntaxError(\"String \\\"\".concat(x, \"\\\" is out of range\"));\n }\n var twoPowSizeSubOne = new BigNumber(2).pow(Number(size) - 1);\n if (n.gte(twoPowSizeSubOne)) {\n return n.sub(twoPowSize);\n } else {\n return n;\n }\n }\n return new BigNumber(x);\n },\n BigNumber: function BigNumber(x) {\n // we assume a BigNumber is immutable\n return x;\n },\n Unit: typed.referToSelf(self => x => {\n var clone = x.clone();\n clone.value = self(x.value);\n return clone;\n }),\n Fraction: function Fraction(x) {\n return new BigNumber(x.n).div(x.d).times(x.s);\n },\n null: function _null(x) {\n return new BigNumber(0);\n },\n 'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))\n });\n});","import { factory } from '../../utils/factory.js';\nimport { noBignumber, noMatrix } from '../../utils/noop.js';\nvar name = 'range';\nvar dependencies = ['typed', 'config', '?matrix', '?bignumber', 'smaller', 'smallerEq', 'larger', 'largerEq', 'add', 'isPositive'];\nexport var createRange = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n matrix,\n bignumber,\n smaller,\n smallerEq,\n larger,\n largerEq,\n add,\n isPositive\n } = _ref;\n /**\n * Create an array from a range.\n * By default, the range end is excluded. This can be customized by providing\n * an extra parameter `includeEnd`.\n *\n * Syntax:\n *\n * math.range(str [, includeEnd]) // Create a range from a string,\n * // where the string contains the\n * // start, optional step, and end,\n * // separated by a colon.\n * math.range(start, end [, includeEnd]) // Create a range with start and\n * // end and a step size of 1.\n * math.range(start, end, step [, includeEnd]) // Create a range with start, step,\n * // and end.\n *\n * Where:\n *\n * - `str: string`\n * A string 'start:end' or 'start:step:end'\n * - `start: {number | BigNumber | Unit}`\n * Start of the range\n * - `end: number | BigNumber | Unit`\n * End of the range, excluded by default, included when parameter includeEnd=true\n * - `step: number | BigNumber | Unit`\n * Step size. Default value is 1.\n * - `includeEnd: boolean`\n * Option to specify whether to include the end or not. False by default.\n *\n * Examples:\n *\n * math.range(2, 6) // [2, 3, 4, 5]\n * math.range(2, -3, -1) // [2, 1, 0, -1, -2]\n * math.range('2:1:6') // [2, 3, 4, 5]\n * math.range(2, 6, true) // [2, 3, 4, 5, 6]\n * math.range(math.unit(2, 'm'), math.unit(-3, 'm'), math.unit(-1, 'm')) // [2 m, 1 m, 0 m , -1 m, -2 m]\n *\n * See also:\n *\n * ones, zeros, size, subset\n *\n * @param {*} args Parameters describing the ranges `start`, `end`, and optional `step`.\n * @return {Array | Matrix} range\n */\n return typed(name, {\n // TODO: simplify signatures when typed-function supports default values and optional arguments\n\n // TODO: a number or boolean should not be converted to string here\n string: _strRange,\n 'string, boolean': _strRange,\n 'number, number': function numberNumber(start, end) {\n return _out(_range(start, end, 1, false));\n },\n 'number, number, number': function numberNumberNumber(start, end, step) {\n return _out(_range(start, end, step, false));\n },\n 'number, number, boolean': function numberNumberBoolean(start, end, includeEnd) {\n return _out(_range(start, end, 1, includeEnd));\n },\n 'number, number, number, boolean': function numberNumberNumberBoolean(start, end, step, includeEnd) {\n return _out(_range(start, end, step, includeEnd));\n },\n 'BigNumber, BigNumber': function BigNumberBigNumber(start, end) {\n var BigNumber = start.constructor;\n return _out(_range(start, end, new BigNumber(1), false));\n },\n 'BigNumber, BigNumber, BigNumber': function BigNumberBigNumberBigNumber(start, end, step) {\n return _out(_range(start, end, step, false));\n },\n 'BigNumber, BigNumber, boolean': function BigNumberBigNumberBoolean(start, end, includeEnd) {\n var BigNumber = start.constructor;\n return _out(_range(start, end, new BigNumber(1), includeEnd));\n },\n 'BigNumber, BigNumber, BigNumber, boolean': function BigNumberBigNumberBigNumberBoolean(start, end, step, includeEnd) {\n return _out(_range(start, end, step, includeEnd));\n },\n 'Unit, Unit, Unit': function UnitUnitUnit(start, end, step) {\n return _out(_range(start, end, step, false));\n },\n 'Unit, Unit, Unit, boolean': function UnitUnitUnitBoolean(start, end, step, includeEnd) {\n return _out(_range(start, end, step, includeEnd));\n }\n });\n function _out(arr) {\n if (config.matrix === 'Matrix') {\n return matrix ? matrix(arr) : noMatrix();\n }\n return arr;\n }\n function _strRange(str, includeEnd) {\n var r = _parse(str);\n if (!r) {\n throw new SyntaxError('String \"' + str + '\" is no valid range');\n }\n if (config.number === 'BigNumber') {\n if (bignumber === undefined) {\n noBignumber();\n }\n return _out(_range(bignumber(r.start), bignumber(r.end), bignumber(r.step)), includeEnd);\n } else {\n return _out(_range(r.start, r.end, r.step, includeEnd));\n }\n }\n\n /**\n * Create a range with numbers or BigNumbers\n * @param {number | BigNumber | Unit} start\n * @param {number | BigNumber | Unit} end\n * @param {number | BigNumber | Unit} step\n * @param {boolean} includeEnd\n * @returns {Array} range\n * @private\n */\n function _range(start, end, step, includeEnd) {\n var array = [];\n var ongoing = isPositive(step) ? includeEnd ? smallerEq : smaller : includeEnd ? largerEq : larger;\n var x = start;\n while (ongoing(x, end)) {\n array.push(x);\n x = add(x, step);\n }\n return array;\n }\n\n /**\n * Parse a string into a range,\n * The string contains the start, optional step, and end, separated by a colon.\n * If the string does not contain a valid range, null is returned.\n * For example str='0:2:11'.\n * @param {string} str\n * @return {{start: number, end: number, step: number} | null} range Object containing properties start, end, step\n * @private\n */\n function _parse(str) {\n var args = str.split(':');\n\n // number\n var nums = args.map(function (arg) {\n // use Number and not parseFloat as Number returns NaN on invalid garbage in the string\n return Number(arg);\n });\n var invalid = nums.some(function (num) {\n return isNaN(num);\n });\n if (invalid) {\n return null;\n }\n switch (nums.length) {\n case 2:\n return {\n start: nums[0],\n end: nums[1],\n step: 1\n };\n case 3:\n return {\n start: nums[0],\n end: nums[2],\n step: nums[1]\n };\n default:\n return null;\n }\n }\n});","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","import { flatten } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nimport { isMatrix, isNumber } from '../../utils/is.js';\nimport { createRng } from './util/seededRNG.js';\nvar name = 'pickRandom';\nvar dependencies = ['typed', 'config', '?on'];\nexport var createPickRandom = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n config,\n on\n } = _ref;\n // seeded pseudo random number generator\n var rng = createRng(config.randomSeed);\n if (on) {\n on('config', function (curr, prev) {\n if (curr.randomSeed !== prev.randomSeed) {\n rng = createRng(curr.randomSeed);\n }\n });\n }\n\n /**\n * Random pick one or more values from a one dimensional array.\n * Array elements are picked using a random function with uniform or weighted distribution.\n *\n * Syntax:\n *\n * math.pickRandom(array)\n * math.pickRandom(array, number)\n * math.pickRandom(array, weights)\n * math.pickRandom(array, number, weights)\n * math.pickRandom(array, weights, number)\n * math.pickRandom(array, { weights, number, elementWise })\n *\n * Examples:\n *\n * math.pickRandom([3, 6, 12, 2]) // returns one of the values in the array\n * math.pickRandom([3, 6, 12, 2], 2) // returns an array of two of the values in the array\n * math.pickRandom([3, 6, 12, 2], { number: 2 }) // returns an array of two of the values in the array\n * math.pickRandom([3, 6, 12, 2], [1, 3, 2, 1]) // returns one of the values in the array with weighted distribution\n * math.pickRandom([3, 6, 12, 2], 2, [1, 3, 2, 1]) // returns an array of two of the values in the array with weighted distribution\n * math.pickRandom([3, 6, 12, 2], [1, 3, 2, 1], 2) // returns an array of two of the values in the array with weighted distribution\n *\n * math.pickRandom([{x: 1.0, y: 2.0}, {x: 1.1, y: 2.0}], { elementWise: false })\n * // returns one of the items in the array\n *\n * See also:\n *\n * random, randomInt\n *\n * @param {Array | Matrix} array A one dimensional array\n * @param {Int} number An int or float\n * @param {Array | Matrix} weights An array of ints or floats\n * @return {number | Array} Returns a single random value from array when number is 1 or undefined.\n * Returns an array with the configured number of elements when number is > 1.\n */\n return typed(name, {\n 'Array | Matrix': function ArrayMatrix(possibles) {\n return _pickRandom(possibles, {});\n },\n 'Array | Matrix, Object': function ArrayMatrixObject(possibles, options) {\n return _pickRandom(possibles, options);\n },\n 'Array | Matrix, number': function ArrayMatrixNumber(possibles, number) {\n return _pickRandom(possibles, {\n number\n });\n },\n 'Array | Matrix, Array | Matrix': function ArrayMatrixArrayMatrix(possibles, weights) {\n return _pickRandom(possibles, {\n weights\n });\n },\n 'Array | Matrix, Array | Matrix, number': function ArrayMatrixArrayMatrixNumber(possibles, weights, number) {\n return _pickRandom(possibles, {\n number,\n weights\n });\n },\n 'Array | Matrix, number, Array | Matrix': function ArrayMatrixNumberArrayMatrix(possibles, number, weights) {\n return _pickRandom(possibles, {\n number,\n weights\n });\n }\n });\n\n /**\n * @param {Array | Matrix} possibles\n * @param {{\n * number?: number,\n * weights?: Array | Matrix,\n * elementWise: boolean\n * }} options\n * @returns {number | Array}\n * @private\n */\n function _pickRandom(possibles, _ref2) {\n var {\n number,\n weights,\n elementWise = true\n } = _ref2;\n var single = typeof number === 'undefined';\n if (single) {\n number = 1;\n }\n var createMatrix = isMatrix(possibles) ? possibles.create : isMatrix(weights) ? weights.create : null;\n possibles = possibles.valueOf(); // get Array\n if (weights) {\n weights = weights.valueOf(); // get Array\n }\n\n if (elementWise === true) {\n possibles = flatten(possibles);\n weights = flatten(weights);\n }\n var totalWeights = 0;\n if (typeof weights !== 'undefined') {\n if (weights.length !== possibles.length) {\n throw new Error('Weights must have the same length as possibles');\n }\n for (var i = 0, len = weights.length; i < len; i++) {\n if (!isNumber(weights[i]) || weights[i] < 0) {\n throw new Error('Weights must be an array of positive numbers');\n }\n totalWeights += weights[i];\n }\n }\n var length = possibles.length;\n var result = [];\n var pick;\n while (result.length < number) {\n if (typeof weights === 'undefined') {\n pick = possibles[Math.floor(rng() * length)];\n } else {\n var randKey = rng() * totalWeights;\n for (var _i = 0, _len = possibles.length; _i < _len; _i++) {\n randKey -= weights[_i];\n if (randKey < 0) {\n pick = possibles[_i];\n break;\n }\n }\n }\n result.push(pick);\n }\n return single ? result[0] : createMatrix ? createMatrix(result) : result;\n }\n});","import { factory } from '../../../utils/factory.js';\nvar name = 'splitUnit';\nvar dependencies = ['typed'];\nexport var createSplitUnit = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed\n } = _ref;\n /**\n * Split a unit in an array of units whose sum is equal to the original unit.\n *\n * Syntax:\n *\n * math.splitUnit(unit: Unit, parts: Array.)\n *\n * Example:\n *\n * math.splitUnit(new Unit(1, 'm'), ['feet', 'inch'])\n * // [ 3 feet, 3.3700787401575 inch ]\n *\n * See also:\n *\n * unit\n *\n * @param {Array} [parts] An array of strings or valueless units.\n * @return {Array} An array of units.\n */\n return typed(name, {\n 'Unit, Array': function UnitArray(unit, parts) {\n return unit.splitUnit(parts);\n }\n });\n});","import { contains } from './array.js';\nimport { pickShallow } from './object.js';\n\n/**\n * Create a factory function, which can be used to inject dependencies.\n *\n * The created functions are memoized, a consecutive call of the factory\n * with the exact same inputs will return the same function instance.\n * The memoized cache is exposed on `factory.cache` and can be cleared\n * if needed.\n *\n * Example:\n *\n * const name = 'log'\n * const dependencies = ['config', 'typed', 'divideScalar', 'Complex']\n *\n * export const createLog = factory(name, dependencies, ({ typed, config, divideScalar, Complex }) => {\n * // ... create the function log here and return it\n * }\n *\n * @param {string} name Name of the function to be created\n * @param {string[]} dependencies The names of all required dependencies\n * @param {function} create Callback function called with an object with all dependencies\n * @param {Object} [meta] Optional object with meta information that will be attached\n * to the created factory function as property `meta`.\n * @returns {function}\n */\nexport function factory(name, dependencies, create, meta) {\n function assertAndCreate(scope) {\n // we only pass the requested dependencies to the factory function\n // to prevent functions to rely on dependencies that are not explicitly\n // requested.\n var deps = pickShallow(scope, dependencies.map(stripOptionalNotation));\n assertDependencies(name, dependencies, scope);\n return create(deps);\n }\n assertAndCreate.isFactory = true;\n assertAndCreate.fn = name;\n assertAndCreate.dependencies = dependencies.slice().sort();\n if (meta) {\n assertAndCreate.meta = meta;\n }\n return assertAndCreate;\n}\n\n/**\n * Sort all factories such that when loading in order, the dependencies are resolved.\n *\n * @param {Array} factories\n * @returns {Array} Returns a new array with the sorted factories.\n */\nexport function sortFactories(factories) {\n var factoriesByName = {};\n factories.forEach(factory => {\n factoriesByName[factory.fn] = factory;\n });\n function containsDependency(factory, dependency) {\n // TODO: detect circular references\n if (isFactory(factory)) {\n if (contains(factory.dependencies, dependency.fn || dependency.name)) {\n return true;\n }\n if (factory.dependencies.some(d => containsDependency(factoriesByName[d], dependency))) {\n return true;\n }\n }\n return false;\n }\n var sorted = [];\n function addFactory(factory) {\n var index = 0;\n while (index < sorted.length && !containsDependency(sorted[index], factory)) {\n index++;\n }\n sorted.splice(index, 0, factory);\n }\n\n // sort regular factory functions\n factories.filter(isFactory).forEach(addFactory);\n\n // sort legacy factory functions AFTER the regular factory functions\n factories.filter(factory => !isFactory(factory)).forEach(addFactory);\n return sorted;\n}\n\n// TODO: comment or cleanup if unused in the end\nexport function create(factories) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n sortFactories(factories).forEach(factory => factory(scope));\n return scope;\n}\n\n/**\n * Test whether an object is a factory. This is the case when it has\n * properties name, dependencies, and a function create.\n * @param {*} obj\n * @returns {boolean}\n */\nexport function isFactory(obj) {\n return typeof obj === 'function' && typeof obj.fn === 'string' && Array.isArray(obj.dependencies);\n}\n\n/**\n * Assert that all dependencies of a list with dependencies are available in the provided scope.\n *\n * Will throw an exception when there are dependencies missing.\n *\n * @param {string} name Name for the function to be created. Used to generate a useful error message\n * @param {string[]} dependencies\n * @param {Object} scope\n */\nexport function assertDependencies(name, dependencies, scope) {\n var allDefined = dependencies.filter(dependency => !isOptionalDependency(dependency)) // filter optionals\n .every(dependency => scope[dependency] !== undefined);\n if (!allDefined) {\n var missingDependencies = dependencies.filter(dependency => scope[dependency] === undefined);\n\n // TODO: create a custom error class for this, a MathjsError or something like that\n throw new Error(\"Cannot create function \\\"\".concat(name, \"\\\", \") + \"some dependencies are missing: \".concat(missingDependencies.map(d => \"\\\"\".concat(d, \"\\\"\")).join(', '), \".\"));\n }\n}\nexport function isOptionalDependency(dependency) {\n return dependency && dependency[0] === '?';\n}\nexport function stripOptionalNotation(dependency) {\n return dependency && dependency[0] === '?' ? dependency.slice(1) : dependency;\n}","import { isSparseMatrix } from '../../utils/is.js';\nimport { format } from '../../utils/string.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'expm';\nvar dependencies = ['typed', 'abs', 'add', 'identity', 'inv', 'multiply'];\nexport var createExpm = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n abs,\n add,\n identity,\n inv,\n multiply\n } = _ref;\n /**\n * Compute the matrix exponential, expm(A) = e^A. The matrix must be square.\n * Not to be confused with exp(a), which performs element-wise\n * exponentiation.\n *\n * The exponential is calculated using the Padé approximant with scaling and\n * squaring; see \"Nineteen Dubious Ways to Compute the Exponential of a\n * Matrix,\" by Moler and Van Loan.\n *\n * Syntax:\n *\n * math.expm(x)\n *\n * Examples:\n *\n * const A = [[0,2],[0,0]]\n * math.expm(A) // returns [[1,2],[0,1]]\n *\n * See also:\n *\n * exp\n *\n * @param {Matrix} x A square Matrix\n * @return {Matrix} The exponential of x\n */\n return typed(name, {\n Matrix: function Matrix(A) {\n // Check matrix size\n var size = A.size();\n if (size.length !== 2 || size[0] !== size[1]) {\n throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');\n }\n var n = size[0];\n\n // Desired accuracy of the approximant (The actual accuracy\n // will be affected by round-off error)\n var eps = 1e-15;\n\n // The Padé approximant is not so accurate when the values of A\n // are \"large\", so scale A by powers of two. Then compute the\n // exponential, and square the result repeatedly according to\n // the identity e^A = (e^(A/m))^m\n\n // Compute infinity-norm of A, ||A||, to see how \"big\" it is\n var infNorm = infinityNorm(A);\n\n // Find the optimal scaling factor and number of terms in the\n // Padé approximant to reach the desired accuracy\n var params = findParams(infNorm, eps);\n var q = params.q;\n var j = params.j;\n\n // The Pade approximation to e^A is:\n // Rqq(A) = Dqq(A) ^ -1 * Nqq(A)\n // where\n // Nqq(A) = sum(i=0, q, (2q-i)!p! / [ (2q)!i!(q-i)! ] A^i\n // Dqq(A) = sum(i=0, q, (2q-i)!q! / [ (2q)!i!(q-i)! ] (-A)^i\n\n // Scale A by 1 / 2^j\n var Apos = multiply(A, Math.pow(2, -j));\n\n // The i=0 term is just the identity matrix\n var N = identity(n);\n var D = identity(n);\n\n // Initialization (i=0)\n var factor = 1;\n\n // Initialization (i=1)\n var AposToI = Apos; // Cloning not necessary\n var alternate = -1;\n for (var i = 1; i <= q; i++) {\n if (i > 1) {\n AposToI = multiply(AposToI, Apos);\n alternate = -alternate;\n }\n factor = factor * (q - i + 1) / ((2 * q - i + 1) * i);\n N = add(N, multiply(factor, AposToI));\n D = add(D, multiply(factor * alternate, AposToI));\n }\n var R = multiply(inv(D), N);\n\n // Square j times\n for (var _i = 0; _i < j; _i++) {\n R = multiply(R, R);\n }\n return isSparseMatrix(A) ? A.createSparseMatrix(R) : R;\n }\n });\n function infinityNorm(A) {\n var n = A.size()[0];\n var infNorm = 0;\n for (var i = 0; i < n; i++) {\n var rowSum = 0;\n for (var j = 0; j < n; j++) {\n rowSum += abs(A.get([i, j]));\n }\n infNorm = Math.max(rowSum, infNorm);\n }\n return infNorm;\n }\n\n /**\n * Find the best parameters for the Pade approximant given\n * the matrix norm and desired accuracy. Returns the first acceptable\n * combination in order of increasing computational load.\n */\n function findParams(infNorm, eps) {\n var maxSearchSize = 30;\n for (var k = 0; k < maxSearchSize; k++) {\n for (var q = 0; q <= k; q++) {\n var j = k - q;\n if (errorEstimate(infNorm, q, j) < eps) {\n return {\n q,\n j\n };\n }\n }\n }\n throw new Error('Could not find acceptable parameters to compute the matrix exponential (try increasing maxSearchSize in expm.js)');\n }\n\n /**\n * Returns the estimated error of the Pade approximant for the given\n * parameters.\n */\n function errorEstimate(infNorm, q, j) {\n var qfac = 1;\n for (var i = 2; i <= q; i++) {\n qfac *= i;\n }\n var twoqfac = qfac;\n for (var _i2 = q + 1; _i2 <= 2 * q; _i2++) {\n twoqfac *= _i2;\n }\n var twoqp1fac = twoqfac * (2 * q + 1);\n return 8.0 * Math.pow(infNorm / Math.pow(2, j), 2 * q) * qfac * qfac / (twoqfac * twoqp1fac);\n }\n});","import { isArray, isMatrix, isDenseMatrix, isSparseMatrix } from '../../../../utils/is.js';\nimport { arraySize } from '../../../../utils/array.js';\nimport { format } from '../../../../utils/string.js';\nexport function createSolveValidation(_ref) {\n var {\n DenseMatrix\n } = _ref;\n /**\n * Validates matrix and column vector b for backward/forward substitution algorithms.\n *\n * @param {Matrix} m An N x N matrix\n * @param {Array | Matrix} b A column vector\n * @param {Boolean} copy Return a copy of vector b\n *\n * @return {DenseMatrix} Dense column vector b\n */\n return function solveValidation(m, b, copy) {\n var mSize = m.size();\n if (mSize.length !== 2) {\n throw new RangeError('Matrix must be two dimensional (size: ' + format(mSize) + ')');\n }\n var rows = mSize[0];\n var columns = mSize[1];\n if (rows !== columns) {\n throw new RangeError('Matrix must be square (size: ' + format(mSize) + ')');\n }\n var data = [];\n if (isMatrix(b)) {\n var bSize = b.size();\n var bdata = b._data;\n\n // 1-dim vector\n if (bSize.length === 1) {\n if (bSize[0] !== rows) {\n throw new RangeError('Dimension mismatch. Matrix columns must match vector length.');\n }\n for (var i = 0; i < rows; i++) {\n data[i] = [bdata[i]];\n }\n return new DenseMatrix({\n data,\n size: [rows, 1],\n datatype: b._datatype\n });\n }\n\n // 2-dim column\n if (bSize.length === 2) {\n if (bSize[0] !== rows || bSize[1] !== 1) {\n throw new RangeError('Dimension mismatch. Matrix columns must match vector length.');\n }\n if (isDenseMatrix(b)) {\n if (copy) {\n data = [];\n for (var _i = 0; _i < rows; _i++) {\n data[_i] = [bdata[_i][0]];\n }\n return new DenseMatrix({\n data,\n size: [rows, 1],\n datatype: b._datatype\n });\n }\n return b;\n }\n if (isSparseMatrix(b)) {\n for (var _i2 = 0; _i2 < rows; _i2++) {\n data[_i2] = [0];\n }\n var values = b._values;\n var index = b._index;\n var ptr = b._ptr;\n for (var k1 = ptr[1], k = ptr[0]; k < k1; k++) {\n var _i3 = index[k];\n data[_i3][0] = values[k];\n }\n return new DenseMatrix({\n data,\n size: [rows, 1],\n datatype: b._datatype\n });\n }\n }\n throw new RangeError('Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.');\n }\n if (isArray(b)) {\n var bsize = arraySize(b);\n if (bsize.length === 1) {\n if (bsize[0] !== rows) {\n throw new RangeError('Dimension mismatch. Matrix columns must match vector length.');\n }\n for (var _i4 = 0; _i4 < rows; _i4++) {\n data[_i4] = [b[_i4]];\n }\n return new DenseMatrix({\n data,\n size: [rows, 1]\n });\n }\n if (bsize.length === 2) {\n if (bsize[0] !== rows || bsize[1] !== 1) {\n throw new RangeError('Dimension mismatch. Matrix columns must match vector length.');\n }\n for (var _i5 = 0; _i5 < rows; _i5++) {\n data[_i5] = [b[_i5][0]];\n }\n return new DenseMatrix({\n data,\n size: [rows, 1]\n });\n }\n throw new RangeError('Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.');\n }\n };\n}","import { flatten, generalize, identify } from '../../utils/array.js';\nimport { factory } from '../../utils/factory.js';\nvar name = 'setDifference';\nvar dependencies = ['typed', 'size', 'subset', 'compareNatural', 'Index', 'DenseMatrix'];\nexport var createSetDifference = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n typed,\n size,\n subset,\n compareNatural,\n Index,\n DenseMatrix\n } = _ref;\n /**\n * Create the difference of two (multi)sets: every element of set1, that is not the element of set2.\n * Multi-dimension arrays will be converted to single-dimension arrays before the operation.\n *\n * Syntax:\n *\n * math.setDifference(set1, set2)\n *\n * Examples:\n *\n * math.setDifference([1, 2, 3, 4], [3, 4, 5, 6]) // returns [1, 2]\n * math.setDifference([[1, 2], [3, 4]], [[3, 4], [5, 6]]) // returns [1, 2]\n *\n * See also:\n *\n * setUnion, setIntersect, setSymDifference\n *\n * @param {Array | Matrix} a1 A (multi)set\n * @param {Array | Matrix} a2 A (multi)set\n * @return {Array | Matrix} The difference of two (multi)sets\n */\n return typed(name, {\n 'Array | Matrix, Array | Matrix': function ArrayMatrixArrayMatrix(a1, a2) {\n var result;\n if (subset(size(a1), new Index(0)) === 0) {\n // empty-anything=empty\n result = [];\n } else if (subset(size(a2), new Index(0)) === 0) {\n // anything-empty=anything\n return flatten(a1.toArray());\n } else {\n var b1 = identify(flatten(Array.isArray(a1) ? a1 : a1.toArray()).sort(compareNatural));\n var b2 = identify(flatten(Array.isArray(a2) ? a2 : a2.toArray()).sort(compareNatural));\n result = [];\n var inb2;\n for (var i = 0; i < b1.length; i++) {\n inb2 = false;\n for (var j = 0; j < b2.length; j++) {\n if (compareNatural(b1[i].value, b2[j].value) === 0 && b1[i].identifier === b2[j].identifier) {\n // the identifier is always a decimal int\n inb2 = true;\n break;\n }\n }\n if (!inb2) {\n result.push(b1[i]);\n }\n }\n }\n // return an array, if both inputs were arrays\n if (Array.isArray(a1) && Array.isArray(a2)) {\n return generalize(result);\n }\n // return a matrix otherwise\n return new DenseMatrix(generalize(result));\n }\n });\n});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioPaisagem.vue?vue&type=style&index=0&id=5627e182&prod&lang=css\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","import { factory } from '../../utils/factory.js';\nvar name = 'FibonacciHeap';\nvar dependencies = ['smaller', 'larger'];\nexport var createFibonacciHeapClass = /* #__PURE__ */factory(name, dependencies, _ref => {\n var {\n smaller,\n larger\n } = _ref;\n var oneOverLogPhi = 1.0 / Math.log((1.0 + Math.sqrt(5.0)) / 2.0);\n\n /**\n * Fibonacci Heap implementation, used interally for Matrix math.\n * @class FibonacciHeap\n * @constructor FibonacciHeap\n */\n function FibonacciHeap() {\n if (!(this instanceof FibonacciHeap)) {\n throw new SyntaxError('Constructor must be called with the new operator');\n }\n\n // initialize fields\n this._minimum = null;\n this._size = 0;\n }\n\n /**\n * Attach type information\n */\n FibonacciHeap.prototype.type = 'FibonacciHeap';\n FibonacciHeap.prototype.isFibonacciHeap = true;\n\n /**\n * Inserts a new data element into the heap. No heap consolidation is\n * performed at this time, the new node is simply inserted into the root\n * list of this heap. Running time: O(1) actual.\n * @memberof FibonacciHeap\n */\n FibonacciHeap.prototype.insert = function (key, value) {\n // create node\n var node = {\n key,\n value,\n degree: 0\n };\n // check we have a node in the minimum\n if (this._minimum) {\n // minimum node\n var minimum = this._minimum;\n // update left & right of node\n node.left = minimum;\n node.right = minimum.right;\n minimum.right = node;\n node.right.left = node;\n // update minimum node in heap if needed\n if (smaller(key, minimum.key)) {\n // node has a smaller key, use it as minimum\n this._minimum = node;\n }\n } else {\n // set left & right\n node.left = node;\n node.right = node;\n // this is the first node\n this._minimum = node;\n }\n // increment number of nodes in heap\n this._size++;\n // return node\n return node;\n };\n\n /**\n * Returns the number of nodes in heap. Running time: O(1) actual.\n * @memberof FibonacciHeap\n */\n FibonacciHeap.prototype.size = function () {\n return this._size;\n };\n\n /**\n * Removes all elements from this heap.\n * @memberof FibonacciHeap\n */\n FibonacciHeap.prototype.clear = function () {\n this._minimum = null;\n this._size = 0;\n };\n\n /**\n * Returns true if the heap is empty, otherwise false.\n * @memberof FibonacciHeap\n */\n FibonacciHeap.prototype.isEmpty = function () {\n return this._size === 0;\n };\n\n /**\n * Extracts the node with minimum key from heap. Amortized running\n * time: O(log n).\n * @memberof FibonacciHeap\n */\n FibonacciHeap.prototype.extractMinimum = function () {\n // node to remove\n var node = this._minimum;\n // check we have a minimum\n if (node === null) {\n return node;\n }\n // current minimum\n var minimum = this._minimum;\n // get number of children\n var numberOfChildren = node.degree;\n // pointer to the first child\n var x = node.child;\n // for each child of node do...\n while (numberOfChildren > 0) {\n // store node in right side\n var tempRight = x.right;\n // remove x from child list\n x.left.right = x.right;\n x.right.left = x.left;\n // add x to root list of heap\n x.left = minimum;\n x.right = minimum.right;\n minimum.right = x;\n x.right.left = x;\n // set Parent[x] to null\n x.parent = null;\n x = tempRight;\n numberOfChildren--;\n }\n // remove node from root list of heap\n node.left.right = node.right;\n node.right.left = node.left;\n // update minimum\n if (node === node.right) {\n // empty\n minimum = null;\n } else {\n // update minimum\n minimum = node.right;\n // we need to update the pointer to the root with minimum key\n minimum = _findMinimumNode(minimum, this._size);\n }\n // decrement size of heap\n this._size--;\n // update minimum\n this._minimum = minimum;\n // return node\n return node;\n };\n\n /**\n * Removes a node from the heap given the reference to the node. The trees\n * in the heap will be consolidated, if necessary. This operation may fail\n * to remove the correct element if there are nodes with key value -Infinity.\n * Running time: O(log n) amortized.\n * @memberof FibonacciHeap\n */\n FibonacciHeap.prototype.remove = function (node) {\n // decrease key value\n this._minimum = _decreaseKey(this._minimum, node, -1);\n // remove the smallest\n this.extractMinimum();\n };\n\n /**\n * Decreases the key value for a heap node, given the new value to take on.\n * The structure of the heap may be changed and will not be consolidated.\n * Running time: O(1) amortized.\n * @memberof FibonacciHeap\n */\n function _decreaseKey(minimum, node, key) {\n // set node key\n node.key = key;\n // get parent node\n var parent = node.parent;\n if (parent && smaller(node.key, parent.key)) {\n // remove node from parent\n _cut(minimum, node, parent);\n // remove all nodes from parent to the root parent\n _cascadingCut(minimum, parent);\n }\n // update minimum node if needed\n if (smaller(node.key, minimum.key)) {\n minimum = node;\n }\n // return minimum\n return minimum;\n }\n\n /**\n * The reverse of the link operation: removes node from the child list of parent.\n * This method assumes that min is non-null. Running time: O(1).\n * @memberof FibonacciHeap\n */\n function _cut(minimum, node, parent) {\n // remove node from parent children and decrement Degree[parent]\n node.left.right = node.right;\n node.right.left = node.left;\n parent.degree--;\n // reset y.child if necessary\n if (parent.child === node) {\n parent.child = node.right;\n }\n // remove child if degree is 0\n if (parent.degree === 0) {\n parent.child = null;\n }\n // add node to root list of heap\n node.left = minimum;\n node.right = minimum.right;\n minimum.right = node;\n node.right.left = node;\n // set parent[node] to null\n node.parent = null;\n // set mark[node] to false\n node.mark = false;\n }\n\n /**\n * Performs a cascading cut operation. This cuts node from its parent and then\n * does the same for its parent, and so on up the tree.\n * Running time: O(log n); O(1) excluding the recursion.\n * @memberof FibonacciHeap\n */\n function _cascadingCut(minimum, node) {\n // store parent node\n var parent = node.parent;\n // if there's a parent...\n if (!parent) {\n return;\n }\n // if node is unmarked, set it marked\n if (!node.mark) {\n node.mark = true;\n } else {\n // it's marked, cut it from parent\n _cut(minimum, node, parent);\n // cut its parent as well\n _cascadingCut(parent);\n }\n }\n\n /**\n * Make the first node a child of the second one. Running time: O(1) actual.\n * @memberof FibonacciHeap\n */\n var _linkNodes = function _linkNodes(node, parent) {\n // remove node from root list of heap\n node.left.right = node.right;\n node.right.left = node.left;\n // make node a Child of parent\n node.parent = parent;\n if (!parent.child) {\n parent.child = node;\n node.right = node;\n node.left = node;\n } else {\n node.left = parent.child;\n node.right = parent.child.right;\n parent.child.right = node;\n node.right.left = node;\n }\n // increase degree[parent]\n parent.degree++;\n // set mark[node] false\n node.mark = false;\n };\n function _findMinimumNode(minimum, size) {\n // to find trees of the same degree efficiently we use an array of length O(log n) in which we keep a pointer to one root of each degree\n var arraySize = Math.floor(Math.log(size) * oneOverLogPhi) + 1;\n // create list with initial capacity\n var array = new Array(arraySize);\n // find the number of root nodes.\n var numRoots = 0;\n var x = minimum;\n if (x) {\n numRoots++;\n x = x.right;\n while (x !== minimum) {\n numRoots++;\n x = x.right;\n }\n }\n // vars\n var y;\n // For each node in root list do...\n while (numRoots > 0) {\n // access this node's degree..\n var d = x.degree;\n // get next node\n var next = x.right;\n // check if there is a node already in array with the same degree\n while (true) {\n // get node with the same degree is any\n y = array[d];\n if (!y) {\n break;\n }\n // make one node with the same degree a child of the other, do this based on the key value.\n if (larger(x.key, y.key)) {\n var temp = y;\n y = x;\n x = temp;\n }\n // make y a child of x\n _linkNodes(y, x);\n // we have handled this degree, go to next one.\n array[d] = null;\n d++;\n }\n // save this node for later when we might encounter another of the same degree.\n array[d] = x;\n // move forward through list.\n x = next;\n numRoots--;\n }\n // Set min to null (effectively losing the root list) and reconstruct the root list from the array entries in array[].\n minimum = null;\n // loop nodes in array\n for (var i = 0; i < arraySize; i++) {\n // get current node\n y = array[i];\n if (!y) {\n continue;\n }\n // check if we have a linked list\n if (minimum) {\n // First remove node from root list.\n y.left.right = y.right;\n y.right.left = y.left;\n // now add to root list, again.\n y.left = minimum;\n y.right = minimum.right;\n minimum.right = y;\n y.right.left = y;\n // check if this is a new min.\n if (smaller(y.key, minimum.key)) {\n minimum = y;\n }\n } else {\n minimum = y;\n }\n }\n return minimum;\n }\n return FibonacciHeap;\n}, {\n isClass: true\n});","/*!\n * html2canvas 1.4.1 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n\r\n function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n }\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n }\r\n\r\n function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n }\n\n var Bounds = /** @class */ (function () {\n function Bounds(left, top, width, height) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n }\n Bounds.prototype.add = function (x, y, w, h) {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n };\n Bounds.fromClientRect = function (context, clientRect) {\n return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n };\n Bounds.fromDOMRectList = function (context, domRectList) {\n var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n return domRect\n ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n : Bounds.EMPTY;\n };\n Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n return Bounds;\n }());\n var parseBounds = function (context, node) {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n };\n var parseDocumentSize = function (document) {\n var body = document.body;\n var documentElement = document.documentElement;\n if (!body || !documentElement) {\n throw new Error(\"Unable to get document size\");\n }\n var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n return new Bounds(0, 0, width, height);\n };\n\n /*\n * css-line-break 2.1.0 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var toCodePoints$1 = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n };\n var fromCodePoint$1 = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n var chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n }\n\n /*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n }\n var decode$1 = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1$1[base64.charCodeAt(i)];\n encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n };\n var polyUint16Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n var polyUint32Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n\n /** Shift size for getting the index-2 table offset. */\n var UTRIE2_SHIFT_2$1 = 5;\n /** Shift size for getting the index-1 table offset. */\n var UTRIE2_SHIFT_1$1 = 6 + 5;\n /**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\n var UTRIE2_INDEX_SHIFT$1 = 2;\n /**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\n var UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n /**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\n var UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n /** Number of entries in a data block. 32=0x20 */\n var UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n /** Mask for getting the lower bits for the in-data-block offset. */\n var UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\n var UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n /** Count the lengths of both BMP pieces. 2080=0x820 */\n var UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n /**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\n var UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\n var UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n /**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\n var UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n /**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\n var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n /** Number of entries in an index-2 block. 64=0x40 */\n var UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n /** Mask for getting the lower bits for the in-index-2-block offset. */\n var UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\n var slice16$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n };\n var slice32$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n };\n var createTrieFromBase64$1 = function (base64, _byteLength) {\n var buffer = decode$1(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16$1(view16, (headerLength + view32[4]) / 2)\n : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n };\n var Trie$1 = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n }());\n\n /*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n }\n\n var base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\n var LETTER_NUMBER_MODIFIER = 50;\n // Non-tailorable Line Breaking Classes\n var BK = 1; // Cause a line break (after)\n var CR$1 = 2; // Cause a line break (after), except between CR and LF\n var LF$1 = 3; // Cause a line break (after)\n var CM = 4; // Prohibit a line break between the character and the preceding character\n var NL = 5; // Cause a line break (after)\n var WJ = 7; // Prohibit line breaks before and after\n var ZW = 8; // Provide a break opportunity\n var GL = 9; // Prohibit line breaks before and after\n var SP = 10; // Enable indirect line breaks\n var ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n // Break Opportunities\n var B2 = 12; // Provide a line break opportunity before and after the character\n var BA = 13; // Generally provide a line break opportunity after the character\n var BB = 14; // Generally provide a line break opportunity before the character\n var HY = 15; // Provide a line break opportunity after the character, except in numeric context\n var CB = 16; // Provide a line break opportunity contingent on additional information\n // Characters Prohibiting Certain Breaks\n var CL = 17; // Prohibit line breaks before\n var CP = 18; // Prohibit line breaks before\n var EX = 19; // Prohibit line breaks before\n var IN = 20; // Allow only indirect line breaks between pairs\n var NS = 21; // Allow only indirect line breaks before\n var OP = 22; // Prohibit line breaks after\n var QU = 23; // Act like they are both opening and closing\n // Numeric Context\n var IS = 24; // Prevent breaks after any and before numeric\n var NU = 25; // Form numeric expressions for line breaking purposes\n var PO = 26; // Do not break following a numeric expression\n var PR = 27; // Do not break in front of a numeric expression\n var SY = 28; // Prevent a break before; and allow a break after\n // Other Characters\n var AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\n var AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\n var CJ = 31; // Treat as NS or ID for strict or normal breaking.\n var EB = 32; // Do not break from following Emoji Modifier\n var EM = 33; // Do not break from preceding Emoji Base\n var H2 = 34; // Form Korean syllable blocks\n var H3 = 35; // Form Korean syllable blocks\n var HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\n var ID = 37; // Break before or after; except in some numeric context\n var JL = 38; // Form Korean syllable blocks\n var JV = 39; // Form Korean syllable blocks\n var JT = 40; // Form Korean syllable blocks\n var RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes\n var SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\n var XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n var ea_OP = [0x2329, 0xff08];\n var BREAK_MANDATORY = '!';\n var BREAK_NOT_ALLOWED$1 = '×';\n var BREAK_ALLOWED$1 = '÷';\n var UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\n var ALPHABETICS = [AL, HL];\n var HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\n var SPACE$1 = [SP, ZW];\n var PREFIX_POSTFIX = [PR, PO];\n var LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\n var KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\n var HYPHEN = [HY, BA];\n var codePointsToCharacterClasses = function (codePoints, lineBreak) {\n if (lineBreak === void 0) { lineBreak = 'strict'; }\n var types = [];\n var indices = [];\n var categories = [];\n codePoints.forEach(function (codePoint, index) {\n var classType = UnicodeTrie$1.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n }\n else {\n categories.push(false);\n }\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n if (classType === CM || classType === ZWJ$1) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n var prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n indices.push(index);\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n if (classType === SA) {\n return types.push(AL);\n }\n if (classType === AI) {\n return types.push(AL);\n }\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n }\n else {\n return types.push(AL);\n }\n }\n types.push(classType);\n });\n return [indices, types, categories];\n };\n var isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n var current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n var i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n var next = classTypes[i];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (current === SP) {\n var i = currentIndex;\n while (i > 0) {\n i--;\n var prev = classTypes[i];\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n var n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n var next = classTypes[n];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n };\n var previousNonSpaceClassType = function (currentIndex, classTypes) {\n var i = currentIndex;\n while (i >= 0) {\n var type = classTypes[i];\n if (type === SP) {\n i--;\n }\n else {\n return type;\n }\n }\n return 0;\n };\n var _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n var currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED$1;\n }\n var beforeIndex = currentIndex - 1;\n var afterIndex = currentIndex + 1;\n var current = classTypes[currentIndex];\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n var next = classTypes[afterIndex];\n if (current === CR$1 && next === LF$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB7 Do not break before spaces or zero width space.\n if (SPACE$1.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED$1;\n }\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED$1;\n }\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED$1;\n }\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n var prevIndex = currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // LB26 Do not break a Korean syllable.\n if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB27 Treat a Korean Syllable Block the same as ID.\n if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI$1 && next === RI$1) {\n var i = indicies[currentIndex];\n var count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI$1) {\n count++;\n }\n else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n }\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED$1;\n }\n return BREAK_ALLOWED$1;\n };\n var cssFormattedClasses = function (codePoints, options) {\n if (!options) {\n options = { lineBreak: 'normal', wordBreak: 'normal' };\n }\n var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n }\n var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n ? isLetterNumber.map(function (letterNumber, i) {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n return [indicies, classTypes, forbiddenBreakpoints];\n };\n var Break = /** @class */ (function () {\n function Break(codePoints, lineBreak, start, end) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n Break.prototype.slice = function () {\n return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n };\n return Break;\n }());\n var LineBreaker = function (str, options) {\n var codePoints = toCodePoints$1(str);\n var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n var length = codePoints.length;\n var lastEnd = 0;\n var nextIndex = 0;\n return {\n next: function () {\n if (nextIndex >= length) {\n return { done: true, value: null };\n }\n var lineBreak = BREAK_NOT_ALLOWED$1;\n while (nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED$1) { }\n if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n };\n\n // https://www.w3.org/TR/css-syntax-3\n var FLAG_UNRESTRICTED = 1 << 0;\n var FLAG_ID = 1 << 1;\n var FLAG_INTEGER = 1 << 2;\n var FLAG_NUMBER = 1 << 3;\n var LINE_FEED = 0x000a;\n var SOLIDUS = 0x002f;\n var REVERSE_SOLIDUS = 0x005c;\n var CHARACTER_TABULATION = 0x0009;\n var SPACE = 0x0020;\n var QUOTATION_MARK = 0x0022;\n var EQUALS_SIGN = 0x003d;\n var NUMBER_SIGN = 0x0023;\n var DOLLAR_SIGN = 0x0024;\n var PERCENTAGE_SIGN = 0x0025;\n var APOSTROPHE = 0x0027;\n var LEFT_PARENTHESIS = 0x0028;\n var RIGHT_PARENTHESIS = 0x0029;\n var LOW_LINE = 0x005f;\n var HYPHEN_MINUS = 0x002d;\n var EXCLAMATION_MARK = 0x0021;\n var LESS_THAN_SIGN = 0x003c;\n var GREATER_THAN_SIGN = 0x003e;\n var COMMERCIAL_AT = 0x0040;\n var LEFT_SQUARE_BRACKET = 0x005b;\n var RIGHT_SQUARE_BRACKET = 0x005d;\n var CIRCUMFLEX_ACCENT = 0x003d;\n var LEFT_CURLY_BRACKET = 0x007b;\n var QUESTION_MARK = 0x003f;\n var RIGHT_CURLY_BRACKET = 0x007d;\n var VERTICAL_LINE = 0x007c;\n var TILDE = 0x007e;\n var CONTROL = 0x0080;\n var REPLACEMENT_CHARACTER = 0xfffd;\n var ASTERISK = 0x002a;\n var PLUS_SIGN = 0x002b;\n var COMMA = 0x002c;\n var COLON = 0x003a;\n var SEMICOLON = 0x003b;\n var FULL_STOP = 0x002e;\n var NULL = 0x0000;\n var BACKSPACE = 0x0008;\n var LINE_TABULATION = 0x000b;\n var SHIFT_OUT = 0x000e;\n var INFORMATION_SEPARATOR_ONE = 0x001f;\n var DELETE = 0x007f;\n var EOF = -1;\n var ZERO = 0x0030;\n var a = 0x0061;\n var e = 0x0065;\n var f = 0x0066;\n var u = 0x0075;\n var z = 0x007a;\n var A = 0x0041;\n var E = 0x0045;\n var F = 0x0046;\n var U = 0x0055;\n var Z = 0x005a;\n var isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\n var isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\n var isHex = function (codePoint) {\n return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n };\n var isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\n var isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\n var isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\n var isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\n var isWhiteSpace = function (codePoint) {\n return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n };\n var isNameStartCodePoint = function (codePoint) {\n return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n };\n var isNameCodePoint = function (codePoint) {\n return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n };\n var isNonPrintableCodePoint = function (codePoint) {\n return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE);\n };\n var isValidEscape = function (c1, c2) {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n return c2 !== LINE_FEED;\n };\n var isIdentifierStart = function (c1, c2, c3) {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n }\n else if (isNameStartCodePoint(c1)) {\n return true;\n }\n else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n };\n var isNumberStart = function (c1, c2, c3) {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n return c2 === FULL_STOP && isDigit(c3);\n }\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n return isDigit(c1);\n };\n var stringToNumber = function (codePoints) {\n var c = 0;\n var sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n var integers = [];\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n var fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n var fracd = fraction.length;\n var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n var expsign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n var exponent = [];\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n };\n var LEFT_PARENTHESIS_TOKEN = {\n type: 2 /* LEFT_PARENTHESIS_TOKEN */\n };\n var RIGHT_PARENTHESIS_TOKEN = {\n type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n };\n var COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\n var SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\n var PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\n var COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\n var DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\n var INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\n var LEFT_CURLY_BRACKET_TOKEN = {\n type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n };\n var RIGHT_CURLY_BRACKET_TOKEN = {\n type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n };\n var SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\n var BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\n var BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\n var CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\n var CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\n var COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\n var SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\n var LEFT_SQUARE_BRACKET_TOKEN = {\n type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n };\n var RIGHT_SQUARE_BRACKET_TOKEN = {\n type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n };\n var WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\n var EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\n var Tokenizer = /** @class */ (function () {\n function Tokenizer() {\n this._value = [];\n }\n Tokenizer.prototype.write = function (chunk) {\n this._value = this._value.concat(toCodePoints$1(chunk));\n };\n Tokenizer.prototype.read = function () {\n var tokens = [];\n var token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n };\n Tokenizer.prototype.consumeToken = function () {\n var codePoint = this.consumeCodePoint();\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n var value = this.consumeName();\n return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n var e1 = codePoint;\n var e2 = this.peekCodePoint(0);\n var e3 = this.peekCodePoint(1);\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n var c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n var a1 = this.peekCodePoint(0);\n var a2 = this.peekCodePoint(1);\n var a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n var value = this.consumeName();\n return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n var u1 = this.peekCodePoint(0);\n var u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n };\n Tokenizer.prototype.consumeCodePoint = function () {\n var value = this._value.shift();\n return typeof value === 'undefined' ? -1 : value;\n };\n Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n this._value.unshift(codePoint);\n };\n Tokenizer.prototype.peekCodePoint = function (delta) {\n if (delta >= this._value.length) {\n return -1;\n }\n return this._value[delta];\n };\n Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n var digits = [];\n var codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n if (questionMarks) {\n var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n }\n var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n var endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n }\n else {\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n }\n };\n Tokenizer.prototype.consumeIdentLikeToken = function () {\n var value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n }\n else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 19 /* FUNCTION_TOKEN */, value: value };\n }\n return { type: 20 /* IDENT_TOKEN */, value: value };\n };\n Tokenizer.prototype.consumeUrlToken = function () {\n var value = [];\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF) {\n return { type: 22 /* URL_TOKEN */, value: '' };\n }\n var next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n var stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === 0 /* STRING_TOKEN */) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n }\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n }\n else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n }\n else {\n value.push(codePoint);\n }\n }\n };\n Tokenizer.prototype.consumeWhiteSpace = function () {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n };\n Tokenizer.prototype.consumeBadUrlRemnants = function () {\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n };\n Tokenizer.prototype.consumeStringSlice = function (count) {\n var SLICE_STACK_SIZE = 50000;\n var value = '';\n while (count > 0) {\n var amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n return value;\n };\n Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n var value = '';\n var i = 0;\n do {\n var codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return { type: 0 /* STRING_TOKEN */, value: value };\n }\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n if (codePoint === REVERSE_SOLIDUS) {\n var next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n }\n else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint$1(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n i++;\n } while (true);\n };\n Tokenizer.prototype.consumeNumber = function () {\n var repr = [];\n var type = FLAG_INTEGER;\n var c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n return [stringToNumber(repr), type];\n };\n Tokenizer.prototype.consumeNumericToken = function () {\n var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isIdentifierStart(c1, c2, c3)) {\n var unit = this.consumeName();\n return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n }\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n }\n return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n };\n Tokenizer.prototype.consumeEscapedCodePoint = function () {\n var codePoint = this.consumeCodePoint();\n if (isHex(codePoint)) {\n var hex = fromCodePoint$1(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint$1(this.consumeCodePoint());\n }\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n var hexCodePoint = parseInt(hex, 16);\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n return hexCodePoint;\n }\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n return codePoint;\n };\n Tokenizer.prototype.consumeName = function () {\n var result = '';\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint$1(codePoint);\n }\n else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint$1(this.consumeEscapedCodePoint());\n }\n else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n };\n return Tokenizer;\n }());\n\n var Parser = /** @class */ (function () {\n function Parser(tokens) {\n this._tokens = tokens;\n }\n Parser.create = function (value) {\n var tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n };\n Parser.parseValue = function (value) {\n return Parser.create(value).parseComponentValue();\n };\n Parser.parseValues = function (value) {\n return Parser.create(value).parseComponentValues();\n };\n Parser.prototype.parseComponentValue = function () {\n var token = this.consumeToken();\n while (token.type === 31 /* WHITESPACE_TOKEN */) {\n token = this.consumeToken();\n }\n if (token.type === 32 /* EOF_TOKEN */) {\n throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n }\n this.reconsumeToken(token);\n var value = this.consumeComponentValue();\n do {\n token = this.consumeToken();\n } while (token.type === 31 /* WHITESPACE_TOKEN */);\n if (token.type === 32 /* EOF_TOKEN */) {\n return value;\n }\n throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n };\n Parser.prototype.parseComponentValues = function () {\n var values = [];\n while (true) {\n var value = this.consumeComponentValue();\n if (value.type === 32 /* EOF_TOKEN */) {\n return values;\n }\n values.push(value);\n values.push();\n }\n };\n Parser.prototype.consumeComponentValue = function () {\n var token = this.consumeToken();\n switch (token.type) {\n case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n case 2 /* LEFT_PARENTHESIS_TOKEN */:\n return this.consumeSimpleBlock(token.type);\n case 19 /* FUNCTION_TOKEN */:\n return this.consumeFunction(token);\n }\n return token;\n };\n Parser.prototype.consumeSimpleBlock = function (type) {\n var block = { type: type, values: [] };\n var token = this.consumeToken();\n while (true) {\n if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n return block;\n }\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n };\n Parser.prototype.consumeFunction = function (functionToken) {\n var cssFunction = {\n name: functionToken.value,\n values: [],\n type: 18 /* FUNCTION */\n };\n while (true) {\n var token = this.consumeToken();\n if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n return cssFunction;\n }\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n };\n Parser.prototype.consumeToken = function () {\n var token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n };\n Parser.prototype.reconsumeToken = function (token) {\n this._tokens.unshift(token);\n };\n return Parser;\n }());\n var isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\n var isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\n var isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\n var isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\n var isIdentWithValue = function (token, value) {\n return isIdentToken(token) && token.value === value;\n };\n var nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\n var nonFunctionArgSeparator = function (token) {\n return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n };\n var parseFunctionArgs = function (tokens) {\n var args = [];\n var arg = [];\n tokens.forEach(function (token) {\n if (token.type === 4 /* COMMA_TOKEN */) {\n if (arg.length === 0) {\n throw new Error(\"Error parsing function args, zero tokens for arg\");\n }\n args.push(arg);\n arg = [];\n return;\n }\n if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n return args;\n };\n var isEndingTokenFor = function (token, type) {\n if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n return true;\n }\n if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n return true;\n }\n return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n };\n\n var isLength = function (token) {\n return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n };\n\n var isLengthPercentage = function (token) {\n return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n };\n var parseLengthPercentageTuple = function (tokens) {\n return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n };\n var ZERO_LENGTH = {\n type: 17 /* NUMBER_TOKEN */,\n number: 0,\n flags: FLAG_INTEGER\n };\n var FIFTY_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n };\n var HUNDRED_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 100,\n flags: FLAG_INTEGER\n };\n var getAbsoluteValueForTuple = function (tuple, width, height) {\n var x = tuple[0], y = tuple[1];\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n };\n var getAbsoluteValue = function (token, parent) {\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n return (token.number / 100) * parent;\n }\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n return token.number;\n };\n\n var DEG = 'deg';\n var GRAD = 'grad';\n var RAD = 'rad';\n var TURN = 'turn';\n var angle = {\n name: 'angle',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n throw new Error(\"Unsupported angle type\");\n }\n };\n var isAngle = function (value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n };\n var parseNamedSide = function (tokens) {\n var sideOrCorner = tokens\n .filter(isIdentToken)\n .map(function (ident) { return ident.value; })\n .join(' ');\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n return 0;\n };\n var deg = function (deg) { return (Math.PI * deg) / 180; };\n\n var color$1 = {\n name: 'color',\n parse: function (context, value) {\n if (value.type === 18 /* FUNCTION */) {\n var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n }\n return colorFunction(context, value.values);\n }\n if (value.type === 5 /* HASH_TOKEN */) {\n if (value.value.length === 3) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n if (value.value.length === 4) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n var a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n if (value.value.length === 6) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n if (value.value.length === 8) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n var a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n if (value.type === 20 /* IDENT_TOKEN */) {\n var namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n return COLORS.TRANSPARENT;\n }\n };\n var isTransparent = function (color) { return (0xff & color) === 0; };\n var asString = function (color) {\n var alpha = 0xff & color;\n var blue = 0xff & (color >> 8);\n var green = 0xff & (color >> 16);\n var red = 0xff & (color >> 24);\n return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n };\n var pack = function (r, g, b, a) {\n return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n };\n var getTokenColorValue = function (token, i) {\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n var max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n return 0;\n };\n var rgb = function (_context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n if (tokens.length === 3) {\n var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n return pack(r, g, b, 1);\n }\n if (tokens.length === 4) {\n var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n return pack(r, g, b, a);\n }\n return 0;\n };\n function hue2rgb(t1, t2, hue) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n }\n else if (hue < 1 / 2) {\n return t2;\n }\n else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n }\n else {\n return t1;\n }\n }\n var hsl = function (context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var t1 = l * 2 - t2;\n var r = hue2rgb(t1, t2, h + 1 / 3);\n var g = hue2rgb(t1, t2, h);\n var b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n };\n var SUPPORTED_COLOR_FUNCTIONS = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n };\n var parseColor = function (context, value) {\n return color$1.parse(context, Parser.create(value).parseComponentValue());\n };\n var COLORS = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n };\n\n var backgroundClip = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n };\n\n var backgroundColor = {\n name: \"background-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var parseColorStop = function (context, args) {\n var color = color$1.parse(context, args[0]);\n var stop = args[1];\n return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n };\n var processColorStops = function (stops, lineLength) {\n var first = stops[0];\n var last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n var processStops = [];\n var previous = 0;\n for (var i = 0; i < stops.length; i++) {\n var stop_1 = stops[i].stop;\n if (stop_1 !== null) {\n var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n }\n else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n }\n else {\n processStops.push(null);\n }\n }\n var gapBegin = null;\n for (var i = 0; i < processStops.length; i++) {\n var stop_2 = processStops[i];\n if (stop_2 === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n }\n else if (gapBegin !== null) {\n var gapLength = i - gapBegin;\n var beforeGap = processStops[gapBegin - 1];\n var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n for (var g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n return stops.map(function (_a, i) {\n var color = _a.color;\n return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n });\n };\n var getAngleFromCorner = function (corner, width, height) {\n var centerX = width / 2;\n var centerY = height / 2;\n var x = getAbsoluteValue(corner[0], width) - centerX;\n var y = centerY - getAbsoluteValue(corner[1], height);\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n };\n var calculateGradientDirection = function (angle, width, height) {\n var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var halfLineLength = lineLength / 2;\n var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n };\n var distance = function (a, b) { return Math.sqrt(a * a + b * b); };\n var findCorner = function (width, height, x, y, closest) {\n var corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n return corners.reduce(function (stat, corner) {\n var cx = corner[0], cy = corner[1];\n var d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n return stat;\n }, {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }).optimumCorner;\n };\n var calculateRadius = function (gradient, x, y, width, height) {\n var rx = 0;\n var ry = 0;\n switch (gradient.size) {\n case 0 /* CLOSEST_SIDE */:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 2 /* CLOSEST_CORNER */:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n case 1 /* FARTHEST_SIDE */:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 3 /* FARTHEST_CORNER */:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n return [rx, ry];\n };\n\n var linearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = angle.parse(context, firstToken);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n };\n\n var prefixLinearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return {\n angle: angle$1,\n stops: stops,\n type: 1 /* LINEAR_GRADIENT */\n };\n };\n\n var webkitGradient = function (context, tokens) {\n var angle = deg(180);\n var stops = [];\n var type = 1 /* LINEAR_GRADIENT */;\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = 1 /* LINEAR_GRADIENT */;\n return;\n }\n else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = 2 /* RADIAL_GRADIENT */;\n return;\n }\n }\n if (firstToken.type === 18 /* FUNCTION */) {\n if (firstToken.name === 'from') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: ZERO_LENGTH, color: color });\n }\n else if (firstToken.name === 'to') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: HUNDRED_PERCENT, color: color });\n }\n else if (firstToken.name === 'color-stop') {\n var values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n var color = color$1.parse(context, values[1]);\n var stop_1 = values[0];\n if (isNumberToken(stop_1)) {\n stops.push({\n stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n color: color\n });\n }\n }\n }\n }\n });\n return type === 1 /* LINEAR_GRADIENT */\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops: stops,\n type: type\n }\n : { size: size, shape: shape, stops: stops, position: position, type: type };\n };\n\n var CLOSEST_SIDE = 'closest-side';\n var FARTHEST_SIDE = 'farthest-side';\n var CLOSEST_CORNER = 'closest-corner';\n var FARTHEST_CORNER = 'farthest-corner';\n var CIRCLE = 'circle';\n var ELLIPSE = 'ellipse';\n var COVER = 'cover';\n var CONTAIN = 'contain';\n var radialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n var isAtPosition_1 = false;\n isColorStop = arg.reduce(function (acc, token) {\n if (isAtPosition_1) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n }\n else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case 'at':\n isAtPosition_1 = true;\n return false;\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n };\n\n var prefixRadialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n else if (i === 1) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n };\n\n var isLinearGradient = function (background) {\n return background.type === 1 /* LINEAR_GRADIENT */;\n };\n var isRadialGradient = function (background) {\n return background.type === 2 /* RADIAL_GRADIENT */;\n };\n var image = {\n name: 'image',\n parse: function (context, value) {\n if (value.type === 22 /* URL_TOKEN */) {\n var image_1 = { url: value.value, type: 0 /* URL */ };\n context.cache.addImage(value.value);\n return image_1;\n }\n if (value.type === 18 /* FUNCTION */) {\n var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n }\n return imageFunction(context, value.values);\n }\n throw new Error(\"Unsupported image type \" + value.type);\n }\n };\n function isSupportedImage(value) {\n return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n }\n var SUPPORTED_IMAGE_FUNCTIONS = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n };\n\n var backgroundImage = {\n name: 'background-image',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens\n .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n .map(function (value) { return image.parse(context, value); });\n }\n };\n\n var backgroundOrigin = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n };\n\n var backgroundPosition = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) { return values.filter(isLengthPercentage); })\n .map(parseLengthPercentageTuple);\n }\n };\n\n var backgroundRepeat = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) {\n return values\n .filter(isIdentToken)\n .map(function (token) { return token.value; })\n .join(' ');\n })\n .map(parseBackgroundRepeat);\n }\n };\n var parseBackgroundRepeat = function (value) {\n switch (value) {\n case 'no-repeat':\n return 1 /* NO_REPEAT */;\n case 'repeat-x':\n case 'repeat no-repeat':\n return 2 /* REPEAT_X */;\n case 'repeat-y':\n case 'no-repeat repeat':\n return 3 /* REPEAT_Y */;\n case 'repeat':\n default:\n return 0 /* REPEAT */;\n }\n };\n\n var BACKGROUND_SIZE;\n (function (BACKGROUND_SIZE) {\n BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n })(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\n var backgroundSize = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n }\n };\n var isBackgroundSizeInfoToken = function (value) {\n return isIdentToken(value) || isLengthPercentage(value);\n };\n\n var borderColorForSide = function (side) { return ({\n name: \"border-\" + side + \"-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n }); };\n var borderTopColor = borderColorForSide('top');\n var borderRightColor = borderColorForSide('right');\n var borderBottomColor = borderColorForSide('bottom');\n var borderLeftColor = borderColorForSide('left');\n\n var borderRadiusForSide = function (side) { return ({\n name: \"border-radius-\" + side,\n initialValue: '0 0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n }\n }); };\n var borderTopLeftRadius = borderRadiusForSide('top-left');\n var borderTopRightRadius = borderRadiusForSide('top-right');\n var borderBottomRightRadius = borderRadiusForSide('bottom-right');\n var borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\n var borderStyleForSide = function (side) { return ({\n name: \"border-\" + side + \"-style\",\n initialValue: 'solid',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, style) {\n switch (style) {\n case 'none':\n return 0 /* NONE */;\n case 'dashed':\n return 2 /* DASHED */;\n case 'dotted':\n return 3 /* DOTTED */;\n case 'double':\n return 4 /* DOUBLE */;\n }\n return 1 /* SOLID */;\n }\n }); };\n var borderTopStyle = borderStyleForSide('top');\n var borderRightStyle = borderStyleForSide('right');\n var borderBottomStyle = borderStyleForSide('bottom');\n var borderLeftStyle = borderStyleForSide('left');\n\n var borderWidthForSide = function (side) { return ({\n name: \"border-\" + side + \"-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n }); };\n var borderTopWidth = borderWidthForSide('top');\n var borderRightWidth = borderWidthForSide('right');\n var borderBottomWidth = borderWidthForSide('bottom');\n var borderLeftWidth = borderWidthForSide('left');\n\n var color = {\n name: \"color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var direction = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, direction) {\n switch (direction) {\n case 'rtl':\n return 1 /* RTL */;\n case 'ltr':\n default:\n return 0 /* LTR */;\n }\n }\n };\n\n var display = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).reduce(function (bit, token) {\n return bit | parseDisplayValue(token.value);\n }, 0 /* NONE */);\n }\n };\n var parseDisplayValue = function (display) {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return 2 /* BLOCK */;\n case 'inline':\n return 4 /* INLINE */;\n case 'run-in':\n return 8 /* RUN_IN */;\n case 'flow':\n return 16 /* FLOW */;\n case 'flow-root':\n return 32 /* FLOW_ROOT */;\n case 'table':\n return 64 /* TABLE */;\n case 'flex':\n case '-webkit-flex':\n return 128 /* FLEX */;\n case 'grid':\n case '-ms-grid':\n return 256 /* GRID */;\n case 'ruby':\n return 512 /* RUBY */;\n case 'subgrid':\n return 1024 /* SUBGRID */;\n case 'list-item':\n return 2048 /* LIST_ITEM */;\n case 'table-row-group':\n return 4096 /* TABLE_ROW_GROUP */;\n case 'table-header-group':\n return 8192 /* TABLE_HEADER_GROUP */;\n case 'table-footer-group':\n return 16384 /* TABLE_FOOTER_GROUP */;\n case 'table-row':\n return 32768 /* TABLE_ROW */;\n case 'table-cell':\n return 65536 /* TABLE_CELL */;\n case 'table-column-group':\n return 131072 /* TABLE_COLUMN_GROUP */;\n case 'table-column':\n return 262144 /* TABLE_COLUMN */;\n case 'table-caption':\n return 524288 /* TABLE_CAPTION */;\n case 'ruby-base':\n return 1048576 /* RUBY_BASE */;\n case 'ruby-text':\n return 2097152 /* RUBY_TEXT */;\n case 'ruby-base-container':\n return 4194304 /* RUBY_BASE_CONTAINER */;\n case 'ruby-text-container':\n return 8388608 /* RUBY_TEXT_CONTAINER */;\n case 'contents':\n return 16777216 /* CONTENTS */;\n case 'inline-block':\n return 33554432 /* INLINE_BLOCK */;\n case 'inline-list-item':\n return 67108864 /* INLINE_LIST_ITEM */;\n case 'inline-table':\n return 134217728 /* INLINE_TABLE */;\n case 'inline-flex':\n return 268435456 /* INLINE_FLEX */;\n case 'inline-grid':\n return 536870912 /* INLINE_GRID */;\n }\n return 0 /* NONE */;\n };\n\n var float = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, float) {\n switch (float) {\n case 'left':\n return 1 /* LEFT */;\n case 'right':\n return 2 /* RIGHT */;\n case 'inline-start':\n return 3 /* INLINE_START */;\n case 'inline-end':\n return 4 /* INLINE_END */;\n }\n return 0 /* NONE */;\n }\n };\n\n var letterSpacing = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n return 0;\n }\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 15 /* DIMENSION_TOKEN */) {\n return token.number;\n }\n return 0;\n }\n };\n\n var LINE_BREAK;\n (function (LINE_BREAK) {\n LINE_BREAK[\"NORMAL\"] = \"normal\";\n LINE_BREAK[\"STRICT\"] = \"strict\";\n })(LINE_BREAK || (LINE_BREAK = {}));\n var lineBreak = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, lineBreak) {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n };\n\n var lineHeight = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n };\n var computeLineHeight = function (token, fontSize) {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n }\n else if (token.type === 17 /* NUMBER_TOKEN */) {\n return fontSize * token.number;\n }\n else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n return fontSize;\n };\n\n var listStyleImage = {\n name: 'list-style-image',\n initialValue: 'none',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n return image.parse(context, token);\n }\n };\n\n var listStylePosition = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'inside':\n return 0 /* INSIDE */;\n case 'outside':\n default:\n return 1 /* OUTSIDE */;\n }\n }\n };\n\n var listStyleType = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, type) {\n switch (type) {\n case 'disc':\n return 0 /* DISC */;\n case 'circle':\n return 1 /* CIRCLE */;\n case 'square':\n return 2 /* SQUARE */;\n case 'decimal':\n return 3 /* DECIMAL */;\n case 'cjk-decimal':\n return 4 /* CJK_DECIMAL */;\n case 'decimal-leading-zero':\n return 5 /* DECIMAL_LEADING_ZERO */;\n case 'lower-roman':\n return 6 /* LOWER_ROMAN */;\n case 'upper-roman':\n return 7 /* UPPER_ROMAN */;\n case 'lower-greek':\n return 8 /* LOWER_GREEK */;\n case 'lower-alpha':\n return 9 /* LOWER_ALPHA */;\n case 'upper-alpha':\n return 10 /* UPPER_ALPHA */;\n case 'arabic-indic':\n return 11 /* ARABIC_INDIC */;\n case 'armenian':\n return 12 /* ARMENIAN */;\n case 'bengali':\n return 13 /* BENGALI */;\n case 'cambodian':\n return 14 /* CAMBODIAN */;\n case 'cjk-earthly-branch':\n return 15 /* CJK_EARTHLY_BRANCH */;\n case 'cjk-heavenly-stem':\n return 16 /* CJK_HEAVENLY_STEM */;\n case 'cjk-ideographic':\n return 17 /* CJK_IDEOGRAPHIC */;\n case 'devanagari':\n return 18 /* DEVANAGARI */;\n case 'ethiopic-numeric':\n return 19 /* ETHIOPIC_NUMERIC */;\n case 'georgian':\n return 20 /* GEORGIAN */;\n case 'gujarati':\n return 21 /* GUJARATI */;\n case 'gurmukhi':\n return 22 /* GURMUKHI */;\n case 'hebrew':\n return 22 /* HEBREW */;\n case 'hiragana':\n return 23 /* HIRAGANA */;\n case 'hiragana-iroha':\n return 24 /* HIRAGANA_IROHA */;\n case 'japanese-formal':\n return 25 /* JAPANESE_FORMAL */;\n case 'japanese-informal':\n return 26 /* JAPANESE_INFORMAL */;\n case 'kannada':\n return 27 /* KANNADA */;\n case 'katakana':\n return 28 /* KATAKANA */;\n case 'katakana-iroha':\n return 29 /* KATAKANA_IROHA */;\n case 'khmer':\n return 30 /* KHMER */;\n case 'korean-hangul-formal':\n return 31 /* KOREAN_HANGUL_FORMAL */;\n case 'korean-hanja-formal':\n return 32 /* KOREAN_HANJA_FORMAL */;\n case 'korean-hanja-informal':\n return 33 /* KOREAN_HANJA_INFORMAL */;\n case 'lao':\n return 34 /* LAO */;\n case 'lower-armenian':\n return 35 /* LOWER_ARMENIAN */;\n case 'malayalam':\n return 36 /* MALAYALAM */;\n case 'mongolian':\n return 37 /* MONGOLIAN */;\n case 'myanmar':\n return 38 /* MYANMAR */;\n case 'oriya':\n return 39 /* ORIYA */;\n case 'persian':\n return 40 /* PERSIAN */;\n case 'simp-chinese-formal':\n return 41 /* SIMP_CHINESE_FORMAL */;\n case 'simp-chinese-informal':\n return 42 /* SIMP_CHINESE_INFORMAL */;\n case 'tamil':\n return 43 /* TAMIL */;\n case 'telugu':\n return 44 /* TELUGU */;\n case 'thai':\n return 45 /* THAI */;\n case 'tibetan':\n return 46 /* TIBETAN */;\n case 'trad-chinese-formal':\n return 47 /* TRAD_CHINESE_FORMAL */;\n case 'trad-chinese-informal':\n return 48 /* TRAD_CHINESE_INFORMAL */;\n case 'upper-armenian':\n return 49 /* UPPER_ARMENIAN */;\n case 'disclosure-open':\n return 50 /* DISCLOSURE_OPEN */;\n case 'disclosure-closed':\n return 51 /* DISCLOSURE_CLOSED */;\n case 'none':\n default:\n return -1 /* NONE */;\n }\n }\n };\n\n var marginForSide = function (side) { return ({\n name: \"margin-\" + side,\n initialValue: '0',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n }); };\n var marginTop = marginForSide('top');\n var marginRight = marginForSide('right');\n var marginBottom = marginForSide('bottom');\n var marginLeft = marginForSide('left');\n\n var overflow = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (overflow) {\n switch (overflow.value) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'scroll':\n return 2 /* SCROLL */;\n case 'clip':\n return 3 /* CLIP */;\n case 'auto':\n return 4 /* AUTO */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n });\n }\n };\n\n var overflowWrap = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'break-word':\n return \"break-word\" /* BREAK_WORD */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n };\n\n var paddingForSide = function (side) { return ({\n name: \"padding-\" + side,\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length-percentage'\n }); };\n var paddingTop = paddingForSide('top');\n var paddingRight = paddingForSide('right');\n var paddingBottom = paddingForSide('bottom');\n var paddingLeft = paddingForSide('left');\n\n var textAlign = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textAlign) {\n switch (textAlign) {\n case 'right':\n return 2 /* RIGHT */;\n case 'center':\n case 'justify':\n return 1 /* CENTER */;\n case 'left':\n default:\n return 0 /* LEFT */;\n }\n }\n };\n\n var position = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'relative':\n return 1 /* RELATIVE */;\n case 'absolute':\n return 2 /* ABSOLUTE */;\n case 'fixed':\n return 3 /* FIXED */;\n case 'sticky':\n return 4 /* STICKY */;\n }\n return 0 /* STATIC */;\n }\n };\n\n var textShadow = {\n name: 'text-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else {\n shadow.blur = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n };\n\n var textTransform = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textTransform) {\n switch (textTransform) {\n case 'uppercase':\n return 2 /* UPPERCASE */;\n case 'lowercase':\n return 1 /* LOWERCASE */;\n case 'capitalize':\n return 3 /* CAPITALIZE */;\n }\n return 0 /* NONE */;\n }\n };\n\n var transform$1 = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n if (token.type === 18 /* FUNCTION */) {\n var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n }\n return transformFunction(token.values);\n }\n return null;\n }\n };\n var matrix = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n return values.length === 6 ? values : null;\n };\n // doesn't support 3D transforms at the moment\n var matrix3d = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n };\n var SUPPORTED_TRANSFORM_FUNCTIONS = {\n matrix: matrix,\n matrix3d: matrix3d\n };\n\n var DEFAULT_VALUE = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n };\n var DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\n var transformOrigin = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var origins = tokens.filter(isLengthPercentage);\n if (origins.length !== 2) {\n return DEFAULT;\n }\n return [origins[0], origins[1]];\n }\n };\n\n var visibility = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, visibility) {\n switch (visibility) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'collapse':\n return 2 /* COLLAPSE */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n }\n };\n\n var WORD_BREAK;\n (function (WORD_BREAK) {\n WORD_BREAK[\"NORMAL\"] = \"normal\";\n WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n })(WORD_BREAK || (WORD_BREAK = {}));\n var wordBreak = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, wordBreak) {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n };\n\n var zIndex = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */) {\n return { auto: true, order: 0 };\n }\n if (isNumberToken(token)) {\n return { auto: false, order: token.number };\n }\n throw new Error(\"Invalid z-index number parsed\");\n }\n };\n\n var time = {\n name: 'time',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n throw new Error(\"Unsupported time type\");\n }\n };\n\n var opacity = {\n name: 'opacity',\n initialValue: '1',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n };\n\n var textDecorationColor = {\n name: \"text-decoration-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var textDecorationLine = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens\n .filter(isIdentToken)\n .map(function (token) {\n switch (token.value) {\n case 'underline':\n return 1 /* UNDERLINE */;\n case 'overline':\n return 2 /* OVERLINE */;\n case 'line-through':\n return 3 /* LINE_THROUGH */;\n case 'none':\n return 4 /* BLINK */;\n }\n return 0 /* NONE */;\n })\n .filter(function (line) { return line !== 0 /* NONE */; });\n }\n };\n\n var fontFamily = {\n name: \"font-family\",\n initialValue: '',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var accumulator = [];\n var results = [];\n tokens.forEach(function (token) {\n switch (token.type) {\n case 20 /* IDENT_TOKEN */:\n case 0 /* STRING_TOKEN */:\n accumulator.push(token.value);\n break;\n case 17 /* NUMBER_TOKEN */:\n accumulator.push(token.number.toString());\n break;\n case 4 /* COMMA_TOKEN */:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n }\n };\n\n var fontSize = {\n name: \"font-size\",\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length'\n };\n\n var fontWeight = {\n name: 'font-weight',\n initialValue: 'normal',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n return 400;\n }\n };\n\n var fontVariant = {\n name: 'font-variant',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n }\n };\n\n var fontStyle = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'oblique':\n return \"oblique\" /* OBLIQUE */;\n case 'italic':\n return \"italic\" /* ITALIC */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n };\n\n var contains = function (bit, value) { return (bit & value) !== 0; };\n\n var content = {\n name: 'content',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens;\n }\n };\n\n var counterIncrement = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var increments = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (counter.type === 20 /* IDENT_TOKEN */) {\n var increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({ counter: counter.value, increment: increment });\n }\n }\n return increments;\n }\n };\n\n var counterReset = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var resets = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n var reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({ counter: counter.value, reset: reset });\n }\n }\n return resets;\n }\n };\n\n var duration = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (context, tokens) {\n return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n }\n };\n\n var quotes = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var quotes = [];\n var filtered = tokens.filter(isStringToken);\n if (filtered.length % 2 !== 0) {\n return null;\n }\n for (var i = 0; i < filtered.length; i += 2) {\n var open_1 = filtered[i].value;\n var close_1 = filtered[i + 1].value;\n quotes.push({ open: open_1, close: close_1 });\n }\n return quotes;\n }\n };\n var getQuote = function (quotes, depth, open) {\n if (!quotes) {\n return '';\n }\n var quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n return open ? quote.open : quote.close;\n };\n\n var boxShadow = {\n name: 'box-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n }\n else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else if (c === 2) {\n shadow.blur = token;\n }\n else {\n shadow.spread = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n };\n\n var paintOrder = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n var layers = [];\n tokens.filter(isIdentToken).forEach(function (token) {\n switch (token.value) {\n case 'stroke':\n layers.push(1 /* STROKE */);\n break;\n case 'fill':\n layers.push(0 /* FILL */);\n break;\n case 'markers':\n layers.push(2 /* MARKERS */);\n break;\n }\n });\n DEFAULT_VALUE.forEach(function (value) {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n return layers;\n }\n };\n\n var webkitTextStrokeColor = {\n name: \"-webkit-text-stroke-color\",\n initialValue: 'currentcolor',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var webkitTextStrokeWidth = {\n name: \"-webkit-text-stroke-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n };\n\n var CSSParsedDeclaration = /** @class */ (function () {\n function CSSParsedDeclaration(context, declaration) {\n var _a, _b;\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n var overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform$1, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n CSSParsedDeclaration.prototype.isVisible = function () {\n return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n };\n CSSParsedDeclaration.prototype.isTransparent = function () {\n return isTransparent(this.backgroundColor);\n };\n CSSParsedDeclaration.prototype.isTransformed = function () {\n return this.transform !== null;\n };\n CSSParsedDeclaration.prototype.isPositioned = function () {\n return this.position !== 0 /* STATIC */;\n };\n CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n return this.isPositioned() && !this.zIndex.auto;\n };\n CSSParsedDeclaration.prototype.isFloating = function () {\n return this.float !== 0 /* NONE */;\n };\n CSSParsedDeclaration.prototype.isInlineLevel = function () {\n return (contains(this.display, 4 /* INLINE */) ||\n contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n contains(this.display, 268435456 /* INLINE_FLEX */) ||\n contains(this.display, 536870912 /* INLINE_GRID */) ||\n contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n contains(this.display, 134217728 /* INLINE_TABLE */));\n };\n return CSSParsedDeclaration;\n }());\n var CSSParsedPseudoDeclaration = /** @class */ (function () {\n function CSSParsedPseudoDeclaration(context, declaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n return CSSParsedPseudoDeclaration;\n }());\n var CSSParsedCounterDeclaration = /** @class */ (function () {\n function CSSParsedCounterDeclaration(context, declaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n return CSSParsedCounterDeclaration;\n }());\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var parse = function (context, descriptor, style) {\n var tokenizer = new Tokenizer();\n var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n var parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case 2 /* IDENT_VALUE */:\n var token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case 0 /* VALUE */:\n return descriptor.parse(context, parser.parseComponentValue());\n case 1 /* LIST */:\n return descriptor.parse(context, parser.parseComponentValues());\n case 4 /* TOKEN_VALUE */:\n return parser.parseComponentValue();\n case 3 /* TYPE_VALUE */:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return color$1.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n var length_1 = parser.parseComponentValue();\n return isLength(length_1) ? length_1 : ZERO_LENGTH;\n case 'length-percentage':\n var value_1 = parser.parseComponentValue();\n return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n };\n\n var elementDebuggerAttribute = 'data-html2canvas-debug';\n var getElementDebugType = function (element) {\n var attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return 1 /* ALL */;\n case 'clone':\n return 2 /* CLONE */;\n case 'parse':\n return 3 /* PARSE */;\n case 'render':\n return 4 /* RENDER */;\n default:\n return 0 /* NONE */;\n }\n };\n var isDebugging = function (element, type) {\n var elementType = getElementDebugType(element);\n return elementType === 1 /* ALL */ || type === elementType;\n };\n\n var ElementContainer = /** @class */ (function () {\n function ElementContainer(context, element) {\n this.context = context;\n this.textNodes = [];\n this.elements = [];\n this.flags = 0;\n if (isDebugging(element, 3 /* PARSE */)) {\n debugger;\n }\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n element.style.animationDuration = '0s';\n }\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n this.bounds = parseBounds(this.context, element);\n if (isDebugging(element, 4 /* RENDER */)) {\n this.flags |= 16 /* DEBUG_RENDER */;\n }\n }\n return ElementContainer;\n }());\n\n /*\n * text-segmentation 1.0.3 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n /*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n }\n var decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n };\n var polyUint16Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n var polyUint32Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n\n /** Shift size for getting the index-2 table offset. */\n var UTRIE2_SHIFT_2 = 5;\n /** Shift size for getting the index-1 table offset. */\n var UTRIE2_SHIFT_1 = 6 + 5;\n /**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\n var UTRIE2_INDEX_SHIFT = 2;\n /**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\n var UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n /**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\n var UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n /** Number of entries in a data block. 32=0x20 */\n var UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n /** Mask for getting the lower bits for the in-data-block offset. */\n var UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n var UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n /** Count the lengths of both BMP pieces. 2080=0x820 */\n var UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n /**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\n var UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\n var UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n /**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\n var UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n /**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\n var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n /** Number of entries in an index-2 block. 64=0x40 */\n var UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n /** Mask for getting the lower bits for the in-index-2-block offset. */\n var UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n var slice16 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n };\n var slice32 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n };\n var createTrieFromBase64 = function (base64, _byteLength) {\n var buffer = decode(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n };\n var Trie = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n }());\n\n /*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n\n var Prepend = 1;\n var CR = 2;\n var LF = 3;\n var Control = 4;\n var Extend = 5;\n var SpacingMark = 7;\n var L = 8;\n var V = 9;\n var T = 10;\n var LV = 11;\n var LVT = 12;\n var ZWJ = 13;\n var Extended_Pictographic = 14;\n var RI = 15;\n var toCodePoints = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n };\n var fromCodePoint = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n var UnicodeTrie = createTrieFromBase64(base64);\n var BREAK_NOT_ALLOWED = '×';\n var BREAK_ALLOWED = '÷';\n var codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\n var _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n var prevIndex = index - 2;\n var prev = classTypes[prevIndex];\n var current = classTypes[index - 1];\n var next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n var countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n return BREAK_ALLOWED;\n };\n var GraphemeBreaker = function (str) {\n var codePoints = toCodePoints(str);\n var length = codePoints.length;\n var index = 0;\n var lastEnd = 0;\n var classTypes = codePoints.map(codePointToClass);\n return {\n next: function () {\n if (index >= length) {\n return { done: true, value: null };\n }\n var graphemeBreak = BREAK_NOT_ALLOWED;\n while (index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n };\n var splitGraphemes = function (str) {\n var breaker = GraphemeBreaker(str);\n var graphemes = [];\n var bk;\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n return graphemes;\n };\n\n var testRangeBounds = function (document) {\n var TEST_HEIGHT = 123;\n if (document.createRange) {\n var range = document.createRange();\n if (range.getBoundingClientRect) {\n var testElement = document.createElement('boundtest');\n testElement.style.height = TEST_HEIGHT + \"px\";\n testElement.style.display = 'block';\n document.body.appendChild(testElement);\n range.selectNode(testElement);\n var rangeBounds = range.getBoundingClientRect();\n var rangeHeight = Math.round(rangeBounds.height);\n document.body.removeChild(testElement);\n if (rangeHeight === TEST_HEIGHT) {\n return true;\n }\n }\n }\n return false;\n };\n var testIOSLineBreak = function (document) {\n var testElement = document.createElement('boundtest');\n testElement.style.width = '50px';\n testElement.style.display = 'block';\n testElement.style.fontSize = '12px';\n testElement.style.letterSpacing = '0px';\n testElement.style.wordSpacing = '0px';\n document.body.appendChild(testElement);\n var range = document.createRange();\n testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : '';\n var node = testElement.firstChild;\n var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n var offset = 0;\n var prev = {};\n // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n var supports = textList.every(function (text, i) {\n range.setStart(node, offset);\n range.setEnd(node, offset + text.length);\n var rect = range.getBoundingClientRect();\n offset += text.length;\n var boundAhead = rect.x > prev.x || rect.y > prev.y;\n prev = rect;\n if (i === 0) {\n return true;\n }\n return boundAhead;\n });\n document.body.removeChild(testElement);\n return supports;\n };\n var testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\n var testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\n var testSVG = function (document) {\n var img = new Image();\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n img.src = \"data:image/svg+xml,\";\n try {\n ctx.drawImage(img, 0, 0);\n canvas.toDataURL();\n }\n catch (e) {\n return false;\n }\n return true;\n };\n var isGreenPixel = function (data) {\n return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n };\n var testForeignObject = function (document) {\n var canvas = document.createElement('canvas');\n var size = 100;\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return Promise.reject(false);\n }\n ctx.fillStyle = 'rgb(0, 255, 0)';\n ctx.fillRect(0, 0, size, size);\n var img = new Image();\n var greenImageSrc = canvas.toDataURL();\n img.src = greenImageSrc;\n var svg = createForeignObjectSVG(size, size, 0, 0, img);\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n return loadSerializedSVG$1(svg)\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n var data = ctx.getImageData(0, 0, size, size).data;\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n var node = document.createElement('div');\n node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n node.style.height = size + \"px\";\n // Firefox 55 does not render inline tags\n return isGreenPixel(data)\n ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n : Promise.reject(false);\n })\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n // Edge does not render background-images\n return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n })\n .catch(function () { return false; });\n };\n var createForeignObjectSVG = function (width, height, x, y, node) {\n var xmlns = 'http://www.w3.org/2000/svg';\n var svg = document.createElementNS(xmlns, 'svg');\n var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttributeNS(null, 'width', width.toString());\n svg.setAttributeNS(null, 'height', height.toString());\n foreignObject.setAttributeNS(null, 'width', '100%');\n foreignObject.setAttributeNS(null, 'height', '100%');\n foreignObject.setAttributeNS(null, 'x', x.toString());\n foreignObject.setAttributeNS(null, 'y', y.toString());\n foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svg;\n };\n var loadSerializedSVG$1 = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n };\n var FEATURES = {\n get SUPPORT_RANGE_BOUNDS() {\n var value = testRangeBounds(document);\n Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n return value;\n },\n get SUPPORT_WORD_BREAKING() {\n var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n return value;\n },\n get SUPPORT_SVG_DRAWING() {\n var value = testSVG(document);\n Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_FOREIGNOBJECT_DRAWING() {\n var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n ? testForeignObject(document)\n : Promise.resolve(false);\n Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_CORS_IMAGES() {\n var value = testCORS();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n return value;\n },\n get SUPPORT_RESPONSE_TYPE() {\n var value = testResponseType();\n Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n return value;\n },\n get SUPPORT_CORS_XHR() {\n var value = 'withCredentials' in new XMLHttpRequest();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n return value;\n },\n get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n return value;\n }\n };\n\n var TextBounds = /** @class */ (function () {\n function TextBounds(text, bounds) {\n this.text = text;\n this.bounds = bounds;\n }\n return TextBounds;\n }());\n var parseTextBounds = function (context, value, styles, node) {\n var textList = breakText(value, styles);\n var textBounds = [];\n var offset = 0;\n textList.forEach(function (text) {\n if (styles.textDecorationLine.length || text.trim().length > 0) {\n if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n var clientRects = createRange(node, offset, text.length).getClientRects();\n if (clientRects.length > 1) {\n var subSegments = segmentGraphemes(text);\n var subOffset_1 = 0;\n subSegments.forEach(function (subSegment) {\n textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n subOffset_1 += subSegment.length;\n });\n }\n else {\n textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n }\n }\n else {\n var replacementNode = node.splitText(text.length);\n textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n node = replacementNode;\n }\n }\n else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n node = node.splitText(text.length);\n }\n offset += text.length;\n });\n return textBounds;\n };\n var getWrapperBounds = function (context, node) {\n var ownerDocument = node.ownerDocument;\n if (ownerDocument) {\n var wrapper = ownerDocument.createElement('html2canvaswrapper');\n wrapper.appendChild(node.cloneNode(true));\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.replaceChild(wrapper, node);\n var bounds = parseBounds(context, wrapper);\n if (wrapper.firstChild) {\n parentNode.replaceChild(wrapper.firstChild, wrapper);\n }\n return bounds;\n }\n }\n return Bounds.EMPTY;\n };\n var createRange = function (node, offset, length) {\n var ownerDocument = node.ownerDocument;\n if (!ownerDocument) {\n throw new Error('Node has no owner document');\n }\n var range = ownerDocument.createRange();\n range.setStart(node, offset);\n range.setEnd(node, offset + length);\n return range;\n };\n var segmentGraphemes = function (value) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return splitGraphemes(value);\n };\n var segmentWords = function (value, styles) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, {\n granularity: 'word'\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return breakWords(value, styles);\n };\n var breakText = function (value, styles) {\n return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n };\n // https://drafts.csswg.org/css-text/#word-separator\n var wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\n var breakWords = function (str, styles) {\n var breaker = LineBreaker(str, {\n lineBreak: styles.lineBreak,\n wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n });\n var words = [];\n var bk;\n var _loop_1 = function () {\n if (bk.value) {\n var value = bk.value.slice();\n var codePoints = toCodePoints$1(value);\n var word_1 = '';\n codePoints.forEach(function (codePoint) {\n if (wordSeparators.indexOf(codePoint) === -1) {\n word_1 += fromCodePoint$1(codePoint);\n }\n else {\n if (word_1.length) {\n words.push(word_1);\n }\n words.push(fromCodePoint$1(codePoint));\n word_1 = '';\n }\n });\n if (word_1.length) {\n words.push(word_1);\n }\n }\n };\n while (!(bk = breaker.next()).done) {\n _loop_1();\n }\n return words;\n };\n\n var TextContainer = /** @class */ (function () {\n function TextContainer(context, node, styles) {\n this.text = transform(node.data, styles.textTransform);\n this.textBounds = parseTextBounds(context, this.text, styles, node);\n }\n return TextContainer;\n }());\n var transform = function (text, transform) {\n switch (transform) {\n case 1 /* LOWERCASE */:\n return text.toLowerCase();\n case 3 /* CAPITALIZE */:\n return text.replace(CAPITALIZE, capitalize);\n case 2 /* UPPERCASE */:\n return text.toUpperCase();\n default:\n return text;\n }\n };\n var CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\n var capitalize = function (m, p1, p2) {\n if (m.length > 0) {\n return p1 + p2.toUpperCase();\n }\n return m;\n };\n\n var ImageElementContainer = /** @class */ (function (_super) {\n __extends(ImageElementContainer, _super);\n function ImageElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n _this.src = img.currentSrc || img.src;\n _this.intrinsicWidth = img.naturalWidth;\n _this.intrinsicHeight = img.naturalHeight;\n _this.context.cache.addImage(_this.src);\n return _this;\n }\n return ImageElementContainer;\n }(ElementContainer));\n\n var CanvasElementContainer = /** @class */ (function (_super) {\n __extends(CanvasElementContainer, _super);\n function CanvasElementContainer(context, canvas) {\n var _this = _super.call(this, context, canvas) || this;\n _this.canvas = canvas;\n _this.intrinsicWidth = canvas.width;\n _this.intrinsicHeight = canvas.height;\n return _this;\n }\n return CanvasElementContainer;\n }(ElementContainer));\n\n var SVGElementContainer = /** @class */ (function (_super) {\n __extends(SVGElementContainer, _super);\n function SVGElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n var s = new XMLSerializer();\n var bounds = parseBounds(context, img);\n img.setAttribute('width', bounds.width + \"px\");\n img.setAttribute('height', bounds.height + \"px\");\n _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n _this.intrinsicWidth = img.width.baseVal.value;\n _this.intrinsicHeight = img.height.baseVal.value;\n _this.context.cache.addImage(_this.svg);\n return _this;\n }\n return SVGElementContainer;\n }(ElementContainer));\n\n var LIElementContainer = /** @class */ (function (_super) {\n __extends(LIElementContainer, _super);\n function LIElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return LIElementContainer;\n }(ElementContainer));\n\n var OLElementContainer = /** @class */ (function (_super) {\n __extends(OLElementContainer, _super);\n function OLElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.start = element.start;\n _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n return _this;\n }\n return OLElementContainer;\n }(ElementContainer));\n\n var CHECKBOX_BORDER_RADIUS = [\n {\n type: 15 /* DIMENSION_TOKEN */,\n flags: 0,\n unit: 'px',\n number: 3\n }\n ];\n var RADIO_BORDER_RADIUS = [\n {\n type: 16 /* PERCENTAGE_TOKEN */,\n flags: 0,\n number: 50\n }\n ];\n var reformatInputBounds = function (bounds) {\n if (bounds.width > bounds.height) {\n return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n }\n else if (bounds.width < bounds.height) {\n return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n }\n return bounds;\n };\n var getInputValue = function (node) {\n var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n return value.length === 0 ? node.placeholder || '' : value;\n };\n var CHECKBOX = 'checkbox';\n var RADIO = 'radio';\n var PASSWORD = 'password';\n var INPUT_COLOR = 0x2a2a2aff;\n var InputElementContainer = /** @class */ (function (_super) {\n __extends(InputElementContainer, _super);\n function InputElementContainer(context, input) {\n var _this = _super.call(this, context, input) || this;\n _this.type = input.type.toLowerCase();\n _this.checked = input.checked;\n _this.value = getInputValue(input);\n if (_this.type === CHECKBOX || _this.type === RADIO) {\n _this.styles.backgroundColor = 0xdededeff;\n _this.styles.borderTopColor =\n _this.styles.borderRightColor =\n _this.styles.borderBottomColor =\n _this.styles.borderLeftColor =\n 0xa5a5a5ff;\n _this.styles.borderTopWidth =\n _this.styles.borderRightWidth =\n _this.styles.borderBottomWidth =\n _this.styles.borderLeftWidth =\n 1;\n _this.styles.borderTopStyle =\n _this.styles.borderRightStyle =\n _this.styles.borderBottomStyle =\n _this.styles.borderLeftStyle =\n 1 /* SOLID */;\n _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n _this.bounds = reformatInputBounds(_this.bounds);\n }\n switch (_this.type) {\n case CHECKBOX:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n CHECKBOX_BORDER_RADIUS;\n break;\n case RADIO:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n RADIO_BORDER_RADIUS;\n break;\n }\n return _this;\n }\n return InputElementContainer;\n }(ElementContainer));\n\n var SelectElementContainer = /** @class */ (function (_super) {\n __extends(SelectElementContainer, _super);\n function SelectElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n var option = element.options[element.selectedIndex || 0];\n _this.value = option ? option.text || '' : '';\n return _this;\n }\n return SelectElementContainer;\n }(ElementContainer));\n\n var TextareaElementContainer = /** @class */ (function (_super) {\n __extends(TextareaElementContainer, _super);\n function TextareaElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return TextareaElementContainer;\n }(ElementContainer));\n\n var IFrameElementContainer = /** @class */ (function (_super) {\n __extends(IFrameElementContainer, _super);\n function IFrameElementContainer(context, iframe) {\n var _this = _super.call(this, context, iframe) || this;\n _this.src = iframe.src;\n _this.width = parseInt(iframe.width, 10) || 0;\n _this.height = parseInt(iframe.height, 10) || 0;\n _this.backgroundColor = _this.styles.backgroundColor;\n try {\n if (iframe.contentWindow &&\n iframe.contentWindow.document &&\n iframe.contentWindow.document.documentElement) {\n _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = iframe.contentWindow.document.documentElement\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = iframe.contentWindow.document.body\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n : COLORS.TRANSPARENT;\n _this.backgroundColor = isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? _this.styles.backgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor;\n }\n }\n catch (e) { }\n return _this;\n }\n return IFrameElementContainer;\n }(ElementContainer));\n\n var LIST_OWNERS = ['OL', 'UL', 'MENU'];\n var parseNodeTree = function (context, node, parent, root) {\n for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n nextNode = childNode.nextSibling;\n if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n }\n else if (isElementNode(childNode)) {\n if (isSlotElement(childNode) && childNode.assignedNodes) {\n childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n }\n else {\n var container = createContainer(context, childNode);\n if (container.styles.isVisible()) {\n if (createsRealStackingContext(childNode, container, root)) {\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n }\n else if (createsStackingContext(container.styles)) {\n container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n }\n if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n container.flags |= 8 /* IS_LIST_OWNER */;\n }\n parent.elements.push(container);\n childNode.slot;\n if (childNode.shadowRoot) {\n parseNodeTree(context, childNode.shadowRoot, container, root);\n }\n else if (!isTextareaElement(childNode) &&\n !isSVGElement(childNode) &&\n !isSelectElement(childNode)) {\n parseNodeTree(context, childNode, container, root);\n }\n }\n }\n }\n }\n };\n var createContainer = function (context, element) {\n if (isImageElement(element)) {\n return new ImageElementContainer(context, element);\n }\n if (isCanvasElement(element)) {\n return new CanvasElementContainer(context, element);\n }\n if (isSVGElement(element)) {\n return new SVGElementContainer(context, element);\n }\n if (isLIElement(element)) {\n return new LIElementContainer(context, element);\n }\n if (isOLElement(element)) {\n return new OLElementContainer(context, element);\n }\n if (isInputElement(element)) {\n return new InputElementContainer(context, element);\n }\n if (isSelectElement(element)) {\n return new SelectElementContainer(context, element);\n }\n if (isTextareaElement(element)) {\n return new TextareaElementContainer(context, element);\n }\n if (isIFrameElement(element)) {\n return new IFrameElementContainer(context, element);\n }\n return new ElementContainer(context, element);\n };\n var parseTree = function (context, element) {\n var container = createContainer(context, element);\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n parseNodeTree(context, element, container, container);\n return container;\n };\n var createsRealStackingContext = function (node, container, root) {\n return (container.styles.isPositionedWithZIndex() ||\n container.styles.opacity < 1 ||\n container.styles.isTransformed() ||\n (isBodyElement(node) && root.styles.isTransparent()));\n };\n var createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\n var isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\n var isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\n var isHTMLElementNode = function (node) {\n return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n };\n var isSVGElementNode = function (element) {\n return typeof element.className === 'object';\n };\n var isLIElement = function (node) { return node.tagName === 'LI'; };\n var isOLElement = function (node) { return node.tagName === 'OL'; };\n var isInputElement = function (node) { return node.tagName === 'INPUT'; };\n var isHTMLElement = function (node) { return node.tagName === 'HTML'; };\n var isSVGElement = function (node) { return node.tagName === 'svg'; };\n var isBodyElement = function (node) { return node.tagName === 'BODY'; };\n var isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\n var isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\n var isImageElement = function (node) { return node.tagName === 'IMG'; };\n var isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\n var isStyleElement = function (node) { return node.tagName === 'STYLE'; };\n var isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\n var isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\n var isSelectElement = function (node) { return node.tagName === 'SELECT'; };\n var isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n // https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n var isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\n var CounterState = /** @class */ (function () {\n function CounterState() {\n this.counters = {};\n }\n CounterState.prototype.getCounterValue = function (name) {\n var counter = this.counters[name];\n if (counter && counter.length) {\n return counter[counter.length - 1];\n }\n return 1;\n };\n CounterState.prototype.getCounterValues = function (name) {\n var counter = this.counters[name];\n return counter ? counter : [];\n };\n CounterState.prototype.pop = function (counters) {\n var _this = this;\n counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n };\n CounterState.prototype.parse = function (style) {\n var _this = this;\n var counterIncrement = style.counterIncrement;\n var counterReset = style.counterReset;\n var canReset = true;\n if (counterIncrement !== null) {\n counterIncrement.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n if (counter && entry.increment !== 0) {\n canReset = false;\n if (!counter.length) {\n counter.push(1);\n }\n counter[Math.max(0, counter.length - 1)] += entry.increment;\n }\n });\n }\n var counterNames = [];\n if (canReset) {\n counterReset.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n counterNames.push(entry.counter);\n if (!counter) {\n counter = _this.counters[entry.counter] = [];\n }\n counter.push(entry.reset);\n });\n }\n return counterNames;\n };\n return CounterState;\n }());\n var ROMAN_UPPER = {\n integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n };\n var ARMENIAN = {\n integers: [\n 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'Ք',\n 'Փ',\n 'Ւ',\n 'Ց',\n 'Ր',\n 'Տ',\n 'Վ',\n 'Ս',\n 'Ռ',\n 'Ջ',\n 'Պ',\n 'Չ',\n 'Ո',\n 'Շ',\n 'Ն',\n 'Յ',\n 'Մ',\n 'Ճ',\n 'Ղ',\n 'Ձ',\n 'Հ',\n 'Կ',\n 'Ծ',\n 'Խ',\n 'Լ',\n 'Ի',\n 'Ժ',\n 'Թ',\n 'Ը',\n 'Է',\n 'Զ',\n 'Ե',\n 'Դ',\n 'Գ',\n 'Բ',\n 'Ա'\n ]\n };\n var HEBREW = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'י׳',\n 'ט׳',\n 'ח׳',\n 'ז׳',\n 'ו׳',\n 'ה׳',\n 'ד׳',\n 'ג׳',\n 'ב׳',\n 'א׳',\n 'ת',\n 'ש',\n 'ר',\n 'ק',\n 'צ',\n 'פ',\n 'ע',\n 'ס',\n 'נ',\n 'מ',\n 'ל',\n 'כ',\n 'יט',\n 'יח',\n 'יז',\n 'טז',\n 'טו',\n 'י',\n 'ט',\n 'ח',\n 'ז',\n 'ו',\n 'ה',\n 'ד',\n 'ג',\n 'ב',\n 'א'\n ]\n };\n var GEORGIAN = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'ჵ',\n 'ჰ',\n 'ჯ',\n 'ჴ',\n 'ხ',\n 'ჭ',\n 'წ',\n 'ძ',\n 'ც',\n 'ჩ',\n 'შ',\n 'ყ',\n 'ღ',\n 'ქ',\n 'ფ',\n 'ჳ',\n 'ტ',\n 'ს',\n 'რ',\n 'ჟ',\n 'პ',\n 'ო',\n 'ჲ',\n 'ნ',\n 'მ',\n 'ლ',\n 'კ',\n 'ი',\n 'თ',\n 'ჱ',\n 'ზ',\n 'ვ',\n 'ე',\n 'დ',\n 'გ',\n 'ბ',\n 'ა'\n ]\n };\n var createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n if (value < min || value > max) {\n return createCounterText(value, fallback, suffix.length > 0);\n }\n return (symbols.integers.reduce(function (string, integer, index) {\n while (value >= integer) {\n value -= integer;\n string += symbols.values[index];\n }\n return string;\n }, '') + suffix);\n };\n var createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n var string = '';\n do {\n if (!isNumeric) {\n value--;\n }\n string = resolver(value) + string;\n value /= codePointRangeLength;\n } while (value * codePointRangeLength >= codePointRangeLength);\n return string;\n };\n var createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n return ((value < 0 ? '-' : '') +\n (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n }) +\n suffix));\n };\n var createCounterStyleFromSymbols = function (value, symbols, suffix) {\n if (suffix === void 0) { suffix = '. '; }\n var codePointRangeLength = symbols.length;\n return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n };\n var CJK_ZEROS = 1 << 0;\n var CJK_TEN_COEFFICIENTS = 1 << 1;\n var CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\n var CJK_HUNDRED_COEFFICIENTS = 1 << 3;\n var createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n if (value < -9999 || value > 9999) {\n return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n }\n var tmp = Math.abs(value);\n var string = suffix;\n if (tmp === 0) {\n return numbers[0] + string;\n }\n for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n var coefficient = tmp % 10;\n if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n string = numbers[coefficient] + string;\n }\n else if (coefficient > 1 ||\n (coefficient === 1 && digit === 0) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n }\n else if (coefficient === 1 && digit > 0) {\n string = multipliers[digit - 1] + string;\n }\n tmp = Math.floor(tmp / 10);\n }\n return (value < 0 ? negativeSign : '') + string;\n };\n var CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\n var CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\n var JAPANESE_NEGATIVE = 'マイナス';\n var KOREAN_NEGATIVE = '마이너스';\n var createCounterText = function (value, type, appendSuffix) {\n var defaultSuffix = appendSuffix ? '. ' : '';\n var cjkSuffix = appendSuffix ? '、' : '';\n var koreanSuffix = appendSuffix ? ', ' : '';\n var spaceSuffix = appendSuffix ? ' ' : '';\n switch (type) {\n case 0 /* DISC */:\n return '•' + spaceSuffix;\n case 1 /* CIRCLE */:\n return '◦' + spaceSuffix;\n case 2 /* SQUARE */:\n return '◾' + spaceSuffix;\n case 5 /* DECIMAL_LEADING_ZERO */:\n var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n return string.length < 4 ? \"0\" + string : string;\n case 4 /* CJK_DECIMAL */:\n return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n case 6 /* LOWER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 7 /* UPPER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n case 8 /* LOWER_GREEK */:\n return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n case 9 /* LOWER_ALPHA */:\n return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n case 10 /* UPPER_ALPHA */:\n return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n case 11 /* ARABIC_INDIC */:\n return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n case 12 /* ARMENIAN */:\n case 49 /* UPPER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n case 35 /* LOWER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 13 /* BENGALI */:\n return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n case 14 /* CAMBODIAN */:\n case 30 /* KHMER */:\n return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n case 15 /* CJK_EARTHLY_BRANCH */:\n return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n case 16 /* CJK_HEAVENLY_STEM */:\n return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n case 17 /* CJK_IDEOGRAPHIC */:\n case 48 /* TRAD_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 47 /* TRAD_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 42 /* SIMP_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 41 /* SIMP_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 26 /* JAPANESE_INFORMAL */:\n return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n case 25 /* JAPANESE_FORMAL */:\n return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 31 /* KOREAN_HANGUL_FORMAL */:\n return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 33 /* KOREAN_HANJA_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n case 32 /* KOREAN_HANJA_FORMAL */:\n return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 18 /* DEVANAGARI */:\n return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n case 20 /* GEORGIAN */:\n return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n case 21 /* GUJARATI */:\n return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n case 22 /* GURMUKHI */:\n return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n case 22 /* HEBREW */:\n return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n case 23 /* HIRAGANA */:\n return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n case 24 /* HIRAGANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n case 27 /* KANNADA */:\n return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n case 28 /* KATAKANA */:\n return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n case 29 /* KATAKANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n case 34 /* LAO */:\n return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n case 37 /* MONGOLIAN */:\n return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n case 38 /* MYANMAR */:\n return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n case 39 /* ORIYA */:\n return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n case 40 /* PERSIAN */:\n return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n case 43 /* TAMIL */:\n return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n case 44 /* TELUGU */:\n return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n case 45 /* THAI */:\n return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n case 46 /* TIBETAN */:\n return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n case 3 /* DECIMAL */:\n default:\n return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n }\n };\n\n var IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n var DocumentCloner = /** @class */ (function () {\n function DocumentCloner(context, element, options) {\n this.context = context;\n this.options = options;\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n }\n DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n var _this = this;\n var iframe = createIFrameContainer(ownerDocument, windowSize);\n if (!iframe.contentWindow) {\n return Promise.reject(\"Unable to find iframe window\");\n }\n var scrollX = ownerDocument.defaultView.pageXOffset;\n var scrollY = ownerDocument.defaultView.pageYOffset;\n var cloneWindow = iframe.contentWindow;\n var documentClone = cloneWindow.document;\n /* Chrome doesn't detect relative background-images assigned in inline \r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioPaisagem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./relatorioPaisagem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./relatorioPaisagem.vue?vue&type=template&id=5627e182\"\nimport script from \"./relatorioPaisagem.vue?vue&type=script&lang=js\"\nexport * from \"./relatorioPaisagem.vue?vue&type=script&lang=js\"\nimport style0 from \"./relatorioPaisagem.vue?vue&type=style&index=0&id=5627e182&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","!function(){function n(n,t){var e=n.split(\".\"),l=U;e[0]in l||!l.execScript||l.execScript(\"var \"+e[0]);for(var r;e.length&&(r=e.shift());)e.length||void 0===t?l=l[r]?l[r]:l[r]={}:l[r]=t}function t(n,t){function e(){}e.prototype=t.prototype,n.M=t.prototype,n.prototype=new e,n.prototype.constructor=n,n.N=function(n,e,l){for(var r=Array(arguments.length-2),i=2;it?1:n=a&&a<=u;++a)if(i=parseInt(t.substring(0,a),10),i in nn){r.a(t.substring(a)),t=i;break n}t=0}return 0!=t&&(l(n.a),n.a.a(r.toString()),r=C(t),\"001\"==r?n.g=N(n.G,\"\"+t):r!=n.D&&(n.g=B(n,r)),n.b.a(\"\"+t).a(\" \"),n.h=\"\",!0)}function T(n,t){var e=n.m.toString();if(0<=e.substring(n.s).search(n.H)){var r=e.search(n.H),e=e.replace(n.H,t);return l(n.m),n.m.a(e),n.s=r,e.substring(0,n.s+1)}return 1==n.f.length&&(n.l=!1),n.w=\"\",n.i.toString()}var U=this;e.prototype.b=\"\",e.prototype.set=function(n){this.b=\"\"+n},e.prototype.a=function(n,t,e){if(this.b+=String(n),null!=t)for(var l=1;l