From 57018022959fd6c836aca0d767d7243762ce58f9 Mon Sep 17 00:00:00 2001 From: Blake Rogan Date: Thu, 19 Dec 2024 12:56:07 +1100 Subject: [PATCH] feat(gsw): upgrade gsw to node 20 --- .github/workflows/release.yml | 41 + .idea/.gitignore | 8 + .idea/GSW-node.iml | 2 + .idea/editor.xml | 483 ++ .idea/gsw.iml | 8 + .idea/misc.xml | 13 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .npmignore | 0 .npmrc | 3 + CHANGELOG.md | 62 - README.md | 81 +- TeosBindings.cc | 314 - TeosCpp/CMakeLists.txt | 32 - TeosCpp/include/delta_sa_ref_map.h | 6127 ---------------- TeosCpp/include/saar_ref_map.h | 6119 ---------------- TeosCpp/teos-cpp.cpp | 18 - auto-top.gypi | 8 - auto.gypi | 11 - autogypi.json | 6 - binding.gyp | 21 - lib-types.d.ts | 870 --- lib.ts | 12 - package.json | 69 +- packages/gsw_cpp/CMakeLists.txt | 10 + packages/gsw_cpp/gsw-node/CMakeLists.txt | 25 + .../gsw_cpp/gsw-node/include/BoundTeosBase.h | 34 + .../gsw_cpp/gsw-node/include/BoundTeosIce.h | 27 + .../gsw_cpp/gsw-node/include/BoundTeosSea.h | 30 + .../gsw_cpp/gsw-node/src/BoundTeosBase.cpp | 99 + .../gsw_cpp/gsw-node/src/BoundTeosIce.cpp | 38 + .../gsw_cpp/gsw-node/src/BoundTeosSea.cpp | 54 + packages/gsw_cpp/gsw-node/src/binding.cpp | 19 + packages/gsw_cpp/package.json | 51 + packages/gsw_cpp/release.config.cjs | 12 + .../gsw_cpp/teos-cpp}/.gitignore | 2 +- packages/gsw_cpp/teos-cpp/CMakeLists.txt | 15 + .../teos-cpp}/include/SaarDataHandler.h | 4 +- .../gsw_cpp/teos-cpp}/include/TeosBase.h | 35 +- .../gsw_cpp/teos-cpp}/include/TeosCppSupp.h | 0 .../gsw_cpp/teos-cpp}/include/TeosIce.h | 7 +- .../gsw_cpp/teos-cpp}/include/TeosSea.h | 15 +- .../gsw_cpp/teos-cpp}/include/delta_sa_ref.h | 15 +- .../teos-cpp/include/delta_sa_ref_map.h | 6128 +++++++++++++++++ .../gsw_cpp/teos-cpp}/include/gsw_structs.h | 2 +- .../gsw_cpp/teos-cpp}/include/map_struct.h | 10 +- .../gsw_cpp/teos-cpp}/include/saar_ref.h | 13 +- .../gsw_cpp/teos-cpp/include/saar_ref_map.h | 6120 ++++++++++++++++ .../gsw_cpp/teos-cpp}/src/SaarDataHandler.cpp | 4 +- .../gsw_cpp/teos-cpp}/src/TeosBase.cpp | 1392 ++-- .../gsw_cpp/teos-cpp}/src/TeosIce.cpp | 12 +- .../gsw_cpp/teos-cpp}/src/TeosSea.cpp | 6 +- .../gsw_cpp/teos-cpp/tests/CMakeLists.txt | 28 + packages/gsw_cpp/teos-cpp/tests/src/base.cpp | 27 + packages/gsw_cpp/teos-cpp/tests/src/ice.cpp | 20 + packages/gsw_cpp/teos-cpp/tests/src/sea.cpp | 20 + packages/gsw_node/jest.config.js | 5 + packages/gsw_node/package.json | 69 + packages/gsw_node/release.config.cjs | 12 + packages/gsw_node/src/gsw-node-classes.ts | 27 + packages/gsw_node/src/gsw-node.node.d.ts | 30 + packages/gsw_node/src/index.ts | 3 + packages/gsw_node/src/teosBase.ts | 4 + packages/gsw_node/src/teosIce.ts | 4 + packages/gsw_node/src/teosSea.ts | 4 + packages/gsw_node/test/TeosBase.test.ts | 32 + packages/gsw_node/test/TeosIce.test.ts | 22 + packages/gsw_node/test/TeosSea.test.ts | 24 + packages/gsw_node/tsconfig.cjs.json | 9 + packages/gsw_node/tsconfig.esm.json | 9 + packages/gsw_node/tsconfig.json | 22 + .../gsw_test/jest.config.js | 0 packages/gsw_test/package.json | 35 + packages/gsw_test/test/TeosBase.test.ts | 32 + packages/gsw_test/test/TeosIce.test.ts | 22 + packages/gsw_test/test/TeosSea.test.ts | 24 + packages/gsw_test/tsconfig.json | 23 + pnpm-lock.yaml | 5810 ++++++++++++++++ pnpm-workspace.yaml | 4 + release.config.cjs | 13 + scripts/fix_ndts_imports.py | 22 - scripts/get_methods.py | 26 - test/TeosBase.test.ts | 31 - test/TeosIce.test.ts | 21 - test/TeosSea.test.ts | 23 - tsconfig.json | 21 - yarn.lock | 5376 --------------- 87 files changed, 20570 insertions(+), 19785 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 .idea/.gitignore create mode 100644 .idea/GSW-node.iml create mode 100644 .idea/editor.xml create mode 100644 .idea/gsw.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml delete mode 100644 .npmignore create mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 TeosBindings.cc delete mode 100644 TeosCpp/CMakeLists.txt delete mode 100644 TeosCpp/include/delta_sa_ref_map.h delete mode 100644 TeosCpp/include/saar_ref_map.h delete mode 100644 TeosCpp/teos-cpp.cpp delete mode 100644 auto-top.gypi delete mode 100644 auto.gypi delete mode 100644 autogypi.json delete mode 100644 binding.gyp delete mode 100644 lib-types.d.ts delete mode 100644 lib.ts create mode 100644 packages/gsw_cpp/CMakeLists.txt create mode 100644 packages/gsw_cpp/gsw-node/CMakeLists.txt create mode 100644 packages/gsw_cpp/gsw-node/include/BoundTeosBase.h create mode 100644 packages/gsw_cpp/gsw-node/include/BoundTeosIce.h create mode 100644 packages/gsw_cpp/gsw-node/include/BoundTeosSea.h create mode 100644 packages/gsw_cpp/gsw-node/src/BoundTeosBase.cpp create mode 100644 packages/gsw_cpp/gsw-node/src/BoundTeosIce.cpp create mode 100644 packages/gsw_cpp/gsw-node/src/BoundTeosSea.cpp create mode 100644 packages/gsw_cpp/gsw-node/src/binding.cpp create mode 100644 packages/gsw_cpp/package.json create mode 100644 packages/gsw_cpp/release.config.cjs rename {TeosCpp => packages/gsw_cpp/teos-cpp}/.gitignore (98%) create mode 100644 packages/gsw_cpp/teos-cpp/CMakeLists.txt rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/SaarDataHandler.h (98%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/TeosBase.h (95%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/TeosCppSupp.h (100%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/TeosIce.h (98%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/TeosSea.h (94%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/delta_sa_ref.h (99%) create mode 100644 packages/gsw_cpp/teos-cpp/include/delta_sa_ref_map.h rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/gsw_structs.h (99%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/map_struct.h (77%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/include/saar_ref.h (99%) create mode 100644 packages/gsw_cpp/teos-cpp/include/saar_ref_map.h rename {TeosCpp => packages/gsw_cpp/teos-cpp}/src/SaarDataHandler.cpp (99%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/src/TeosBase.cpp (95%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/src/TeosIce.cpp (99%) rename {TeosCpp => packages/gsw_cpp/teos-cpp}/src/TeosSea.cpp (99%) create mode 100644 packages/gsw_cpp/teos-cpp/tests/CMakeLists.txt create mode 100644 packages/gsw_cpp/teos-cpp/tests/src/base.cpp create mode 100644 packages/gsw_cpp/teos-cpp/tests/src/ice.cpp create mode 100644 packages/gsw_cpp/teos-cpp/tests/src/sea.cpp create mode 100644 packages/gsw_node/jest.config.js create mode 100644 packages/gsw_node/package.json create mode 100644 packages/gsw_node/release.config.cjs create mode 100644 packages/gsw_node/src/gsw-node-classes.ts create mode 100644 packages/gsw_node/src/gsw-node.node.d.ts create mode 100644 packages/gsw_node/src/index.ts create mode 100644 packages/gsw_node/src/teosBase.ts create mode 100644 packages/gsw_node/src/teosIce.ts create mode 100644 packages/gsw_node/src/teosSea.ts create mode 100644 packages/gsw_node/test/TeosBase.test.ts create mode 100644 packages/gsw_node/test/TeosIce.test.ts create mode 100644 packages/gsw_node/test/TeosSea.test.ts create mode 100644 packages/gsw_node/tsconfig.cjs.json create mode 100644 packages/gsw_node/tsconfig.esm.json create mode 100644 packages/gsw_node/tsconfig.json rename jest.config.js => packages/gsw_test/jest.config.js (100%) create mode 100644 packages/gsw_test/package.json create mode 100644 packages/gsw_test/test/TeosBase.test.ts create mode 100644 packages/gsw_test/test/TeosIce.test.ts create mode 100644 packages/gsw_test/test/TeosSea.test.ts create mode 100644 packages/gsw_test/tsconfig.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 release.config.cjs delete mode 100644 scripts/fix_ndts_imports.py delete mode 100644 scripts/get_methods.py delete mode 100644 test/TeosBase.test.ts delete mode 100644 test/TeosIce.test.ts delete mode 100644 test/TeosSea.test.ts delete mode 100644 tsconfig.json delete mode 100644 yarn.lock diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c97e0e8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,41 @@ +name: Tag & Release + +on: + workflow_dispatch: + +jobs: + release: + name: Release ${{ github.event.inputs.TAG_NAME }} + runs-on: ubuntu-latest + steps: + - uses: Greenroom-Robotics/workflow-telemetry-action@main + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + lfs: 'true' + + - uses: pnpm/action-setup@v4 + + - name: Login to npm github packages + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'pnpm' + registry-url: https://npm.pkg.github.com + scope: '@greenroom-robotics' + token: ${{ secrets.API_TOKEN_GITHUB }} + + - name: Install npm dependencies + run: pnpm install --frozen-lockfile + env: + API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} + + - name: Release + id: release + env: + GITHUB_USER: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} + MATRIX_ARCH: ${{ matrix.job.arch }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: pnpm run --stream release diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/GSW-node.iml b/.idea/GSW-node.iml new file mode 100644 index 0000000..f08604b --- /dev/null +++ b/.idea/GSW-node.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/editor.xml b/.idea/editor.xml new file mode 100644 index 0000000..b0d69ef --- /dev/null +++ b/.idea/editor.xml @@ -0,0 +1,483 @@ + + + + + \ No newline at end of file diff --git a/.idea/gsw.iml b/.idea/gsw.iml new file mode 100644 index 0000000..f3a16a2 --- /dev/null +++ b/.idea/gsw.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..ef660f4 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..aa455c8 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.npmignore b/.npmignore deleted file mode 100644 index e69de29..0000000 diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..f0a8011 --- /dev/null +++ b/.npmrc @@ -0,0 +1,3 @@ +//npm.pkg.github.com/:_authToken=${API_TOKEN_GITHUB} +registry=https://registry.npmjs.org +@greenroom-robotics:registry=https://npm.pkg.github.com diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 628bf40..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,62 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -### [1.0.13](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.12...v1.0.13) (2021-10-14) - - -### Bug Fixes - -* fix broken path in lib import ([3ce9ab1](https://github.com/Greenroom-Robotics/GSW-node/commit/3ce9ab125ae9ff12ca57f727158ee4c606b87084)) - -### [1.0.12](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.11...v1.0.12) (2021-10-14) - - -### Bug Fixes - -* add dirname to fix binary import ([ebfc0fd](https://github.com/Greenroom-Robotics/GSW-node/commit/ebfc0fd1b2e96eea5e1b31bcd10ca02dc875fbff)) - -### [1.0.11](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.10...v1.0.11) (2021-10-14) - - -### Bug Fixes - -* fix build copy ([0567e27](https://github.com/Greenroom-Robotics/GSW-node/commit/0567e27b97a4b6dcf6b9c86488c719e9c90d4539)) - -### [1.0.10](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.9...v1.0.10) (2021-10-14) - -### [1.0.9](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.8...v1.0.9) (2021-10-14) - - -### Bug Fixes - -* add copy of nbind build files to dist on npm publish ([c40d7e0](https://github.com/Greenroom-Robotics/GSW-node/commit/c40d7e095110d132c400843e64cce204c7628a95)) - -### [1.0.8](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.7...v1.0.8) (2021-10-14) - - -### Bug Fixes - -* copy dts files to dist on build ([56b41cc](https://github.com/Greenroom-Robotics/GSW-node/commit/56b41cc8892e605a7110de56876897d98bd1ae47)) - -### [1.0.7](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.6...v1.0.7) (2021-10-14) - - -### Bug Fixes - -* add npmignore to include dist on upload to npm ([fb8f050](https://github.com/Greenroom-Robotics/GSW-node/commit/fb8f05055057710adc3b5e578c093ba540193e6b)) - -### [1.0.6](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.5...v1.0.6) (2021-10-14) - - -### Bug Fixes - -* add build step to publish ([2581450](https://github.com/Greenroom-Robotics/GSW-node/commit/25814509e84f8108cefe65da921dd0a4bc359ade)) - -### [1.0.5](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.4...v1.0.5) (2021-10-14) - -### [1.0.4](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.3...v1.0.4) (2021-10-14) - -### [1.0.3](https://github.com/Greenroom-Robotics/GSW-node/compare/v1.0.1...v1.0.3) (2021-10-13) - -### 1.0.1 (2021-10-13) diff --git a/README.md b/README.md index a4c255e..97dba89 100644 --- a/README.md +++ b/README.md @@ -4,51 +4,60 @@ Nodejs interface to Gibbs-SeaWater (GSW) Oceanographic Toolbox in C++. Link to the homepage: [Teos-10.org](https://www.teos-10.org/) -This library includes all modules: +This library includes all modules: + - TeosBase - TeosIce - TeosSea -## Requirments -- Node: 12 +## Requirements + +- Node: 20 - cmake - gcc -- python (2 or 3) - -Unfortunatly this library is only compatable with Node versions up to 12. It may build on later versions but tested working on node 12. +- python 3 -Currently this has only been tested on linux Ubuntu 20. +Currently, this has only been tested on linux Ubuntu 24.04. ## TeosNode -Install with + +Install with + ```bash -$ npm i gsw-node # or -$ yarn add gsw-node +$ pnpm add @greenroom-robotics/gsw_cpp +$ pnpm add @greenroom-robotics/gsw_node ``` If you clone this repo you can install using: + ```bash -$ yarn +$ pnpm i ``` + Then test with: + ``` -$ yarn test +$ pnpm test ``` ### Use Avaliable functions are generated and avaliable in: [lib-types.d.ts](lib-types.d.ts) -The use of gsw_z_from_p is shown in the below example, this is an example from https://www.teos-10.org/pubs/gsw/html/gsw_z_from_p.html +The use of `gsw_z_from_p` is shown in the below example, this is an example +from https://www.teos-10.org/pubs/gsw/html/gsw_z_from_p.html + +**Note** if you see the definition of `gsw_z_from_p` in the source code you will notice that there are two optional +arguments, in the bindings of this function these defaults do not transfer over, in the following typescript code you +can see that these defaults need to be added . -**Note** if you see the definition of gsw_z_from_p in the source code you will notice that there are two optional arguments, in the bindings of this function these defaults do not transfer over, in the following typescript code you can see that these defaults need to be added . ```c++ double gsw_z_from_p(double p, double lat, double geo_strf_dyn_height=0.0, double sea_surface_geopotential=0.0); ``` -```ts -import { TeosBase } from 'gsw-node' +```typescript +import {TeosBase} from '@greenroom-robotics/gsw_node' const teosBase = new TeosBase() const p = 10 @@ -59,44 +68,10 @@ const result = teosBase.gsw_z_from_p(p, lat, 0, 0) ``` ## TeosCpp -This is a copy of the source code from Teos-10, downloadable from https://www.teos-10.org/software.htm -This has been converted from use with codeblocks build chain to use cmake, which may be of use to others. You can build this with the following steps -### Building -```bash -$ cd TeosCpp && mkdir build -$ cd build -$ cmake .. -$ make -``` -Run very very basic the example code using: -```bash -./test-teos -``` +This is a copy of the source code from Teos-10, downloadable from https://www.teos-10.org/software.htm ## Other notes -It seems that some of the functions are missing or not complete in the Cpp source code, these are listed below. - -### TeosBase -```c++ -method(gsw_CT_freezing); Not implemented fully in source -method(gsw_Hill_ratio_at_SP2); Seems to be an error in code, looks like the capitals are different in c++ code. -method(gsw_internal_energy_second_derivatives); Not implemented in source -method(gsw_rho_second_derivatives_wrt_enthalpy_CT_exact); Not implemented in source -method(gsw_SA_freezing_from_CT_poly); Not implemented in source, only in header definition. -method(gsw_SSO); Dosent seem to be implemented in c++ code -``` -### TeosSea -```c++ -method(gsw_geo_strf_dyn_height); # Currently contains errors TODO: Look into @zacpullen -method(gsw_geo_strf_dyn_height_1); -method(gsw_linear_interp_SA_CT_for_dh); -``` - -### TeosIce -```c++ -method(gsw_pressure_coefficient_ice); -method(gsw_t_freezing_poly); // There are two definitions here, this is not compatable with nbind binding. If you need this you can change the funcitons to have different names in the source code. -method(gsw_t_freezing_poly); // See above -``` +Not all functions have been implemented for node js. +To add new functions update [gsw-node](packages/gsw_cpp/gsw-node) diff --git a/TeosBindings.cc b/TeosBindings.cc deleted file mode 100644 index c0cc7f6..0000000 --- a/TeosBindings.cc +++ /dev/null @@ -1,314 +0,0 @@ -#include -#include "TeosSea.h" -#include "TeosBase.h" -#include "TeosIce.h" - -#include "nbind/nbind.h" - -NBIND_CLASS(TeosBase){ - construct<>(); - method(gsw_Abs_Pressure_from_p); - method(gsw_add_barrier); - method(gsw_add_mean); - method(gsw_adiabatic_lapse_rate_from_t); - method(gsw_adiabatic_lapse_rate_t_exact); - method(gsw_alpha); - method(gsw_alpha_CT_exact); - method(gsw_alpha_on_beta_CT_exact); - method(gsw_alpha_wrt_CT_t_exact); - method(gsw_alpha_wrt_pt_t_exact); - method(gsw_Arsol); - method(gsw_Arsol_SP_pt); - method(gsw_atomic_weight); - method(gsw_beta); - method(gsw_beta_const_ct_t_exact); - method(gsw_beta_const_pt_t_exact); - method(gsw_chem_potential_relative_t_exact); - method(gsw_chem_potential_salt_t_exact); - method(gsw_chem_potential_water_t_exact); - method(gsw_ct_first_derivatives_wrt_t_exact); - method(gsw_ct_freezing); - // method(gsw_CT_freezing); Not implemented fully in source - method(gsw_ct_from_enthalpy); - method(gsw_ct_from_enthalpy_exact); - method(gsw_ct_from_pt); - method(gsw_ct_from_t); - method(gsw_ct_maxdensity); - method(gsw_CT_maxdensity_exact); - method(gsw_deltasa_atlas); - method(gsw_depth_from_z); - method(gsw_dilution_coefficient_t_exact); - method(gsw_dynamic_enthalpy); - method(gsw_dynamic_enthalpy_CT_exact); - method(gsw_dynamic_enthalpy_t_exact); - method(gsw_enthalpy); - method(gsw_enthalpy_ct_exact); - method(gsw_enthalpy_diff_CT_exact); - method(gsw_enthalpy_first_derivatives); - method(gsw_enthalpy_first_derivatives_ct_exact); - method(gsw_enthalpy_second_derivatives_ct_exact); - method(gsw_enthalpy_sso_0); - method(gsw_enthalpy_t_exact); - method(gsw_entropy_first_derivatives); - method(gsw_entropy_from_ct); - method(gsw_entropy_part); - method(gsw_entropy_part_zerop); - method(gsw_entropy_second_derivatives); - method(gsw_f); - method(gsw_fdelta); - method(gsw_gibbs); - method(gsw_Gibbs_energy_t_exact); - method(gsw_gibbs_ice); - method(gsw_gibbs_pt0_pt0); - method(gsw_grav); - method(gsw_Helmholtz_energy_t_exact); - method(gsw_Hesol); - method(gsw_Hesol_SP_pt); - method(gsw_hill_ratio_at_sp2); - // method(gsw_Hill_ratio_at_SP2); Seems to be an error in code, looks like the capitals are different in c++ code. - method(gsw_internal_energy); - method(gsw_internal_energy_CT_exact); - // method(gsw_internal_energy_second_derivatives); Not implemented in source - method(gsw_internal_energy_t_exact); - method(gsw_isochoric_heat_cap_t_exact); - method(gsw_kappa); - method(gsw_kappa_const_t_exact); - method(gsw_kappa_CT_exact); - method(gsw_kappa_t_exact); - method(gsw_Krsol); - method(gsw_Krsol_SP_pt); - method(gsw_linear_interp_sa_ct); - method(gsw_linear_interp_sa_ct_for_dh); - method(gsw_molality_from_SA); - method(gsw_N2sol); - method(gsw_N2sol_SP_pt); - method(gsw_N2Osol); - method(gsw_N2Osol_SP_pt); - method(gsw_Nsquared_lowerlimit); - method(gsw_osmotic_coefficient_t_exact); - method(gsw_osmotic_pressure_t_exact); - method(gsw_o2sol); - method(gsw_o2sol_sp_pt); - method(gsw_p_from_Abs_Pressure); - method(gsw_p_from_z); - method(gsw_pchip_derivs); - method(gsw_pchip_edge_case); - method(gsw_pot_enthalpy_from_pt); - method(gsw_pot_enthalpy_from_pt_ice); - method(gsw_pot_enthalpy_from_specvol_ice_poly); - method(gsw_pot_enthalpy_ice_freezing_first_derivatives_poly); - method(gsw_pot_enthalpy_ice_freezing_poly); - method(gsw_pt_from_ct); - method(gsw_pt_from_t); - method(gsw_pt0_from_t); - method(gsw_R_from_SP); - method(gsw_rho); - method(gsw_rho_alpha_beta); - method(gsw_rho_alpha_beta_indexed); - method(gsw_rho_first_derivatives_CT_exact); - method(gsw_rho_first_derivatives_wrt_enthalpy_CT_exact); - method(gsw_rho_second_derivatives_CT_exact); - // method(gsw_rho_second_derivatives_wrt_enthalpy_CT_exact); Not implemented in source - method(gsw_rr68_interp_section); - method(gsw_rtIsNaN); - method(gsw_rtIsNaNF); - method(gsw_saar); - // method(gsw_SA_freezing_from_CT_poly); Not implemented in source, only in header definition. - method(gsw_sa_from_sp); - method(gsw_sa_from_sp_baltic); - method(gsw_sa_from_sstar); - method(gsw_sgn); - method(gsw_sp_from_c); - method(gsw_SP_from_R); - method(gsw_sp_from_sa); - method(gsw_sp_from_sa_baltic); - method(gsw_specvol); - method(gsw_specvol_alpha_beta_CT_exact); - method(gsw_specvol_anom); - method(gsw_specvol_anom_CT_exact); - method(gsw_specvol_anom_standard_CT_exact); - method(gsw_specvol_anom_standard_t_exact); - method(gsw_specvol_anom_t_exact); - method(gsw_specvol_CT_exact); - method(gsw_specvol_diff); - method(gsw_specvol_first_derivatives_CT_exact); - method(gsw_specvol_first_derivatives_wrt_enthalpy_CT_exact); - method(gsw_specvol_from_pot_enthalpy_ice_first_derivatives_poly); - method(gsw_specvol_from_pot_enthalpy_ice_poly); - method(gsw_specvol_p_parts); - method(gsw_specvol_second_derivatives_CT_exact); - method(gsw_specvol_t_exact); - method(gsw_specvol_sso_0); - method(gsw_sr_from_sp); - // method(gsw_SSO); Dosent seem to be implemented in c++ code - method(gsw_sstar_from_sa); - method(gsw_sstar_from_sp); - method(gsw_sum); - method(gsw_t_deriv_chem_potential_water_t_exact); - method(gsw_t_freezing); - method(gsw_t_from_ct); - method(gsw_t_from_pt0); - method(gsw_t_maxdensity_exact); - method(gsw_t90_from_t48); - method(gsw_t90_from_t68); - method(gsw_util_indx); - method(gsw_util_sort_dbl); - method(gsw_util_xinterp1); - method(gsw_weighted_nanmean); - method(gsw_z_from_depth); - method(gsw_z_from_p); -}; - -NBIND_CLASS(TeosSea) { - construct<>(); - method(gsw_adiabatic_lapse_rate_from_ct); - method(gsw_alpha_on_beta); - method(gsw_alpha_wrt_t_exact); - method(gsw_beta_const_t_exact); - method(gsw_cabbeling); - method(gsw_cabbeling_ct_exact); - method(gsw_c_from_sp); - method(gsw_cp_t_exact); - method(gsw_ct_from_entropy); - method(gsw_ct_from_rho_exact); - method(gsw_ct_first_derivatives); - method(gsw_ct_second_derivatives); - method(gsw_enthalpy_first_derivatives_wrt_t_exact); - method(gsw_enthalpy_second_derivatives); - method(gsw_entropy_from_pt); - method(gsw_entropy_from_t); - // method(gsw_geo_strf_dyn_height); # Currently contains errors TODO: Look into @zacpullen - // method(gsw_geo_strf_dyn_height_1); - method(gsw_internal_energy_first_derivatives); - method(gsw_internal_energy_first_derivatives_ct_exact); - method(gsw_internal_energy_second_derivatives); - method(gsw_isopycnal_slope_ratio); - method(gsw_latentheat_evap_ct); - method(gsw_latentheat_evap_t); - // method(gsw_linear_interp_SA_CT_for_dh); - method(gsw_ntp_pt_vs_CT_ratio); - method(gsw_p_sequence); - method(gsw_pot_rho_t_exact); - method(gsw_pt_first_derivatives); - method(gsw_pt_from_entropy); - method(gsw_pt_second_derivatives); - method(gsw_refine_grid_for_dh); - method(gsw_rho_alpha_beta_ct_exact); - method(gsw_rho_ct_exact); - method(gsw_rho_second_derivatives); - method(gsw_rho_first_derivatives); - method(gsw_rho_first_derivatives_wrt_enthalpy); - method(gsw_rho_second_derivatives_wrt_enthalpy); - method(gsw_rho_t_exact); - method(gsw_rr68_interp_sa_ct); - method(gsw_sa_from_rho); - method(gsw_sigma0); - method(gsw_sigma0_ct_exact); - method(gsw_sigma0_pt0_exact); - method(gsw_sigma1); - method(gsw_sigma1_ct_exact); - method(gsw_sigma2); - method(gsw_sigma2_ct_exact); - method(gsw_sigma3); - method(gsw_sigma3_ct_exact); - method(gsw_sigma4); - method(gsw_sigma4_ct_exact); - method(gsw_sound_speed); - method(gsw_sound_speed_ct_exact); - method(gsw_sound_speed_t_exact); - method(gsw_sp_from_sk); - method(gsw_sp_from_sr); - method(gsw_sp_from_sstar); - method(gsw_sp_salinometer); - method(gsw_specvol_alpha_beta); - method(gsw_specvol_anom_standard); - method(gsw_specvol_first_derivatives); - method(gsw_specvol_first_derivatives_wrt_enthalpy); - method(gsw_specvol_second_derivatives); - method(gsw_specvol_second_derivatives_wrt_enthalpy); - method(gsw_spiciness0); - method(gsw_spiciness1); - method(gsw_spiciness2); - method(gsw_t_from_entropy); - method(gsw_t_from_rho_exact); - method(gsw_thermobaric); - method(gsw_thermobaric_ct_exact); - method(gsw_turner_rsubrho); - method(gsw_util_interp1q_int); - method(gsw_util_linear_interp); - method(gsw_util_pchip_interp); -}; - -NBIND_CLASS(TeosIce){ - construct<>(); - method(gsw_adiabatic_lapse_rate_ice); - method(gsw_alpha_wrt_t_ice); - method(gsw_chem_potential_water_ice); - method(gsw_cp_ice); - method(gsw_ct_freezing_exact); - method(gsw_ct_freezing_first_derivatives); - method(gsw_ct_freezing_first_derivatives_poly); - method(gsw_ct_freezing_poly); - method(gsw_ct_from_rho); - method(gsw_deltasa_from_sp); - method(gsw_enthalpy_diff); - method(gsw_enthalpy_ice); - method(gsw_entropy_ice); - method(gsw_frazil_properties); - method(gsw_frazil_properties_potential); - method(gsw_frazil_properties_potential_poly); - method(gsw_frazil_ratios_adiabatic); - method(gsw_frazil_ratios_adiabatic_poly); - method(gsw_geo_strf_dyn_height_pc); - method(gsw_gibbs_ice_part_t); - method(gsw_gibbs_ice_pt0); - method(gsw_gibbs_ice_pt0_pt0); - method(gsw_helmholtz_energy_ice); - method(gsw_ice_fraction_to_freeze_seawater); - method(gsw_internal_energy_ice); - method(gsw_ipv_vs_fnsquared_ratio); - method(gsw_kappa_const_t_ice); - method(gsw_kappa_ice); - method(gsw_latentheat_melting); - method(gsw_melting_ice_equilibrium_sa_ct_ratio); - method(gsw_melting_ice_equilibrium_sa_ct_ratio_poly); - method(gsw_melting_ice_into_seawater); - method(gsw_melting_ice_sa_ct_ratio); - method(gsw_melting_ice_sa_ct_ratio_poly); - method(gsw_melting_seaice_equilibrium_sa_ct_ratio); - method(gsw_melting_seaice_equilibrium_sa_ct_ratio_poly); - method(gsw_melting_seaice_into_seawater); - method(gsw_melting_seaice_sa_ct_ratio); - method(gsw_melting_seaice_sa_ct_ratio_poly); - method(gsw_nsquared); - method(gsw_pot_enthalpy_ice_freezing); - method(gsw_pot_enthalpy_ice_freezing_first_derivatives); - method(gsw_pot_enthalpy_from_pt_ice_poly); - method(gsw_pot_enthalpy_from_specvol_ice); - // method(gsw_pressure_coefficient_ice); - method(gsw_pressure_freezing_ct); - method(gsw_pt_from_pot_enthalpy_ice); - method(gsw_pt_from_pot_enthalpy_ice_poly); - method(gsw_pt_from_pot_enthalpy_ice_poly_dh); - method(gsw_pt_from_t_ice); - method(gsw_pt0_cold_ice_poly); - method(gsw_rho_ice); - method(gsw_sa_freezing_estimate); - method(gsw_sa_freezing_from_ct); - method(gsw_sa_freezing_from_ct_poly); - method(gsw_sa_freezing_from_t); - method(gsw_sa_freezing_from_t_poly); - method(gsw_sa_p_inrange); - method(gsw_seaice_fraction_to_freeze_seawater); - method(gsw_specvol_from_pot_enthalpy_ice); - method(gsw_specvol_ice); - method(gsw_sound_speed_ice); - method(gsw_pt0_from_t_ice); - method(gsw_t_freezing_exact); - method(gsw_t_freezing_first_derivatives); - method(gsw_t_freezing_first_derivatives_poly); - // method(gsw_t_freezing_poly); - // method(gsw_t_freezing_poly); - method(gsw_t_from_pt0_ice); - method(gsw_t_from_rho_ice); -}; \ No newline at end of file diff --git a/TeosCpp/CMakeLists.txt b/TeosCpp/CMakeLists.txt deleted file mode 100644 index 4bdd22e..0000000 --- a/TeosCpp/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -cmake_minimum_required(VERSION 3.0.0) -project(teos-cpp VERSION 0.1.0) - -include(CTest) -enable_testing() - -include_directories( - include -) - -# Add the teos-cpp library -add_library(teos-cpp STATIC - src/TeosBase.cpp - src/TeosSea.cpp - src/TeosIce.cpp - src/SaarDataHandler.cpp -) -set_property(TARGET teos-cpp PROPERTY POSITION_INDEPENDENT_CODE ON) - -# Add a test excutable -add_executable(test-teos - teos-cpp.cpp -) - -# Link the library test code to lib -target_link_libraries(test-teos - teos-cpp -) - -set(CPACK_PROJECT_NAME ${PROJECT_NAME}) -set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) -include(CPack) diff --git a/TeosCpp/include/delta_sa_ref_map.h b/TeosCpp/include/delta_sa_ref_map.h deleted file mode 100644 index 39e1c52..0000000 --- a/TeosCpp/include/delta_sa_ref_map.h +++ /dev/null @@ -1,6127 +0,0 @@ -#ifndef DELTA_SA_REF_MAP_H -#define DELTA_SA_REF_MAP_H - -/******************************* - Version 1.06 - by Randall Kent Whited - rkwhited@gmail.com - ------------------ - This array is a map of the - "delta_sa_ref" - array in the original C code. - ----------------------------- - See "map_struct.h" for the - description of the data. -********************************/ - -/** struct declaration */ -#include "map_struct.h" - -const unsigned maxDELTASACOUNT = 6103; -/** the columns are defined in map_struct.h */ -ARRAYINFO deltaSaArrayInfo[maxDELTASACOUNT] = { -0, 179, 180,1, -180, 218, 39,0, -219, 224, 6,1, -225, 265, 41,0, -266, 269, 4,1, -270, 311, 42,0, -312, 314, 3,1, -315, 346, 32,0, -347, 348, 2,1, -349, 357, 9,0, -358, 359, 2,1, -360, 391, 32,0, -392, 393, 2,1, -394, 397, 4,0, -398, 404, 7,1, -405, 436, 32,0, -437, 438, 2,1, -439, 441, 3,0, -442, 449, 8,1, -450, 481, 32,0, -482, 483, 2,1, -484, 489, 6,0, -490, 494, 5,1, -495, 535, 41,0, -536, 539, 4,1, -540, 580, 41,0, -581, 584, 4,1, -585, 625, 41,0, -626, 629, 4,1, -630, 669, 40,0, -670, 674, 5,1, -675, 717, 43,0, -718, 719, 2,1, -720, 762, 43,0, -763, 764, 2,1, -765, 807, 43,0, -808, 809, 2,1, -810, 853, 44,0, -854, 854, 1,1, -855, 897, 43,0, -898, 899, 2,1, -900, 943, 44,0, -944, 944, 1,1, -945, 985, 41,0, -986, 989, 4,1, -990, 1030, 41,0, -1031, 1034, 4,1, -1035, 1073, 39,0, -1074, 1349, 276,1, -1350, 1379, 30,0, -1380, 1394, 15,1, -1395, 1426, 32,0, -1427, 1439, 13,1, -1440, 1467, 28,0, -1468, 1484, 17,1, -1485, 1496, 12,0, -1497, 1529, 33,1, -1530, 1535, 6,0, -1536, 1574, 39,1, -1575, 1581, 7,0, -1582, 1619, 38,1, -1620, 1629, 10,0, -1630, 1664, 35,1, -1665, 1696, 32,0, -1697, 1709, 13,1, -1710, 1744, 35,0, -1745, 1754, 10,1, -1755, 1789, 35,0, -1790, 1799, 10,1, -1800, 1834, 35,0, -1835, 1844, 10,1, -1845, 1879, 35,0, -1880, 1889, 10,1, -1890, 1925, 36,0, -1926, 1934, 9,1, -1935, 1972, 38,0, -1973, 1979, 7,1, -1980, 2017, 38,0, -2018, 2204, 187,1, -2205, 2243, 39,0, -2244, 2249, 6,1, -2250, 2289, 40,0, -2290, 2294, 5,1, -2295, 2336, 42,0, -2337, 2339, 3,1, -2340, 2382, 43,0, -2383, 2384, 2,1, -2385, 2422, 38,0, -2423, 2429, 7,1, -2430, 2467, 38,0, -2468, 2474, 7,1, -2475, 2515, 41,0, -2516, 2519, 4,1, -2520, 2561, 42,0, -2562, 2564, 3,1, -2565, 2606, 42,0, -2607, 2609, 3,1, -2610, 2651, 42,0, -2652, 2654, 3,1, -2655, 2697, 43,0, -2698, 2699, 2,1, -2700, 2741, 42,0, -2742, 2744, 3,1, -2745, 2786, 42,0, -2787, 2789, 3,1, -2790, 2832, 43,0, -2833, 2834, 2,1, -2835, 2876, 42,0, -2877, 2879, 3,1, -2880, 2922, 43,0, -2923, 2924, 2,1, -2925, 2968, 44,0, -2969, 2969, 1,1, -2970, 3010, 41,0, -3011, 3014, 4,1, -3015, 3053, 39,0, -3054, 3059, 6,1, -3060, 3096, 37,0, -3097, 3374, 278,1, -3375, 3378, 4,0, -3379, 3419, 41,1, -3420, 3451, 32,0, -3452, 3464, 13,1, -3465, 3495, 31,0, -3496, 3554, 59,1, -3555, 3558, 4,0, -3559, 3599, 41,1, -3600, 3605, 6,0, -3606, 3644, 39,1, -3645, 3658, 14,0, -3659, 3689, 31,1, -3690, 3717, 28,0, -3718, 3734, 17,1, -3735, 3766, 32,0, -3767, 3779, 13,1, -3780, 3813, 34,0, -3814, 3824, 11,1, -3825, 3858, 34,0, -3859, 3869, 11,1, -3870, 3904, 35,0, -3905, 3914, 10,1, -3915, 3950, 36,0, -3951, 3959, 9,1, -3960, 3997, 38,0, -3998, 4004, 7,1, -4005, 4042, 38,0, -4043, 4229, 187,1, -4230, 4266, 37,0, -4267, 4274, 8,1, -4275, 4315, 41,0, -4316, 4319, 4,1, -4320, 4362, 43,0, -4363, 4364, 2,1, -4365, 4407, 43,0, -4408, 4409, 2,1, -4410, 4450, 41,0, -4451, 4454, 4,1, -4455, 4492, 38,0, -4493, 4499, 7,1, -4500, 4539, 40,0, -4540, 4544, 5,1, -4545, 4586, 42,0, -4587, 4589, 3,1, -4590, 4631, 42,0, -4632, 4634, 3,1, -4635, 4676, 42,0, -4677, 4679, 3,1, -4680, 4720, 41,0, -4721, 4724, 4,1, -4725, 4765, 41,0, -4766, 4769, 4,1, -4770, 4809, 40,0, -4810, 4814, 5,1, -4815, 4856, 42,0, -4857, 4859, 3,1, -4860, 4901, 42,0, -4902, 4904, 3,1, -4905, 4946, 42,0, -4947, 4949, 3,1, -4950, 4989, 40,0, -4990, 4994, 5,1, -4995, 5033, 39,0, -5034, 5039, 6,1, -5040, 5074, 35,0, -5075, 5084, 10,1, -5085, 5091, 7,0, -5092, 5399, 308,1, -5400, 5403, 4,0, -5404, 5444, 41,1, -5445, 5476, 32,0, -5477, 5489, 13,1, -5490, 5521, 32,0, -5522, 5534, 13,1, -5535, 5558, 24,0, -5559, 5624, 66,1, -5625, 5629, 5,0, -5630, 5669, 40,1, -5670, 5684, 15,0, -5685, 5714, 30,1, -5715, 5729, 15,0, -5730, 5759, 30,1, -5760, 5789, 30,0, -5790, 5804, 15,1, -5805, 5837, 33,0, -5838, 5849, 12,1, -5850, 5883, 34,0, -5884, 5894, 11,1, -5895, 5927, 33,0, -5928, 5939, 12,1, -5940, 5975, 36,0, -5976, 5984, 9,1, -5985, 6022, 38,0, -6023, 6029, 7,1, -6030, 6067, 38,0, -6068, 6254, 187,1, -6255, 6289, 35,0, -6290, 6299, 10,1, -6300, 6341, 42,0, -6342, 6344, 3,1, -6345, 6387, 43,0, -6388, 6389, 2,1, -6390, 6432, 43,0, -6433, 6434, 2,1, -6435, 6475, 41,0, -6476, 6479, 4,1, -6480, 6519, 40,0, -6520, 6524, 5,1, -6525, 6565, 41,0, -6566, 6569, 4,1, -6570, 6612, 43,0, -6613, 6614, 2,1, -6615, 6656, 42,0, -6657, 6659, 3,1, -6660, 6700, 41,0, -6701, 6704, 4,1, -6705, 6744, 40,0, -6745, 6749, 5,1, -6750, 6789, 40,0, -6790, 6794, 5,1, -6795, 6831, 37,0, -6832, 6839, 8,1, -6840, 6876, 37,0, -6877, 6884, 8,1, -6885, 6921, 37,0, -6922, 6929, 8,1, -6930, 6967, 38,0, -6968, 6974, 7,1, -6975, 7011, 37,0, -7012, 7019, 8,1, -7020, 7046, 27,0, -7047, 7424, 378,1, -7425, 7444, 20,0, -7445, 7469, 25,1, -7470, 7501, 32,0, -7502, 7514, 13,1, -7515, 7546, 32,0, -7547, 7559, 13,1, -7560, 7565, 6,0, -7566, 7649, 84,1, -7650, 7653, 4,0, -7654, 7694, 41,1, -7695, 7708, 14,0, -7709, 7739, 31,1, -7740, 7750, 11,0, -7751, 7784, 34,1, -7785, 7805, 21,0, -7806, 7829, 24,1, -7830, 7862, 33,0, -7863, 7874, 12,1, -7875, 7905, 31,0, -7906, 7919, 14,1, -7920, 7949, 30,0, -7950, 7964, 15,1, -7965, 8000, 36,0, -8001, 8009, 9,1, -8010, 8047, 38,0, -8048, 8054, 7,1, -8055, 8092, 38,0, -8093, 8279, 187,1, -8280, 8316, 37,0, -8317, 8324, 8,1, -8325, 8365, 41,0, -8366, 8369, 4,1, -8370, 8412, 43,0, -8413, 8414, 2,1, -8415, 8457, 43,0, -8458, 8459, 2,1, -8460, 8501, 42,0, -8502, 8504, 3,1, -8505, 8545, 41,0, -8546, 8549, 4,1, -8550, 8590, 41,0, -8591, 8594, 4,1, -8595, 8637, 43,0, -8638, 8639, 2,1, -8640, 8680, 41,0, -8681, 8684, 4,1, -8685, 8724, 40,0, -8725, 8729, 5,1, -8730, 8763, 34,0, -8764, 8774, 11,1, -8775, 8801, 27,0, -8802, 8819, 18,1, -8820, 8830, 11,0, -8831, 9404, 574,1, -9405, 9431, 27,0, -9432, 9449, 18,1, -9450, 9485, 36,0, -9486, 9494, 9,1, -9495, 9530, 36,0, -9531, 9539, 9,1, -9540, 9567, 28,0, -9568, 9584, 17,1, -9585, 9590, 6,0, -9591, 9674, 84,1, -9675, 9822, 148,0, -9823, 9854, 32,1, -9855, 9885, 31,0, -9886, 9899, 14,1, -9900, 9927, 28,0, -9928, 9944, 17,1, -9945, 9964, 20,0, -9965, 9989, 25,1, -9990, 10025, 36,0, -10026, 10034, 9,1, -10035, 10072, 38,0, -10073, 10079, 7,1, -10080, 10117, 38,0, -10118, 10304, 187,1, -10305, 10341, 37,0, -10342, 10349, 8,1, -10350, 10390, 41,0, -10391, 10394, 4,1, -10395, 10437, 43,0, -10438, 10439, 2,1, -10440, 10481, 42,0, -10482, 10484, 3,1, -10485, 10524, 40,0, -10525, 10529, 5,1, -10530, 10570, 41,0, -10571, 10574, 4,1, -10575, 10615, 41,0, -10616, 10619, 4,1, -10620, 10660, 41,0, -10661, 10664, 4,1, -10665, 10705, 41,0, -10706, 10709, 4,1, -10710, 10743, 34,0, -10744, 10754, 11,1, -10755, 10762, 8,0, -10763, 11429, 667,1, -11430, 11456, 27,0, -11457, 11474, 18,1, -11475, 11510, 36,0, -11511, 11519, 9,1, -11520, 11555, 36,0, -11556, 11564, 9,1, -11565, 11588, 24,0, -11589, 11699, 111,1, -11700, 11894, 195,0, -11895, 11924, 30,1, -11925, 11940, 16,0, -11941, 11969, 29,1, -11970, 11982, 13,0, -11983, 12014, 32,1, -12015, 12050, 36,0, -12051, 12059, 9,1, -12060, 12097, 38,0, -12098, 12104, 7,1, -12105, 12142, 38,0, -12143, 12329, 187,1, -12330, 12366, 37,0, -12367, 12374, 8,1, -12375, 12415, 41,0, -12416, 12419, 4,1, -12420, 12461, 42,0, -12462, 12464, 3,1, -12465, 12506, 42,0, -12507, 12509, 3,1, -12510, 12551, 42,0, -12552, 12554, 3,1, -12555, 12597, 43,0, -12598, 12599, 2,1, -12600, 12642, 43,0, -12643, 12644, 2,1, -12645, 12686, 42,0, -12687, 12689, 3,1, -12690, 12731, 42,0, -12732, 12734, 3,1, -12735, 12773, 39,0, -12774, 13454, 681,1, -13455, 13482, 28,0, -13483, 13499, 17,1, -13500, 13535, 36,0, -13536, 13544, 9,1, -13545, 13577, 33,0, -13578, 13589, 12,1, -13590, 13610, 21,0, -13611, 13769, 159,1, -13770, 13919, 150,0, -13920, 13949, 30,1, -13950, 13965, 16,0, -13966, 13994, 29,1, -13995, 14006, 12,0, -14007, 14039, 33,1, -14040, 14075, 36,0, -14076, 14084, 9,1, -14085, 14122, 38,0, -14123, 14129, 7,1, -14130, 14167, 38,0, -14168, 14354, 187,1, -14355, 14391, 37,0, -14392, 14399, 8,1, -14400, 14440, 41,0, -14441, 14444, 4,1, -14445, 14487, 43,0, -14488, 14489, 2,1, -14490, 14532, 43,0, -14533, 14534, 2,1, -14535, 14577, 43,0, -14578, 14579, 2,1, -14580, 14623, 44,0, -14624, 14624, 1,1, -14625, 14668, 44,0, -14669, 14669, 1,1, -14670, 14712, 43,0, -14713, 14714, 2,1, -14715, 14753, 39,0, -14754, 14759, 6,1, -14760, 14798, 39,0, -14799, 14804, 6,1, -14805, 14835, 31,0, -14836, 15479, 644,1, -15480, 15511, 32,0, -15512, 15524, 13,1, -15525, 15562, 38,0, -15563, 15569, 7,1, -15570, 15607, 38,0, -15608, 15794, 187,1, -15795, 15884, 90,0, -15885, 15929, 45,1, -15930, 15944, 15,0, -15945, 15974, 30,1, -15975, 15990, 16,0, -15991, 16019, 29,1, -16020, 16032, 13,0, -16033, 16064, 32,1, -16065, 16100, 36,0, -16101, 16109, 9,1, -16110, 16147, 38,0, -16148, 16154, 7,1, -16155, 16192, 38,0, -16193, 16379, 187,1, -16380, 16414, 35,0, -16415, 16424, 10,1, -16425, 16465, 41,0, -16466, 16469, 4,1, -16470, 16511, 42,0, -16512, 16514, 3,1, -16515, 16557, 43,0, -16558, 16559, 2,1, -16560, 16602, 43,0, -16603, 16604, 2,1, -16605, 16647, 43,0, -16648, 16649, 2,1, -16650, 16692, 43,0, -16693, 16694, 2,1, -16695, 16737, 43,0, -16738, 16739, 2,1, -16740, 16779, 40,0, -16780, 16784, 5,1, -16785, 16823, 39,0, -16824, 16829, 6,1, -16830, 16864, 35,0, -16865, 16874, 10,1, -16875, 16901, 27,0, -16902, 17459, 558,1, -17460, 17481, 22,0, -17482, 17504, 23,1, -17505, 17526, 22,0, -17527, 17549, 23,1, -17550, 17581, 32,0, -17582, 17594, 13,1, -17595, 17625, 31,0, -17626, 17819, 194,1, -17820, 17909, 90,0, -17910, 17954, 45,1, -17955, 17969, 15,0, -17970, 17999, 30,1, -18000, 18014, 15,0, -18015, 18044, 30,1, -18045, 18058, 14,0, -18059, 18089, 31,1, -18090, 18125, 36,0, -18126, 18134, 9,1, -18135, 18172, 38,0, -18173, 18179, 7,1, -18180, 18217, 38,0, -18218, 18404, 187,1, -18405, 18437, 33,0, -18438, 18449, 12,1, -18450, 18490, 41,0, -18491, 18494, 4,1, -18495, 18536, 42,0, -18537, 18539, 3,1, -18540, 18581, 42,0, -18582, 18584, 3,1, -18585, 18627, 43,0, -18628, 18629, 2,1, -18630, 18670, 41,0, -18671, 18674, 4,1, -18675, 18714, 40,0, -18715, 18719, 5,1, -18720, 18760, 41,0, -18761, 18764, 4,1, -18765, 18808, 44,0, -18809, 18809, 1,1, -18810, 18852, 43,0, -18853, 18854, 2,1, -18855, 18895, 41,0, -18896, 18899, 4,1, -18900, 18939, 40,0, -18940, 18944, 5,1, -18945, 18978, 34,0, -18979, 18989, 11,1, -18990, 19018, 29,0, -19019, 19394, 376,1, -19395, 19413, 19,0, -19414, 19439, 26,1, -19440, 19467, 28,0, -19468, 19484, 17,1, -19485, 19509, 25,0, -19510, 19529, 20,1, -19530, 19551, 22,0, -19552, 19574, 23,1, -19575, 19603, 29,0, -19604, 19619, 16,1, -19620, 19640, 21,0, -19641, 19979, 339,1, -19980, 19992, 13,0, -19993, 20024, 32,1, -20025, 20038, 14,0, -20039, 20069, 31,1, -20070, 20083, 14,0, -20084, 20114, 31,1, -20115, 20150, 36,0, -20151, 20159, 9,1, -20160, 20197, 38,0, -20198, 20204, 7,1, -20205, 20242, 38,0, -20243, 20429, 187,1, -20430, 20463, 34,0, -20464, 20474, 11,1, -20475, 20514, 40,0, -20515, 20519, 5,1, -20520, 20561, 42,0, -20562, 20564, 3,1, -20565, 20606, 42,0, -20607, 20609, 3,1, -20610, 20648, 39,0, -20649, 20654, 6,1, -20655, 20693, 39,0, -20694, 20699, 6,1, -20700, 20737, 38,0, -20738, 20744, 7,1, -20745, 20785, 41,0, -20786, 20789, 4,1, -20790, 20831, 42,0, -20832, 20834, 3,1, -20835, 20876, 42,0, -20877, 20879, 3,1, -20880, 20920, 41,0, -20921, 20924, 4,1, -20925, 20964, 40,0, -20965, 20969, 5,1, -20970, 21005, 36,0, -21006, 21014, 9,1, -21015, 21046, 32,0, -21047, 21059, 13,1, -21060, 21092, 33,0, -21093, 21104, 12,1, -21105, 21138, 34,0, -21139, 21149, 11,1, -21150, 21183, 34,0, -21184, 21194, 11,1, -21195, 21227, 33,0, -21228, 21374, 147,1, -21375, 21401, 27,0, -21402, 21419, 18,1, -21420, 21447, 28,0, -21448, 21464, 17,1, -21465, 21492, 28,0, -21493, 21509, 17,1, -21510, 21515, 6,0, -21516, 21959, 444,1, -21960, 21965, 6,0, -21966, 22004, 39,1, -22005, 22018, 14,0, -22019, 22049, 31,1, -22050, 22063, 14,0, -22064, 22094, 31,1, -22095, 22108, 14,0, -22109, 22139, 31,1, -22140, 22175, 36,0, -22176, 22184, 9,1, -22185, 22222, 38,0, -22223, 22229, 7,1, -22230, 22267, 38,0, -22268, 22454, 187,1, -22455, 22471, 17,0, -22472, 22499, 28,1, -22500, 22538, 39,0, -22539, 22544, 6,1, -22545, 22586, 42,0, -22587, 22589, 3,1, -22590, 22631, 42,0, -22632, 22634, 3,1, -22635, 22674, 40,0, -22675, 22679, 5,1, -22680, 22716, 37,0, -22717, 22724, 8,1, -22725, 22760, 36,0, -22761, 22769, 9,1, -22770, 22807, 38,0, -22808, 22814, 7,1, -22815, 22854, 40,0, -22855, 22859, 5,1, -22860, 22899, 40,0, -22900, 22904, 5,1, -22905, 22943, 39,0, -22944, 22949, 6,1, -22950, 22987, 38,0, -22988, 22994, 7,1, -22995, 23028, 34,0, -23029, 23039, 11,1, -23040, 23072, 33,0, -23073, 23084, 12,1, -23085, 23120, 36,0, -23121, 23129, 9,1, -23130, 23166, 37,0, -23167, 23174, 8,1, -23175, 23213, 39,0, -23214, 23219, 6,1, -23220, 23258, 39,0, -23259, 23264, 6,1, -23265, 23301, 37,0, -23302, 23354, 53,1, -23355, 23382, 28,0, -23383, 23399, 17,1, -23400, 23425, 26,0, -23426, 23444, 19,1, -23445, 23452, 8,0, -23453, 23984, 532,1, -23985, 23990, 6,0, -23991, 24029, 39,1, -24030, 24042, 13,0, -24043, 24074, 32,1, -24075, 24088, 14,0, -24089, 24119, 31,1, -24120, 24133, 14,0, -24134, 24164, 31,1, -24165, 24200, 36,0, -24201, 24209, 9,1, -24210, 24247, 38,0, -24248, 24254, 7,1, -24255, 24292, 38,0, -24293, 24524, 232,1, -24525, 24563, 39,0, -24564, 24569, 6,1, -24570, 24611, 42,0, -24612, 24614, 3,1, -24615, 24656, 42,0, -24657, 24659, 3,1, -24660, 24700, 41,0, -24701, 24704, 4,1, -24705, 24742, 38,0, -24743, 24749, 7,1, -24750, 24785, 36,0, -24786, 24794, 9,1, -24795, 24832, 38,0, -24833, 24839, 7,1, -24840, 24877, 38,0, -24878, 24884, 7,1, -24885, 24922, 38,0, -24923, 24929, 7,1, -24930, 24969, 40,0, -24970, 24974, 5,1, -24975, 25015, 41,0, -25016, 25019, 4,1, -25020, 25058, 39,0, -25059, 25064, 6,1, -25065, 25102, 38,0, -25103, 25109, 7,1, -25110, 25144, 35,0, -25145, 25154, 10,1, -25155, 25194, 40,0, -25195, 25199, 5,1, -25200, 25240, 41,0, -25241, 25244, 4,1, -25245, 25285, 41,0, -25286, 25289, 4,1, -25290, 25330, 41,0, -25331, 25334, 4,1, -25335, 25370, 36,0, -25371, 25379, 9,1, -25380, 25408, 29,0, -25409, 25424, 16,1, -25425, 25455, 31,0, -25456, 25559, 104,1, -25560, 25564, 5,0, -25565, 25604, 40,1, -25605, 25610, 6,0, -25611, 26009, 399,1, -26010, 26014, 5,0, -26015, 26054, 40,1, -26055, 26065, 11,0, -26066, 26099, 34,1, -26100, 26113, 14,0, -26114, 26144, 31,1, -26145, 26160, 16,0, -26161, 26189, 29,1, -26190, 26224, 35,0, -26225, 26234, 10,1, -26235, 26272, 38,0, -26273, 26279, 7,1, -26280, 26317, 38,0, -26318, 26549, 232,1, -26550, 26588, 39,0, -26589, 26594, 6,1, -26595, 26636, 42,0, -26637, 26639, 3,1, -26640, 26681, 42,0, -26682, 26684, 3,1, -26685, 26725, 41,0, -26726, 26729, 4,1, -26730, 26768, 39,0, -26769, 26774, 6,1, -26775, 26810, 36,0, -26811, 26819, 9,1, -26820, 26858, 39,0, -26859, 26864, 6,1, -26865, 26902, 38,0, -26903, 26909, 7,1, -26910, 26951, 42,0, -26952, 26954, 3,1, -26955, 26996, 42,0, -26997, 26999, 3,1, -27000, 27041, 42,0, -27042, 27044, 3,1, -27045, 27086, 42,0, -27087, 27089, 3,1, -27090, 27129, 40,0, -27130, 27134, 5,1, -27135, 27174, 40,0, -27175, 27179, 5,1, -27180, 27219, 40,0, -27220, 27224, 5,1, -27225, 27266, 42,0, -27267, 27269, 3,1, -27270, 27310, 41,0, -27311, 27314, 4,1, -27315, 27355, 41,0, -27356, 27359, 4,1, -27360, 27400, 41,0, -27401, 27404, 4,1, -27405, 27445, 41,0, -27446, 27449, 4,1, -27450, 27484, 35,0, -27485, 27494, 10,1, -27495, 27525, 31,0, -27526, 27584, 59,1, -27585, 27591, 7,0, -27592, 27629, 38,1, -27630, 27635, 6,0, -27636, 28034, 399,1, -28035, 28039, 5,0, -28040, 28079, 40,1, -28080, 28088, 9,0, -28089, 28124, 36,1, -28125, 28137, 13,0, -28138, 28169, 32,1, -28170, 28183, 14,0, -28184, 28214, 31,1, -28215, 28249, 35,0, -28250, 28259, 10,1, -28260, 28297, 38,0, -28298, 28304, 7,1, -28305, 28342, 38,0, -28343, 28574, 232,1, -28575, 28613, 39,0, -28614, 28619, 6,1, -28620, 28660, 41,0, -28661, 28664, 4,1, -28665, 28705, 41,0, -28706, 28709, 4,1, -28710, 28750, 41,0, -28751, 28754, 4,1, -28755, 28793, 39,0, -28794, 28799, 6,1, -28800, 28838, 39,0, -28839, 28844, 6,1, -28845, 28885, 41,0, -28886, 28889, 4,1, -28890, 28930, 41,0, -28931, 28934, 4,1, -28935, 28977, 43,0, -28978, 28979, 2,1, -28980, 29021, 42,0, -29022, 29024, 3,1, -29025, 29066, 42,0, -29067, 29069, 3,1, -29070, 29110, 41,0, -29111, 29114, 4,1, -29115, 29154, 40,0, -29155, 29159, 5,1, -29160, 29199, 40,0, -29200, 29204, 5,1, -29205, 29243, 39,0, -29244, 29249, 6,1, -29250, 29286, 37,0, -29287, 29294, 8,1, -29295, 29334, 40,0, -29335, 29339, 5,1, -29340, 29380, 41,0, -29381, 29384, 4,1, -29385, 29426, 42,0, -29427, 29429, 3,1, -29430, 29470, 41,0, -29471, 29474, 4,1, -29475, 29513, 39,0, -29514, 29519, 6,1, -29520, 29556, 37,0, -29557, 29564, 8,1, -29565, 29586, 22,0, -29587, 29609, 23,1, -29610, 29640, 31,0, -29641, 30104, 464,1, -30105, 30118, 14,0, -30119, 30149, 31,1, -30150, 30163, 14,0, -30164, 30194, 31,1, -30195, 30208, 14,0, -30209, 30239, 31,1, -30240, 30274, 35,0, -30275, 30284, 10,1, -30285, 30323, 39,0, -30324, 30329, 6,1, -30330, 30368, 39,0, -30369, 30599, 231,1, -30600, 30637, 38,0, -30638, 30644, 7,1, -30645, 30685, 41,0, -30686, 30689, 4,1, -30690, 30730, 41,0, -30731, 30734, 4,1, -30735, 30774, 40,0, -30775, 30779, 5,1, -30780, 30818, 39,0, -30819, 30824, 6,1, -30825, 30865, 41,0, -30866, 30869, 4,1, -30870, 30911, 42,0, -30912, 30914, 3,1, -30915, 30957, 43,0, -30958, 30959, 2,1, -30960, 31001, 42,0, -31002, 31004, 3,1, -31005, 31046, 42,0, -31047, 31049, 3,1, -31050, 31091, 42,0, -31092, 31094, 3,1, -31095, 31135, 41,0, -31136, 31139, 4,1, -31140, 31178, 39,0, -31179, 31184, 6,1, -31185, 31221, 37,0, -31222, 31229, 8,1, -31230, 31266, 37,0, -31267, 31274, 8,1, -31275, 31313, 39,0, -31314, 31319, 6,1, -31320, 31358, 39,0, -31359, 31364, 6,1, -31365, 31404, 40,0, -31405, 31409, 5,1, -31410, 31448, 39,0, -31449, 31454, 6,1, -31455, 31493, 39,0, -31494, 31499, 6,1, -31500, 31538, 39,0, -31539, 31544, 6,1, -31545, 31581, 37,0, -31582, 31589, 8,1, -31590, 31624, 35,0, -31625, 31634, 10,1, -31635, 31668, 34,0, -31669, 32129, 461,1, -32130, 32142, 13,0, -32143, 32174, 32,1, -32175, 32190, 16,0, -32191, 32219, 29,1, -32220, 32233, 14,0, -32234, 32264, 31,1, -32265, 32299, 35,0, -32300, 32309, 10,1, -32310, 32348, 39,0, -32349, 32354, 6,1, -32355, 32393, 39,0, -32394, 32624, 231,1, -32625, 32661, 37,0, -32662, 32669, 8,1, -32670, 32709, 40,0, -32710, 32714, 5,1, -32715, 32755, 41,0, -32756, 32759, 4,1, -32760, 32798, 39,0, -32799, 32804, 6,1, -32805, 32843, 39,0, -32844, 32849, 6,1, -32850, 32890, 41,0, -32891, 32894, 4,1, -32895, 32935, 41,0, -32936, 32939, 4,1, -32940, 32981, 42,0, -32982, 32984, 3,1, -32985, 33025, 41,0, -33026, 33029, 4,1, -33030, 33070, 41,0, -33071, 33074, 4,1, -33075, 33116, 42,0, -33117, 33119, 3,1, -33120, 33157, 38,0, -33158, 33164, 7,1, -33165, 33201, 37,0, -33202, 33209, 8,1, -33210, 33246, 37,0, -33247, 33254, 8,1, -33255, 33291, 37,0, -33292, 33299, 8,1, -33300, 33336, 37,0, -33337, 33344, 8,1, -33345, 33383, 39,0, -33384, 33389, 6,1, -33390, 33428, 39,0, -33429, 33434, 6,1, -33435, 33473, 39,0, -33474, 33479, 6,1, -33480, 33518, 39,0, -33519, 33524, 6,1, -33525, 33562, 38,0, -33563, 33569, 7,1, -33570, 33605, 36,0, -33606, 33614, 9,1, -33615, 33650, 36,0, -33651, 33659, 9,1, -33660, 33693, 34,0, -33694, 34154, 461,1, -34155, 34164, 10,0, -34165, 34199, 35,1, -34200, 34212, 13,0, -34213, 34244, 32,1, -34245, 34260, 16,0, -34261, 34289, 29,1, -34290, 34324, 35,0, -34325, 34334, 10,1, -34335, 34372, 38,0, -34373, 34379, 7,1, -34380, 34417, 38,0, -34418, 34559, 142,1, -34560, 34561, 2,0, -34562, 34604, 43,1, -34605, 34617, 13,0, -34618, 34649, 32,1, -34650, 34685, 36,0, -34686, 34694, 9,1, -34695, 34733, 39,0, -34734, 34739, 6,1, -34740, 34778, 39,0, -34779, 34784, 6,1, -34785, 34823, 39,0, -34824, 34829, 6,1, -34830, 34866, 37,0, -34867, 34874, 8,1, -34875, 34912, 38,0, -34913, 34919, 7,1, -34920, 34958, 39,0, -34959, 34964, 6,1, -34965, 35003, 39,0, -35004, 35009, 6,1, -35010, 35049, 40,0, -35050, 35054, 5,1, -35055, 35094, 40,0, -35095, 35099, 5,1, -35100, 35138, 39,0, -35139, 35144, 6,1, -35145, 35182, 38,0, -35183, 35189, 7,1, -35190, 35227, 38,0, -35228, 35234, 7,1, -35235, 35271, 37,0, -35272, 35279, 8,1, -35280, 35321, 42,0, -35322, 35324, 3,1, -35325, 35361, 37,0, -35362, 35369, 8,1, -35370, 35406, 37,0, -35407, 35414, 8,1, -35415, 35451, 37,0, -35452, 35459, 8,1, -35460, 35499, 40,0, -35500, 35504, 5,1, -35505, 35543, 39,0, -35544, 35549, 6,1, -35550, 35587, 38,0, -35588, 35594, 7,1, -35595, 35630, 36,0, -35631, 35639, 9,1, -35640, 35672, 33,0, -35673, 35684, 12,1, -35685, 35696, 12,0, -35697, 36179, 483,1, -36180, 36187, 8,0, -36188, 36224, 37,1, -36225, 36237, 13,0, -36238, 36269, 32,1, -36270, 36286, 17,0, -36287, 36314, 28,1, -36315, 36348, 34,0, -36349, 36359, 11,1, -36360, 36397, 38,0, -36398, 36404, 7,1, -36405, 36442, 38,0, -36443, 36584, 142,1, -36585, 36586, 2,0, -36587, 36629, 43,1, -36630, 36649, 20,0, -36650, 36674, 25,1, -36675, 36709, 35,0, -36710, 36719, 10,1, -36720, 36757, 38,0, -36758, 36764, 7,1, -36765, 36802, 38,0, -36803, 36809, 7,1, -36810, 36846, 37,0, -36847, 36854, 8,1, -36855, 36885, 31,0, -36886, 36899, 14,1, -36900, 36936, 37,0, -36937, 36944, 8,1, -36945, 36982, 38,0, -36983, 36989, 7,1, -36990, 37028, 39,0, -37029, 37034, 6,1, -37035, 37074, 40,0, -37075, 37079, 5,1, -37080, 37119, 40,0, -37120, 37124, 5,1, -37125, 37161, 37,0, -37162, 37169, 8,1, -37170, 37209, 40,0, -37210, 37214, 5,1, -37215, 37255, 41,0, -37256, 37259, 4,1, -37260, 37302, 43,0, -37303, 37304, 2,1, -37305, 37346, 42,0, -37347, 37349, 3,1, -37350, 37390, 41,0, -37391, 37394, 4,1, -37395, 37433, 39,0, -37434, 37439, 6,1, -37440, 37476, 37,0, -37477, 37484, 8,1, -37485, 37522, 38,0, -37523, 37529, 7,1, -37530, 37568, 39,0, -37569, 37574, 6,1, -37575, 37612, 38,0, -37613, 37619, 7,1, -37620, 37654, 35,0, -37655, 37664, 10,1, -37665, 37672, 8,0, -37673, 38159, 487,1, -38160, 38161, 2,0, -38162, 38204, 43,1, -38205, 38206, 2,0, -38207, 38249, 43,1, -38250, 38261, 12,0, -38262, 38294, 33,1, -38295, 38311, 17,0, -38312, 38339, 28,1, -38340, 38373, 34,0, -38374, 38384, 11,1, -38385, 38422, 38,0, -38423, 38429, 7,1, -38430, 38467, 38,0, -38468, 38654, 187,1, -38655, 38675, 21,0, -38676, 38699, 24,1, -38700, 38734, 35,0, -38735, 38744, 10,1, -38745, 38781, 37,0, -38782, 38789, 8,1, -38790, 38823, 34,0, -38824, 38834, 11,1, -38835, 38868, 34,0, -38869, 38879, 11,1, -38880, 38913, 34,0, -38914, 38924, 11,1, -38925, 38959, 35,0, -38960, 38969, 10,1, -38970, 39005, 36,0, -39006, 39014, 9,1, -39015, 39051, 37,0, -39052, 39059, 8,1, -39060, 39096, 37,0, -39097, 39104, 8,1, -39105, 39143, 39,0, -39144, 39149, 6,1, -39150, 39188, 39,0, -39189, 39194, 6,1, -39195, 39234, 40,0, -39235, 39239, 5,1, -39240, 39280, 41,0, -39281, 39284, 4,1, -39285, 39326, 42,0, -39327, 39329, 3,1, -39330, 39371, 42,0, -39372, 39374, 3,1, -39375, 39416, 42,0, -39417, 39419, 3,1, -39420, 39460, 41,0, -39461, 39464, 4,1, -39465, 39503, 39,0, -39504, 39509, 6,1, -39510, 39544, 35,0, -39545, 39554, 10,1, -39555, 39586, 32,0, -39587, 39599, 13,1, -39600, 39626, 27,0, -39627, 40229, 603,1, -40230, 40231, 2,0, -40232, 40274, 43,1, -40275, 40281, 7,0, -40282, 40319, 38,1, -40320, 40335, 16,0, -40336, 40364, 29,1, -40365, 40399, 35,0, -40400, 40409, 10,1, -40410, 40447, 38,0, -40448, 40454, 7,1, -40455, 40492, 38,0, -40493, 40679, 187,1, -40680, 40695, 16,0, -40696, 40724, 29,1, -40725, 40759, 35,0, -40760, 40769, 10,1, -40770, 40805, 36,0, -40806, 40814, 9,1, -40815, 40853, 39,0, -40854, 40859, 6,1, -40860, 40898, 39,0, -40899, 40904, 6,1, -40905, 40941, 37,0, -40942, 40949, 8,1, -40950, 40984, 35,0, -40985, 40994, 10,1, -40995, 41028, 34,0, -41029, 41039, 11,1, -41040, 41074, 35,0, -41075, 41084, 10,1, -41085, 41121, 37,0, -41122, 41129, 8,1, -41130, 41168, 39,0, -41169, 41174, 6,1, -41175, 41213, 39,0, -41214, 41219, 6,1, -41220, 41261, 42,0, -41262, 41264, 3,1, -41265, 41307, 43,0, -41308, 41309, 2,1, -41310, 41350, 41,0, -41351, 41354, 4,1, -41355, 41395, 41,0, -41396, 41399, 4,1, -41400, 41441, 42,0, -41442, 41444, 3,1, -41445, 41485, 41,0, -41486, 41489, 4,1, -41490, 41528, 39,0, -41529, 41534, 6,1, -41535, 41572, 38,0, -41573, 41579, 7,1, -41580, 41614, 35,0, -41615, 41624, 10,1, -41625, 41659, 35,0, -41660, 41669, 10,1, -41670, 41690, 21,0, -41691, 42254, 564,1, -42255, 42256, 2,0, -42257, 42299, 43,1, -42300, 42305, 6,0, -42306, 42344, 39,1, -42345, 42354, 10,0, -42355, 42389, 35,1, -42390, 42424, 35,0, -42425, 42434, 10,1, -42435, 42472, 38,0, -42473, 42479, 7,1, -42480, 42517, 38,0, -42518, 42749, 232,1, -42750, 42784, 35,0, -42785, 42794, 10,1, -42795, 42831, 37,0, -42832, 42839, 8,1, -42840, 42878, 39,0, -42879, 42884, 6,1, -42885, 42923, 39,0, -42924, 42929, 6,1, -42930, 42967, 38,0, -42968, 42974, 7,1, -42975, 43010, 36,0, -43011, 43019, 9,1, -43020, 43053, 34,0, -43054, 43064, 11,1, -43065, 43100, 36,0, -43101, 43109, 9,1, -43110, 43145, 36,0, -43146, 43154, 9,1, -43155, 43193, 39,0, -43194, 43199, 6,1, -43200, 43239, 40,0, -43240, 43244, 5,1, -43245, 43285, 41,0, -43286, 43289, 4,1, -43290, 43332, 43,0, -43333, 43334, 2,1, -43335, 43377, 43,0, -43378, 43379, 2,1, -43380, 43422, 43,0, -43423, 43424, 2,1, -43425, 43465, 41,0, -43466, 43469, 4,1, -43470, 43510, 41,0, -43511, 43514, 4,1, -43515, 43553, 39,0, -43554, 43559, 6,1, -43560, 43596, 37,0, -43597, 43604, 8,1, -43605, 43640, 36,0, -43641, 43649, 9,1, -43650, 43683, 34,0, -43684, 43694, 11,1, -43695, 43727, 33,0, -43728, 44279, 552,1, -44280, 44281, 2,0, -44282, 44324, 43,1, -44325, 44328, 4,0, -44329, 44369, 41,1, -44370, 44384, 15,0, -44385, 44414, 30,1, -44415, 44449, 35,0, -44450, 44459, 10,1, -44460, 44497, 38,0, -44498, 44504, 7,1, -44505, 44542, 38,0, -44543, 44774, 232,1, -44775, 44809, 35,0, -44810, 44819, 10,1, -44820, 44857, 38,0, -44858, 44864, 7,1, -44865, 44903, 39,0, -44904, 44909, 6,1, -44910, 44948, 39,0, -44949, 44954, 6,1, -44955, 44992, 38,0, -44993, 44999, 7,1, -45000, 45035, 36,0, -45036, 45044, 9,1, -45045, 45079, 35,0, -45080, 45089, 10,1, -45090, 45125, 36,0, -45126, 45134, 9,1, -45135, 45171, 37,0, -45172, 45179, 8,1, -45180, 45217, 38,0, -45218, 45224, 7,1, -45225, 45265, 41,0, -45266, 45269, 4,1, -45270, 45310, 41,0, -45311, 45314, 4,1, -45315, 45356, 42,0, -45357, 45359, 3,1, -45360, 45402, 43,0, -45403, 45404, 2,1, -45405, 45447, 43,0, -45448, 45449, 2,1, -45450, 45492, 43,0, -45493, 45494, 2,1, -45495, 45534, 40,0, -45535, 45539, 5,1, -45540, 45578, 39,0, -45579, 45584, 6,1, -45585, 45621, 37,0, -45622, 45629, 8,1, -45630, 45665, 36,0, -45666, 45674, 9,1, -45675, 45708, 34,0, -45709, 45719, 11,1, -45720, 45751, 32,0, -45752, 45764, 13,1, -45765, 45789, 25,0, -45790, 46349, 560,1, -46350, 46353, 4,0, -46354, 46394, 41,1, -46395, 46409, 15,0, -46410, 46439, 30,1, -46440, 46474, 35,0, -46475, 46484, 10,1, -46485, 46522, 38,0, -46523, 46529, 7,1, -46530, 46567, 38,0, -46568, 46799, 232,1, -46800, 46834, 35,0, -46835, 46844, 10,1, -46845, 46882, 38,0, -46883, 46889, 7,1, -46890, 46928, 39,0, -46929, 46934, 6,1, -46935, 46973, 39,0, -46974, 46979, 6,1, -46980, 47016, 37,0, -47017, 47024, 8,1, -47025, 47059, 35,0, -47060, 47069, 10,1, -47070, 47104, 35,0, -47105, 47114, 10,1, -47115, 47151, 37,0, -47152, 47159, 8,1, -47160, 47198, 39,0, -47199, 47204, 6,1, -47205, 47244, 40,0, -47245, 47249, 5,1, -47250, 47291, 42,0, -47292, 47294, 3,1, -47295, 47336, 42,0, -47337, 47339, 3,1, -47340, 47382, 43,0, -47383, 47384, 2,1, -47385, 47428, 44,0, -47429, 47429, 1,1, -47430, 47473, 44,0, -47474, 47474, 1,1, -47475, 47516, 42,0, -47517, 47519, 3,1, -47520, 47559, 40,0, -47560, 47564, 5,1, -47565, 47604, 40,0, -47605, 47609, 5,1, -47610, 47648, 39,0, -47649, 47654, 6,1, -47655, 47689, 35,0, -47690, 47699, 10,1, -47700, 47733, 34,0, -47734, 47744, 11,1, -47745, 47775, 31,0, -47776, 47789, 14,1, -47790, 47812, 23,0, -47813, 48374, 562,1, -48375, 48376, 2,0, -48377, 48419, 43,1, -48420, 48431, 12,0, -48432, 48464, 33,1, -48465, 48500, 36,0, -48501, 48509, 9,1, -48510, 48547, 38,0, -48548, 48554, 7,1, -48555, 48592, 38,0, -48593, 48824, 232,1, -48825, 48857, 33,0, -48858, 48869, 12,1, -48870, 48907, 38,0, -48908, 48914, 7,1, -48915, 48953, 39,0, -48954, 48959, 6,1, -48960, 48997, 38,0, -48998, 49004, 7,1, -49005, 49040, 36,0, -49041, 49049, 9,1, -49050, 49083, 34,0, -49084, 49094, 11,1, -49095, 49131, 37,0, -49132, 49139, 8,1, -49140, 49178, 39,0, -49179, 49184, 6,1, -49185, 49223, 39,0, -49224, 49229, 6,1, -49230, 49268, 39,0, -49269, 49274, 6,1, -49275, 49317, 43,0, -49318, 49319, 2,1, -49320, 49408, 89,0, -49409, 49409, 1,1, -49410, 49497, 88,0, -49498, 49499, 2,1, -49500, 49541, 42,0, -49542, 49544, 3,1, -49545, 49586, 42,0, -49587, 49589, 3,1, -49590, 49631, 42,0, -49632, 49634, 3,1, -49635, 49667, 33,0, -49668, 49679, 12,1, -49680, 49713, 34,0, -49714, 49724, 11,1, -49725, 49755, 31,0, -49756, 49769, 14,1, -49770, 49789, 20,0, -49790, 50444, 655,1, -50445, 50452, 8,0, -50453, 50489, 37,1, -50490, 50524, 35,0, -50525, 50534, 10,1, -50535, 50572, 38,0, -50573, 50579, 7,1, -50580, 50617, 38,0, -50618, 50849, 232,1, -50850, 50878, 29,0, -50879, 50894, 16,1, -50895, 50933, 39,0, -50934, 50939, 6,1, -50940, 50978, 39,0, -50979, 50984, 6,1, -50985, 51021, 37,0, -51022, 51029, 8,1, -51030, 51064, 35,0, -51065, 51074, 10,1, -51075, 51110, 36,0, -51111, 51119, 9,1, -51120, 51157, 38,0, -51158, 51164, 7,1, -51165, 51203, 39,0, -51204, 51209, 6,1, -51210, 51293, 84,0, -51294, 51299, 6,1, -51300, 51343, 44,0, -51344, 51344, 1,1, -51345, 51522, 178,0, -51523, 51524, 2,1, -51525, 51612, 88,0, -51613, 51614, 2,1, -51615, 51631, 17,0, -51632, 51659, 28,1, -51660, 51671, 12,0, -51672, 51704, 33,1, -51705, 51711, 7,0, -51712, 51749, 38,1, -51750, 51755, 6,0, -51756, 52424, 669,1, -52425, 52426, 2,0, -52427, 52469, 43,1, -52470, 52481, 12,0, -52482, 52514, 33,1, -52515, 52549, 35,0, -52550, 52559, 10,1, -52560, 52597, 38,0, -52598, 52604, 7,1, -52605, 52642, 38,0, -52643, 52874, 232,1, -52875, 52909, 35,0, -52910, 52919, 10,1, -52920, 52958, 39,0, -52959, 52964, 6,1, -52965, 53003, 39,0, -53004, 53009, 6,1, -53010, 53046, 37,0, -53047, 53054, 8,1, -53055, 53089, 35,0, -53090, 53099, 10,1, -53100, 53135, 36,0, -53136, 53144, 9,1, -53145, 53183, 39,0, -53184, 53189, 6,1, -53190, 53233, 44,0, -53234, 53234, 1,1, -53235, 53321, 87,0, -53322, 53324, 3,1, -53325, 53367, 43,0, -53368, 53369, 2,1, -53370, 53609, 240,0, -53610, 53639, 30,1, -53640, 53646, 7,0, -53647, 53684, 38,1, -53685, 53691, 7,0, -53692, 53729, 38,1, -53730, 53736, 7,0, -53737, 53774, 38,1, -53775, 53778, 4,0, -53779, 53819, 41,1, -53820, 53822, 3,0, -53823, 54449, 627,1, -54450, 54451, 2,0, -54452, 54494, 43,1, -54495, 54520, 26,0, -54521, 54539, 19,1, -54540, 54574, 35,0, -54575, 54584, 10,1, -54585, 54622, 38,0, -54623, 54629, 7,1, -54630, 54667, 38,0, -54668, 54899, 232,1, -54900, 54933, 34,0, -54934, 54944, 11,1, -54945, 54982, 38,0, -54983, 54989, 7,1, -54990, 55028, 39,0, -55029, 55034, 6,1, -55035, 55072, 38,0, -55073, 55079, 7,1, -55080, 55114, 35,0, -55115, 55124, 10,1, -55125, 55161, 37,0, -55162, 55169, 8,1, -55170, 55208, 39,0, -55209, 55214, 6,1, -55215, 55257, 43,0, -55258, 55259, 2,1, -55260, 55302, 43,0, -55303, 55304, 2,1, -55305, 55348, 44,0, -55349, 55349, 1,1, -55350, 55393, 44,0, -55394, 55394, 1,1, -55395, 55437, 43,0, -55438, 55439, 2,1, -55440, 55607, 168,0, -55608, 55619, 12,1, -55620, 55625, 6,0, -55626, 55664, 39,1, -55665, 55672, 8,0, -55673, 55709, 37,1, -55710, 55736, 27,0, -55737, 55754, 18,1, -55755, 55783, 29,0, -55784, 55799, 16,1, -55800, 55827, 28,0, -55828, 55844, 17,1, -55845, 55868, 24,0, -55869, 55889, 21,1, -55890, 55895, 6,0, -55896, 56474, 579,1, -56475, 56476, 2,0, -56477, 56519, 43,1, -56520, 56549, 30,0, -56550, 56564, 15,1, -56565, 56599, 35,0, -56600, 56609, 10,1, -56610, 56647, 38,0, -56648, 56654, 7,1, -56655, 56692, 38,0, -56693, 56924, 232,1, -56925, 56958, 34,0, -56959, 56969, 11,1, -56970, 57008, 39,0, -57009, 57014, 6,1, -57015, 57053, 39,0, -57054, 57059, 6,1, -57060, 57098, 39,0, -57099, 57104, 6,1, -57105, 57140, 36,0, -57141, 57149, 9,1, -57150, 57187, 38,0, -57188, 57194, 7,1, -57195, 57233, 39,0, -57234, 57239, 6,1, -57240, 57281, 42,0, -57282, 57284, 3,1, -57285, 57326, 42,0, -57327, 57329, 3,1, -57330, 57373, 44,0, -57374, 57374, 1,1, -57375, 57418, 44,0, -57419, 57419, 1,1, -57420, 57460, 41,0, -57461, 57464, 4,1, -57465, 57507, 43,0, -57508, 57509, 2,1, -57510, 57552, 43,0, -57553, 57554, 2,1, -57555, 57605, 51,0, -57606, 57644, 39,1, -57645, 57649, 5,0, -57650, 57689, 40,1, -57690, 57696, 7,0, -57697, 57734, 38,1, -57735, 57766, 32,0, -57767, 57779, 13,1, -57780, 57813, 34,0, -57814, 57824, 11,1, -57825, 57858, 34,0, -57859, 57869, 11,1, -57870, 57903, 34,0, -57904, 57914, 11,1, -57915, 57927, 13,0, -57928, 58499, 572,1, -58500, 58501, 2,0, -58502, 58544, 43,1, -58545, 58577, 33,0, -58578, 58589, 12,1, -58590, 58625, 36,0, -58626, 58634, 9,1, -58635, 58672, 38,0, -58673, 58679, 7,1, -58680, 58717, 38,0, -58718, 58949, 232,1, -58950, 58982, 33,0, -58983, 58994, 12,1, -58995, 59033, 39,0, -59034, 59039, 6,1, -59040, 59078, 39,0, -59079, 59084, 6,1, -59085, 59123, 39,0, -59124, 59129, 6,1, -59130, 59165, 36,0, -59166, 59174, 9,1, -59175, 59212, 38,0, -59213, 59219, 7,1, -59220, 59259, 40,0, -59260, 59264, 5,1, -59265, 59306, 42,0, -59307, 59309, 3,1, -59310, 59351, 42,0, -59352, 59354, 3,1, -59355, 59393, 39,0, -59394, 59399, 6,1, -59400, 59402, 3,0, -59403, 59444, 42,1, -59445, 59469, 25,0, -59470, 59489, 20,1, -59490, 59533, 44,0, -59534, 59534, 1,1, -59535, 59578, 44,0, -59579, 59579, 1,1, -59580, 59650, 71,0, -59651, 59669, 19,1, -59670, 59692, 23,0, -59693, 59714, 22,1, -59715, 59733, 19,0, -59734, 59759, 26,1, -59760, 59791, 32,0, -59792, 59804, 13,1, -59805, 59838, 34,0, -59839, 59849, 11,1, -59850, 59883, 34,0, -59884, 59894, 11,1, -59895, 59928, 34,0, -59929, 59939, 11,1, -59940, 59971, 32,0, -59972, 59984, 13,1, -59985, 59986, 2,0, -59987, 60524, 538,1, -60525, 60530, 6,0, -60531, 60569, 39,1, -60570, 60603, 34,0, -60604, 60614, 11,1, -60615, 60650, 36,0, -60651, 60659, 9,1, -60660, 60697, 38,0, -60698, 60704, 7,1, -60705, 60742, 38,0, -60743, 60974, 232,1, -60975, 61010, 36,0, -61011, 61019, 9,1, -61020, 61058, 39,0, -61059, 61064, 6,1, -61065, 61104, 40,0, -61105, 61109, 5,1, -61110, 61148, 39,0, -61149, 61154, 6,1, -61155, 61193, 39,0, -61194, 61199, 6,1, -61200, 61238, 39,0, -61239, 61244, 6,1, -61245, 61285, 41,0, -61286, 61289, 4,1, -61290, 61333, 44,0, -61334, 61334, 1,1, -61335, 61376, 42,0, -61377, 61469, 93,1, -61470, 61473, 4,0, -61474, 61514, 41,1, -61515, 61558, 44,0, -61559, 61559, 1,1, -61560, 61603, 44,0, -61604, 61604, 1,1, -61605, 61647, 43,0, -61648, 61649, 2,1, -61650, 61686, 37,0, -61687, 61694, 8,1, -61695, 61723, 29,0, -61724, 61739, 16,1, -61740, 61781, 42,0, -61782, 61784, 3,1, -61785, 61824, 40,0, -61825, 61829, 5,1, -61830, 61869, 40,0, -61870, 61874, 5,1, -61875, 61908, 34,0, -61909, 61919, 11,1, -61920, 61953, 34,0, -61954, 61964, 11,1, -61965, 62003, 39,0, -62004, 62009, 6,1, -62010, 62041, 32,0, -62042, 62054, 13,1, -62055, 62059, 5,0, -62060, 62099, 40,1, -62100, 62104, 5,0, -62105, 62144, 40,1, -62145, 62150, 6,0, -62151, 62189, 39,1, -62190, 62192, 3,0, -62193, 62549, 357,1, -62550, 62556, 7,0, -62557, 62594, 38,1, -62595, 62628, 34,0, -62629, 62639, 11,1, -62640, 62676, 37,0, -62677, 62684, 8,1, -62685, 62721, 37,0, -62722, 62729, 8,1, -62730, 62767, 38,0, -62768, 62999, 232,1, -63000, 63035, 36,0, -63036, 63044, 9,1, -63045, 63083, 39,0, -63084, 63089, 6,1, -63090, 63129, 40,0, -63130, 63134, 5,1, -63135, 63174, 40,0, -63175, 63179, 5,1, -63180, 63219, 40,0, -63220, 63224, 5,1, -63225, 63264, 40,0, -63265, 63269, 5,1, -63270, 63312, 43,0, -63313, 63314, 2,1, -63315, 63358, 44,0, -63359, 63359, 1,1, -63360, 63402, 43,0, -63403, 63539, 137,1, -63540, 63545, 6,0, -63546, 63584, 39,1, -63585, 63615, 31,0, -63616, 63629, 14,1, -63630, 63668, 39,0, -63669, 63674, 6,1, -63675, 63713, 39,0, -63714, 63719, 6,1, -63720, 63758, 39,0, -63759, 63764, 6,1, -63765, 63806, 42,0, -63807, 63809, 3,1, -63810, 63851, 42,0, -63852, 63854, 3,1, -63855, 63988, 134,0, -63989, 63989, 1,1, -63990, 64068, 79,0, -64069, 64079, 11,1, -64080, 64088, 9,0, -64089, 64124, 36,1, -64125, 64132, 8,0, -64133, 64169, 37,1, -64170, 64176, 7,0, -64177, 64574, 398,1, -64575, 64581, 7,0, -64582, 64619, 38,1, -64620, 64654, 35,0, -64655, 64664, 10,1, -64665, 64701, 37,0, -64702, 64709, 8,1, -64710, 64746, 37,0, -64747, 64754, 8,1, -64755, 64792, 38,0, -64793, 65024, 232,1, -65025, 65060, 36,0, -65061, 65069, 9,1, -65070, 65109, 40,0, -65110, 65114, 5,1, -65115, 65154, 40,0, -65155, 65159, 5,1, -65160, 65199, 40,0, -65200, 65204, 5,1, -65205, 65244, 40,0, -65245, 65249, 5,1, -65250, 65292, 43,0, -65293, 65294, 2,1, -65295, 65337, 43,0, -65338, 65339, 2,1, -65340, 65382, 43,0, -65383, 65384, 2,1, -65385, 65427, 43,0, -65428, 65429, 2,1, -65430, 65435, 6,0, -65436, 65609, 174,1, -65610, 65617, 8,0, -65618, 65654, 37,1, -65655, 65687, 33,0, -65688, 65699, 12,1, -65700, 65738, 39,0, -65739, 65744, 6,1, -65745, 65783, 39,0, -65784, 65789, 6,1, -65790, 65833, 44,0, -65834, 65834, 1,1, -65835, 66129, 295,0, -66130, 66149, 20,1, -66150, 66167, 18,0, -66168, 66194, 27,1, -66195, 66213, 19,0, -66214, 66239, 26,1, -66240, 66257, 18,0, -66258, 66554, 297,1, -66555, 66556, 2,0, -66557, 66599, 43,1, -66600, 66605, 6,0, -66606, 66644, 39,1, -66645, 66679, 35,0, -66680, 66689, 10,1, -66690, 66726, 37,0, -66727, 66734, 8,1, -66735, 66771, 37,0, -66772, 66779, 8,1, -66780, 66817, 38,0, -66818, 67049, 232,1, -67050, 67083, 34,0, -67084, 67094, 11,1, -67095, 67134, 40,0, -67135, 67139, 5,1, -67140, 67179, 40,0, -67180, 67184, 5,1, -67185, 67223, 39,0, -67224, 67229, 6,1, -67230, 67266, 37,0, -67267, 67274, 8,1, -67275, 67315, 41,0, -67316, 67319, 4,1, -67320, 67362, 43,0, -67363, 67364, 2,1, -67365, 67407, 43,0, -67408, 67409, 2,1, -67410, 67452, 43,0, -67453, 67454, 2,1, -67455, 67460, 6,0, -67461, 67634, 174,1, -67635, 67639, 5,0, -67640, 67679, 40,1, -67680, 67705, 26,0, -67706, 67724, 19,1, -67725, 67762, 38,0, -67763, 67769, 7,1, -67770, 67806, 37,0, -67807, 67814, 8,1, -67815, 67854, 40,0, -67855, 67859, 5,1, -67860, 67902, 43,0, -67903, 67904, 2,1, -67905, 67993, 89,0, -67994, 67994, 1,1, -67995, 68127, 133,0, -68128, 68129, 2,1, -68130, 68171, 42,0, -68172, 68174, 3,1, -68175, 68209, 35,0, -68210, 68219, 10,1, -68220, 68237, 18,0, -68238, 68264, 27,1, -68265, 68283, 19,0, -68284, 68579, 296,1, -68580, 68581, 2,0, -68582, 68624, 43,1, -68625, 68629, 5,0, -68630, 68669, 40,1, -68670, 68704, 35,0, -68705, 68714, 10,1, -68715, 68751, 37,0, -68752, 68759, 8,1, -68760, 68796, 37,0, -68797, 68804, 8,1, -68805, 68842, 38,0, -68843, 69074, 232,1, -69075, 69109, 35,0, -69110, 69119, 10,1, -69120, 69158, 39,0, -69159, 69164, 6,1, -69165, 69204, 40,0, -69205, 69209, 5,1, -69210, 69247, 38,0, -69248, 69254, 7,1, -69255, 69291, 37,0, -69292, 69299, 8,1, -69300, 69339, 40,0, -69340, 69344, 5,1, -69345, 69387, 43,0, -69388, 69389, 2,1, -69390, 69432, 43,0, -69433, 69434, 2,1, -69435, 69469, 35,0, -69470, 69479, 10,1, -69480, 69482, 3,0, -69483, 69614, 132,1, -69615, 69617, 3,0, -69618, 69659, 42,1, -69660, 69665, 6,0, -69666, 69704, 39,1, -69705, 69714, 10,0, -69715, 69749, 35,1, -69750, 69781, 32,0, -69782, 69794, 13,1, -69795, 69834, 40,0, -69835, 69839, 5,1, -69840, 69880, 41,0, -69881, 69884, 4,1, -69885, 70016, 132,0, -70017, 70019, 3,1, -70020, 70063, 44,0, -70064, 70064, 1,1, -70065, 70108, 44,0, -70109, 70109, 1,1, -70110, 70152, 43,0, -70153, 70154, 2,1, -70155, 70195, 41,0, -70196, 70199, 4,1, -70200, 70239, 40,0, -70240, 70244, 5,1, -70245, 70263, 19,0, -70264, 70289, 26,1, -70290, 70308, 19,0, -70309, 70334, 26,1, -70335, 70352, 18,0, -70353, 70424, 72,1, -70425, 70431, 7,0, -70432, 70469, 38,1, -70470, 70476, 7,0, -70477, 70604, 128,1, -70605, 70606, 2,0, -70607, 70649, 43,1, -70650, 70653, 4,0, -70654, 70694, 41,1, -70695, 70728, 34,0, -70729, 70739, 11,1, -70740, 70776, 37,0, -70777, 70784, 8,1, -70785, 70821, 37,0, -70822, 70829, 8,1, -70830, 70867, 38,0, -70868, 71099, 232,1, -71100, 71134, 35,0, -71135, 71144, 10,1, -71145, 71183, 39,0, -71184, 71189, 6,1, -71190, 71228, 39,0, -71229, 71234, 6,1, -71235, 71271, 37,0, -71272, 71279, 8,1, -71280, 71317, 38,0, -71318, 71324, 7,1, -71325, 71364, 40,0, -71365, 71369, 5,1, -71370, 71411, 42,0, -71412, 71414, 3,1, -71415, 71457, 43,0, -71458, 71459, 2,1, -71460, 71464, 5,0, -71465, 71639, 175,1, -71640, 71645, 6,0, -71646, 71684, 39,1, -71685, 71690, 6,0, -71691, 71729, 39,1, -71730, 71735, 6,0, -71736, 71774, 39,1, -71775, 71779, 5,0, -71780, 71819, 40,1, -71820, 71857, 38,0, -71858, 71864, 7,1, -71865, 71902, 38,0, -71903, 71909, 7,1, -71910, 71948, 39,0, -71949, 71954, 6,1, -71955, 72040, 86,0, -72041, 72044, 4,1, -72045, 72086, 42,0, -72087, 72089, 3,1, -72090, 72131, 42,0, -72132, 72134, 3,1, -72135, 72176, 42,0, -72177, 72179, 3,1, -72180, 72301, 122,0, -72302, 72314, 13,1, -72315, 72337, 23,0, -72338, 72359, 22,1, -72360, 72378, 19,0, -72379, 72404, 26,1, -72405, 72422, 18,0, -72423, 72449, 27,1, -72450, 72464, 15,0, -72465, 72494, 30,1, -72495, 72508, 14,0, -72509, 72629, 121,1, -72630, 72631, 2,0, -72632, 72674, 43,1, -72675, 72677, 3,0, -72678, 72719, 42,1, -72720, 72751, 32,0, -72752, 72764, 13,1, -72765, 72798, 34,0, -72799, 72809, 11,1, -72810, 72843, 34,0, -72844, 72854, 11,1, -72855, 72892, 38,0, -72893, 73124, 232,1, -73125, 73160, 36,0, -73161, 73169, 9,1, -73170, 73207, 38,0, -73208, 73214, 7,1, -73215, 73252, 38,0, -73253, 73259, 7,1, -73260, 73296, 37,0, -73297, 73304, 8,1, -73305, 73342, 38,0, -73343, 73349, 7,1, -73350, 73389, 40,0, -73390, 73394, 5,1, -73395, 73434, 40,0, -73435, 73439, 5,1, -73440, 73474, 35,0, -73475, 73664, 190,1, -73665, 73690, 26,0, -73691, 73709, 19,1, -73710, 73743, 34,0, -73744, 73754, 11,1, -73755, 73786, 32,0, -73787, 73799, 13,1, -73800, 73829, 30,0, -73830, 73844, 15,1, -73845, 73882, 38,0, -73883, 73889, 7,1, -73890, 73928, 39,0, -73929, 73934, 6,1, -73935, 73972, 38,0, -73973, 73979, 7,1, -73980, 74109, 130,0, -74110, 74114, 5,1, -74115, 74418, 304,0, -74419, 74429, 11,1, -74430, 74457, 28,0, -74458, 74474, 17,1, -74475, 74501, 27,0, -74502, 74519, 18,1, -74520, 74535, 16,0, -74536, 74654, 119,1, -74655, 74656, 2,0, -74657, 74699, 43,1, -74700, 74701, 2,0, -74702, 74744, 43,1, -74745, 74771, 27,0, -74772, 74789, 18,1, -74790, 74819, 30,0, -74820, 74834, 15,1, -74835, 74867, 33,0, -74868, 74879, 12,1, -74880, 74917, 38,0, -74918, 75104, 187,1, -75105, 75121, 17,0, -75122, 75149, 28,1, -75150, 75185, 36,0, -75186, 75194, 9,1, -75195, 75231, 37,0, -75232, 75239, 8,1, -75240, 75276, 37,0, -75277, 75284, 8,1, -75285, 75322, 38,0, -75323, 75329, 7,1, -75330, 75367, 38,0, -75368, 75374, 7,1, -75375, 75412, 38,0, -75413, 75419, 7,1, -75420, 75458, 39,0, -75459, 75464, 6,1, -75465, 75502, 38,0, -75503, 75509, 7,1, -75510, 75513, 4,0, -75514, 75644, 131,1, -75645, 75650, 6,0, -75651, 75689, 39,1, -75690, 75717, 28,0, -75718, 75734, 17,1, -75735, 75773, 39,0, -75774, 75779, 6,1, -75780, 75816, 37,0, -75817, 75824, 8,1, -75825, 75864, 40,0, -75865, 75869, 5,1, -75870, 75912, 43,0, -75913, 75914, 2,1, -75915, 75957, 43,0, -75958, 75959, 2,1, -75960, 76000, 41,0, -76001, 76004, 4,1, -76005, 76487, 483,0, -76488, 76499, 12,1, -76500, 76526, 27,0, -76527, 76544, 18,1, -76545, 76559, 15,0, -76560, 76679, 120,1, -76680, 76681, 2,0, -76682, 76724, 43,1, -76725, 76726, 2,0, -76727, 76769, 43,1, -76770, 76792, 23,0, -76793, 76814, 22,1, -76815, 76845, 31,0, -76846, 76859, 14,1, -76860, 76893, 34,0, -76894, 76904, 11,1, -76905, 76942, 38,0, -76943, 77129, 187,1, -77130, 77148, 19,0, -77149, 77174, 26,1, -77175, 77209, 35,0, -77210, 77219, 10,1, -77220, 77255, 36,0, -77256, 77264, 9,1, -77265, 77300, 36,0, -77301, 77309, 9,1, -77310, 77348, 39,0, -77349, 77354, 6,1, -77355, 77393, 39,0, -77394, 77399, 6,1, -77400, 77438, 39,0, -77439, 77444, 6,1, -77445, 77483, 39,0, -77484, 77489, 6,1, -77490, 77529, 40,0, -77530, 77534, 5,1, -77535, 77573, 39,0, -77574, 77579, 6,1, -77580, 77618, 39,0, -77619, 77624, 6,1, -77625, 77660, 36,0, -77661, 77669, 9,1, -77670, 77700, 31,0, -77701, 77714, 14,1, -77715, 77750, 36,0, -77751, 77759, 9,1, -77760, 77798, 39,0, -77799, 77804, 6,1, -77805, 77845, 41,0, -77846, 77849, 4,1, -77850, 77890, 41,0, -77891, 77894, 4,1, -77895, 77937, 43,0, -77938, 77939, 2,1, -77940, 77981, 42,0, -77982, 77984, 3,1, -77985, 78025, 41,0, -78026, 78029, 4,1, -78030, 78208, 179,0, -78209, 78209, 1,1, -78210, 78388, 179,0, -78389, 78389, 1,1, -78390, 78513, 124,0, -78514, 78524, 11,1, -78525, 78548, 24,0, -78549, 78569, 21,1, -78570, 78588, 19,0, -78589, 78704, 116,1, -78705, 78706, 2,0, -78707, 78749, 43,1, -78750, 78753, 4,0, -78754, 78794, 41,1, -78795, 78816, 22,0, -78817, 78839, 23,1, -78840, 78871, 32,0, -78872, 78884, 13,1, -78885, 78920, 36,0, -78921, 78929, 9,1, -78930, 78967, 38,0, -78968, 79154, 187,1, -79155, 79176, 22,0, -79177, 79199, 23,1, -79200, 79234, 35,0, -79235, 79244, 10,1, -79245, 79280, 36,0, -79281, 79289, 9,1, -79290, 79331, 42,0, -79332, 79334, 3,1, -79335, 79373, 39,0, -79374, 79379, 6,1, -79380, 79418, 39,0, -79419, 79424, 6,1, -79425, 79465, 41,0, -79466, 79469, 4,1, -79470, 79509, 40,0, -79510, 79514, 5,1, -79515, 79555, 41,0, -79556, 79559, 4,1, -79560, 79599, 40,0, -79600, 79604, 5,1, -79605, 79644, 40,0, -79645, 79649, 5,1, -79650, 79689, 40,0, -79690, 79694, 5,1, -79695, 79731, 37,0, -79732, 79739, 8,1, -79740, 79776, 37,0, -79777, 79784, 8,1, -79785, 79823, 39,0, -79824, 79829, 6,1, -79830, 79868, 39,0, -79869, 79874, 6,1, -79875, 79914, 40,0, -79915, 79919, 5,1, -79920, 79955, 36,0, -79956, 79964, 9,1, -79965, 79999, 35,0, -80000, 80009, 10,1, -80010, 80049, 40,0, -80050, 80054, 5,1, -80055, 80098, 44,0, -80099, 80099, 1,1, -80100, 80233, 134,0, -80234, 80234, 1,1, -80235, 80368, 134,0, -80369, 80369, 1,1, -80370, 80412, 43,0, -80413, 80414, 2,1, -80415, 80458, 44,0, -80459, 80459, 1,1, -80460, 80567, 108,0, -80568, 80594, 27,1, -80595, 80612, 18,0, -80613, 80639, 27,1, -80640, 80651, 12,0, -80652, 80729, 78,1, -80730, 80732, 3,0, -80733, 80774, 42,1, -80775, 80778, 4,0, -80779, 80819, 41,1, -80820, 80848, 29,0, -80849, 80864, 16,1, -80865, 80896, 32,0, -80897, 80909, 13,1, -80910, 80946, 37,0, -80947, 80954, 8,1, -80955, 80992, 38,0, -80993, 80999, 7,1, -81000, 81019, 20,0, -81020, 81044, 25,1, -81045, 81064, 20,0, -81065, 81089, 25,1, -81090, 81109, 20,0, -81110, 81134, 25,1, -81135, 81154, 20,0, -81155, 81179, 25,1, -81180, 81210, 31,0, -81211, 81224, 14,1, -81225, 81257, 33,0, -81258, 81269, 12,1, -81270, 81306, 37,0, -81307, 81314, 8,1, -81315, 81357, 43,0, -81358, 81359, 2,1, -81360, 81401, 42,0, -81402, 81404, 3,1, -81405, 81446, 42,0, -81447, 81449, 3,1, -81450, 81490, 41,0, -81491, 81494, 4,1, -81495, 81535, 41,0, -81536, 81539, 4,1, -81540, 81580, 41,0, -81581, 81584, 4,1, -81585, 81624, 40,0, -81625, 81629, 5,1, -81630, 81666, 37,0, -81667, 81674, 8,1, -81675, 81709, 35,0, -81710, 81719, 10,1, -81720, 81754, 35,0, -81755, 81764, 10,1, -81765, 81803, 39,0, -81804, 81809, 6,1, -81810, 81848, 39,0, -81849, 81854, 6,1, -81855, 81897, 43,0, -81898, 81899, 2,1, -81900, 81935, 36,0, -81936, 81944, 9,1, -81945, 81981, 37,0, -81982, 81989, 8,1, -81990, 82026, 37,0, -82027, 82034, 8,1, -82035, 82075, 41,0, -82076, 82079, 4,1, -82080, 82122, 43,0, -82123, 82124, 2,1, -82125, 82168, 44,0, -82169, 82169, 1,1, -82170, 82213, 44,0, -82214, 82214, 1,1, -82215, 82257, 43,0, -82258, 82259, 2,1, -82260, 82393, 134,0, -82394, 82394, 1,1, -82395, 82437, 43,0, -82438, 82439, 2,1, -82440, 82482, 43,0, -82483, 82484, 2,1, -82485, 82528, 44,0, -82529, 82529, 1,1, -82530, 82629, 100,0, -82630, 82664, 35,1, -82665, 82674, 10,0, -82675, 82754, 80,1, -82755, 82757, 3,0, -82758, 82799, 42,1, -82800, 82804, 5,0, -82805, 82844, 40,1, -82845, 82875, 31,0, -82876, 82889, 14,1, -82890, 82922, 33,0, -82923, 82934, 12,1, -82935, 82970, 36,0, -82971, 82979, 9,1, -82980, 83017, 38,0, -83018, 83024, 7,1, -83025, 83044, 20,0, -83045, 83069, 25,1, -83070, 83089, 20,0, -83090, 83114, 25,1, -83115, 83134, 20,0, -83135, 83159, 25,1, -83160, 83179, 20,0, -83180, 83204, 25,1, -83205, 83235, 31,0, -83236, 83249, 14,1, -83250, 83282, 33,0, -83283, 83294, 12,1, -83295, 83332, 38,0, -83333, 83339, 7,1, -83340, 83380, 41,0, -83381, 83384, 4,1, -83385, 83425, 41,0, -83426, 83429, 4,1, -83430, 83470, 41,0, -83471, 83474, 4,1, -83475, 83515, 41,0, -83516, 83519, 4,1, -83520, 83559, 40,0, -83560, 83564, 5,1, -83565, 83603, 39,0, -83604, 83609, 6,1, -83610, 83643, 34,0, -83644, 83654, 11,1, -83655, 83689, 35,0, -83690, 83699, 10,1, -83700, 83734, 35,0, -83735, 83744, 10,1, -83745, 83780, 36,0, -83781, 83789, 9,1, -83790, 83829, 40,0, -83830, 83834, 5,1, -83835, 83878, 44,0, -83879, 83879, 1,1, -83880, 83923, 44,0, -83924, 83924, 1,1, -83925, 83961, 37,0, -83962, 83969, 8,1, -83970, 84008, 39,0, -84009, 84014, 6,1, -84015, 84053, 39,0, -84054, 84059, 6,1, -84060, 84100, 41,0, -84101, 84104, 4,1, -84105, 84145, 41,0, -84146, 84149, 4,1, -84150, 84192, 43,0, -84193, 84194, 2,1, -84195, 84237, 43,0, -84238, 84239, 2,1, -84240, 84462, 223,0, -84463, 84464, 2,1, -84465, 84508, 44,0, -84509, 84509, 1,1, -84510, 84681, 172,0, -84682, 84689, 8,1, -84690, 84695, 6,0, -84696, 84779, 84,1, -84780, 84784, 5,0, -84785, 84824, 40,1, -84825, 84832, 8,0, -84833, 84869, 37,1, -84870, 84900, 31,0, -84901, 84914, 14,1, -84915, 84948, 34,0, -84949, 84959, 11,1, -84960, 84995, 36,0, -84996, 85004, 9,1, -85005, 85042, 38,0, -85043, 85049, 7,1, -85050, 85070, 21,0, -85071, 85094, 24,1, -85095, 85115, 21,0, -85116, 85139, 24,1, -85140, 85160, 21,0, -85161, 85184, 24,1, -85185, 85204, 20,0, -85205, 85229, 25,1, -85230, 85262, 33,0, -85263, 85274, 12,1, -85275, 85308, 34,0, -85309, 85319, 11,1, -85320, 85359, 40,0, -85360, 85364, 5,1, -85365, 85406, 42,0, -85407, 85409, 3,1, -85410, 85451, 42,0, -85452, 85454, 3,1, -85455, 85485, 31,0, -85486, 85499, 14,1, -85500, 85537, 38,0, -85538, 85544, 7,1, -85545, 85581, 37,0, -85582, 85589, 8,1, -85590, 85623, 34,0, -85624, 85634, 11,1, -85635, 85670, 36,0, -85671, 85679, 9,1, -85680, 85717, 38,0, -85718, 85724, 7,1, -85725, 85759, 35,0, -85760, 85769, 10,1, -85770, 85812, 43,0, -85813, 85814, 2,1, -85815, 85857, 43,0, -85858, 85859, 2,1, -85860, 85902, 43,0, -85903, 85904, 2,1, -85905, 85946, 42,0, -85947, 85949, 3,1, -85950, 85989, 40,0, -85990, 85994, 5,1, -85995, 86033, 39,0, -86034, 86039, 6,1, -86040, 86079, 40,0, -86080, 86084, 5,1, -86085, 86124, 40,0, -86125, 86129, 5,1, -86130, 86169, 40,0, -86170, 86174, 5,1, -86175, 86217, 43,0, -86218, 86219, 2,1, -86220, 86262, 43,0, -86263, 86264, 2,1, -86265, 86533, 269,0, -86534, 86534, 1,1, -86535, 86705, 171,0, -86706, 86714, 9,1, -86715, 86726, 12,0, -86727, 86804, 78,1, -86805, 86809, 5,0, -86810, 86849, 40,1, -86850, 86860, 11,0, -86861, 86894, 34,1, -86895, 86925, 31,0, -86926, 86939, 14,1, -86940, 86973, 34,0, -86974, 86984, 11,1, -86985, 87020, 36,0, -87021, 87029, 9,1, -87030, 87067, 38,0, -87068, 87074, 7,1, -87075, 87094, 20,0, -87095, 87119, 25,1, -87120, 87139, 20,0, -87140, 87164, 25,1, -87165, 87184, 20,0, -87185, 87209, 25,1, -87210, 87237, 28,0, -87238, 87254, 17,1, -87255, 87289, 35,0, -87290, 87299, 10,1, -87300, 87334, 35,0, -87335, 87344, 10,1, -87345, 87386, 42,0, -87387, 87389, 3,1, -87390, 87432, 43,0, -87433, 87434, 2,1, -87435, 87477, 43,0, -87478, 87479, 2,1, -87480, 87503, 24,0, -87504, 87524, 21,1, -87525, 87552, 28,0, -87553, 87569, 17,1, -87570, 87595, 26,0, -87596, 87614, 19,1, -87615, 87644, 30,0, -87645, 87659, 15,1, -87660, 87696, 37,0, -87697, 87704, 8,1, -87705, 87741, 37,0, -87742, 87749, 8,1, -87750, 87788, 39,0, -87789, 87794, 6,1, -87795, 87836, 42,0, -87837, 87839, 3,1, -87840, 87873, 34,0, -87874, 87884, 11,1, -87885, 87920, 36,0, -87921, 87929, 9,1, -87930, 87971, 42,0, -87972, 87974, 3,1, -87975, 88016, 42,0, -88017, 88019, 3,1, -88020, 88059, 40,0, -88060, 88064, 5,1, -88065, 88104, 40,0, -88105, 88109, 5,1, -88110, 88151, 42,0, -88152, 88154, 3,1, -88155, 88197, 43,0, -88198, 88199, 2,1, -88200, 88243, 44,0, -88244, 88244, 1,1, -88245, 88287, 43,0, -88288, 88289, 2,1, -88290, 88333, 44,0, -88334, 88334, 1,1, -88335, 88468, 134,0, -88469, 88469, 1,1, -88470, 88730, 261,0, -88731, 88739, 9,1, -88740, 88773, 34,0, -88774, 88829, 56,1, -88830, 88834, 5,0, -88835, 88874, 40,1, -88875, 88886, 12,0, -88887, 88919, 33,1, -88920, 88950, 31,0, -88951, 88964, 14,1, -88965, 88997, 33,0, -88998, 89009, 12,1, -89010, 89045, 36,0, -89046, 89054, 9,1, -89055, 89092, 38,0, -89093, 89099, 7,1, -89100, 89119, 20,0, -89120, 89144, 25,1, -89145, 89164, 20,0, -89165, 89189, 25,1, -89190, 89209, 20,0, -89210, 89234, 25,1, -89235, 89263, 29,0, -89264, 89279, 16,1, -89280, 89314, 35,0, -89315, 89324, 10,1, -89325, 89360, 36,0, -89361, 89369, 9,1, -89370, 89410, 41,0, -89411, 89414, 4,1, -89415, 89456, 42,0, -89457, 89459, 3,1, -89460, 89501, 42,0, -89502, 89504, 3,1, -89505, 89544, 40,0, -89545, 89549, 5,1, -89550, 89582, 33,0, -89583, 89594, 12,1, -89595, 89627, 33,0, -89628, 89639, 12,1, -89640, 89670, 31,0, -89671, 89684, 14,1, -89685, 89721, 37,0, -89722, 89729, 8,1, -89730, 89768, 39,0, -89769, 89774, 6,1, -89775, 89813, 39,0, -89814, 89819, 6,1, -89820, 89858, 39,0, -89859, 89864, 6,1, -89865, 89900, 36,0, -89901, 89909, 9,1, -89910, 89945, 36,0, -89946, 89954, 9,1, -89955, 89995, 41,0, -89996, 89999, 4,1, -90000, 90042, 43,0, -90043, 90044, 2,1, -90045, 90086, 42,0, -90087, 90089, 3,1, -90090, 90133, 44,0, -90134, 90134, 1,1, -90135, 90268, 134,0, -90269, 90269, 1,1, -90270, 90311, 42,0, -90312, 90314, 3,1, -90315, 90357, 43,0, -90358, 90359, 2,1, -90360, 90448, 89,0, -90449, 90449, 1,1, -90450, 90491, 42,0, -90492, 90494, 3,1, -90495, 90537, 43,0, -90538, 90539, 2,1, -90540, 90711, 172,0, -90712, 90719, 8,1, -90720, 90755, 36,0, -90756, 90764, 9,1, -90765, 90799, 35,0, -90800, 90809, 10,1, -90810, 90811, 2,0, -90812, 90854, 43,1, -90855, 90859, 5,0, -90860, 90899, 40,1, -90900, 90916, 17,0, -90917, 90944, 28,1, -90945, 90974, 30,0, -90975, 90989, 15,1, -90990, 91021, 32,0, -91022, 91034, 13,1, -91035, 91070, 36,0, -91071, 91079, 9,1, -91080, 91117, 38,0, -91118, 91124, 7,1, -91125, 91143, 19,0, -91144, 91169, 26,1, -91170, 91188, 19,0, -91189, 91214, 26,1, -91215, 91233, 19,0, -91234, 91259, 26,1, -91260, 91289, 30,0, -91290, 91304, 15,1, -91305, 91340, 36,0, -91341, 91349, 9,1, -91350, 91385, 36,0, -91386, 91394, 9,1, -91395, 91434, 40,0, -91435, 91439, 5,1, -91440, 91480, 41,0, -91481, 91484, 4,1, -91485, 91525, 41,0, -91526, 91529, 4,1, -91530, 91570, 41,0, -91571, 91574, 4,1, -91575, 91614, 40,0, -91615, 91619, 5,1, -91620, 91655, 36,0, -91656, 91664, 9,1, -91665, 91837, 173,0, -91838, 91844, 7,1, -91845, 91881, 37,0, -91882, 91889, 8,1, -91890, 91925, 36,0, -91926, 91934, 9,1, -91935, 91969, 35,0, -91970, 91979, 10,1, -91980, 92022, 43,0, -92023, 92024, 2,1, -92025, 92068, 44,0, -92069, 92069, 1,1, -92070, 92113, 44,0, -92114, 92114, 1,1, -92115, 92157, 43,0, -92158, 92159, 2,1, -92160, 92203, 44,0, -92204, 92204, 1,1, -92205, 92293, 89,0, -92294, 92294, 1,1, -92295, 92336, 42,0, -92337, 92339, 3,1, -92340, 92382, 43,0, -92383, 92384, 2,1, -92385, 92427, 43,0, -92428, 92429, 2,1, -92430, 92471, 42,0, -92472, 92474, 3,1, -92475, 92516, 42,0, -92517, 92519, 3,1, -92520, 92563, 44,0, -92564, 92564, 1,1, -92565, 92653, 89,0, -92654, 92654, 1,1, -92655, 92735, 81,0, -92736, 92744, 9,1, -92745, 92780, 36,0, -92781, 92789, 9,1, -92790, 92823, 34,0, -92824, 92834, 11,1, -92835, 92841, 7,0, -92842, 92879, 38,1, -92880, 92885, 6,0, -92886, 92924, 39,1, -92925, 92946, 22,0, -92947, 92969, 23,1, -92970, 92996, 27,0, -92997, 93014, 18,1, -93015, 93045, 31,0, -93046, 93059, 14,1, -93060, 93095, 36,0, -93096, 93104, 9,1, -93105, 93142, 38,0, -93143, 93149, 7,1, -93150, 93167, 18,0, -93168, 93194, 27,1, -93195, 93212, 18,0, -93213, 93239, 27,1, -93240, 93257, 18,0, -93258, 93284, 27,1, -93285, 93317, 33,0, -93318, 93329, 12,1, -93330, 93366, 37,0, -93367, 93374, 8,1, -93375, 93411, 37,0, -93412, 93419, 8,1, -93420, 93459, 40,0, -93460, 93464, 5,1, -93465, 93506, 42,0, -93507, 93509, 3,1, -93510, 93552, 43,0, -93553, 93554, 2,1, -93555, 93597, 43,0, -93598, 93599, 2,1, -93600, 93640, 41,0, -93641, 93644, 4,1, -93645, 93683, 39,0, -93684, 93689, 6,1, -93690, 93733, 44,0, -93734, 93734, 1,1, -93735, 93947, 213,0, -93948, 93959, 12,1, -93960, 94001, 42,0, -94002, 94004, 3,1, -94005, 94047, 43,0, -94048, 94049, 2,1, -94050, 94093, 44,0, -94094, 94094, 1,1, -94095, 94138, 44,0, -94139, 94139, 1,1, -94140, 94181, 42,0, -94182, 94184, 3,1, -94185, 94228, 44,0, -94229, 94229, 1,1, -94230, 94318, 89,0, -94319, 94319, 1,1, -94320, 94362, 43,0, -94363, 94364, 2,1, -94365, 94407, 43,0, -94408, 94409, 2,1, -94410, 94451, 42,0, -94452, 94454, 3,1, -94455, 94498, 44,0, -94499, 94499, 1,1, -94500, 94543, 44,0, -94544, 94544, 1,1, -94545, 94678, 134,0, -94679, 94679, 1,1, -94680, 94760, 81,0, -94761, 94769, 9,1, -94770, 94805, 36,0, -94806, 94814, 9,1, -94815, 94826, 12,0, -94827, 94859, 33,1, -94860, 94866, 7,0, -94867, 94904, 38,1, -94905, 94910, 6,0, -94911, 94949, 39,1, -94950, 94978, 29,0, -94979, 94994, 16,1, -94995, 95025, 31,0, -95026, 95039, 14,1, -95040, 95072, 33,0, -95073, 95084, 12,1, -95085, 95120, 36,0, -95121, 95129, 9,1, -95130, 95167, 38,0, -95168, 95174, 7,1, -95175, 95194, 20,0, -95195, 95219, 25,1, -95220, 95239, 20,0, -95240, 95264, 25,1, -95265, 95284, 20,0, -95285, 95309, 25,1, -95310, 95345, 36,0, -95346, 95354, 9,1, -95355, 95391, 37,0, -95392, 95399, 8,1, -95400, 95436, 37,0, -95437, 95444, 8,1, -95445, 95483, 39,0, -95484, 95489, 6,1, -95490, 95530, 41,0, -95531, 95534, 4,1, -95535, 95577, 43,0, -95578, 95579, 2,1, -95580, 95622, 43,0, -95623, 95624, 2,1, -95625, 95665, 41,0, -95666, 95669, 4,1, -95670, 95709, 40,0, -95710, 95714, 5,1, -95715, 95757, 43,0, -95758, 95759, 2,1, -95760, 95803, 44,0, -95804, 95804, 1,1, -95805, 95848, 44,0, -95849, 95849, 1,1, -95850, 95893, 44,0, -95894, 95894, 1,1, -95895, 96070, 176,0, -96071, 96074, 4,1, -96075, 96162, 88,0, -96163, 96164, 2,1, -96165, 96207, 43,0, -96208, 96209, 2,1, -96210, 96298, 89,0, -96299, 96299, 1,1, -96300, 96343, 44,0, -96344, 96344, 1,1, -96345, 96387, 43,0, -96388, 96389, 2,1, -96390, 96431, 42,0, -96432, 96434, 3,1, -96435, 96476, 42,0, -96477, 96479, 3,1, -96480, 96523, 44,0, -96524, 96524, 1,1, -96525, 96613, 89,0, -96614, 96614, 1,1, -96615, 96784, 170,0, -96785, 96794, 10,1, -96795, 96829, 35,0, -96830, 96839, 10,1, -96840, 96846, 7,0, -96847, 96884, 38,1, -96885, 96890, 6,0, -96891, 96929, 39,1, -96930, 96935, 6,0, -96936, 96974, 39,1, -96975, 97003, 29,0, -97004, 97019, 16,1, -97020, 97052, 33,0, -97053, 97064, 12,1, -97065, 97100, 36,0, -97101, 97109, 9,1, -97110, 97146, 37,0, -97147, 97154, 8,1, -97155, 97192, 38,0, -97193, 97199, 7,1, -97200, 97221, 22,0, -97222, 97244, 23,1, -97245, 97266, 22,0, -97267, 97289, 23,1, -97290, 97311, 22,0, -97312, 97334, 23,1, -97335, 97371, 37,0, -97372, 97379, 8,1, -97380, 97416, 37,0, -97417, 97424, 8,1, -97425, 97461, 37,0, -97462, 97469, 8,1, -97470, 97508, 39,0, -97509, 97514, 6,1, -97515, 97554, 40,0, -97555, 97559, 5,1, -97560, 97600, 41,0, -97601, 97604, 4,1, -97605, 97645, 41,0, -97646, 97649, 4,1, -97650, 97692, 43,0, -97693, 97694, 2,1, -97695, 97737, 43,0, -97738, 97739, 2,1, -97740, 97781, 42,0, -97782, 97784, 3,1, -97785, 97827, 43,0, -97828, 97829, 2,1, -97830, 97872, 43,0, -97873, 97874, 2,1, -97875, 97963, 89,0, -97964, 97964, 1,1, -97965, 98008, 44,0, -98009, 98009, 1,1, -98010, 98052, 43,0, -98053, 98054, 2,1, -98055, 98097, 43,0, -98098, 98099, 2,1, -98100, 98142, 43,0, -98143, 98144, 2,1, -98145, 98232, 88,0, -98233, 98234, 2,1, -98235, 98321, 87,0, -98322, 98324, 3,1, -98325, 98367, 43,0, -98368, 98369, 2,1, -98370, 98412, 43,0, -98413, 98414, 2,1, -98415, 98455, 41,0, -98456, 98459, 4,1, -98460, 98501, 42,0, -98502, 98504, 3,1, -98505, 98548, 44,0, -98549, 98549, 1,1, -98550, 98683, 134,0, -98684, 98684, 1,1, -98685, 98841, 157,0, -98842, 98864, 23,1, -98865, 98870, 6,0, -98871, 98909, 39,1, -98910, 98915, 6,0, -98916, 98954, 39,1, -98955, 98960, 6,0, -98961, 98999, 39,1, -99000, 99025, 26,0, -99026, 99044, 19,1, -99045, 99078, 34,0, -99079, 99089, 11,1, -99090, 99125, 36,0, -99126, 99134, 9,1, -99135, 99171, 37,0, -99172, 99179, 8,1, -99180, 99217, 38,0, -99218, 99224, 7,1, -99225, 99254, 30,0, -99255, 99269, 15,1, -99270, 99299, 30,0, -99300, 99314, 15,1, -99315, 99344, 30,0, -99345, 99359, 15,1, -99360, 99396, 37,0, -99397, 99404, 8,1, -99405, 99442, 38,0, -99443, 99449, 7,1, -99450, 99487, 38,0, -99488, 99494, 7,1, -99495, 99532, 38,0, -99533, 99539, 7,1, -99540, 99578, 39,0, -99579, 99584, 6,1, -99585, 99625, 41,0, -99626, 99629, 4,1, -99630, 99670, 41,0, -99671, 99674, 4,1, -99675, 99717, 43,0, -99718, 99719, 2,1, -99720, 99762, 43,0, -99763, 99764, 2,1, -99765, 99806, 42,0, -99807, 99809, 3,1, -99810, 99852, 43,0, -99853, 99854, 2,1, -99855, 99897, 43,0, -99898, 99899, 2,1, -99900, 99942, 43,0, -99943, 99944, 2,1, -99945, 99987, 43,0, -99988, 99989, 2,1, -99990, 100032, 43,0, -100033, 100034, 2,1, -100035, 100077, 43,0, -100078, 100079, 2,1, -100080, 100121, 42,0, -100122, 100124, 3,1, -100125, 100165, 41,0, -100166, 100169, 4,1, -100170, 100212, 43,0, -100213, 100214, 2,1, -100215, 100256, 42,0, -100257, 100259, 3,1, -100260, 100301, 42,0, -100302, 100304, 3,1, -100305, 100346, 42,0, -100347, 100349, 3,1, -100350, 100393, 44,0, -100394, 100394, 1,1, -100395, 100437, 43,0, -100438, 100439, 2,1, -100440, 100480, 41,0, -100481, 100484, 4,1, -100485, 100525, 41,0, -100526, 100529, 4,1, -100530, 100573, 44,0, -100574, 100574, 1,1, -100575, 100618, 44,0, -100619, 100619, 1,1, -100620, 100708, 89,0, -100709, 100709, 1,1, -100710, 100752, 43,0, -100753, 100754, 2,1, -100755, 100798, 44,0, -100799, 100799, 1,1, -100800, 100852, 53,0, -100853, 100889, 37,1, -100890, 100892, 3,0, -100893, 100934, 42,1, -100935, 100938, 4,0, -100939, 100979, 41,1, -100980, 100984, 5,0, -100985, 101024, 40,1, -101025, 101053, 29,0, -101054, 101069, 16,1, -101070, 101102, 33,0, -101103, 101114, 12,1, -101115, 101150, 36,0, -101151, 101159, 9,1, -101160, 101195, 36,0, -101196, 101204, 9,1, -101205, 101242, 38,0, -101243, 101249, 7,1, -101250, 101283, 34,0, -101284, 101294, 11,1, -101295, 101328, 34,0, -101329, 101339, 11,1, -101340, 101373, 34,0, -101374, 101384, 11,1, -101385, 101421, 37,0, -101422, 101429, 8,1, -101430, 101467, 38,0, -101468, 101474, 7,1, -101475, 101512, 38,0, -101513, 101519, 7,1, -101520, 101556, 37,0, -101557, 101564, 8,1, -101565, 101603, 39,0, -101604, 101609, 6,1, -101610, 101649, 40,0, -101650, 101654, 5,1, -101655, 101695, 41,0, -101696, 101699, 4,1, -101700, 101741, 42,0, -101742, 101744, 3,1, -101745, 101786, 42,0, -101787, 101789, 3,1, -101790, 101831, 42,0, -101832, 101834, 3,1, -101835, 101877, 43,0, -101878, 101879, 2,1, -101880, 101921, 42,0, -101922, 101924, 3,1, -101925, 101966, 42,0, -101967, 101969, 3,1, -101970, 102010, 41,0, -102011, 102014, 4,1, -102015, 102055, 41,0, -102056, 102059, 4,1, -102060, 102100, 41,0, -102101, 102104, 4,1, -102105, 102147, 43,0, -102148, 102149, 2,1, -102150, 102192, 43,0, -102193, 102194, 2,1, -102195, 102235, 41,0, -102236, 102239, 4,1, -102240, 102281, 42,0, -102282, 102284, 3,1, -102285, 102323, 39,0, -102324, 102329, 6,1, -102330, 102372, 43,0, -102373, 102374, 2,1, -102375, 102418, 44,0, -102419, 102419, 1,1, -102420, 102463, 44,0, -102464, 102464, 1,1, -102465, 102504, 40,0, -102505, 102509, 5,1, -102510, 102552, 43,0, -102553, 102554, 2,1, -102555, 102598, 44,0, -102599, 102599, 1,1, -102600, 102733, 134,0, -102734, 102734, 1,1, -102735, 102777, 43,0, -102778, 102779, 2,1, -102780, 102820, 41,0, -102821, 102824, 4,1, -102825, 102875, 51,0, -102876, 102914, 39,1, -102915, 102916, 2,0, -102917, 102959, 43,1, -102960, 102961, 2,0, -102962, 103004, 43,1, -103005, 103011, 7,0, -103012, 103049, 38,1, -103050, 103084, 35,0, -103085, 103094, 10,1, -103095, 103130, 36,0, -103131, 103139, 9,1, -103140, 103175, 36,0, -103176, 103184, 9,1, -103185, 103220, 36,0, -103221, 103229, 9,1, -103230, 103267, 38,0, -103268, 103274, 7,1, -103275, 103309, 35,0, -103310, 103319, 10,1, -103320, 103354, 35,0, -103355, 103364, 10,1, -103365, 103399, 35,0, -103400, 103409, 10,1, -103410, 103447, 38,0, -103448, 103454, 7,1, -103455, 103493, 39,0, -103494, 103499, 6,1, -103500, 103538, 39,0, -103539, 103544, 6,1, -103545, 103580, 36,0, -103581, 103589, 9,1, -103590, 103626, 37,0, -103627, 103634, 8,1, -103635, 103674, 40,0, -103675, 103679, 5,1, -103680, 103720, 41,0, -103721, 103724, 4,1, -103725, 103766, 42,0, -103767, 103769, 3,1, -103770, 103810, 41,0, -103811, 103814, 4,1, -103815, 103857, 43,0, -103858, 103859, 2,1, -103860, 103902, 43,0, -103903, 103904, 2,1, -103905, 103947, 43,0, -103948, 103949, 2,1, -103950, 103991, 42,0, -103992, 103994, 3,1, -103995, 104034, 40,0, -104035, 104039, 5,1, -104040, 104079, 40,0, -104080, 104084, 5,1, -104085, 104125, 41,0, -104126, 104129, 4,1, -104130, 104172, 43,0, -104173, 104174, 2,1, -104175, 104216, 42,0, -104217, 104219, 3,1, -104220, 104261, 42,0, -104262, 104264, 3,1, -104265, 104304, 40,0, -104305, 104309, 5,1, -104310, 104351, 42,0, -104352, 104354, 3,1, -104355, 104397, 43,0, -104398, 104399, 2,1, -104400, 104443, 44,0, -104444, 104444, 1,1, -104445, 104486, 42,0, -104487, 104489, 3,1, -104490, 104532, 43,0, -104533, 104534, 2,1, -104535, 104578, 44,0, -104579, 104579, 1,1, -104580, 104668, 89,0, -104669, 104669, 1,1, -104670, 104757, 88,0, -104758, 104759, 2,1, -104760, 104801, 42,0, -104802, 104804, 3,1, -104805, 104845, 41,0, -104846, 104849, 4,1, -104850, 104893, 44,0, -104894, 104894, 1,1, -104895, 104906, 12,0, -104907, 105029, 123,1, -105030, 105046, 17,0, -105047, 105074, 28,1, -105075, 105111, 37,0, -105112, 105119, 8,1, -105120, 105156, 37,0, -105157, 105164, 8,1, -105165, 105200, 36,0, -105201, 105209, 9,1, -105210, 105245, 36,0, -105246, 105254, 9,1, -105255, 105292, 38,0, -105293, 105299, 7,1, -105300, 105333, 34,0, -105334, 105344, 11,1, -105345, 105378, 34,0, -105379, 105389, 11,1, -105390, 105423, 34,0, -105424, 105434, 11,1, -105435, 105472, 38,0, -105473, 105479, 7,1, -105480, 105518, 39,0, -105519, 105524, 6,1, -105525, 105563, 39,0, -105564, 105569, 6,1, -105570, 105606, 37,0, -105607, 105614, 8,1, -105615, 105649, 35,0, -105650, 105659, 10,1, -105660, 105699, 40,0, -105700, 105704, 5,1, -105705, 105745, 41,0, -105746, 105749, 4,1, -105750, 105790, 41,0, -105791, 105794, 4,1, -105795, 105835, 41,0, -105836, 105839, 4,1, -105840, 105882, 43,0, -105883, 105884, 2,1, -105885, 105927, 43,0, -105928, 105929, 2,1, -105930, 105971, 42,0, -105972, 105974, 3,1, -105975, 106016, 42,0, -106017, 106019, 3,1, -106020, 106058, 39,0, -106059, 106064, 6,1, -106065, 106103, 39,0, -106104, 106109, 6,1, -106110, 106150, 41,0, -106151, 106154, 4,1, -106155, 106196, 42,0, -106197, 106199, 3,1, -106200, 106241, 42,0, -106242, 106244, 3,1, -106245, 106286, 42,0, -106287, 106289, 3,1, -106290, 106330, 41,0, -106331, 106334, 4,1, -106335, 106375, 41,0, -106376, 106379, 4,1, -106380, 106421, 42,0, -106422, 106424, 3,1, -106425, 106468, 44,0, -106469, 106469, 1,1, -106470, 106512, 43,0, -106513, 106514, 2,1, -106515, 106557, 43,0, -106558, 106559, 2,1, -106560, 106602, 43,0, -106603, 106604, 2,1, -106605, 106648, 44,0, -106649, 106649, 1,1, -106650, 106693, 44,0, -106694, 106694, 1,1, -106695, 106738, 44,0, -106739, 106739, 1,1, -106740, 106782, 43,0, -106783, 106784, 2,1, -106785, 106827, 43,0, -106828, 106829, 2,1, -106830, 106872, 43,0, -106873, 106874, 2,1, -106875, 106916, 42,0, -106917, 106919, 3,1, -106920, 106961, 42,0, -106962, 106964, 3,1, -106965, 106971, 7,0, -106972, 107054, 83,1, -107055, 107087, 33,0, -107088, 107099, 12,1, -107100, 107136, 37,0, -107137, 107144, 8,1, -107145, 107181, 37,0, -107182, 107189, 8,1, -107190, 107225, 36,0, -107226, 107234, 9,1, -107235, 107269, 35,0, -107270, 107279, 10,1, -107280, 107317, 38,0, -107318, 107324, 7,1, -107325, 107335, 11,0, -107336, 107369, 34,1, -107370, 107380, 11,0, -107381, 107414, 34,1, -107415, 107425, 11,0, -107426, 107459, 34,1, -107460, 107496, 37,0, -107497, 107504, 8,1, -107505, 107543, 39,0, -107544, 107549, 6,1, -107550, 107588, 39,0, -107589, 107594, 6,1, -107595, 107632, 38,0, -107633, 107639, 7,1, -107640, 107673, 34,0, -107674, 107684, 11,1, -107685, 107722, 38,0, -107723, 107729, 7,1, -107730, 107769, 40,0, -107770, 107774, 5,1, -107775, 107816, 42,0, -107817, 107819, 3,1, -107820, 107861, 42,0, -107862, 107864, 3,1, -107865, 107907, 43,0, -107908, 107909, 2,1, -107910, 107951, 42,0, -107952, 107954, 3,1, -107955, 107995, 41,0, -107996, 107999, 4,1, -108000, 108039, 40,0, -108040, 108044, 5,1, -108045, 108084, 40,0, -108085, 108089, 5,1, -108090, 108128, 39,0, -108129, 108134, 6,1, -108135, 108175, 41,0, -108176, 108179, 4,1, -108180, 108221, 42,0, -108222, 108224, 3,1, -108225, 108266, 42,0, -108267, 108269, 3,1, -108270, 108309, 40,0, -108310, 108314, 5,1, -108315, 108355, 41,0, -108356, 108359, 4,1, -108360, 108400, 41,0, -108401, 108404, 4,1, -108405, 108446, 42,0, -108447, 108449, 3,1, -108450, 108493, 44,0, -108494, 108494, 1,1, -108495, 108537, 43,0, -108538, 108539, 2,1, -108540, 108583, 44,0, -108584, 108584, 1,1, -108585, 108626, 42,0, -108627, 108629, 3,1, -108630, 108673, 44,0, -108674, 108674, 1,1, -108675, 108717, 43,0, -108718, 108719, 2,1, -108720, 108761, 42,0, -108762, 108764, 3,1, -108765, 108806, 42,0, -108807, 108809, 3,1, -108810, 108850, 41,0, -108851, 108854, 4,1, -108855, 108894, 40,0, -108895, 108899, 5,1, -108900, 108939, 40,0, -108940, 108944, 5,1, -108945, 108986, 42,0, -108987, 108989, 3,1, -108990, 109001, 12,0, -109002, 109079, 78,1, -109080, 109114, 35,0, -109115, 109124, 10,1, -109125, 109160, 36,0, -109161, 109169, 9,1, -109170, 109205, 36,0, -109206, 109214, 9,1, -109215, 109250, 36,0, -109251, 109259, 9,1, -109260, 109294, 35,0, -109295, 109304, 10,1, -109305, 109342, 38,0, -109343, 109349, 7,1, -109350, 109351, 2,0, -109352, 109394, 43,1, -109395, 109396, 2,0, -109397, 109439, 43,1, -109440, 109441, 2,0, -109442, 109484, 43,1, -109485, 109521, 37,0, -109522, 109529, 8,1, -109530, 109568, 39,0, -109569, 109574, 6,1, -109575, 109613, 39,0, -109614, 109619, 6,1, -109620, 109658, 39,0, -109659, 109664, 6,1, -109665, 109699, 35,0, -109700, 109709, 10,1, -109710, 109749, 40,0, -109750, 109754, 5,1, -109755, 109794, 40,0, -109795, 109799, 5,1, -109800, 109841, 42,0, -109842, 109844, 3,1, -109845, 109887, 43,0, -109888, 109889, 2,1, -109890, 109931, 42,0, -109932, 109934, 3,1, -109935, 109975, 41,0, -109976, 109979, 4,1, -109980, 110020, 41,0, -110021, 110024, 4,1, -110025, 110063, 39,0, -110064, 110069, 6,1, -110070, 110110, 41,0, -110111, 110114, 4,1, -110115, 110154, 40,0, -110155, 110159, 5,1, -110160, 110200, 41,0, -110201, 110204, 4,1, -110205, 110245, 41,0, -110246, 110249, 4,1, -110250, 110290, 41,0, -110291, 110294, 4,1, -110295, 110333, 39,0, -110334, 110339, 6,1, -110340, 110379, 40,0, -110380, 110384, 5,1, -110385, 110426, 42,0, -110427, 110429, 3,1, -110430, 110471, 42,0, -110472, 110474, 3,1, -110475, 110518, 44,0, -110519, 110519, 1,1, -110520, 110562, 43,0, -110563, 110564, 2,1, -110565, 110608, 44,0, -110609, 110609, 1,1, -110610, 110651, 42,0, -110652, 110654, 3,1, -110655, 110698, 44,0, -110699, 110699, 1,1, -110700, 110742, 43,0, -110743, 110744, 2,1, -110745, 110788, 44,0, -110789, 110789, 1,1, -110790, 110831, 42,0, -110832, 110834, 3,1, -110835, 110874, 40,0, -110875, 110879, 5,1, -110880, 110918, 39,0, -110919, 110924, 6,1, -110925, 110961, 37,0, -110962, 110969, 8,1, -110970, 111008, 39,0, -111009, 111014, 6,1, -111015, 111021, 7,0, -111022, 111104, 83,1, -111105, 111138, 34,0, -111139, 111149, 11,1, -111150, 111185, 36,0, -111186, 111194, 9,1, -111195, 111230, 36,0, -111231, 111239, 9,1, -111240, 111275, 36,0, -111276, 111284, 9,1, -111285, 111319, 35,0, -111320, 111329, 10,1, -111330, 111367, 38,0, -111368, 111509, 142,1, -111510, 111546, 37,0, -111547, 111554, 8,1, -111555, 111592, 38,0, -111593, 111599, 7,1, -111600, 111638, 39,0, -111639, 111644, 6,1, -111645, 111684, 40,0, -111685, 111689, 5,1, -111690, 111726, 37,0, -111727, 111734, 8,1, -111735, 111774, 40,0, -111775, 111779, 5,1, -111780, 111820, 41,0, -111821, 111824, 4,1, -111825, 111867, 43,0, -111868, 111869, 2,1, -111870, 111912, 43,0, -111913, 111914, 2,1, -111915, 111956, 42,0, -111957, 111959, 3,1, -111960, 112000, 41,0, -112001, 112004, 4,1, -112005, 112044, 40,0, -112045, 112049, 5,1, -112050, 112088, 39,0, -112089, 112094, 6,1, -112095, 112133, 39,0, -112134, 112139, 6,1, -112140, 112178, 39,0, -112179, 112184, 6,1, -112185, 112223, 39,0, -112224, 112229, 6,1, -112230, 112268, 39,0, -112269, 112274, 6,1, -112275, 112313, 39,0, -112314, 112319, 6,1, -112320, 112358, 39,0, -112359, 112364, 6,1, -112365, 112403, 39,0, -112404, 112409, 6,1, -112410, 112450, 41,0, -112451, 112454, 4,1, -112455, 112495, 41,0, -112496, 112499, 4,1, -112500, 112542, 43,0, -112543, 112544, 2,1, -112545, 112587, 43,0, -112588, 112589, 2,1, -112590, 112632, 43,0, -112633, 112634, 2,1, -112635, 112676, 42,0, -112677, 112679, 3,1, -112680, 112722, 43,0, -112723, 112724, 2,1, -112725, 112767, 43,0, -112768, 112769, 2,1, -112770, 112813, 44,0, -112814, 112814, 1,1, -112815, 112853, 39,0, -112854, 112859, 6,1, -112860, 112898, 39,0, -112899, 112904, 6,1, -112905, 112942, 38,0, -112943, 112949, 7,1, -112950, 112985, 36,0, -112986, 112994, 9,1, -112995, 113029, 35,0, -113030, 113039, 10,1, -113040, 113041, 2,0, -113042, 113129, 88,1, -113130, 113162, 33,0, -113163, 113174, 12,1, -113175, 113209, 35,0, -113210, 113219, 10,1, -113220, 113255, 36,0, -113256, 113264, 9,1, -113265, 113300, 36,0, -113301, 113309, 9,1, -113310, 113343, 34,0, -113344, 113354, 11,1, -113355, 113392, 38,0, -113393, 113534, 142,1, -113535, 113572, 38,0, -113573, 113579, 7,1, -113580, 113618, 39,0, -113619, 113624, 6,1, -113625, 113664, 40,0, -113665, 113669, 5,1, -113670, 113710, 41,0, -113711, 113714, 4,1, -113715, 113753, 39,0, -113754, 113759, 6,1, -113760, 113799, 40,0, -113800, 113804, 5,1, -113805, 113845, 41,0, -113846, 113849, 4,1, -113850, 113892, 43,0, -113893, 113894, 2,1, -113895, 113936, 42,0, -113937, 113939, 3,1, -113940, 113980, 41,0, -113981, 113984, 4,1, -113985, 114024, 40,0, -114025, 114029, 5,1, -114030, 114068, 39,0, -114069, 114074, 6,1, -114075, 114112, 38,0, -114113, 114119, 7,1, -114120, 114156, 37,0, -114157, 114164, 8,1, -114165, 114203, 39,0, -114204, 114209, 6,1, -114210, 114248, 39,0, -114249, 114254, 6,1, -114255, 114293, 39,0, -114294, 114299, 6,1, -114300, 114338, 39,0, -114339, 114344, 6,1, -114345, 114383, 39,0, -114384, 114389, 6,1, -114390, 114428, 39,0, -114429, 114434, 6,1, -114435, 114474, 40,0, -114475, 114479, 5,1, -114480, 114520, 41,0, -114521, 114524, 4,1, -114525, 114565, 41,0, -114566, 114569, 4,1, -114570, 114612, 43,0, -114613, 114614, 2,1, -114615, 114656, 42,0, -114657, 114659, 3,1, -114660, 114700, 41,0, -114701, 114704, 4,1, -114705, 114745, 41,0, -114746, 114749, 4,1, -114750, 114791, 42,0, -114792, 114794, 3,1, -114795, 114836, 42,0, -114837, 114839, 3,1, -114840, 114878, 39,0, -114879, 114884, 6,1, -114885, 114922, 38,0, -114923, 114929, 7,1, -114930, 114966, 37,0, -114967, 114974, 8,1, -114975, 115009, 35,0, -115010, 115019, 10,1, -115020, 115052, 33,0, -115053, 115154, 102,1, -115155, 115185, 31,0, -115186, 115199, 14,1, -115200, 115234, 35,0, -115235, 115244, 10,1, -115245, 115280, 36,0, -115281, 115289, 9,1, -115290, 115325, 36,0, -115326, 115334, 9,1, -115335, 115368, 34,0, -115369, 115379, 11,1, -115380, 115417, 38,0, -115418, 115559, 142,1, -115560, 115594, 35,0, -115595, 115604, 10,1, -115605, 115642, 38,0, -115643, 115649, 7,1, -115650, 115689, 40,0, -115690, 115694, 5,1, -115695, 115734, 40,0, -115735, 115739, 5,1, -115740, 115778, 39,0, -115779, 115784, 6,1, -115785, 115823, 39,0, -115824, 115829, 6,1, -115830, 115870, 41,0, -115871, 115874, 4,1, -115875, 115915, 41,0, -115916, 115919, 4,1, -115920, 115960, 41,0, -115961, 115964, 4,1, -115965, 116005, 41,0, -116006, 116009, 4,1, -116010, 116048, 39,0, -116049, 116054, 6,1, -116055, 116092, 38,0, -116093, 116099, 7,1, -116100, 116136, 37,0, -116137, 116144, 8,1, -116145, 116181, 37,0, -116182, 116189, 8,1, -116190, 116226, 37,0, -116227, 116234, 8,1, -116235, 116272, 38,0, -116273, 116279, 7,1, -116280, 116318, 39,0, -116319, 116324, 6,1, -116325, 116363, 39,0, -116364, 116369, 6,1, -116370, 116408, 39,0, -116409, 116414, 6,1, -116415, 116453, 39,0, -116454, 116459, 6,1, -116460, 116499, 40,0, -116500, 116504, 5,1, -116505, 116545, 41,0, -116546, 116549, 4,1, -116550, 116590, 41,0, -116591, 116594, 4,1, -116595, 116636, 42,0, -116637, 116639, 3,1, -116640, 116680, 41,0, -116681, 116684, 4,1, -116685, 116724, 40,0, -116725, 116729, 5,1, -116730, 116769, 40,0, -116770, 116774, 5,1, -116775, 116815, 41,0, -116816, 116819, 4,1, -116820, 116860, 41,0, -116861, 116864, 4,1, -116865, 116903, 39,0, -116904, 116909, 6,1, -116910, 116945, 36,0, -116946, 116954, 9,1, -116955, 116990, 36,0, -116991, 116999, 9,1, -117000, 117031, 32,0, -117032, 117044, 13,1, -117045, 117055, 11,0, -117056, 117179, 124,1, -117180, 117207, 28,0, -117208, 117224, 17,1, -117225, 117259, 35,0, -117260, 117269, 10,1, -117270, 117304, 35,0, -117305, 117314, 10,1, -117315, 117350, 36,0, -117351, 117359, 9,1, -117360, 117393, 34,0, -117394, 117404, 11,1, -117405, 117442, 38,0, -117443, 117584, 142,1, -117585, 117617, 33,0, -117618, 117629, 12,1, -117630, 117667, 38,0, -117668, 117674, 7,1, -117675, 117715, 41,0, -117716, 117719, 4,1, -117720, 117760, 41,0, -117761, 117764, 4,1, -117765, 117803, 39,0, -117804, 117809, 6,1, -117810, 117848, 39,0, -117849, 117854, 6,1, -117855, 117892, 38,0, -117893, 117899, 7,1, -117900, 117939, 40,0, -117940, 117944, 5,1, -117945, 117984, 40,0, -117985, 117989, 5,1, -117990, 118029, 40,0, -118030, 118034, 5,1, -118035, 118073, 39,0, -118074, 118079, 6,1, -118080, 118116, 37,0, -118117, 118124, 8,1, -118125, 118161, 37,0, -118162, 118169, 8,1, -118170, 118206, 37,0, -118207, 118214, 8,1, -118215, 118251, 37,0, -118252, 118259, 8,1, -118260, 118296, 37,0, -118297, 118304, 8,1, -118305, 118343, 39,0, -118344, 118349, 6,1, -118350, 118388, 39,0, -118389, 118394, 6,1, -118395, 118433, 39,0, -118434, 118439, 6,1, -118440, 118478, 39,0, -118479, 118484, 6,1, -118485, 118524, 40,0, -118525, 118529, 5,1, -118530, 118569, 40,0, -118570, 118574, 5,1, -118575, 118614, 40,0, -118615, 118619, 5,1, -118620, 118660, 41,0, -118661, 118664, 4,1, -118665, 118704, 40,0, -118705, 118709, 5,1, -118710, 118749, 40,0, -118750, 118754, 5,1, -118755, 118793, 39,0, -118794, 118799, 6,1, -118800, 118840, 41,0, -118841, 118844, 4,1, -118845, 118884, 40,0, -118885, 118889, 5,1, -118890, 118928, 39,0, -118929, 118934, 6,1, -118935, 118967, 33,0, -118968, 118979, 12,1, -118980, 119011, 32,0, -119012, 119024, 13,1, -119025, 119037, 13,0, -119038, 119204, 167,1, -119205, 119220, 16,0, -119221, 119249, 29,1, -119250, 119277, 28,0, -119278, 119294, 17,1, -119295, 119329, 35,0, -119330, 119339, 10,1, -119340, 119375, 36,0, -119376, 119384, 9,1, -119385, 119418, 34,0, -119419, 119429, 11,1, -119430, 119467, 38,0, -119468, 119609, 142,1, -119610, 119640, 31,0, -119641, 119654, 14,1, -119655, 119692, 38,0, -119693, 119699, 7,1, -119700, 119740, 41,0, -119741, 119744, 4,1, -119745, 119786, 42,0, -119787, 119789, 3,1, -119790, 119828, 39,0, -119829, 119834, 6,1, -119835, 119872, 38,0, -119873, 119879, 7,1, -119880, 119916, 37,0, -119917, 119924, 8,1, -119925, 119963, 39,0, -119964, 119969, 6,1, -119970, 120008, 39,0, -120009, 120014, 6,1, -120015, 120053, 39,0, -120054, 120059, 6,1, -120060, 120098, 39,0, -120099, 120104, 6,1, -120105, 120140, 36,0, -120141, 120149, 9,1, -120150, 120185, 36,0, -120186, 120194, 9,1, -120195, 120230, 36,0, -120231, 120239, 9,1, -120240, 120275, 36,0, -120276, 120284, 9,1, -120285, 120321, 37,0, -120322, 120329, 8,1, -120330, 120368, 39,0, -120369, 120374, 6,1, -120375, 120413, 39,0, -120414, 120419, 6,1, -120420, 120458, 39,0, -120459, 120464, 6,1, -120465, 120503, 39,0, -120504, 120509, 6,1, -120510, 120548, 39,0, -120549, 120554, 6,1, -120555, 120594, 40,0, -120595, 120599, 5,1, -120600, 120639, 40,0, -120640, 120644, 5,1, -120645, 120684, 40,0, -120685, 120689, 5,1, -120690, 120729, 40,0, -120730, 120734, 5,1, -120735, 120773, 39,0, -120774, 120779, 6,1, -120780, 120817, 38,0, -120818, 120824, 7,1, -120825, 120863, 39,0, -120864, 120869, 6,1, -120870, 120908, 39,0, -120909, 120914, 6,1, -120915, 120950, 36,0, -120951, 120959, 9,1, -120960, 120992, 33,0, -120993, 121004, 12,1, -121005, 121031, 27,0, -121032, 121229, 198,1, -121230, 121246, 17,0, -121247, 121274, 28,1, -121275, 121291, 17,0, -121292, 121319, 28,1, -121320, 121352, 33,0, -121353, 121364, 12,1, -121365, 121399, 35,0, -121400, 121409, 10,1, -121410, 121443, 34,0, -121444, 121454, 11,1, -121455, 121492, 38,0, -121493, 121634, 142,1, -121635, 121665, 31,0, -121666, 121679, 14,1, -121680, 121717, 38,0, -121718, 121724, 7,1, -121725, 121765, 41,0, -121766, 121769, 4,1, -121770, 121810, 41,0, -121811, 121814, 4,1, -121815, 121855, 41,0, -121856, 121859, 4,1, -121860, 121895, 36,0, -121896, 121904, 9,1, -121905, 121941, 37,0, -121942, 121949, 8,1, -121950, 121986, 37,0, -121987, 121994, 8,1, -121995, 122034, 40,0, -122035, 122039, 5,1, -122040, 122078, 39,0, -122079, 122084, 6,1, -122085, 122122, 38,0, -122123, 122129, 7,1, -122130, 122165, 36,0, -122166, 122174, 9,1, -122175, 122209, 35,0, -122210, 122219, 10,1, -122220, 122254, 35,0, -122255, 122264, 10,1, -122265, 122299, 35,0, -122300, 122309, 10,1, -122310, 122345, 36,0, -122346, 122354, 9,1, -122355, 122392, 38,0, -122393, 122399, 7,1, -122400, 122437, 38,0, -122438, 122444, 7,1, -122445, 122482, 38,0, -122483, 122489, 7,1, -122490, 122528, 39,0, -122529, 122534, 6,1, -122535, 122572, 38,0, -122573, 122579, 7,1, -122580, 122617, 38,0, -122618, 122624, 7,1, -122625, 122663, 39,0, -122664, 122669, 6,1, -122670, 122707, 38,0, -122708, 122714, 7,1, -122715, 122752, 38,0, -122753, 122759, 7,1, -122760, 122797, 38,0, -122798, 122804, 7,1, -122805, 122842, 38,0, -122843, 122849, 7,1, -122850, 122886, 37,0, -122887, 122894, 8,1, -122895, 122921, 27,0, -122922, 123254, 333,1, -123255, 123271, 17,0, -123272, 123299, 28,1, -123300, 123316, 17,0, -123317, 123344, 28,1, -123345, 123375, 31,0, -123376, 123389, 14,1, -123390, 123424, 35,0, -123425, 123434, 10,1, -123435, 123468, 34,0, -123469, 123479, 11,1, -123480, 123517, 38,0, -123518, 123659, 142,1, -123660, 123683, 24,0, -123684, 123704, 21,1, -123705, 123743, 39,0, -123744, 123749, 6,1, -123750, 123790, 41,0, -123791, 123794, 4,1, -123795, 123835, 41,0, -123836, 123839, 4,1, -123840, 123880, 41,0, -123881, 123884, 4,1, -123885, 123919, 35,0, -123920, 123929, 10,1, -123930, 123963, 34,0, -123964, 123974, 11,1, -123975, 124010, 36,0, -124011, 124019, 9,1, -124020, 124056, 37,0, -124057, 124064, 8,1, -124065, 124102, 38,0, -124103, 124109, 7,1, -124110, 124146, 37,0, -124147, 124154, 8,1, -124155, 124189, 35,0, -124190, 124199, 10,1, -124200, 124234, 35,0, -124235, 124244, 10,1, -124245, 124278, 34,0, -124279, 124289, 11,1, -124290, 124324, 35,0, -124325, 124334, 10,1, -124335, 124369, 35,0, -124370, 124379, 10,1, -124380, 124417, 38,0, -124418, 124424, 7,1, -124425, 124462, 38,0, -124463, 124469, 7,1, -124470, 124507, 38,0, -124508, 124514, 7,1, -124515, 124551, 37,0, -124552, 124559, 8,1, -124560, 124597, 38,0, -124598, 124604, 7,1, -124605, 124642, 38,0, -124643, 124649, 7,1, -124650, 124687, 38,0, -124688, 124694, 7,1, -124695, 124731, 37,0, -124732, 124739, 8,1, -124740, 124776, 37,0, -124777, 124784, 8,1, -124785, 124822, 38,0, -124823, 124829, 7,1, -124830, 124867, 38,0, -124868, 124874, 7,1, -124875, 124901, 27,0, -124902, 124919, 18,1, -124920, 124925, 6,0, -124926, 125234, 309,1, -125235, 125240, 6,0, -125241, 125279, 39,1, -125280, 125294, 15,0, -125295, 125324, 30,1, -125325, 125341, 17,0, -125342, 125369, 28,1, -125370, 125397, 28,0, -125398, 125414, 17,1, -125415, 125449, 35,0, -125450, 125459, 10,1, -125460, 125492, 33,0, -125493, 125504, 12,1, -125505, 125542, 38,0, -125543, 125684, 142,1, -125685, 125705, 21,0, -125706, 125729, 24,1, -125730, 125767, 38,0, -125768, 125774, 7,1, -125775, 125815, 41,0, -125816, 125819, 4,1, -125820, 125860, 41,0, -125861, 125864, 4,1, -125865, 125905, 41,0, -125906, 125909, 4,1, -125910, 125946, 37,0, -125947, 125954, 8,1, -125955, 125989, 35,0, -125990, 125999, 10,1, -126000, 126032, 33,0, -126033, 126044, 12,1, -126045, 126078, 34,0, -126079, 126089, 11,1, -126090, 126123, 34,0, -126124, 126134, 11,1, -126135, 126168, 34,0, -126169, 126179, 11,1, -126180, 126212, 33,0, -126213, 126224, 12,1, -126225, 126259, 35,0, -126260, 126269, 10,1, -126270, 126306, 37,0, -126307, 126314, 8,1, -126315, 126349, 35,0, -126350, 126359, 10,1, -126360, 126394, 35,0, -126395, 126404, 10,1, -126405, 126440, 36,0, -126441, 126449, 9,1, -126450, 126486, 37,0, -126487, 126494, 8,1, -126495, 126531, 37,0, -126532, 126539, 8,1, -126540, 126576, 37,0, -126577, 126584, 8,1, -126585, 126622, 38,0, -126623, 126629, 7,1, -126630, 126666, 37,0, -126667, 126674, 8,1, -126675, 126712, 38,0, -126713, 126719, 7,1, -126720, 126755, 36,0, -126756, 126764, 9,1, -126765, 126800, 36,0, -126801, 126809, 9,1, -126810, 126845, 36,0, -126846, 126854, 9,1, -126855, 126874, 20,0, -126875, 127259, 385,1, -127260, 127269, 10,0, -127270, 127304, 35,1, -127305, 127314, 10,0, -127315, 127349, 35,1, -127350, 127365, 16,0, -127366, 127394, 29,1, -127395, 127413, 19,0, -127414, 127439, 26,1, -127440, 127471, 32,0, -127472, 127484, 13,1, -127485, 127516, 32,0, -127517, 127529, 13,1, -127530, 127567, 38,0, -127568, 127709, 142,1, -127710, 127737, 28,0, -127738, 127754, 17,1, -127755, 127792, 38,0, -127793, 127799, 7,1, -127800, 127840, 41,0, -127841, 127844, 4,1, -127845, 127885, 41,0, -127886, 127889, 4,1, -127890, 127931, 42,0, -127932, 127934, 3,1, -127935, 127972, 38,0, -127973, 127979, 7,1, -127980, 128015, 36,0, -128016, 128024, 9,1, -128025, 128059, 35,0, -128060, 128069, 10,1, -128070, 128104, 35,0, -128105, 128114, 10,1, -128115, 128150, 36,0, -128151, 128159, 9,1, -128160, 128194, 35,0, -128195, 128204, 10,1, -128205, 128238, 34,0, -128239, 128249, 11,1, -128250, 128285, 36,0, -128286, 128294, 9,1, -128295, 128330, 36,0, -128331, 128339, 9,1, -128340, 128376, 37,0, -128377, 128384, 8,1, -128385, 128420, 36,0, -128421, 128429, 9,1, -128430, 128465, 36,0, -128466, 128474, 9,1, -128475, 128510, 36,0, -128511, 128519, 9,1, -128520, 128555, 36,0, -128556, 128564, 9,1, -128565, 128600, 36,0, -128601, 128609, 9,1, -128610, 128646, 37,0, -128647, 128654, 8,1, -128655, 128691, 37,0, -128692, 128699, 8,1, -128700, 128737, 38,0, -128738, 128744, 7,1, -128745, 128782, 38,0, -128783, 128789, 7,1, -128790, 128826, 37,0, -128827, 128834, 8,1, -128835, 128866, 32,0, -128867, 129284, 418,1, -129285, 129291, 7,0, -129292, 129329, 38,1, -129330, 129336, 7,0, -129337, 129374, 38,1, -129375, 129389, 15,0, -129390, 129419, 30,1, -129420, 129436, 17,0, -129437, 129464, 28,1, -129465, 129495, 31,0, -129496, 129509, 14,1, -129510, 129541, 32,0, -129542, 129554, 13,1, -129555, 129592, 38,0, -129593, 129734, 142,1, -129735, 129760, 26,0, -129761, 129779, 19,1, -129780, 129818, 39,0, -129819, 129824, 6,1, -129825, 129865, 41,0, -129866, 129869, 4,1, -129870, 129911, 42,0, -129912, 129914, 3,1, -129915, 129956, 42,0, -129957, 129959, 3,1, -129960, 129998, 39,0, -129999, 130004, 6,1, -130005, 130042, 38,0, -130043, 130049, 7,1, -130050, 130087, 38,0, -130088, 130094, 7,1, -130095, 130131, 37,0, -130132, 130139, 8,1, -130140, 130176, 37,0, -130177, 130184, 8,1, -130185, 130220, 36,0, -130221, 130229, 9,1, -130230, 130264, 35,0, -130265, 130274, 10,1, -130275, 130310, 36,0, -130311, 130319, 9,1, -130320, 130356, 37,0, -130357, 130364, 8,1, -130365, 130401, 37,0, -130402, 130409, 8,1, -130410, 130447, 38,0, -130448, 130454, 7,1, -130455, 130493, 39,0, -130494, 130499, 6,1, -130500, 130537, 38,0, -130538, 130544, 7,1, -130545, 130579, 35,0, -130580, 130589, 10,1, -130590, 130624, 35,0, -130625, 130634, 10,1, -130635, 130670, 36,0, -130671, 130679, 9,1, -130680, 130714, 35,0, -130715, 130724, 10,1, -130725, 130759, 35,0, -130760, 130769, 10,1, -130770, 130807, 38,0, -130808, 130814, 7,1, -130815, 130844, 30,0, -130845, 131309, 465,1, -131310, 131315, 6,0, -131316, 131354, 39,1, -131355, 131367, 13,0, -131368, 131399, 32,1, -131400, 131415, 16,0, -131416, 131444, 29,1, -131445, 131460, 16,0, -131461, 131489, 29,1, -131490, 131520, 31,0, -131521, 131534, 14,1, -131535, 131566, 32,0, -131567, 131579, 13,1, -131580, 131617, 38,0, -131618, 131759, 142,1, -131760, 131771, 12,0, -131772, 131804, 33,1, -131805, 131843, 39,0, -131844, 131849, 6,1, -131850, 131889, 40,0, -131890, 131894, 5,1, -131895, 131936, 42,0, -131937, 131939, 3,1, -131940, 131980, 41,0, -131981, 131984, 4,1, -131985, 132023, 39,0, -132024, 132029, 6,1, -132030, 132068, 39,0, -132069, 132074, 6,1, -132075, 132112, 38,0, -132113, 132119, 7,1, -132120, 132158, 39,0, -132159, 132164, 6,1, -132165, 132203, 39,0, -132204, 132209, 6,1, -132210, 132245, 36,0, -132246, 132254, 9,1, -132255, 132289, 35,0, -132290, 132299, 10,1, -132300, 132335, 36,0, -132336, 132344, 9,1, -132345, 132381, 37,0, -132382, 132389, 8,1, -132390, 132426, 37,0, -132427, 132434, 8,1, -132435, 132471, 37,0, -132472, 132479, 8,1, -132480, 132517, 38,0, -132518, 132524, 7,1, -132525, 132562, 38,0, -132563, 132569, 7,1, -132570, 132604, 35,0, -132605, 132614, 10,1, -132615, 132649, 35,0, -132650, 132659, 10,1, -132660, 132694, 35,0, -132695, 132704, 10,1, -132705, 132741, 37,0, -132742, 132749, 8,1, -132750, 132789, 40,0, -132790, 132794, 5,1, -132795, 132834, 40,0, -132835, 132839, 5,1, -132840, 132841, 2,0, -132842, 132884, 43,1, -132885, 132886, 2,0, -132887, 133334, 448,1, -133335, 133340, 6,0, -133341, 133379, 39,1, -133380, 133390, 11,0, -133391, 133424, 34,1, -133425, 133437, 13,0, -133438, 133469, 32,1, -133470, 133487, 18,0, -133488, 133514, 27,1, -133515, 133543, 29,0, -133544, 133559, 16,1, -133560, 133591, 32,0, -133592, 133604, 13,1, -133605, 133642, 38,0, -133643, 133784, 142,1, -133785, 133801, 17,0, -133802, 133829, 28,1, -133830, 133868, 39,0, -133869, 133874, 6,1, -133875, 133914, 40,0, -133915, 133919, 5,1, -133920, 133961, 42,0, -133962, 133964, 3,1, -133965, 134006, 42,0, -134007, 134009, 3,1, -134010, 134051, 42,0, -134052, 134054, 3,1, -134055, 134094, 40,0, -134095, 134099, 5,1, -134100, 134137, 38,0, -134138, 134144, 7,1, -134145, 134182, 38,0, -134183, 134189, 7,1, -134190, 134226, 37,0, -134227, 134234, 8,1, -134235, 134270, 36,0, -134271, 134279, 9,1, -134280, 134315, 36,0, -134316, 134324, 9,1, -134325, 134360, 36,0, -134361, 134369, 9,1, -134370, 134406, 37,0, -134407, 134414, 8,1, -134415, 134452, 38,0, -134453, 134459, 7,1, -134460, 134496, 37,0, -134497, 134504, 8,1, -134505, 134541, 37,0, -134542, 134549, 8,1, -134550, 134586, 37,0, -134587, 134594, 8,1, -134595, 134629, 35,0, -134630, 134639, 10,1, -134640, 134674, 35,0, -134675, 134684, 10,1, -134685, 134720, 36,0, -134721, 134729, 9,1, -134730, 134768, 39,0, -134769, 134774, 6,1, -134775, 134818, 44,0, -134819, 134819, 1,1, -134820, 134849, 30,0, -134850, 134864, 15,1, -134865, 134898, 34,0, -134899, 134909, 11,1, -134910, 134943, 34,0, -134944, 134954, 11,1, -134955, 134961, 7,0, -134962, 135269, 308,1, -135270, 135276, 7,0, -135277, 135314, 38,1, -135315, 135321, 7,0, -135322, 135359, 38,1, -135360, 135361, 2,0, -135362, 135404, 43,1, -135405, 135419, 15,0, -135420, 135449, 30,1, -135450, 135464, 15,0, -135465, 135494, 30,1, -135495, 135510, 16,0, -135511, 135539, 29,1, -135540, 135567, 28,0, -135568, 135584, 17,1, -135585, 135615, 31,0, -135616, 135629, 14,1, -135630, 135667, 38,0, -135668, 135674, 7,1, -135675, 135691, 17,0, -135692, 135719, 28,1, -135720, 135736, 17,0, -135737, 135764, 28,1, -135765, 135781, 17,0, -135782, 135809, 28,1, -135810, 135827, 18,0, -135828, 135854, 27,1, -135855, 135893, 39,0, -135894, 135899, 6,1, -135900, 135939, 40,0, -135940, 135944, 5,1, -135945, 135985, 41,0, -135986, 135989, 4,1, -135990, 136031, 42,0, -136032, 136034, 3,1, -136035, 136076, 42,0, -136077, 136079, 3,1, -136080, 136119, 40,0, -136120, 136124, 5,1, -136125, 136162, 38,0, -136163, 136169, 7,1, -136170, 136207, 38,0, -136208, 136214, 7,1, -136215, 136250, 36,0, -136251, 136259, 9,1, -136260, 136296, 37,0, -136297, 136304, 8,1, -136305, 136340, 36,0, -136341, 136349, 9,1, -136350, 136386, 37,0, -136387, 136394, 8,1, -136395, 136432, 38,0, -136433, 136439, 7,1, -136440, 136477, 38,0, -136478, 136484, 7,1, -136485, 136522, 38,0, -136523, 136529, 7,1, -136530, 136566, 37,0, -136567, 136574, 8,1, -136575, 136611, 37,0, -136612, 136619, 8,1, -136620, 136655, 36,0, -136656, 136664, 9,1, -136665, 136698, 34,0, -136699, 136709, 11,1, -136710, 136745, 36,0, -136746, 136754, 9,1, -136755, 136791, 37,0, -136792, 136799, 8,1, -136800, 136841, 42,0, -136842, 136844, 3,1, -136845, 136871, 27,0, -136872, 136889, 18,1, -136890, 136925, 36,0, -136926, 136934, 9,1, -136935, 136970, 36,0, -136971, 136979, 9,1, -136980, 136996, 17,0, -136997, 137294, 298,1, -137295, 137303, 9,0, -137304, 137339, 36,1, -137340, 137349, 10,0, -137350, 137429, 80,1, -137430, 137442, 13,0, -137443, 137474, 32,1, -137475, 137490, 16,0, -137491, 137519, 29,1, -137520, 137535, 16,0, -137536, 137564, 29,1, -137565, 137591, 27,0, -137592, 137609, 18,1, -137610, 137639, 30,0, -137640, 137654, 15,1, -137655, 137692, 38,0, -137693, 137699, 7,1, -137700, 137716, 17,0, -137717, 137744, 28,1, -137745, 137761, 17,0, -137762, 137789, 28,1, -137790, 137806, 17,0, -137807, 137834, 28,1, -137835, 137851, 17,0, -137852, 137879, 28,1, -137880, 137916, 37,0, -137917, 137924, 8,1, -137925, 137963, 39,0, -137964, 137969, 6,1, -137970, 138010, 41,0, -138011, 138014, 4,1, -138015, 138057, 43,0, -138058, 138059, 2,1, -138060, 138101, 42,0, -138102, 138104, 3,1, -138105, 138144, 40,0, -138145, 138149, 5,1, -138150, 138188, 39,0, -138189, 138194, 6,1, -138195, 138231, 37,0, -138232, 138239, 8,1, -138240, 138276, 37,0, -138277, 138284, 8,1, -138285, 138321, 37,0, -138322, 138329, 8,1, -138330, 138365, 36,0, -138366, 138374, 9,1, -138375, 138411, 37,0, -138412, 138419, 8,1, -138420, 138457, 38,0, -138458, 138464, 7,1, -138465, 138503, 39,0, -138504, 138509, 6,1, -138510, 138548, 39,0, -138549, 138554, 6,1, -138555, 138593, 39,0, -138594, 138599, 6,1, -138600, 138636, 37,0, -138637, 138644, 8,1, -138645, 138679, 35,0, -138680, 138689, 10,1, -138690, 138723, 34,0, -138724, 138734, 11,1, -138735, 138769, 35,0, -138770, 138779, 10,1, -138780, 138819, 40,0, -138820, 138824, 5,1, -138825, 138864, 40,0, -138865, 138869, 5,1, -138870, 138908, 39,0, -138909, 138914, 6,1, -138915, 138952, 38,0, -138953, 138959, 7,1, -138960, 138995, 36,0, -138996, 139004, 9,1, -139005, 139036, 32,0, -139037, 139274, 238,1, -139275, 139280, 6,0, -139281, 139319, 39,1, -139320, 139331, 12,0, -139332, 139364, 33,1, -139365, 139376, 12,0, -139377, 139409, 33,1, -139410, 139416, 7,0, -139417, 139454, 38,1, -139455, 139464, 10,0, -139465, 139499, 35,1, -139500, 139516, 17,0, -139517, 139544, 28,1, -139545, 139560, 16,0, -139561, 139589, 29,1, -139590, 139616, 27,0, -139617, 139634, 18,1, -139635, 139665, 31,0, -139666, 139679, 14,1, -139680, 139717, 38,0, -139718, 139724, 7,1, -139725, 139741, 17,0, -139742, 139769, 28,1, -139770, 139786, 17,0, -139787, 139814, 28,1, -139815, 139831, 17,0, -139832, 139859, 28,1, -139860, 139876, 17,0, -139877, 139904, 28,1, -139905, 139941, 37,0, -139942, 139949, 8,1, -139950, 139988, 39,0, -139989, 139994, 6,1, -139995, 140035, 41,0, -140036, 140039, 4,1, -140040, 140081, 42,0, -140082, 140084, 3,1, -140085, 140125, 41,0, -140126, 140129, 4,1, -140130, 140168, 39,0, -140169, 140174, 6,1, -140175, 140212, 38,0, -140213, 140219, 7,1, -140220, 140257, 38,0, -140258, 140264, 7,1, -140265, 140302, 38,0, -140303, 140309, 7,1, -140310, 140346, 37,0, -140347, 140354, 8,1, -140355, 140391, 37,0, -140392, 140399, 8,1, -140400, 140436, 37,0, -140437, 140444, 8,1, -140445, 140483, 39,0, -140484, 140489, 6,1, -140490, 140528, 39,0, -140529, 140534, 6,1, -140535, 140574, 40,0, -140575, 140579, 5,1, -140580, 140618, 39,0, -140619, 140624, 6,1, -140625, 140663, 39,0, -140664, 140669, 6,1, -140670, 140707, 38,0, -140708, 140714, 7,1, -140715, 140749, 35,0, -140750, 140759, 10,1, -140760, 140795, 36,0, -140796, 140804, 9,1, -140805, 140836, 32,0, -140837, 140849, 13,1, -140850, 140876, 27,0, -140877, 140894, 18,1, -140895, 140935, 41,0, -140936, 140939, 4,1, -140940, 140978, 39,0, -140979, 140984, 6,1, -140985, 141018, 34,0, -141019, 141029, 11,1, -141030, 141051, 22,0, -141052, 141299, 248,1, -141300, 141307, 8,0, -141308, 141344, 37,1, -141345, 141356, 12,0, -141357, 141389, 33,1, -141390, 141401, 12,0, -141402, 141434, 33,1, -141435, 141448, 14,0, -141449, 141479, 31,1, -141480, 141487, 8,0, -141488, 141524, 37,1, -141525, 141543, 19,0, -141544, 141569, 26,1, -141570, 141585, 16,0, -141586, 141614, 29,1, -141615, 141641, 27,0, -141642, 141659, 18,1, -141660, 141690, 31,0, -141691, 141704, 14,1, -141705, 141742, 38,0, -141743, 141749, 7,1, -141750, 141766, 17,0, -141767, 141794, 28,1, -141795, 141811, 17,0, -141812, 141839, 28,1, -141840, 141856, 17,0, -141857, 141884, 28,1, -141885, 141901, 17,0, -141902, 141929, 28,1, -141930, 141965, 36,0, -141966, 141974, 9,1, -141975, 142013, 39,0, -142014, 142019, 6,1, -142020, 142060, 41,0, -142061, 142064, 4,1, -142065, 142106, 42,0, -142107, 142109, 3,1, -142110, 142149, 40,0, -142150, 142154, 5,1, -142155, 142192, 38,0, -142193, 142199, 7,1, -142200, 142235, 36,0, -142236, 142244, 9,1, -142245, 142282, 38,0, -142283, 142289, 7,1, -142290, 142327, 38,0, -142328, 142334, 7,1, -142335, 142372, 38,0, -142373, 142379, 7,1, -142380, 142416, 37,0, -142417, 142424, 8,1, -142425, 142463, 39,0, -142464, 142469, 6,1, -142470, 142508, 39,0, -142509, 142514, 6,1, -142515, 142553, 39,0, -142554, 142559, 6,1, -142560, 142600, 41,0, -142601, 142604, 4,1, -142605, 142645, 41,0, -142646, 142649, 4,1, -142650, 142688, 39,0, -142689, 142694, 6,1, -142695, 142732, 38,0, -142733, 142739, 7,1, -142740, 142775, 36,0, -142776, 142784, 9,1, -142785, 142820, 36,0, -142821, 142829, 9,1, -142830, 142864, 35,0, -142865, 142874, 10,1, -142875, 142910, 36,0, -142911, 142919, 9,1, -142920, 143002, 83,0, -143003, 143009, 7,1, -143010, 143037, 28,0, -143038, 143054, 17,1, -143055, 143076, 22,0, -143077, 143099, 23,1, -143100, 143116, 17,0, -143117, 143279, 163,1, -143280, 143281, 2,0, -143282, 143324, 43,1, -143325, 143332, 8,0, -143333, 143369, 37,1, -143370, 143379, 10,0, -143380, 143414, 35,1, -143415, 143427, 13,0, -143428, 143459, 32,1, -143460, 143475, 16,0, -143476, 143504, 29,1, -143505, 143510, 6,0, -143511, 143549, 39,1, -143550, 143569, 20,0, -143570, 143594, 25,1, -143595, 143609, 15,0, -143610, 143639, 30,1, -143640, 143666, 27,0, -143667, 143684, 18,1, -143685, 143715, 31,0, -143716, 143729, 14,1, -143730, 143767, 38,0, -143768, 143774, 7,1, -143775, 143791, 17,0, -143792, 143819, 28,1, -143820, 143836, 17,0, -143837, 143864, 28,1, -143865, 143881, 17,0, -143882, 143909, 28,1, -143910, 143924, 15,0, -143925, 143954, 30,1, -143955, 143990, 36,0, -143991, 143999, 9,1, -144000, 144036, 37,0, -144037, 144044, 8,1, -144045, 144084, 40,0, -144085, 144089, 5,1, -144090, 144130, 41,0, -144131, 144134, 4,1, -144135, 144172, 38,0, -144173, 144179, 7,1, -144180, 144216, 37,0, -144217, 144224, 8,1, -144225, 144260, 36,0, -144261, 144269, 9,1, -144270, 144307, 38,0, -144308, 144314, 7,1, -144315, 144353, 39,0, -144354, 144359, 6,1, -144360, 144399, 40,0, -144400, 144404, 5,1, -144405, 144443, 39,0, -144444, 144449, 6,1, -144450, 144488, 39,0, -144489, 144494, 6,1, -144495, 144535, 41,0, -144536, 144539, 4,1, -144540, 144580, 41,0, -144581, 144584, 4,1, -144585, 144625, 41,0, -144626, 144629, 4,1, -144630, 144655, 26,0, -144656, 144764, 109,1, -144765, 144792, 28,0, -144793, 144809, 17,1, -144810, 144845, 36,0, -144846, 144854, 9,1, -144855, 144889, 35,0, -144890, 144899, 10,1, -144900, 144936, 37,0, -144937, 144944, 8,1, -144945, 144987, 43,0, -144988, 144989, 2,1, -144990, 145029, 40,0, -145030, 145034, 5,1, -145035, 145076, 42,0, -145077, 145079, 3,1, -145080, 145121, 42,0, -145122, 145124, 3,1, -145125, 145164, 40,0, -145165, 145169, 5,1, -145170, 145201, 32,0, -145202, 145214, 13,1, -145215, 145220, 6,0, -145221, 145349, 129,1, -145350, 145356, 7,0, -145357, 145394, 38,1, -145395, 145402, 8,0, -145403, 145439, 37,1, -145440, 145454, 15,0, -145455, 145484, 30,1, -145485, 145495, 11,0, -145496, 145529, 34,1, -145530, 145537, 8,0, -145538, 145574, 37,1, -145575, 145595, 21,0, -145596, 145619, 24,1, -145620, 145636, 17,0, -145637, 145664, 28,1, -145665, 145689, 25,0, -145690, 145709, 20,1, -145710, 145740, 31,0, -145741, 145754, 14,1, -145755, 145792, 38,0, -145793, 145799, 7,1, -145800, 145816, 17,0, -145817, 145844, 28,1, -145845, 145861, 17,0, -145862, 145889, 28,1, -145890, 145906, 17,0, -145907, 145934, 28,1, -145935, 145936, 2,0, -145937, 145979, 43,1, -145980, 146000, 21,0, -146001, 146024, 24,1, -146025, 146060, 36,0, -146061, 146069, 9,1, -146070, 146108, 39,0, -146109, 146114, 6,1, -146115, 146153, 39,0, -146154, 146159, 6,1, -146160, 146197, 38,0, -146198, 146204, 7,1, -146205, 146211, 7,0, -146212, 146249, 38,1, -146250, 146251, 2,0, -146252, 146294, 43,1, -146295, 146309, 15,0, -146310, 146339, 30,1, -146340, 146377, 38,0, -146378, 146384, 7,1, -146385, 146425, 41,0, -146426, 146429, 4,1, -146430, 146473, 44,0, -146474, 146474, 1,1, -146475, 146609, 135,0, -146610, 146879, 270,1, -146880, 146909, 30,0, -146910, 146924, 15,1, -146925, 146962, 38,0, -146963, 146969, 7,1, -146970, 147007, 38,0, -147008, 147014, 7,1, -147015, 147056, 42,0, -147057, 147059, 3,1, -147060, 147101, 42,0, -147102, 147104, 3,1, -147105, 147146, 42,0, -147147, 147149, 3,1, -147150, 147191, 42,0, -147192, 147194, 3,1, -147195, 147232, 38,0, -147233, 147239, 7,1, -147240, 147255, 16,0, -147256, 147284, 29,1, -147285, 147286, 2,0, -147287, 147419, 133,1, -147420, 147421, 2,0, -147422, 147464, 43,1, -147465, 147479, 15,0, -147480, 147509, 30,1, -147510, 147517, 8,0, -147518, 147554, 37,1, -147555, 147582, 28,0, -147583, 147599, 17,1, -147600, 147627, 28,0, -147628, 147644, 17,1, -147645, 147663, 19,0, -147664, 147689, 26,1, -147690, 147708, 19,0, -147709, 147734, 26,1, -147735, 147765, 31,0, -147766, 147779, 14,1, -147780, 147817, 38,0, -147818, 147824, 7,1, -147825, 147841, 17,0, -147842, 147869, 28,1, -147870, 147886, 17,0, -147887, 147914, 28,1, -147915, 147931, 17,0, -147932, 147959, 28,1, -147960, 147961, 2,0, -147962, 148004, 43,1, -148005, 148025, 21,0, -148026, 148049, 24,1, -148050, 148083, 34,0, -148084, 148094, 11,1, -148095, 148132, 38,0, -148133, 148139, 7,1, -148140, 148177, 38,0, -148178, 148184, 7,1, -148185, 148212, 28,0, -148213, 148229, 17,1, -148230, 148238, 9,0, -148239, 148274, 36,1, -148275, 148282, 8,0, -148283, 148904, 622,1, -148905, 148932, 28,0, -148933, 148949, 17,1, -148950, 148990, 41,0, -148991, 148994, 4,1, -148995, 149127, 133,0, -149128, 149129, 2,1, -149130, 149171, 42,0, -149172, 149174, 3,1, -149175, 149216, 42,0, -149217, 149219, 3,1, -149220, 149260, 41,0, -149261, 149264, 4,1, -149265, 149300, 36,0, -149301, 149309, 9,1, -149310, 149321, 12,0, -149322, 149354, 33,1, -149355, 149368, 14,0, -149369, 149444, 76,1, -149445, 149457, 13,0, -149458, 149489, 32,1, -149490, 149508, 19,0, -149509, 149534, 26,1, -149535, 149555, 21,0, -149556, 149579, 24,1, -149580, 149608, 29,0, -149609, 149624, 16,1, -149625, 149654, 30,0, -149655, 149669, 15,1, -149670, 149686, 17,0, -149687, 149714, 28,1, -149715, 149731, 17,0, -149732, 149759, 28,1, -149760, 149789, 30,0, -149790, 149804, 15,1, -149805, 149842, 38,0, -149843, 149849, 7,1, -149850, 149866, 17,0, -149867, 149894, 28,1, -149895, 149911, 17,0, -149912, 149939, 28,1, -149940, 149956, 17,0, -149957, 149984, 28,1, -149985, 150001, 17,0, -150002, 150029, 28,1, -150030, 150038, 9,0, -150039, 150074, 36,1, -150075, 150093, 19,0, -150094, 150119, 26,1, -150120, 150157, 38,0, -150158, 150164, 7,1, -150165, 150202, 38,0, -150203, 150209, 7,1, -150210, 150248, 39,0, -150249, 150254, 6,1, -150255, 150267, 13,0, -150268, 150299, 32,1, -150300, 150308, 9,0, -150309, 150344, 36,1, -150345, 150353, 9,0, -150354, 150389, 36,1, -150390, 150391, 2,0, -150392, 150929, 538,1, -150930, 150965, 36,0, -150966, 150974, 9,1, -150975, 151014, 40,0, -151015, 151019, 5,1, -151020, 151153, 134,0, -151154, 151154, 1,1, -151155, 151196, 42,0, -151197, 151199, 3,1, -151200, 151240, 41,0, -151241, 151244, 4,1, -151245, 151285, 41,0, -151286, 151289, 4,1, -151290, 151329, 40,0, -151330, 151334, 5,1, -151335, 151346, 12,0, -151347, 151379, 33,1, -151380, 151393, 14,0, -151394, 151469, 76,1, -151470, 151482, 13,0, -151483, 151514, 32,1, -151515, 151533, 19,0, -151534, 151559, 26,1, -151560, 151586, 27,0, -151587, 151604, 18,1, -151605, 151634, 30,0, -151635, 151649, 15,1, -151650, 151679, 30,0, -151680, 151694, 15,1, -151695, 151710, 16,0, -151711, 151739, 29,1, -151740, 151758, 19,0, -151759, 151784, 26,1, -151785, 151813, 29,0, -151814, 151829, 16,1, -151830, 151867, 38,0, -151868, 151874, 7,1, -151875, 151891, 17,0, -151892, 151919, 28,1, -151920, 151936, 17,0, -151937, 151964, 28,1, -151965, 151981, 17,0, -151982, 152009, 28,1, -152010, 152027, 18,0, -152028, 152054, 27,1, -152055, 152072, 18,0, -152073, 152099, 27,1, -152100, 152117, 18,0, -152118, 152144, 27,1, -152145, 152184, 40,0, -152185, 152189, 5,1, -152190, 152228, 39,0, -152229, 152234, 6,1, -152235, 152273, 39,0, -152274, 152279, 6,1, -152280, 152310, 31,0, -152311, 152324, 14,1, -152325, 152359, 35,0, -152360, 152369, 10,1, -152370, 152400, 31,0, -152401, 152414, 14,1, -152415, 152421, 7,0, -152422, 152459, 38,1, -152460, 152461, 2,0, -152462, 152909, 448,1, -152910, 152917, 8,0, -152918, 152954, 37,1, -152955, 152987, 33,0, -152988, 152999, 12,1, -153000, 153042, 43,0, -153043, 153044, 2,1, -153045, 153223, 179,0, -153224, 153224, 1,1, -153225, 153266, 42,0, -153267, 153269, 3,1, -153270, 153310, 41,0, -153311, 153314, 4,1, -153315, 153355, 41,0, -153356, 153359, 4,1, -153360, 153387, 28,0, -153388, 153404, 17,1, -153405, 153420, 16,0, -153421, 153449, 29,1, -153450, 153465, 16,0, -153466, 153494, 29,1, -153495, 153526, 32,0, -153527, 153539, 13,1, -153540, 153571, 32,0, -153572, 153584, 13,1, -153585, 153611, 27,0, -153612, 153629, 18,1, -153630, 153658, 29,0, -153659, 153674, 16,1, -153675, 153703, 29,0, -153704, 153719, 16,1, -153720, 153735, 16,0, -153736, 153764, 29,1, -153765, 153783, 19,0, -153784, 153809, 26,1, -153810, 153836, 27,0, -153837, 153854, 18,1, -153855, 153892, 38,0, -153893, 153899, 7,1, -153900, 153916, 17,0, -153917, 153944, 28,1, -153945, 153961, 17,0, -153962, 153989, 28,1, -153990, 154006, 17,0, -154007, 154034, 28,1, -154035, 154056, 22,0, -154057, 154079, 23,1, -154080, 154102, 23,0, -154103, 154124, 22,1, -154125, 154152, 28,0, -154153, 154169, 17,1, -154170, 154209, 40,0, -154210, 154214, 5,1, -154215, 154254, 40,0, -154255, 154259, 5,1, -154260, 154299, 40,0, -154300, 154304, 5,1, -154305, 154348, 44,0, -154349, 154349, 1,1, -154350, 154437, 88,0, -154438, 154439, 2,1, -154440, 154477, 38,0, -154478, 154484, 7,1, -154485, 154490, 6,0, -154491, 154934, 444,1, -154935, 154963, 29,0, -154964, 154979, 16,1, -154980, 155019, 40,0, -155020, 155024, 5,1, -155025, 155067, 43,0, -155068, 155069, 2,1, -155070, 155113, 44,0, -155114, 155114, 1,1, -155115, 155291, 177,0, -155292, 155294, 3,1, -155295, 155336, 42,0, -155337, 155339, 3,1, -155340, 155380, 41,0, -155381, 155384, 4,1, -155385, 155418, 34,0, -155419, 155429, 11,1, -155430, 155443, 14,0, -155444, 155474, 31,1, -155475, 155507, 33,0, -155508, 155519, 12,1, -155520, 155553, 34,0, -155554, 155564, 11,1, -155565, 155598, 34,0, -155599, 155609, 11,1, -155610, 155632, 23,0, -155633, 155654, 22,1, -155655, 155672, 18,0, -155673, 155699, 27,1, -155700, 155718, 19,0, -155719, 155789, 71,1, -155790, 155806, 17,0, -155807, 155834, 28,1, -155835, 155863, 29,0, -155864, 155879, 16,1, -155880, 155917, 38,0, -155918, 155924, 7,1, -155925, 155940, 16,0, -155941, 155969, 29,1, -155970, 155985, 16,0, -155986, 156014, 29,1, -156015, 156030, 16,0, -156031, 156059, 29,1, -156060, 156087, 28,0, -156088, 156104, 17,1, -156105, 156138, 34,0, -156139, 156149, 11,1, -156150, 156184, 35,0, -156185, 156194, 10,1, -156195, 156231, 37,0, -156232, 156239, 8,1, -156240, 156280, 41,0, -156281, 156284, 4,1, -156285, 156324, 40,0, -156325, 156329, 5,1, -156330, 156463, 134,0, -156464, 156464, 1,1, -156465, 156506, 42,0, -156507, 156509, 3,1, -156510, 156547, 38,0, -156548, 156554, 7,1, -156555, 156566, 12,0, -156567, 156869, 303,1, -156870, 156871, 2,0, -156872, 156914, 43,1, -156915, 156918, 4,0, -156919, 156959, 41,1, -156960, 156997, 38,0, -156998, 157004, 7,1, -157005, 157045, 41,0, -157046, 157049, 4,1, -157050, 157091, 42,0, -157092, 157094, 3,1, -157095, 157137, 43,0, -157138, 157139, 2,1, -157140, 157273, 134,0, -157274, 157274, 1,1, -157275, 157317, 43,0, -157318, 157319, 2,1, -157320, 157361, 42,0, -157362, 157364, 3,1, -157365, 157406, 42,0, -157407, 157409, 3,1, -157410, 157441, 32,0, -157442, 157454, 13,1, -157455, 157485, 31,0, -157486, 157499, 14,1, -157500, 157534, 35,0, -157535, 157544, 10,1, -157545, 157579, 35,0, -157580, 157589, 10,1, -157590, 157623, 34,0, -157624, 157634, 11,1, -157635, 157655, 21,0, -157656, 157679, 24,1, -157680, 157696, 17,0, -157697, 157724, 28,1, -157725, 157726, 2,0, -157727, 157814, 88,1, -157815, 157831, 17,0, -157832, 157859, 28,1, -157860, 157890, 31,0, -157891, 157904, 14,1, -157905, 157942, 38,0, -157943, 157949, 7,1, -157950, 157965, 16,0, -157966, 157994, 29,1, -157995, 158010, 16,0, -158011, 158039, 29,1, -158040, 158055, 16,0, -158056, 158084, 29,1, -158085, 158112, 28,0, -158113, 158129, 17,1, -158130, 158165, 36,0, -158166, 158174, 9,1, -158175, 158213, 39,0, -158214, 158219, 6,1, -158220, 158258, 39,0, -158259, 158264, 6,1, -158265, 158304, 40,0, -158305, 158309, 5,1, -158310, 158350, 41,0, -158351, 158354, 4,1, -158355, 158488, 134,0, -158489, 158489, 1,1, -158490, 158531, 42,0, -158532, 158534, 3,1, -158535, 158574, 40,0, -158575, 158579, 5,1, -158580, 158615, 36,0, -158616, 158624, 9,1, -158625, 158654, 30,0, -158655, 158669, 15,1, -158670, 158671, 2,0, -158672, 158894, 223,1, -158895, 158900, 6,0, -158901, 158939, 39,1, -158940, 158974, 35,0, -158975, 158984, 10,1, -158985, 159022, 38,0, -159023, 159029, 7,1, -159030, 159070, 41,0, -159071, 159074, 4,1, -159075, 159115, 41,0, -159116, 159119, 4,1, -159120, 159159, 40,0, -159160, 159164, 5,1, -159165, 159204, 40,0, -159205, 159209, 5,1, -159210, 159249, 40,0, -159250, 159254, 5,1, -159255, 159296, 42,0, -159297, 159299, 3,1, -159300, 159342, 43,0, -159343, 159344, 2,1, -159345, 159386, 42,0, -159387, 159389, 3,1, -159390, 159431, 42,0, -159432, 159434, 3,1, -159435, 159471, 37,0, -159472, 159479, 8,1, -159480, 159516, 37,0, -159517, 159524, 8,1, -159525, 159561, 37,0, -159562, 159569, 8,1, -159570, 159605, 36,0, -159606, 159614, 9,1, -159615, 159647, 33,0, -159648, 159659, 12,1, -159660, 159661, 2,0, -159662, 159839, 178,1, -159840, 159855, 16,0, -159856, 159884, 29,1, -159885, 159917, 33,0, -159918, 159929, 12,1, -159930, 159967, 38,0, -159968, 159974, 7,1, -159975, 159993, 19,0, -159994, 160019, 26,1, -160020, 160038, 19,0, -160039, 160064, 26,1, -160065, 160083, 19,0, -160084, 160109, 26,1, -160110, 160142, 33,0, -160143, 160154, 12,1, -160155, 160191, 37,0, -160192, 160199, 8,1, -160200, 160238, 39,0, -160239, 160244, 6,1, -160245, 160285, 41,0, -160286, 160289, 4,1, -160290, 160330, 41,0, -160331, 160334, 4,1, -160335, 160373, 39,0, -160374, 160379, 6,1, -160380, 160510, 131,0, -160511, 160514, 4,1, -160515, 160555, 41,0, -160556, 160559, 4,1, -160560, 160600, 41,0, -160601, 160604, 4,1, -160605, 160641, 37,0, -160642, 160649, 8,1, -160650, 160683, 34,0, -160684, 160694, 11,1, -160695, 160717, 23,0, -160718, 160919, 202,1, -160920, 160955, 36,0, -160956, 160964, 9,1, -160965, 161002, 38,0, -161003, 161009, 7,1, -161010, 161049, 40,0, -161050, 161054, 5,1, -161055, 161095, 41,0, -161096, 161099, 4,1, -161100, 161139, 40,0, -161140, 161144, 5,1, -161145, 161185, 41,0, -161186, 161189, 4,1, -161190, 161229, 40,0, -161230, 161234, 5,1, -161235, 161274, 40,0, -161275, 161279, 5,1, -161280, 161318, 39,0, -161319, 161324, 6,1, -161325, 161365, 41,0, -161366, 161369, 4,1, -161370, 161410, 41,0, -161411, 161414, 4,1, -161415, 161455, 41,0, -161456, 161459, 4,1, -161460, 161499, 40,0, -161500, 161504, 5,1, -161505, 161542, 38,0, -161543, 161549, 7,1, -161550, 161586, 37,0, -161587, 161594, 8,1, -161595, 161629, 35,0, -161630, 161639, 10,1, -161640, 161663, 24,0, -161664, 161864, 201,1, -161865, 161880, 16,0, -161881, 161909, 29,1, -161910, 161942, 33,0, -161943, 161954, 12,1, -161955, 161992, 38,0, -161993, 161999, 7,1, -162000, 162023, 24,0, -162024, 162044, 21,1, -162045, 162068, 24,0, -162069, 162089, 21,1, -162090, 162113, 24,0, -162114, 162134, 21,1, -162135, 162171, 37,0, -162172, 162179, 8,1, -162180, 162217, 38,0, -162218, 162224, 7,1, -162225, 162264, 40,0, -162265, 162269, 5,1, -162270, 162309, 40,0, -162310, 162314, 5,1, -162315, 162351, 37,0, -162352, 162359, 8,1, -162360, 162395, 36,0, -162396, 162404, 9,1, -162405, 162536, 132,0, -162537, 162539, 3,1, -162540, 162580, 41,0, -162581, 162584, 4,1, -162585, 162624, 40,0, -162625, 162629, 5,1, -162630, 162668, 39,0, -162669, 162674, 6,1, -162675, 162712, 38,0, -162713, 162719, 7,1, -162720, 162754, 35,0, -162755, 162764, 10,1, -162765, 162796, 32,0, -162797, 162809, 13,1, -162810, 162843, 34,0, -162844, 162944, 101,1, -162945, 162982, 38,0, -162983, 162989, 7,1, -162990, 163028, 39,0, -163029, 163034, 6,1, -163035, 163074, 40,0, -163075, 163079, 5,1, -163080, 163120, 41,0, -163121, 163124, 4,1, -163125, 163167, 43,0, -163168, 163169, 2,1, -163170, 163213, 44,0, -163214, 163214, 1,1, -163215, 163258, 44,0, -163259, 163259, 1,1, -163260, 163302, 43,0, -163303, 163304, 2,1, -163305, 163344, 40,0, -163345, 163349, 5,1, -163350, 163386, 37,0, -163387, 163394, 8,1, -163395, 163435, 41,0, -163436, 163439, 4,1, -163440, 163480, 41,0, -163481, 163484, 4,1, -163485, 163524, 40,0, -163525, 163529, 5,1, -163530, 163568, 39,0, -163569, 163574, 6,1, -163575, 163611, 37,0, -163612, 163619, 8,1, -163620, 163654, 35,0, -163655, 163664, 10,1, -163665, 163697, 33,0, -163698, 163709, 12,1, -163710, 163727, 18,0, -163728, 163889, 162,1, -163890, 163905, 16,0, -163906, 163934, 29,1, -163935, 163968, 34,0, -163969, 163979, 11,1, -163980, 164017, 38,0, -164018, 164024, 7,1, -164025, 164046, 22,0, -164047, 164069, 23,1, -164070, 164091, 22,0, -164092, 164114, 23,1, -164115, 164136, 22,0, -164137, 164159, 23,1, -164160, 164195, 36,0, -164196, 164204, 9,1, -164205, 164242, 38,0, -164243, 164249, 7,1, -164250, 164289, 40,0, -164290, 164294, 5,1, -164295, 164334, 40,0, -164335, 164339, 5,1, -164340, 164374, 35,0, -164375, 164384, 10,1, -164385, 164422, 38,0, -164423, 164429, 7,1, -164430, 164473, 44,0, -164474, 164474, 1,1, -164475, 164518, 44,0, -164519, 164519, 1,1, -164520, 164561, 42,0, -164562, 164564, 3,1, -164565, 164605, 41,0, -164606, 164609, 4,1, -164610, 164649, 40,0, -164650, 164654, 5,1, -164655, 164692, 38,0, -164693, 164699, 7,1, -164700, 164738, 39,0, -164739, 164744, 6,1, -164745, 164784, 40,0, -164785, 164789, 5,1, -164790, 164828, 39,0, -164829, 164834, 6,1, -164835, 164873, 39,0, -164874, 164879, 6,1, -164880, 164919, 40,0, -164920, 164924, 5,1, -164925, 164961, 37,0, -164962, 164969, 8,1, -164970, 165008, 39,0, -165009, 165014, 6,1, -165015, 165053, 39,0, -165054, 165059, 6,1, -165060, 165098, 39,0, -165099, 165104, 6,1, -165105, 165148, 44,0, -165149, 165149, 1,1, -165150, 165283, 134,0, -165284, 165284, 1,1, -165285, 165370, 86,0, -165371, 165374, 4,1, -165375, 165410, 36,0, -165411, 165419, 9,1, -165420, 165458, 39,0, -165459, 165464, 6,1, -165465, 165503, 39,0, -165504, 165509, 6,1, -165510, 165548, 39,0, -165549, 165554, 6,1, -165555, 165593, 39,0, -165594, 165599, 6,1, -165600, 165634, 35,0, -165635, 165644, 10,1, -165645, 165677, 33,0, -165678, 165689, 12,1, -165690, 165722, 33,0, -165723, 165734, 12,1, -165735, 165763, 29,0, -165764, 165914, 151,1, -165915, 165930, 16,0, -165931, 165959, 29,1, -165960, 165994, 35,0, -165995, 166004, 10,1, -166005, 166042, 38,0, -166043, 166049, 7,1, -166050, 166070, 21,0, -166071, 166094, 24,1, -166095, 166115, 21,0, -166116, 166139, 24,1, -166140, 166160, 21,0, -166161, 166184, 24,1, -166185, 166220, 36,0, -166221, 166229, 9,1, -166230, 166268, 39,0, -166269, 166274, 6,1, -166275, 166314, 40,0, -166315, 166319, 5,1, -166320, 166359, 40,0, -166360, 166364, 5,1, -166365, 166403, 39,0, -166404, 166409, 6,1, -166410, 166496, 87,0, -166497, 166499, 3,1, -166500, 166541, 42,0, -166542, 166544, 3,1, -166545, 166586, 42,0, -166587, 166589, 3,1, -166590, 166630, 41,0, -166631, 166634, 4,1, -166635, 166673, 39,0, -166674, 166679, 6,1, -166680, 166718, 39,0, -166719, 166724, 6,1, -166725, 166766, 42,0, -166767, 166769, 3,1, -166770, 166811, 42,0, -166812, 166814, 3,1, -166815, 166854, 40,0, -166855, 166859, 5,1, -166860, 166901, 42,0, -166902, 166904, 3,1, -166905, 166946, 42,0, -166947, 166949, 3,1, -166950, 166991, 42,0, -166992, 166994, 3,1, -166995, 167034, 40,0, -167035, 167039, 5,1, -167040, 167078, 39,0, -167079, 167084, 6,1, -167085, 167124, 40,0, -167125, 167129, 5,1, -167130, 167262, 133,0, -167263, 167264, 2,1, -167265, 167395, 131,0, -167396, 167399, 4,1, -167400, 167436, 37,0, -167437, 167444, 8,1, -167445, 167479, 35,0, -167480, 167489, 10,1, -167490, 167526, 37,0, -167527, 167534, 8,1, -167535, 167572, 38,0, -167573, 167579, 7,1, -167580, 167617, 38,0, -167618, 167624, 7,1, -167625, 167661, 37,0, -167662, 167669, 8,1, -167670, 167701, 32,0, -167702, 167714, 13,1, -167715, 167747, 33,0, -167748, 167759, 12,1, -167760, 167790, 31,0, -167791, 167804, 14,1, -167805, 167815, 11,0, -167816, 167939, 124,1, -167940, 167954, 15,0, -167955, 167984, 30,1, -167985, 168019, 35,0, -168020, 168029, 10,1, -168030, 168067, 38,0, -168068, 168074, 7,1, -168075, 168090, 16,0, -168091, 168119, 29,1, -168120, 168135, 16,0, -168136, 168164, 29,1, -168165, 168180, 16,0, -168181, 168209, 29,1, -168210, 168246, 37,0, -168247, 168254, 8,1, -168255, 168293, 39,0, -168294, 168299, 6,1, -168300, 168339, 40,0, -168340, 168344, 5,1, -168345, 168388, 44,0, -168389, 168389, 1,1, -168390, 168520, 131,0, -168521, 168524, 4,1, -168525, 168565, 41,0, -168566, 168569, 4,1, -168570, 168609, 40,0, -168610, 168614, 5,1, -168615, 168653, 39,0, -168654, 168659, 6,1, -168660, 168698, 39,0, -168699, 168704, 6,1, -168705, 168745, 41,0, -168746, 168749, 4,1, -168750, 168792, 43,0, -168793, 168794, 2,1, -168795, 168837, 43,0, -168838, 168839, 2,1, -168840, 168882, 43,0, -168883, 168884, 2,1, -168885, 168927, 43,0, -168928, 168929, 2,1, -168930, 168972, 43,0, -168973, 168974, 2,1, -168975, 169017, 43,0, -169018, 169019, 2,1, -169020, 169062, 43,0, -169063, 169064, 2,1, -169065, 169102, 38,0, -169103, 169109, 7,1, -169110, 169149, 40,0, -169150, 169154, 5,1, -169155, 169198, 44,0, -169199, 169199, 1,1, -169200, 169243, 44,0, -169244, 169244, 1,1, -169245, 169285, 41,0, -169286, 169289, 4,1, -169290, 169332, 43,0, -169333, 169334, 2,1, -169335, 169378, 44,0, -169379, 169379, 1,1, -169380, 169421, 42,0, -169422, 169424, 3,1, -169425, 169465, 41,0, -169466, 169469, 4,1, -169470, 169505, 36,0, -169506, 169514, 9,1, -169515, 169547, 33,0, -169548, 169559, 12,1, -169560, 169594, 35,0, -169595, 169604, 10,1, -169605, 169640, 36,0, -169641, 169649, 9,1, -169650, 169685, 36,0, -169686, 169694, 9,1, -169695, 169728, 34,0, -169729, 169739, 11,1, -169740, 169768, 29,0, -169769, 169784, 16,1, -169785, 169813, 29,0, -169814, 169829, 16,1, -169830, 169845, 16,0, -169846, 169874, 29,1, -169875, 169876, 2,0, -169877, 169964, 88,1, -169965, 169981, 17,0, -169982, 170009, 28,1, -170010, 170045, 36,0, -170046, 170054, 9,1, -170055, 170092, 38,0, -170093, 170099, 7,1, -170100, 170106, 7,0, -170107, 170144, 38,1, -170145, 170151, 7,0, -170152, 170189, 38,1, -170190, 170196, 7,0, -170197, 170234, 38,1, -170235, 170271, 37,0, -170272, 170279, 8,1, -170280, 170319, 40,0, -170320, 170324, 5,1, -170325, 170365, 41,0, -170366, 170369, 4,1, -170370, 170544, 175,0, -170545, 170549, 5,1, -170550, 170590, 41,0, -170591, 170594, 4,1, -170595, 170634, 40,0, -170635, 170639, 5,1, -170640, 170677, 38,0, -170678, 170684, 7,1, -170685, 170724, 40,0, -170725, 170729, 5,1, -170730, 170770, 41,0, -170771, 170774, 4,1, -170775, 170817, 43,0, -170818, 170819, 2,1, -170820, 170863, 44,0, -170864, 170864, 1,1, -170865, 170907, 43,0, -170908, 170909, 2,1, -170910, 170952, 43,0, -170953, 170954, 2,1, -170955, 171042, 88,0, -171043, 171044, 2,1, -171045, 171088, 44,0, -171089, 171089, 1,1, -171090, 171129, 40,0, -171130, 171134, 5,1, -171135, 171174, 40,0, -171175, 171179, 5,1, -171180, 171222, 43,0, -171223, 171224, 2,1, -171225, 171266, 42,0, -171267, 171269, 3,1, -171270, 171308, 39,0, -171309, 171314, 6,1, -171315, 171356, 42,0, -171357, 171359, 3,1, -171360, 171402, 43,0, -171403, 171404, 2,1, -171405, 171446, 42,0, -171447, 171449, 3,1, -171450, 171491, 42,0, -171492, 171494, 3,1, -171495, 171533, 39,0, -171534, 171539, 6,1, -171540, 171577, 38,0, -171578, 171584, 7,1, -171585, 171622, 38,0, -171623, 171629, 7,1, -171630, 171667, 38,0, -171668, 171674, 7,1, -171675, 171711, 37,0, -171712, 171719, 8,1, -171720, 171753, 34,0, -171754, 171764, 11,1, -171765, 171795, 31,0, -171796, 171809, 14,1, -171810, 171835, 26,0, -171836, 171854, 19,1, -171855, 171880, 26,0, -171881, 171899, 19,1, -171900, 171915, 16,0, -171916, 171944, 29,1, -171945, 171946, 2,0, -171947, 171989, 43,1, -171990, 172017, 28,0, -172018, 172034, 17,1, -172035, 172071, 37,0, -172072, 172079, 8,1, -172080, 172117, 38,0, -172118, 172259, 142,1, -172260, 172296, 37,0, -172297, 172304, 8,1, -172305, 172344, 40,0, -172345, 172349, 5,1, -172350, 172390, 41,0, -172391, 172394, 4,1, -172395, 172435, 41,0, -172436, 172439, 4,1, -172440, 172480, 41,0, -172481, 172484, 4,1, -172485, 172525, 41,0, -172526, 172529, 4,1, -172530, 172569, 40,0, -172570, 172574, 5,1, -172575, 172613, 39,0, -172614, 172619, 6,1, -172620, 172657, 38,0, -172658, 172664, 7,1, -172665, 172701, 37,0, -172702, 172709, 8,1, -172710, 172746, 37,0, -172747, 172754, 8,1, -172755, 172793, 39,0, -172794, 172799, 6,1, -172800, 172841, 42,0, -172842, 172844, 3,1, -172845, 172887, 43,0, -172888, 172889, 2,1, -172890, 172932, 43,0, -172933, 172934, 2,1, -172935, 172977, 43,0, -172978, 172979, 2,1, -172980, 173067, 88,0, -173068, 173069, 2,1, -173070, 173113, 44,0, -173114, 173114, 1,1, -173115, 173155, 41,0, -173156, 173159, 4,1, -173160, 173199, 40,0, -173200, 173204, 5,1, -173205, 173245, 41,0, -173246, 173249, 4,1, -173250, 173289, 40,0, -173290, 173294, 5,1, -173295, 173330, 36,0, -173331, 173339, 9,1, -173340, 173378, 39,0, -173379, 173384, 6,1, -173385, 173424, 40,0, -173425, 173429, 5,1, -173430, 173470, 41,0, -173471, 173474, 4,1, -173475, 173516, 42,0, -173517, 173519, 3,1, -173520, 173563, 44,0, -173564, 173564, 1,1, -173565, 173607, 43,0, -173608, 173609, 2,1, -173610, 173649, 40,0, -173650, 173654, 5,1, -173655, 173694, 40,0, -173695, 173699, 5,1, -173700, 173738, 39,0, -173739, 173744, 6,1, -173745, 173777, 33,0, -173778, 173789, 12,1, -173790, 173821, 32,0, -173822, 173834, 13,1, -173835, 173856, 22,0, -173857, 173879, 23,1, -173880, 173906, 27,0, -173907, 173924, 18,1, -173925, 173947, 23,0, -173948, 173969, 22,1, -173970, 173981, 12,0, -173982, 174014, 33,1, -174015, 174049, 35,0, -174050, 174059, 10,1, -174060, 174096, 37,0, -174097, 174104, 8,1, -174105, 174142, 38,0, -174143, 174284, 142,1, -174285, 174316, 32,0, -174317, 174329, 13,1, -174330, 174369, 40,0, -174370, 174374, 5,1, -174375, 174415, 41,0, -174416, 174419, 4,1, -174420, 174460, 41,0, -174461, 174464, 4,1, -174465, 174505, 41,0, -174506, 174509, 4,1, -174510, 174550, 41,0, -174551, 174554, 4,1, -174555, 174592, 38,0, -174593, 174599, 7,1, -174600, 174636, 37,0, -174637, 174644, 8,1, -174645, 174679, 35,0, -174680, 174689, 10,1, -174690, 174724, 35,0, -174725, 174734, 10,1, -174735, 174770, 36,0, -174771, 174779, 9,1, -174780, 174816, 37,0, -174817, 174824, 8,1, -174825, 174863, 39,0, -174864, 174869, 6,1, -174870, 174908, 39,0, -174909, 174914, 6,1, -174915, 174953, 39,0, -174954, 174959, 6,1, -174960, 174998, 39,0, -174999, 175004, 6,1, -175005, 175043, 39,0, -175044, 175049, 6,1, -175050, 175088, 39,0, -175089, 175094, 6,1, -175095, 175134, 40,0, -175135, 175139, 5,1, -175140, 175181, 42,0, -175182, 175184, 3,1, -175185, 175224, 40,0, -175225, 175229, 5,1, -175230, 175268, 39,0, -175269, 175274, 6,1, -175275, 175308, 34,0, -175309, 175319, 11,1, -175320, 175351, 32,0, -175352, 175364, 13,1, -175365, 175395, 31,0, -175396, 175409, 14,1, -175410, 175445, 36,0, -175446, 175454, 9,1, -175455, 175493, 39,0, -175494, 175499, 6,1, -175500, 175540, 41,0, -175541, 175544, 4,1, -175545, 175586, 42,0, -175587, 175589, 3,1, -175590, 175631, 42,0, -175632, 175634, 3,1, -175635, 175676, 42,0, -175677, 175679, 3,1, -175680, 175719, 40,0, -175720, 175724, 5,1, -175725, 175763, 39,0, -175764, 175769, 6,1, -175770, 175800, 31,0, -175801, 175814, 14,1, -175815, 175845, 31,0, -175846, 175859, 14,1, -175860, 175885, 26,0, -175886, 175904, 19,1, -175905, 175931, 27,0, -175932, 175949, 18,1, -175950, 175979, 30,0, -175980, 175994, 15,1, -175995, 176007, 13,0, -176008, 176039, 32,1, -176040, 176076, 37,0, -176077, 176084, 8,1, -176085, 176121, 37,0, -176122, 176129, 8,1, -176130, 176167, 38,0, -176168, 176309, 142,1, -176310, 176324, 15,0, -176325, 176354, 30,1, -176355, 176394, 40,0, -176395, 176399, 5,1, -176400, 176440, 41,0, -176441, 176444, 4,1, -176445, 176486, 42,0, -176487, 176489, 3,1, -176490, 176530, 41,0, -176531, 176534, 4,1, -176535, 176573, 39,0, -176574, 176579, 6,1, -176580, 176616, 37,0, -176617, 176624, 8,1, -176625, 176661, 37,0, -176662, 176669, 8,1, -176670, 176708, 39,0, -176709, 176714, 6,1, -176715, 176751, 37,0, -176752, 176759, 8,1, -176760, 176796, 37,0, -176797, 176804, 8,1, -176805, 176841, 37,0, -176842, 176849, 8,1, -176850, 176886, 37,0, -176887, 176894, 8,1, -176895, 176933, 39,0, -176934, 176939, 6,1, -176940, 176976, 37,0, -176977, 176984, 8,1, -176985, 177021, 37,0, -177022, 177029, 8,1, -177030, 177065, 36,0, -177066, 177074, 9,1, -177075, 177110, 36,0, -177111, 177119, 9,1, -177120, 177159, 40,0, -177160, 177164, 5,1, -177165, 177205, 41,0, -177206, 177209, 4,1, -177210, 177249, 40,0, -177250, 177254, 5,1, -177255, 177257, 3,0, -177258, 177434, 177,1, -177435, 177462, 28,0, -177463, 177479, 17,1, -177480, 177516, 37,0, -177517, 177524, 8,1, -177525, 177564, 40,0, -177565, 177569, 5,1, -177570, 177611, 42,0, -177612, 177614, 3,1, -177615, 177656, 42,0, -177657, 177659, 3,1, -177660, 177700, 41,0, -177701, 177704, 4,1, -177705, 177743, 39,0, -177744, 177749, 6,1, -177750, 177781, 32,0, -177782, 177794, 13,1, -177795, 177825, 31,0, -177826, 177839, 14,1, -177840, 177867, 28,0, -177868, 177884, 17,1, -177885, 177912, 28,0, -177913, 177929, 17,1, -177930, 177959, 30,0, -177960, 177974, 15,1, -177975, 178007, 33,0, -178008, 178019, 12,1, -178020, 178036, 17,0, -178037, 178064, 28,1, -178065, 178101, 37,0, -178102, 178109, 8,1, -178110, 178147, 38,0, -178148, 178154, 7,1, -178155, 178192, 38,0, -178193, 178379, 187,1, -178380, 178419, 40,0, -178420, 178424, 5,1, -178425, 178465, 41,0, -178466, 178469, 4,1, -178470, 178511, 42,0, -178512, 178514, 3,1, -178515, 178555, 41,0, -178556, 178559, 4,1, -178560, 178596, 37,0, -178597, 178604, 8,1, -178605, 178641, 37,0, -178642, 178649, 8,1, -178650, 178686, 37,0, -178687, 178694, 8,1, -178695, 178733, 39,0, -178734, 178739, 6,1, -178740, 178777, 38,0, -178778, 178784, 7,1, -178785, 178822, 38,0, -178823, 178829, 7,1, -178830, 178868, 39,0, -178869, 178874, 6,1, -178875, 178915, 41,0, -178916, 178919, 4,1, -178920, 178960, 41,0, -178961, 178964, 4,1, -178965, 179005, 41,0, -179006, 179009, 4,1, -179010, 179048, 39,0, -179049, 179054, 6,1, -179055, 179094, 40,0, -179095, 179099, 5,1, -179100, 179139, 40,0, -179140, 179144, 5,1, -179145, 179185, 41,0, -179186, 179189, 4,1, -179190, 179230, 41,0, -179231, 179234, 4,1, -179235, 179270, 36,0, -179271, 179504, 234,1, -179505, 179525, 21,0, -179526, 179549, 24,1, -179550, 179587, 38,0, -179588, 179594, 7,1, -179595, 179632, 38,0, -179633, 179639, 7,1, -179640, 179680, 41,0, -179681, 179684, 4,1, -179685, 179725, 41,0, -179726, 179729, 4,1, -179730, 179761, 32,0, -179762, 179774, 13,1, -179775, 179803, 29,0, -179804, 179819, 16,1, -179820, 179848, 29,0, -179849, 179864, 16,1, -179865, 179898, 34,0, -179899, 179909, 11,1, -179910, 179943, 34,0, -179944, 179954, 11,1, -179955, 179987, 33,0, -179988, 179999, 12,1, -180000, 180034, 35,0, -180035, 180044, 10,1, -180045, 180076, 32,0, -180077, 180089, 13,1, -180090, 180125, 36,0, -180126, 180134, 9,1, -180135, 180172, 38,0, -180173, 180179, 7,1, -180180, 180217, 38,0, -180218, 180404, 187,1, -180405, 180443, 39,0, -180444, 180449, 6,1, -180450, 180490, 41,0, -180491, 180494, 4,1, -180495, 180536, 42,0, -180537, 180539, 3,1, -180540, 180580, 41,0, -180581, 180584, 4,1, -180585, 180620, 36,0, -180621, 180629, 9,1, -180630, 180666, 37,0, -180667, 180674, 8,1, -180675, 180713, 39,0, -180714, 180719, 6,1, -180720, 180759, 40,0, -180760, 180764, 5,1, -180765, 180805, 41,0, -180806, 180809, 4,1, -180810, 180849, 40,0, -180850, 180854, 5,1, -180855, 180894, 40,0, -180895, 180899, 5,1, -180900, 180942, 43,0, -180943, 180944, 2,1, -180945, 180987, 43,0, -180988, 180989, 2,1, -180990, 181031, 42,0, -181032, 181034, 3,1, -181035, 181077, 43,0, -181078, 181079, 2,1, -181080, 181122, 43,0, -181123, 181124, 2,1, -181125, 181167, 43,0, -181168, 181169, 2,1, -181170, 181210, 41,0, -181211, 181214, 4,1, -181215, 181255, 41,0, -181256, 181259, 4,1, -181260, 181294, 35,0, -181295, 181574, 280,1, -181575, 181602, 28,0, -181603, 181619, 17,1, -181620, 181647, 28,0, -181648, 181664, 17,1, -181665, 181700, 36,0, -181701, 181709, 9,1, -181710, 181749, 40,0, -181750, 181754, 5,1, -181755, 181763, 9,0, -181764, 181799, 36,1, -181800, 181807, 8,0, -181808, 181844, 37,1, -181845, 181865, 21,0, -181866, 181889, 24,1, -181890, 181923, 34,0, -181924, 181934, 11,1, -181935, 181969, 35,0, -181970, 181979, 10,1, -181980, 182014, 35,0, -182015, 182024, 10,1, -182025, 182059, 35,0, -182060, 182069, 10,1, -182070, 182104, 35,0, -182105, 182114, 10,1, -182115, 182150, 36,0, -182151, 182159, 9,1, -182160, 182197, 38,0, -182198, 182204, 7,1, -182205, 182242, 38,0, -182243, 182429, 187,1, -182430, 182468, 39,0, -182469, 182474, 6,1, -182475, 182515, 41,0, -182516, 182519, 4,1, -182520, 182561, 42,0, -182562, 182564, 3,1, -182565, 182607, 43,0, -182608, 182609, 2,1, -182610, 182647, 38,0, -182648, 182654, 7,1, -182655, 182691, 37,0, -182692, 182699, 8,1, -182700, 182739, 40,0, -182740, 182744, 5,1, -182745, 182785, 41,0, -182786, 182789, 4,1, -182790, 182830, 41,0, -182831, 182834, 4,1, -182835, 182875, 41,0, -182876, 182879, 4,1, -182880, 182919, 40,0, -182920, 182924, 5,1, -182925, 182967, 43,0, -182968, 182969, 2,1, -182970, 183012, 43,0, -183013, 183014, 2,1, -183015, 183057, 43,0, -183058, 183059, 2,1, -183060, 183103, 44,0, -183104, 183104, 1,1, -183105, 183147, 43,0, -183148, 183149, 2,1, -183150, 183193, 44,0, -183194, 183194, 1,1, -183195, 183235, 41,0, -183236, 183239, 4,1, -183240, 183280, 41,0, -183281, 183284, 4,1, -183285, 183323, 39,0, -183324, 183599, 276,1, -183600, 183629, 30,0, -183630, 183644, 15,1, -183645, 183676, 32,0, -183677, 183689, 13,1, -183690, 183717, 28,0, -183718, 183734, 17,1, -183735, 183746, 12,0, -183747, 183779, 33,1, -183780, 183785, 6,0, -183786, 183824, 39,1, -183825, 183831, 7,0, -183832, 183869, 38,1, -183870, 183879, 10,0, -183880, 183914, 35,1, -183915, 183946, 32,0, -183947, 183959, 13,1, -183960, 183994, 35,0, -183995, 184004, 10,1, -184005, 184039, 35,0, -184040, 184049, 10,1, -184050, 184084, 35,0, -184085, 184094, 10,1, -184095, 184129, 35,0, -184130, 184139, 10,1, -184140, 184175, 36,0, -184176, 184184, 9,1, -184185, 184222, 38,0, -184223, 184229, 7,1, -184230, 184267, 38,0, -184268, 184275, 7,1, -}; -#endif diff --git a/TeosCpp/include/saar_ref_map.h b/TeosCpp/include/saar_ref_map.h deleted file mode 100644 index cc25110..0000000 --- a/TeosCpp/include/saar_ref_map.h +++ /dev/null @@ -1,6119 +0,0 @@ -#ifndef SAAR_REF_MAP_H -#define SAAR_REF_MAP_H - -/******************************* - Version 1.06 - by Randall Kent Whited - rkwhited@gmail.com - ------------------ - This array is a map of the - "saar_ref" - array in the original C code. - ----------------------------- -********************************/ - -/** struct definition */ -#include "map_struct.h" - -const unsigned maxSAARCOUNT = 6097; -/** columns are defined in map_struct.h */ -ARRAYINFO saarArrayInfo[maxSAARCOUNT] = { -0, 179, 180,1, -180, 218, 39,0, -219, 224, 6,1, -225, 265, 41,0, -266, 269, 4,1, -270, 311, 42,0, -312, 314, 3,1, -315, 357, 43,0, -358, 359, 2,1, -360, 397, 38,0, -398, 404, 7,1, -405, 441, 37,0, -442, 449, 8,1, -450, 489, 40,0, -490, 494, 5,1, -495, 535, 41,0, -536, 539, 4,1, -540, 580, 41,0, -581, 584, 4,1, -585, 625, 41,0, -626, 629, 4,1, -630, 669, 40,0, -670, 674, 5,1, -675, 717, 43,0, -718, 719, 2,1, -720, 762, 43,0, -763, 764, 2,1, -765, 807, 43,0, -808, 809, 2,1, -810, 853, 44,0, -854, 854, 1,1, -855, 897, 43,0, -898, 899, 2,1, -900, 943, 44,0, -944, 944, 1,1, -945, 985, 41,0, -986, 989, 4,1, -990, 1030, 41,0, -1031, 1034, 4,1, -1035, 1073, 39,0, -1074, 1349, 276,1, -1350, 1379, 30,0, -1380, 1394, 15,1, -1395, 1426, 32,0, -1427, 1439, 13,1, -1440, 1467, 28,0, -1468, 1484, 17,1, -1485, 1496, 12,0, -1497, 1529, 33,1, -1530, 1535, 6,0, -1536, 1574, 39,1, -1575, 1581, 7,0, -1582, 1619, 38,1, -1620, 1629, 10,0, -1630, 1664, 35,1, -1665, 1696, 32,0, -1697, 1709, 13,1, -1710, 1744, 35,0, -1745, 1754, 10,1, -1755, 1789, 35,0, -1790, 1799, 10,1, -1800, 1834, 35,0, -1835, 1844, 10,1, -1845, 1879, 35,0, -1880, 1889, 10,1, -1890, 1925, 36,0, -1926, 1934, 9,1, -1935, 1972, 38,0, -1973, 1979, 7,1, -1980, 2017, 38,0, -2018, 2204, 187,1, -2205, 2243, 39,0, -2244, 2249, 6,1, -2250, 2289, 40,0, -2290, 2294, 5,1, -2295, 2336, 42,0, -2337, 2339, 3,1, -2340, 2382, 43,0, -2383, 2384, 2,1, -2385, 2422, 38,0, -2423, 2429, 7,1, -2430, 2467, 38,0, -2468, 2474, 7,1, -2475, 2515, 41,0, -2516, 2519, 4,1, -2520, 2561, 42,0, -2562, 2564, 3,1, -2565, 2606, 42,0, -2607, 2609, 3,1, -2610, 2651, 42,0, -2652, 2654, 3,1, -2655, 2697, 43,0, -2698, 2699, 2,1, -2700, 2741, 42,0, -2742, 2744, 3,1, -2745, 2786, 42,0, -2787, 2789, 3,1, -2790, 2832, 43,0, -2833, 2834, 2,1, -2835, 2876, 42,0, -2877, 2879, 3,1, -2880, 2922, 43,0, -2923, 2924, 2,1, -2925, 2968, 44,0, -2969, 2969, 1,1, -2970, 3010, 41,0, -3011, 3014, 4,1, -3015, 3053, 39,0, -3054, 3059, 6,1, -3060, 3096, 37,0, -3097, 3374, 278,1, -3375, 3378, 4,0, -3379, 3419, 41,1, -3420, 3451, 32,0, -3452, 3464, 13,1, -3465, 3495, 31,0, -3496, 3554, 59,1, -3555, 3558, 4,0, -3559, 3599, 41,1, -3600, 3605, 6,0, -3606, 3644, 39,1, -3645, 3658, 14,0, -3659, 3689, 31,1, -3690, 3717, 28,0, -3718, 3734, 17,1, -3735, 3766, 32,0, -3767, 3779, 13,1, -3780, 3813, 34,0, -3814, 3824, 11,1, -3825, 3858, 34,0, -3859, 3869, 11,1, -3870, 3904, 35,0, -3905, 3914, 10,1, -3915, 3950, 36,0, -3951, 3959, 9,1, -3960, 3997, 38,0, -3998, 4004, 7,1, -4005, 4042, 38,0, -4043, 4229, 187,1, -4230, 4266, 37,0, -4267, 4274, 8,1, -4275, 4315, 41,0, -4316, 4319, 4,1, -4320, 4362, 43,0, -4363, 4364, 2,1, -4365, 4407, 43,0, -4408, 4409, 2,1, -4410, 4450, 41,0, -4451, 4454, 4,1, -4455, 4492, 38,0, -4493, 4499, 7,1, -4500, 4539, 40,0, -4540, 4544, 5,1, -4545, 4586, 42,0, -4587, 4589, 3,1, -4590, 4631, 42,0, -4632, 4634, 3,1, -4635, 4676, 42,0, -4677, 4679, 3,1, -4680, 4720, 41,0, -4721, 4724, 4,1, -4725, 4765, 41,0, -4766, 4769, 4,1, -4770, 4809, 40,0, -4810, 4814, 5,1, -4815, 4856, 42,0, -4857, 4859, 3,1, -4860, 4901, 42,0, -4902, 4904, 3,1, -4905, 4946, 42,0, -4947, 4949, 3,1, -4950, 4989, 40,0, -4990, 4994, 5,1, -4995, 5033, 39,0, -5034, 5039, 6,1, -5040, 5074, 35,0, -5075, 5084, 10,1, -5085, 5091, 7,0, -5092, 5399, 308,1, -5400, 5403, 4,0, -5404, 5444, 41,1, -5445, 5476, 32,0, -5477, 5489, 13,1, -5490, 5521, 32,0, -5522, 5534, 13,1, -5535, 5558, 24,0, -5559, 5624, 66,1, -5625, 5629, 5,0, -5630, 5669, 40,1, -5670, 5684, 15,0, -5685, 5714, 30,1, -5715, 5729, 15,0, -5730, 5759, 30,1, -5760, 5789, 30,0, -5790, 5804, 15,1, -5805, 5837, 33,0, -5838, 5849, 12,1, -5850, 5883, 34,0, -5884, 5894, 11,1, -5895, 5927, 33,0, -5928, 5939, 12,1, -5940, 5975, 36,0, -5976, 5984, 9,1, -5985, 6022, 38,0, -6023, 6029, 7,1, -6030, 6067, 38,0, -6068, 6254, 187,1, -6255, 6289, 35,0, -6290, 6299, 10,1, -6300, 6341, 42,0, -6342, 6344, 3,1, -6345, 6387, 43,0, -6388, 6389, 2,1, -6390, 6432, 43,0, -6433, 6434, 2,1, -6435, 6475, 41,0, -6476, 6479, 4,1, -6480, 6519, 40,0, -6520, 6524, 5,1, -6525, 6565, 41,0, -6566, 6569, 4,1, -6570, 6612, 43,0, -6613, 6614, 2,1, -6615, 6656, 42,0, -6657, 6659, 3,1, -6660, 6700, 41,0, -6701, 6704, 4,1, -6705, 6744, 40,0, -6745, 6749, 5,1, -6750, 6789, 40,0, -6790, 6794, 5,1, -6795, 6831, 37,0, -6832, 6839, 8,1, -6840, 6876, 37,0, -6877, 6884, 8,1, -6885, 6921, 37,0, -6922, 6929, 8,1, -6930, 6967, 38,0, -6968, 6974, 7,1, -6975, 7011, 37,0, -7012, 7019, 8,1, -7020, 7046, 27,0, -7047, 7424, 378,1, -7425, 7444, 20,0, -7445, 7469, 25,1, -7470, 7501, 32,0, -7502, 7514, 13,1, -7515, 7546, 32,0, -7547, 7559, 13,1, -7560, 7565, 6,0, -7566, 7649, 84,1, -7650, 7653, 4,0, -7654, 7694, 41,1, -7695, 7708, 14,0, -7709, 7739, 31,1, -7740, 7750, 11,0, -7751, 7784, 34,1, -7785, 7805, 21,0, -7806, 7829, 24,1, -7830, 7862, 33,0, -7863, 7874, 12,1, -7875, 7905, 31,0, -7906, 7919, 14,1, -7920, 7949, 30,0, -7950, 7964, 15,1, -7965, 8000, 36,0, -8001, 8009, 9,1, -8010, 8047, 38,0, -8048, 8054, 7,1, -8055, 8092, 38,0, -8093, 8279, 187,1, -8280, 8316, 37,0, -8317, 8324, 8,1, -8325, 8365, 41,0, -8366, 8369, 4,1, -8370, 8412, 43,0, -8413, 8414, 2,1, -8415, 8457, 43,0, -8458, 8459, 2,1, -8460, 8501, 42,0, -8502, 8504, 3,1, -8505, 8545, 41,0, -8546, 8549, 4,1, -8550, 8590, 41,0, -8591, 8594, 4,1, -8595, 8637, 43,0, -8638, 8639, 2,1, -8640, 8680, 41,0, -8681, 8684, 4,1, -8685, 8724, 40,0, -8725, 8729, 5,1, -8730, 8763, 34,0, -8764, 8774, 11,1, -8775, 8801, 27,0, -8802, 8819, 18,1, -8820, 8830, 11,0, -8831, 9404, 574,1, -9405, 9431, 27,0, -9432, 9449, 18,1, -9450, 9485, 36,0, -9486, 9494, 9,1, -9495, 9530, 36,0, -9531, 9539, 9,1, -9540, 9567, 28,0, -9568, 9584, 17,1, -9585, 9590, 6,0, -9591, 9674, 84,1, -9675, 9822, 148,0, -9823, 9854, 32,1, -9855, 9885, 31,0, -9886, 9899, 14,1, -9900, 9927, 28,0, -9928, 9944, 17,1, -9945, 9964, 20,0, -9965, 9989, 25,1, -9990, 10025, 36,0, -10026, 10034, 9,1, -10035, 10072, 38,0, -10073, 10079, 7,1, -10080, 10117, 38,0, -10118, 10304, 187,1, -10305, 10341, 37,0, -10342, 10349, 8,1, -10350, 10390, 41,0, -10391, 10394, 4,1, -10395, 10437, 43,0, -10438, 10439, 2,1, -10440, 10481, 42,0, -10482, 10484, 3,1, -10485, 10524, 40,0, -10525, 10529, 5,1, -10530, 10570, 41,0, -10571, 10574, 4,1, -10575, 10615, 41,0, -10616, 10619, 4,1, -10620, 10660, 41,0, -10661, 10664, 4,1, -10665, 10705, 41,0, -10706, 10709, 4,1, -10710, 10743, 34,0, -10744, 10754, 11,1, -10755, 10762, 8,0, -10763, 11429, 667,1, -11430, 11456, 27,0, -11457, 11474, 18,1, -11475, 11510, 36,0, -11511, 11519, 9,1, -11520, 11555, 36,0, -11556, 11564, 9,1, -11565, 11588, 24,0, -11589, 11699, 111,1, -11700, 11894, 195,0, -11895, 11924, 30,1, -11925, 11940, 16,0, -11941, 11969, 29,1, -11970, 11982, 13,0, -11983, 12014, 32,1, -12015, 12050, 36,0, -12051, 12059, 9,1, -12060, 12097, 38,0, -12098, 12104, 7,1, -12105, 12142, 38,0, -12143, 12329, 187,1, -12330, 12366, 37,0, -12367, 12374, 8,1, -12375, 12415, 41,0, -12416, 12419, 4,1, -12420, 12461, 42,0, -12462, 12464, 3,1, -12465, 12506, 42,0, -12507, 12509, 3,1, -12510, 12551, 42,0, -12552, 12554, 3,1, -12555, 12597, 43,0, -12598, 12599, 2,1, -12600, 12642, 43,0, -12643, 12644, 2,1, -12645, 12686, 42,0, -12687, 12689, 3,1, -12690, 12731, 42,0, -12732, 12734, 3,1, -12735, 12773, 39,0, -12774, 13454, 681,1, -13455, 13482, 28,0, -13483, 13499, 17,1, -13500, 13535, 36,0, -13536, 13544, 9,1, -13545, 13577, 33,0, -13578, 13589, 12,1, -13590, 13610, 21,0, -13611, 13769, 159,1, -13770, 13919, 150,0, -13920, 13949, 30,1, -13950, 13965, 16,0, -13966, 13994, 29,1, -13995, 14006, 12,0, -14007, 14039, 33,1, -14040, 14075, 36,0, -14076, 14084, 9,1, -14085, 14122, 38,0, -14123, 14129, 7,1, -14130, 14167, 38,0, -14168, 14354, 187,1, -14355, 14391, 37,0, -14392, 14399, 8,1, -14400, 14440, 41,0, -14441, 14444, 4,1, -14445, 14487, 43,0, -14488, 14489, 2,1, -14490, 14532, 43,0, -14533, 14534, 2,1, -14535, 14577, 43,0, -14578, 14579, 2,1, -14580, 14623, 44,0, -14624, 14624, 1,1, -14625, 14668, 44,0, -14669, 14669, 1,1, -14670, 14712, 43,0, -14713, 14714, 2,1, -14715, 14753, 39,0, -14754, 14759, 6,1, -14760, 14798, 39,0, -14799, 14804, 6,1, -14805, 14835, 31,0, -14836, 15479, 644,1, -15480, 15511, 32,0, -15512, 15524, 13,1, -15525, 15562, 38,0, -15563, 15569, 7,1, -15570, 15607, 38,0, -15608, 15614, 7,1, -15615, 15704, 90,0, -15705, 15794, 90,1, -15795, 15884, 90,0, -15885, 15929, 45,1, -15930, 15944, 15,0, -15945, 15974, 30,1, -15975, 15990, 16,0, -15991, 16019, 29,1, -16020, 16032, 13,0, -16033, 16064, 32,1, -16065, 16100, 36,0, -16101, 16109, 9,1, -16110, 16147, 38,0, -16148, 16154, 7,1, -16155, 16192, 38,0, -16193, 16379, 187,1, -16380, 16414, 35,0, -16415, 16424, 10,1, -16425, 16465, 41,0, -16466, 16469, 4,1, -16470, 16511, 42,0, -16512, 16514, 3,1, -16515, 16557, 43,0, -16558, 16559, 2,1, -16560, 16602, 43,0, -16603, 16604, 2,1, -16605, 16647, 43,0, -16648, 16649, 2,1, -16650, 16692, 43,0, -16693, 16694, 2,1, -16695, 16737, 43,0, -16738, 16739, 2,1, -16740, 16779, 40,0, -16780, 16784, 5,1, -16785, 16823, 39,0, -16824, 16829, 6,1, -16830, 16864, 35,0, -16865, 16874, 10,1, -16875, 16901, 27,0, -16902, 17459, 558,1, -17460, 17481, 22,0, -17482, 17504, 23,1, -17505, 17526, 22,0, -17527, 17549, 23,1, -17550, 17581, 32,0, -17582, 17594, 13,1, -17595, 17625, 31,0, -17626, 17639, 14,1, -17640, 17729, 90,0, -17730, 17819, 90,1, -17820, 17909, 90,0, -17910, 17954, 45,1, -17955, 17969, 15,0, -17970, 17999, 30,1, -18000, 18014, 15,0, -18015, 18044, 30,1, -18045, 18058, 14,0, -18059, 18089, 31,1, -18090, 18125, 36,0, -18126, 18134, 9,1, -18135, 18172, 38,0, -18173, 18179, 7,1, -18180, 18217, 38,0, -18218, 18404, 187,1, -18405, 18437, 33,0, -18438, 18449, 12,1, -18450, 18490, 41,0, -18491, 18494, 4,1, -18495, 18536, 42,0, -18537, 18539, 3,1, -18540, 18581, 42,0, -18582, 18584, 3,1, -18585, 18627, 43,0, -18628, 18629, 2,1, -18630, 18670, 41,0, -18671, 18674, 4,1, -18675, 18714, 40,0, -18715, 18719, 5,1, -18720, 18760, 41,0, -18761, 18764, 4,1, -18765, 18808, 44,0, -18809, 18809, 1,1, -18810, 18852, 43,0, -18853, 18854, 2,1, -18855, 18895, 41,0, -18896, 18899, 4,1, -18900, 18939, 40,0, -18940, 18944, 5,1, -18945, 18978, 34,0, -18979, 18989, 11,1, -18990, 19018, 29,0, -19019, 19394, 376,1, -19395, 19413, 19,0, -19414, 19439, 26,1, -19440, 19467, 28,0, -19468, 19484, 17,1, -19485, 19509, 25,0, -19510, 19529, 20,1, -19530, 19551, 22,0, -19552, 19574, 23,1, -19575, 19603, 29,0, -19604, 19619, 16,1, -19620, 19640, 21,0, -19641, 19664, 24,1, -19665, 19754, 90,0, -19755, 19934, 180,1, -19935, 19940, 6,0, -19941, 19979, 39,1, -19980, 19992, 13,0, -19993, 20024, 32,1, -20025, 20038, 14,0, -20039, 20069, 31,1, -20070, 20083, 14,0, -20084, 20114, 31,1, -20115, 20150, 36,0, -20151, 20159, 9,1, -20160, 20197, 38,0, -20198, 20204, 7,1, -20205, 20242, 38,0, -20243, 20429, 187,1, -20430, 20463, 34,0, -20464, 20474, 11,1, -20475, 20514, 40,0, -20515, 20519, 5,1, -20520, 20561, 42,0, -20562, 20564, 3,1, -20565, 20606, 42,0, -20607, 20609, 3,1, -20610, 20648, 39,0, -20649, 20654, 6,1, -20655, 20693, 39,0, -20694, 20699, 6,1, -20700, 20737, 38,0, -20738, 20744, 7,1, -20745, 20785, 41,0, -20786, 20789, 4,1, -20790, 20831, 42,0, -20832, 20834, 3,1, -20835, 20876, 42,0, -20877, 20879, 3,1, -20880, 20920, 41,0, -20921, 20924, 4,1, -20925, 20964, 40,0, -20965, 20969, 5,1, -20970, 21005, 36,0, -21006, 21014, 9,1, -21015, 21046, 32,0, -21047, 21059, 13,1, -21060, 21092, 33,0, -21093, 21104, 12,1, -21105, 21138, 34,0, -21139, 21149, 11,1, -21150, 21183, 34,0, -21184, 21194, 11,1, -21195, 21227, 33,0, -21228, 21374, 147,1, -21375, 21401, 27,0, -21402, 21419, 18,1, -21420, 21447, 28,0, -21448, 21464, 17,1, -21465, 21492, 28,0, -21493, 21509, 17,1, -21510, 21515, 6,0, -21516, 21689, 174,1, -21690, 21779, 90,0, -21780, 21959, 180,1, -21960, 21965, 6,0, -21966, 22004, 39,1, -22005, 22018, 14,0, -22019, 22049, 31,1, -22050, 22063, 14,0, -22064, 22094, 31,1, -22095, 22108, 14,0, -22109, 22139, 31,1, -22140, 22175, 36,0, -22176, 22184, 9,1, -22185, 22222, 38,0, -22223, 22229, 7,1, -22230, 22267, 38,0, -22268, 22454, 187,1, -22455, 22471, 17,0, -22472, 22499, 28,1, -22500, 22538, 39,0, -22539, 22544, 6,1, -22545, 22586, 42,0, -22587, 22589, 3,1, -22590, 22631, 42,0, -22632, 22634, 3,1, -22635, 22674, 40,0, -22675, 22679, 5,1, -22680, 22716, 37,0, -22717, 22724, 8,1, -22725, 22760, 36,0, -22761, 22769, 9,1, -22770, 22807, 38,0, -22808, 22814, 7,1, -22815, 22854, 40,0, -22855, 22859, 5,1, -22860, 22899, 40,0, -22900, 22904, 5,1, -22905, 22943, 39,0, -22944, 22949, 6,1, -22950, 22987, 38,0, -22988, 22994, 7,1, -22995, 23028, 34,0, -23029, 23039, 11,1, -23040, 23072, 33,0, -23073, 23084, 12,1, -23085, 23120, 36,0, -23121, 23129, 9,1, -23130, 23166, 37,0, -23167, 23174, 8,1, -23175, 23213, 39,0, -23214, 23219, 6,1, -23220, 23258, 39,0, -23259, 23264, 6,1, -23265, 23301, 37,0, -23302, 23354, 53,1, -23355, 23382, 28,0, -23383, 23399, 17,1, -23400, 23425, 26,0, -23426, 23444, 19,1, -23445, 23452, 8,0, -23453, 23984, 532,1, -23985, 23990, 6,0, -23991, 24029, 39,1, -24030, 24042, 13,0, -24043, 24074, 32,1, -24075, 24088, 14,0, -24089, 24119, 31,1, -24120, 24133, 14,0, -24134, 24164, 31,1, -24165, 24200, 36,0, -24201, 24209, 9,1, -24210, 24247, 38,0, -24248, 24254, 7,1, -24255, 24292, 38,0, -24293, 24524, 232,1, -24525, 24563, 39,0, -24564, 24569, 6,1, -24570, 24611, 42,0, -24612, 24614, 3,1, -24615, 24656, 42,0, -24657, 24659, 3,1, -24660, 24700, 41,0, -24701, 24704, 4,1, -24705, 24742, 38,0, -24743, 24749, 7,1, -24750, 24785, 36,0, -24786, 24794, 9,1, -24795, 24832, 38,0, -24833, 24839, 7,1, -24840, 24877, 38,0, -24878, 24884, 7,1, -24885, 24922, 38,0, -24923, 24929, 7,1, -24930, 24969, 40,0, -24970, 24974, 5,1, -24975, 25015, 41,0, -25016, 25019, 4,1, -25020, 25058, 39,0, -25059, 25064, 6,1, -25065, 25102, 38,0, -25103, 25109, 7,1, -25110, 25144, 35,0, -25145, 25154, 10,1, -25155, 25194, 40,0, -25195, 25199, 5,1, -25200, 25240, 41,0, -25241, 25244, 4,1, -25245, 25285, 41,0, -25286, 25289, 4,1, -25290, 25330, 41,0, -25331, 25334, 4,1, -25335, 25370, 36,0, -25371, 25379, 9,1, -25380, 25408, 29,0, -25409, 25424, 16,1, -25425, 25455, 31,0, -25456, 25559, 104,1, -25560, 25564, 5,0, -25565, 25604, 40,1, -25605, 25610, 6,0, -25611, 26009, 399,1, -26010, 26014, 5,0, -26015, 26054, 40,1, -26055, 26065, 11,0, -26066, 26099, 34,1, -26100, 26113, 14,0, -26114, 26144, 31,1, -26145, 26160, 16,0, -26161, 26189, 29,1, -26190, 26224, 35,0, -26225, 26234, 10,1, -26235, 26272, 38,0, -26273, 26279, 7,1, -26280, 26317, 38,0, -26318, 26549, 232,1, -26550, 26588, 39,0, -26589, 26594, 6,1, -26595, 26636, 42,0, -26637, 26639, 3,1, -26640, 26681, 42,0, -26682, 26684, 3,1, -26685, 26725, 41,0, -26726, 26729, 4,1, -26730, 26768, 39,0, -26769, 26774, 6,1, -26775, 26810, 36,0, -26811, 26819, 9,1, -26820, 26858, 39,0, -26859, 26864, 6,1, -26865, 26902, 38,0, -26903, 26909, 7,1, -26910, 26951, 42,0, -26952, 26954, 3,1, -26955, 26996, 42,0, -26997, 26999, 3,1, -27000, 27041, 42,0, -27042, 27044, 3,1, -27045, 27086, 42,0, -27087, 27089, 3,1, -27090, 27129, 40,0, -27130, 27134, 5,1, -27135, 27174, 40,0, -27175, 27179, 5,1, -27180, 27219, 40,0, -27220, 27224, 5,1, -27225, 27266, 42,0, -27267, 27269, 3,1, -27270, 27310, 41,0, -27311, 27314, 4,1, -27315, 27355, 41,0, -27356, 27359, 4,1, -27360, 27400, 41,0, -27401, 27404, 4,1, -27405, 27445, 41,0, -27446, 27449, 4,1, -27450, 27484, 35,0, -27485, 27494, 10,1, -27495, 27525, 31,0, -27526, 27584, 59,1, -27585, 27591, 7,0, -27592, 27629, 38,1, -27630, 27635, 6,0, -27636, 28079, 444,1, -28080, 28088, 9,0, -28089, 28124, 36,1, -28125, 28137, 13,0, -28138, 28169, 32,1, -28170, 28183, 14,0, -28184, 28214, 31,1, -28215, 28249, 35,0, -28250, 28259, 10,1, -28260, 28297, 38,0, -28298, 28304, 7,1, -28305, 28342, 38,0, -28343, 28574, 232,1, -28575, 28613, 39,0, -28614, 28619, 6,1, -28620, 28660, 41,0, -28661, 28664, 4,1, -28665, 28705, 41,0, -28706, 28709, 4,1, -28710, 28750, 41,0, -28751, 28754, 4,1, -28755, 28793, 39,0, -28794, 28799, 6,1, -28800, 28838, 39,0, -28839, 28844, 6,1, -28845, 28885, 41,0, -28886, 28889, 4,1, -28890, 28930, 41,0, -28931, 28934, 4,1, -28935, 28977, 43,0, -28978, 28979, 2,1, -28980, 29021, 42,0, -29022, 29024, 3,1, -29025, 29066, 42,0, -29067, 29069, 3,1, -29070, 29110, 41,0, -29111, 29114, 4,1, -29115, 29154, 40,0, -29155, 29159, 5,1, -29160, 29199, 40,0, -29200, 29204, 5,1, -29205, 29243, 39,0, -29244, 29249, 6,1, -29250, 29286, 37,0, -29287, 29294, 8,1, -29295, 29334, 40,0, -29335, 29339, 5,1, -29340, 29380, 41,0, -29381, 29384, 4,1, -29385, 29426, 42,0, -29427, 29429, 3,1, -29430, 29470, 41,0, -29471, 29474, 4,1, -29475, 29513, 39,0, -29514, 29519, 6,1, -29520, 29556, 37,0, -29557, 29564, 8,1, -29565, 29586, 22,0, -29587, 29609, 23,1, -29610, 29640, 31,0, -29641, 30104, 464,1, -30105, 30118, 14,0, -30119, 30149, 31,1, -30150, 30163, 14,0, -30164, 30194, 31,1, -30195, 30208, 14,0, -30209, 30239, 31,1, -30240, 30274, 35,0, -30275, 30284, 10,1, -30285, 30323, 39,0, -30324, 30329, 6,1, -30330, 30368, 39,0, -30369, 30599, 231,1, -30600, 30637, 38,0, -30638, 30644, 7,1, -30645, 30685, 41,0, -30686, 30689, 4,1, -30690, 30730, 41,0, -30731, 30734, 4,1, -30735, 30774, 40,0, -30775, 30779, 5,1, -30780, 30818, 39,0, -30819, 30824, 6,1, -30825, 30865, 41,0, -30866, 30869, 4,1, -30870, 30911, 42,0, -30912, 30914, 3,1, -30915, 30957, 43,0, -30958, 30959, 2,1, -30960, 31001, 42,0, -31002, 31004, 3,1, -31005, 31046, 42,0, -31047, 31049, 3,1, -31050, 31091, 42,0, -31092, 31094, 3,1, -31095, 31135, 41,0, -31136, 31139, 4,1, -31140, 31178, 39,0, -31179, 31184, 6,1, -31185, 31221, 37,0, -31222, 31229, 8,1, -31230, 31266, 37,0, -31267, 31274, 8,1, -31275, 31313, 39,0, -31314, 31319, 6,1, -31320, 31358, 39,0, -31359, 31364, 6,1, -31365, 31404, 40,0, -31405, 31409, 5,1, -31410, 31448, 39,0, -31449, 31454, 6,1, -31455, 31493, 39,0, -31494, 31499, 6,1, -31500, 31538, 39,0, -31539, 31544, 6,1, -31545, 31581, 37,0, -31582, 31589, 8,1, -31590, 31624, 35,0, -31625, 31634, 10,1, -31635, 31668, 34,0, -31669, 32129, 461,1, -32130, 32142, 13,0, -32143, 32174, 32,1, -32175, 32190, 16,0, -32191, 32219, 29,1, -32220, 32233, 14,0, -32234, 32264, 31,1, -32265, 32299, 35,0, -32300, 32309, 10,1, -32310, 32348, 39,0, -32349, 32354, 6,1, -32355, 32393, 39,0, -32394, 32624, 231,1, -32625, 32661, 37,0, -32662, 32669, 8,1, -32670, 32709, 40,0, -32710, 32714, 5,1, -32715, 32755, 41,0, -32756, 32759, 4,1, -32760, 32798, 39,0, -32799, 32804, 6,1, -32805, 32843, 39,0, -32844, 32849, 6,1, -32850, 32890, 41,0, -32891, 32894, 4,1, -32895, 32935, 41,0, -32936, 32939, 4,1, -32940, 32981, 42,0, -32982, 32984, 3,1, -32985, 33025, 41,0, -33026, 33029, 4,1, -33030, 33070, 41,0, -33071, 33074, 4,1, -33075, 33116, 42,0, -33117, 33119, 3,1, -33120, 33157, 38,0, -33158, 33164, 7,1, -33165, 33201, 37,0, -33202, 33209, 8,1, -33210, 33246, 37,0, -33247, 33254, 8,1, -33255, 33291, 37,0, -33292, 33299, 8,1, -33300, 33336, 37,0, -33337, 33344, 8,1, -33345, 33383, 39,0, -33384, 33389, 6,1, -33390, 33428, 39,0, -33429, 33434, 6,1, -33435, 33473, 39,0, -33474, 33479, 6,1, -33480, 33518, 39,0, -33519, 33524, 6,1, -33525, 33562, 38,0, -33563, 33569, 7,1, -33570, 33605, 36,0, -33606, 33614, 9,1, -33615, 33650, 36,0, -33651, 33659, 9,1, -33660, 33693, 34,0, -33694, 34154, 461,1, -34155, 34164, 10,0, -34165, 34199, 35,1, -34200, 34212, 13,0, -34213, 34244, 32,1, -34245, 34260, 16,0, -34261, 34289, 29,1, -34290, 34324, 35,0, -34325, 34334, 10,1, -34335, 34372, 38,0, -34373, 34379, 7,1, -34380, 34417, 38,0, -34418, 34559, 142,1, -34560, 34561, 2,0, -34562, 34604, 43,1, -34605, 34617, 13,0, -34618, 34649, 32,1, -34650, 34685, 36,0, -34686, 34694, 9,1, -34695, 34733, 39,0, -34734, 34739, 6,1, -34740, 34778, 39,0, -34779, 34784, 6,1, -34785, 34823, 39,0, -34824, 34829, 6,1, -34830, 34866, 37,0, -34867, 34874, 8,1, -34875, 34912, 38,0, -34913, 34919, 7,1, -34920, 34958, 39,0, -34959, 34964, 6,1, -34965, 35003, 39,0, -35004, 35009, 6,1, -35010, 35049, 40,0, -35050, 35054, 5,1, -35055, 35094, 40,0, -35095, 35099, 5,1, -35100, 35138, 39,0, -35139, 35144, 6,1, -35145, 35182, 38,0, -35183, 35189, 7,1, -35190, 35227, 38,0, -35228, 35234, 7,1, -35235, 35271, 37,0, -35272, 35279, 8,1, -35280, 35321, 42,0, -35322, 35324, 3,1, -35325, 35361, 37,0, -35362, 35369, 8,1, -35370, 35406, 37,0, -35407, 35414, 8,1, -35415, 35451, 37,0, -35452, 35459, 8,1, -35460, 35499, 40,0, -35500, 35504, 5,1, -35505, 35543, 39,0, -35544, 35549, 6,1, -35550, 35587, 38,0, -35588, 35594, 7,1, -35595, 35630, 36,0, -35631, 35639, 9,1, -35640, 35672, 33,0, -35673, 35684, 12,1, -35685, 35696, 12,0, -35697, 36134, 438,1, -36135, 36136, 2,0, -36137, 36179, 43,1, -36180, 36187, 8,0, -36188, 36224, 37,1, -36225, 36237, 13,0, -36238, 36269, 32,1, -36270, 36286, 17,0, -36287, 36314, 28,1, -36315, 36348, 34,0, -36349, 36359, 11,1, -36360, 36397, 38,0, -36398, 36404, 7,1, -36405, 36442, 38,0, -36443, 36584, 142,1, -36585, 36586, 2,0, -36587, 36629, 43,1, -36630, 36649, 20,0, -36650, 36674, 25,1, -36675, 36709, 35,0, -36710, 36719, 10,1, -36720, 36757, 38,0, -36758, 36764, 7,1, -36765, 36802, 38,0, -36803, 36809, 7,1, -36810, 36846, 37,0, -36847, 36854, 8,1, -36855, 36885, 31,0, -36886, 36899, 14,1, -36900, 36936, 37,0, -36937, 36944, 8,1, -36945, 36982, 38,0, -36983, 36989, 7,1, -36990, 37028, 39,0, -37029, 37034, 6,1, -37035, 37074, 40,0, -37075, 37079, 5,1, -37080, 37119, 40,0, -37120, 37124, 5,1, -37125, 37161, 37,0, -37162, 37169, 8,1, -37170, 37209, 40,0, -37210, 37214, 5,1, -37215, 37255, 41,0, -37256, 37259, 4,1, -37260, 37302, 43,0, -37303, 37304, 2,1, -37305, 37346, 42,0, -37347, 37349, 3,1, -37350, 37390, 41,0, -37391, 37394, 4,1, -37395, 37433, 39,0, -37434, 37439, 6,1, -37440, 37476, 37,0, -37477, 37484, 8,1, -37485, 37522, 38,0, -37523, 37529, 7,1, -37530, 37568, 39,0, -37569, 37574, 6,1, -37575, 37612, 38,0, -37613, 37619, 7,1, -37620, 37654, 35,0, -37655, 37664, 10,1, -37665, 37672, 8,0, -37673, 38159, 487,1, -38160, 38161, 2,0, -38162, 38204, 43,1, -38205, 38206, 2,0, -38207, 38249, 43,1, -38250, 38261, 12,0, -38262, 38294, 33,1, -38295, 38311, 17,0, -38312, 38339, 28,1, -38340, 38373, 34,0, -38374, 38384, 11,1, -38385, 38422, 38,0, -38423, 38429, 7,1, -38430, 38467, 38,0, -38468, 38654, 187,1, -38655, 38675, 21,0, -38676, 38699, 24,1, -38700, 38734, 35,0, -38735, 38744, 10,1, -38745, 38781, 37,0, -38782, 38789, 8,1, -38790, 38823, 34,0, -38824, 38834, 11,1, -38835, 38868, 34,0, -38869, 38879, 11,1, -38880, 38913, 34,0, -38914, 38924, 11,1, -38925, 38959, 35,0, -38960, 38969, 10,1, -38970, 39005, 36,0, -39006, 39014, 9,1, -39015, 39051, 37,0, -39052, 39059, 8,1, -39060, 39096, 37,0, -39097, 39104, 8,1, -39105, 39143, 39,0, -39144, 39149, 6,1, -39150, 39188, 39,0, -39189, 39194, 6,1, -39195, 39234, 40,0, -39235, 39239, 5,1, -39240, 39280, 41,0, -39281, 39284, 4,1, -39285, 39326, 42,0, -39327, 39329, 3,1, -39330, 39371, 42,0, -39372, 39374, 3,1, -39375, 39416, 42,0, -39417, 39419, 3,1, -39420, 39460, 41,0, -39461, 39464, 4,1, -39465, 39503, 39,0, -39504, 39509, 6,1, -39510, 39544, 35,0, -39545, 39554, 10,1, -39555, 39586, 32,0, -39587, 39599, 13,1, -39600, 39626, 27,0, -39627, 40229, 603,1, -40230, 40231, 2,0, -40232, 40274, 43,1, -40275, 40281, 7,0, -40282, 40319, 38,1, -40320, 40335, 16,0, -40336, 40364, 29,1, -40365, 40399, 35,0, -40400, 40409, 10,1, -40410, 40447, 38,0, -40448, 40454, 7,1, -40455, 40492, 38,0, -40493, 40679, 187,1, -40680, 40695, 16,0, -40696, 40724, 29,1, -40725, 40759, 35,0, -40760, 40769, 10,1, -40770, 40805, 36,0, -40806, 40814, 9,1, -40815, 40853, 39,0, -40854, 40859, 6,1, -40860, 40898, 39,0, -40899, 40904, 6,1, -40905, 40941, 37,0, -40942, 40949, 8,1, -40950, 40984, 35,0, -40985, 40994, 10,1, -40995, 41028, 34,0, -41029, 41039, 11,1, -41040, 41074, 35,0, -41075, 41084, 10,1, -41085, 41121, 37,0, -41122, 41129, 8,1, -41130, 41168, 39,0, -41169, 41174, 6,1, -41175, 41213, 39,0, -41214, 41219, 6,1, -41220, 41261, 42,0, -41262, 41264, 3,1, -41265, 41307, 43,0, -41308, 41309, 2,1, -41310, 41350, 41,0, -41351, 41354, 4,1, -41355, 41395, 41,0, -41396, 41399, 4,1, -41400, 41441, 42,0, -41442, 41444, 3,1, -41445, 41485, 41,0, -41486, 41489, 4,1, -41490, 41528, 39,0, -41529, 41534, 6,1, -41535, 41572, 38,0, -41573, 41579, 7,1, -41580, 41614, 35,0, -41615, 41624, 10,1, -41625, 41659, 35,0, -41660, 41669, 10,1, -41670, 41690, 21,0, -41691, 42254, 564,1, -42255, 42256, 2,0, -42257, 42299, 43,1, -42300, 42305, 6,0, -42306, 42344, 39,1, -42345, 42354, 10,0, -42355, 42389, 35,1, -42390, 42424, 35,0, -42425, 42434, 10,1, -42435, 42472, 38,0, -42473, 42479, 7,1, -42480, 42517, 38,0, -42518, 42749, 232,1, -42750, 42784, 35,0, -42785, 42794, 10,1, -42795, 42831, 37,0, -42832, 42839, 8,1, -42840, 42878, 39,0, -42879, 42884, 6,1, -42885, 42923, 39,0, -42924, 42929, 6,1, -42930, 42967, 38,0, -42968, 42974, 7,1, -42975, 43010, 36,0, -43011, 43019, 9,1, -43020, 43053, 34,0, -43054, 43064, 11,1, -43065, 43100, 36,0, -43101, 43109, 9,1, -43110, 43145, 36,0, -43146, 43154, 9,1, -43155, 43193, 39,0, -43194, 43199, 6,1, -43200, 43239, 40,0, -43240, 43244, 5,1, -43245, 43285, 41,0, -43286, 43289, 4,1, -43290, 43332, 43,0, -43333, 43334, 2,1, -43335, 43377, 43,0, -43378, 43379, 2,1, -43380, 43422, 43,0, -43423, 43424, 2,1, -43425, 43465, 41,0, -43466, 43469, 4,1, -43470, 43510, 41,0, -43511, 43514, 4,1, -43515, 43553, 39,0, -43554, 43559, 6,1, -43560, 43596, 37,0, -43597, 43604, 8,1, -43605, 43640, 36,0, -43641, 43649, 9,1, -43650, 43683, 34,0, -43684, 43694, 11,1, -43695, 43727, 33,0, -43728, 44279, 552,1, -44280, 44281, 2,0, -44282, 44324, 43,1, -44325, 44328, 4,0, -44329, 44369, 41,1, -44370, 44384, 15,0, -44385, 44414, 30,1, -44415, 44449, 35,0, -44450, 44459, 10,1, -44460, 44497, 38,0, -44498, 44504, 7,1, -44505, 44542, 38,0, -44543, 44774, 232,1, -44775, 44809, 35,0, -44810, 44819, 10,1, -44820, 44857, 38,0, -44858, 44864, 7,1, -44865, 44903, 39,0, -44904, 44909, 6,1, -44910, 44948, 39,0, -44949, 44954, 6,1, -44955, 44992, 38,0, -44993, 44999, 7,1, -45000, 45035, 36,0, -45036, 45044, 9,1, -45045, 45079, 35,0, -45080, 45089, 10,1, -45090, 45125, 36,0, -45126, 45134, 9,1, -45135, 45171, 37,0, -45172, 45179, 8,1, -45180, 45217, 38,0, -45218, 45224, 7,1, -45225, 45265, 41,0, -45266, 45269, 4,1, -45270, 45310, 41,0, -45311, 45314, 4,1, -45315, 45356, 42,0, -45357, 45359, 3,1, -45360, 45402, 43,0, -45403, 45404, 2,1, -45405, 45447, 43,0, -45448, 45449, 2,1, -45450, 45492, 43,0, -45493, 45494, 2,1, -45495, 45534, 40,0, -45535, 45539, 5,1, -45540, 45578, 39,0, -45579, 45584, 6,1, -45585, 45621, 37,0, -45622, 45629, 8,1, -45630, 45665, 36,0, -45666, 45674, 9,1, -45675, 45708, 34,0, -45709, 45719, 11,1, -45720, 45751, 32,0, -45752, 45764, 13,1, -45765, 45789, 25,0, -45790, 46349, 560,1, -46350, 46353, 4,0, -46354, 46394, 41,1, -46395, 46409, 15,0, -46410, 46439, 30,1, -46440, 46474, 35,0, -46475, 46484, 10,1, -46485, 46522, 38,0, -46523, 46529, 7,1, -46530, 46567, 38,0, -46568, 46799, 232,1, -46800, 46834, 35,0, -46835, 46844, 10,1, -46845, 46882, 38,0, -46883, 46889, 7,1, -46890, 46928, 39,0, -46929, 46934, 6,1, -46935, 46973, 39,0, -46974, 46979, 6,1, -46980, 47016, 37,0, -47017, 47024, 8,1, -47025, 47059, 35,0, -47060, 47069, 10,1, -47070, 47104, 35,0, -47105, 47114, 10,1, -47115, 47151, 37,0, -47152, 47159, 8,1, -47160, 47198, 39,0, -47199, 47204, 6,1, -47205, 47244, 40,0, -47245, 47249, 5,1, -47250, 47291, 42,0, -47292, 47294, 3,1, -47295, 47336, 42,0, -47337, 47339, 3,1, -47340, 47382, 43,0, -47383, 47384, 2,1, -47385, 47428, 44,0, -47429, 47429, 1,1, -47430, 47473, 44,0, -47474, 47474, 1,1, -47475, 47516, 42,0, -47517, 47519, 3,1, -47520, 47559, 40,0, -47560, 47564, 5,1, -47565, 47604, 40,0, -47605, 47609, 5,1, -47610, 47648, 39,0, -47649, 47654, 6,1, -47655, 47689, 35,0, -47690, 47699, 10,1, -47700, 47733, 34,0, -47734, 47744, 11,1, -47745, 47775, 31,0, -47776, 47789, 14,1, -47790, 47812, 23,0, -47813, 48374, 562,1, -48375, 48376, 2,0, -48377, 48419, 43,1, -48420, 48431, 12,0, -48432, 48464, 33,1, -48465, 48500, 36,0, -48501, 48509, 9,1, -48510, 48547, 38,0, -48548, 48554, 7,1, -48555, 48592, 38,0, -48593, 48824, 232,1, -48825, 48857, 33,0, -48858, 48869, 12,1, -48870, 48907, 38,0, -48908, 48914, 7,1, -48915, 48953, 39,0, -48954, 48959, 6,1, -48960, 48997, 38,0, -48998, 49004, 7,1, -49005, 49040, 36,0, -49041, 49049, 9,1, -49050, 49083, 34,0, -49084, 49094, 11,1, -49095, 49131, 37,0, -49132, 49139, 8,1, -49140, 49178, 39,0, -49179, 49184, 6,1, -49185, 49223, 39,0, -49224, 49229, 6,1, -49230, 49268, 39,0, -49269, 49274, 6,1, -49275, 49317, 43,0, -49318, 49319, 2,1, -49320, 49408, 89,0, -49409, 49409, 1,1, -49410, 49497, 88,0, -49498, 49499, 2,1, -49500, 49541, 42,0, -49542, 49544, 3,1, -49545, 49586, 42,0, -49587, 49589, 3,1, -49590, 49631, 42,0, -49632, 49634, 3,1, -49635, 49667, 33,0, -49668, 49679, 12,1, -49680, 49713, 34,0, -49714, 49724, 11,1, -49725, 49755, 31,0, -49756, 49769, 14,1, -49770, 49789, 20,0, -49790, 50444, 655,1, -50445, 50452, 8,0, -50453, 50489, 37,1, -50490, 50524, 35,0, -50525, 50534, 10,1, -50535, 50572, 38,0, -50573, 50579, 7,1, -50580, 50617, 38,0, -50618, 50849, 232,1, -50850, 50878, 29,0, -50879, 50894, 16,1, -50895, 50933, 39,0, -50934, 50939, 6,1, -50940, 50978, 39,0, -50979, 50984, 6,1, -50985, 51021, 37,0, -51022, 51029, 8,1, -51030, 51064, 35,0, -51065, 51074, 10,1, -51075, 51110, 36,0, -51111, 51119, 9,1, -51120, 51157, 38,0, -51158, 51164, 7,1, -51165, 51203, 39,0, -51204, 51209, 6,1, -51210, 51293, 84,0, -51294, 51299, 6,1, -51300, 51343, 44,0, -51344, 51344, 1,1, -51345, 51522, 178,0, -51523, 51524, 2,1, -51525, 51612, 88,0, -51613, 51614, 2,1, -51615, 51631, 17,0, -51632, 51659, 28,1, -51660, 51671, 12,0, -51672, 51704, 33,1, -51705, 51711, 7,0, -51712, 51749, 38,1, -51750, 51755, 6,0, -51756, 52424, 669,1, -52425, 52426, 2,0, -52427, 52469, 43,1, -52470, 52481, 12,0, -52482, 52514, 33,1, -52515, 52549, 35,0, -52550, 52559, 10,1, -52560, 52597, 38,0, -52598, 52604, 7,1, -52605, 52642, 38,0, -52643, 52874, 232,1, -52875, 52909, 35,0, -52910, 52919, 10,1, -52920, 52958, 39,0, -52959, 52964, 6,1, -52965, 53003, 39,0, -53004, 53009, 6,1, -53010, 53046, 37,0, -53047, 53054, 8,1, -53055, 53089, 35,0, -53090, 53099, 10,1, -53100, 53135, 36,0, -53136, 53144, 9,1, -53145, 53183, 39,0, -53184, 53189, 6,1, -53190, 53233, 44,0, -53234, 53234, 1,1, -53235, 53321, 87,0, -53322, 53324, 3,1, -53325, 53367, 43,0, -53368, 53369, 2,1, -53370, 53609, 240,0, -53610, 53639, 30,1, -53640, 53646, 7,0, -53647, 53684, 38,1, -53685, 53691, 7,0, -53692, 53729, 38,1, -53730, 53736, 7,0, -53737, 53774, 38,1, -53775, 53778, 4,0, -53779, 53819, 41,1, -53820, 53822, 3,0, -53823, 54449, 627,1, -54450, 54451, 2,0, -54452, 54494, 43,1, -54495, 54520, 26,0, -54521, 54539, 19,1, -54540, 54574, 35,0, -54575, 54584, 10,1, -54585, 54622, 38,0, -54623, 54629, 7,1, -54630, 54667, 38,0, -54668, 54899, 232,1, -54900, 54933, 34,0, -54934, 54944, 11,1, -54945, 54982, 38,0, -54983, 54989, 7,1, -54990, 55028, 39,0, -55029, 55034, 6,1, -55035, 55072, 38,0, -55073, 55079, 7,1, -55080, 55114, 35,0, -55115, 55124, 10,1, -55125, 55161, 37,0, -55162, 55169, 8,1, -55170, 55208, 39,0, -55209, 55214, 6,1, -55215, 55257, 43,0, -55258, 55259, 2,1, -55260, 55302, 43,0, -55303, 55304, 2,1, -55305, 55348, 44,0, -55349, 55349, 1,1, -55350, 55393, 44,0, -55394, 55394, 1,1, -55395, 55437, 43,0, -55438, 55439, 2,1, -55440, 55607, 168,0, -55608, 55619, 12,1, -55620, 55625, 6,0, -55626, 55664, 39,1, -55665, 55672, 8,0, -55673, 55709, 37,1, -55710, 55736, 27,0, -55737, 55754, 18,1, -55755, 55783, 29,0, -55784, 55799, 16,1, -55800, 55827, 28,0, -55828, 55844, 17,1, -55845, 55868, 24,0, -55869, 55889, 21,1, -55890, 55895, 6,0, -55896, 56474, 579,1, -56475, 56476, 2,0, -56477, 56519, 43,1, -56520, 56549, 30,0, -56550, 56564, 15,1, -56565, 56599, 35,0, -56600, 56609, 10,1, -56610, 56647, 38,0, -56648, 56654, 7,1, -56655, 56692, 38,0, -56693, 56924, 232,1, -56925, 56958, 34,0, -56959, 56969, 11,1, -56970, 57008, 39,0, -57009, 57014, 6,1, -57015, 57053, 39,0, -57054, 57059, 6,1, -57060, 57098, 39,0, -57099, 57104, 6,1, -57105, 57140, 36,0, -57141, 57149, 9,1, -57150, 57187, 38,0, -57188, 57194, 7,1, -57195, 57233, 39,0, -57234, 57239, 6,1, -57240, 57281, 42,0, -57282, 57284, 3,1, -57285, 57326, 42,0, -57327, 57329, 3,1, -57330, 57373, 44,0, -57374, 57374, 1,1, -57375, 57418, 44,0, -57419, 57419, 1,1, -57420, 57460, 41,0, -57461, 57464, 4,1, -57465, 57507, 43,0, -57508, 57509, 2,1, -57510, 57552, 43,0, -57553, 57554, 2,1, -57555, 57605, 51,0, -57606, 57644, 39,1, -57645, 57649, 5,0, -57650, 57689, 40,1, -57690, 57696, 7,0, -57697, 57734, 38,1, -57735, 57766, 32,0, -57767, 57779, 13,1, -57780, 57813, 34,0, -57814, 57824, 11,1, -57825, 57858, 34,0, -57859, 57869, 11,1, -57870, 57903, 34,0, -57904, 57914, 11,1, -57915, 57927, 13,0, -57928, 58499, 572,1, -58500, 58501, 2,0, -58502, 58544, 43,1, -58545, 58577, 33,0, -58578, 58589, 12,1, -58590, 58625, 36,0, -58626, 58634, 9,1, -58635, 58672, 38,0, -58673, 58679, 7,1, -58680, 58717, 38,0, -58718, 58949, 232,1, -58950, 58982, 33,0, -58983, 58994, 12,1, -58995, 59033, 39,0, -59034, 59039, 6,1, -59040, 59078, 39,0, -59079, 59084, 6,1, -59085, 59123, 39,0, -59124, 59129, 6,1, -59130, 59165, 36,0, -59166, 59174, 9,1, -59175, 59212, 38,0, -59213, 59219, 7,1, -59220, 59259, 40,0, -59260, 59264, 5,1, -59265, 59306, 42,0, -59307, 59309, 3,1, -59310, 59351, 42,0, -59352, 59354, 3,1, -59355, 59393, 39,0, -59394, 59399, 6,1, -59400, 59402, 3,0, -59403, 59444, 42,1, -59445, 59469, 25,0, -59470, 59489, 20,1, -59490, 59533, 44,0, -59534, 59534, 1,1, -59535, 59578, 44,0, -59579, 59579, 1,1, -59580, 59650, 71,0, -59651, 59669, 19,1, -59670, 59692, 23,0, -59693, 59714, 22,1, -59715, 59733, 19,0, -59734, 59759, 26,1, -59760, 59791, 32,0, -59792, 59804, 13,1, -59805, 59838, 34,0, -59839, 59849, 11,1, -59850, 59883, 34,0, -59884, 59894, 11,1, -59895, 59928, 34,0, -59929, 59939, 11,1, -59940, 59971, 32,0, -59972, 59984, 13,1, -59985, 59986, 2,0, -59987, 60524, 538,1, -60525, 60530, 6,0, -60531, 60569, 39,1, -60570, 60603, 34,0, -60604, 60614, 11,1, -60615, 60650, 36,0, -60651, 60659, 9,1, -60660, 60697, 38,0, -60698, 60704, 7,1, -60705, 60742, 38,0, -60743, 60974, 232,1, -60975, 61010, 36,0, -61011, 61019, 9,1, -61020, 61058, 39,0, -61059, 61064, 6,1, -61065, 61104, 40,0, -61105, 61109, 5,1, -61110, 61148, 39,0, -61149, 61154, 6,1, -61155, 61193, 39,0, -61194, 61199, 6,1, -61200, 61238, 39,0, -61239, 61244, 6,1, -61245, 61285, 41,0, -61286, 61289, 4,1, -61290, 61333, 44,0, -61334, 61334, 1,1, -61335, 61376, 42,0, -61377, 61469, 93,1, -61470, 61473, 4,0, -61474, 61514, 41,1, -61515, 61558, 44,0, -61559, 61559, 1,1, -61560, 61603, 44,0, -61604, 61604, 1,1, -61605, 61647, 43,0, -61648, 61649, 2,1, -61650, 61686, 37,0, -61687, 61694, 8,1, -61695, 61723, 29,0, -61724, 61739, 16,1, -61740, 61781, 42,0, -61782, 61784, 3,1, -61785, 61824, 40,0, -61825, 61829, 5,1, -61830, 61869, 40,0, -61870, 61874, 5,1, -61875, 61908, 34,0, -61909, 61919, 11,1, -61920, 61953, 34,0, -61954, 61964, 11,1, -61965, 62003, 39,0, -62004, 62009, 6,1, -62010, 62041, 32,0, -62042, 62054, 13,1, -62055, 62059, 5,0, -62060, 62099, 40,1, -62100, 62104, 5,0, -62105, 62144, 40,1, -62145, 62150, 6,0, -62151, 62189, 39,1, -62190, 62192, 3,0, -62193, 62549, 357,1, -62550, 62556, 7,0, -62557, 62594, 38,1, -62595, 62628, 34,0, -62629, 62639, 11,1, -62640, 62676, 37,0, -62677, 62684, 8,1, -62685, 62721, 37,0, -62722, 62729, 8,1, -62730, 62767, 38,0, -62768, 62999, 232,1, -63000, 63035, 36,0, -63036, 63044, 9,1, -63045, 63083, 39,0, -63084, 63089, 6,1, -63090, 63129, 40,0, -63130, 63134, 5,1, -63135, 63174, 40,0, -63175, 63179, 5,1, -63180, 63219, 40,0, -63220, 63224, 5,1, -63225, 63264, 40,0, -63265, 63269, 5,1, -63270, 63312, 43,0, -63313, 63314, 2,1, -63315, 63358, 44,0, -63359, 63359, 1,1, -63360, 63402, 43,0, -63403, 63539, 137,1, -63540, 63545, 6,0, -63546, 63584, 39,1, -63585, 63615, 31,0, -63616, 63629, 14,1, -63630, 63668, 39,0, -63669, 63674, 6,1, -63675, 63713, 39,0, -63714, 63719, 6,1, -63720, 63758, 39,0, -63759, 63764, 6,1, -63765, 63806, 42,0, -63807, 63809, 3,1, -63810, 63851, 42,0, -63852, 63854, 3,1, -63855, 63988, 134,0, -63989, 63989, 1,1, -63990, 64068, 79,0, -64069, 64079, 11,1, -64080, 64088, 9,0, -64089, 64124, 36,1, -64125, 64132, 8,0, -64133, 64169, 37,1, -64170, 64176, 7,0, -64177, 64574, 398,1, -64575, 64581, 7,0, -64582, 64619, 38,1, -64620, 64654, 35,0, -64655, 64664, 10,1, -64665, 64701, 37,0, -64702, 64709, 8,1, -64710, 64746, 37,0, -64747, 64754, 8,1, -64755, 64792, 38,0, -64793, 65024, 232,1, -65025, 65060, 36,0, -65061, 65069, 9,1, -65070, 65109, 40,0, -65110, 65114, 5,1, -65115, 65154, 40,0, -65155, 65159, 5,1, -65160, 65199, 40,0, -65200, 65204, 5,1, -65205, 65244, 40,0, -65245, 65249, 5,1, -65250, 65292, 43,0, -65293, 65294, 2,1, -65295, 65337, 43,0, -65338, 65339, 2,1, -65340, 65382, 43,0, -65383, 65384, 2,1, -65385, 65427, 43,0, -65428, 65429, 2,1, -65430, 65435, 6,0, -65436, 65609, 174,1, -65610, 65617, 8,0, -65618, 65654, 37,1, -65655, 65687, 33,0, -65688, 65699, 12,1, -65700, 65738, 39,0, -65739, 65744, 6,1, -65745, 65783, 39,0, -65784, 65789, 6,1, -65790, 65833, 44,0, -65834, 65834, 1,1, -65835, 66129, 295,0, -66130, 66149, 20,1, -66150, 66167, 18,0, -66168, 66194, 27,1, -66195, 66213, 19,0, -66214, 66239, 26,1, -66240, 66257, 18,0, -66258, 66554, 297,1, -66555, 66556, 2,0, -66557, 66599, 43,1, -66600, 66605, 6,0, -66606, 66644, 39,1, -66645, 66679, 35,0, -66680, 66689, 10,1, -66690, 66726, 37,0, -66727, 66734, 8,1, -66735, 66771, 37,0, -66772, 66779, 8,1, -66780, 66817, 38,0, -66818, 67049, 232,1, -67050, 67083, 34,0, -67084, 67094, 11,1, -67095, 67134, 40,0, -67135, 67139, 5,1, -67140, 67179, 40,0, -67180, 67184, 5,1, -67185, 67223, 39,0, -67224, 67229, 6,1, -67230, 67266, 37,0, -67267, 67274, 8,1, -67275, 67315, 41,0, -67316, 67319, 4,1, -67320, 67362, 43,0, -67363, 67364, 2,1, -67365, 67407, 43,0, -67408, 67409, 2,1, -67410, 67452, 43,0, -67453, 67454, 2,1, -67455, 67460, 6,0, -67461, 67634, 174,1, -67635, 67639, 5,0, -67640, 67679, 40,1, -67680, 67705, 26,0, -67706, 67724, 19,1, -67725, 67762, 38,0, -67763, 67769, 7,1, -67770, 67806, 37,0, -67807, 67814, 8,1, -67815, 67854, 40,0, -67855, 67859, 5,1, -67860, 67902, 43,0, -67903, 67904, 2,1, -67905, 67993, 89,0, -67994, 67994, 1,1, -67995, 68127, 133,0, -68128, 68129, 2,1, -68130, 68171, 42,0, -68172, 68174, 3,1, -68175, 68209, 35,0, -68210, 68219, 10,1, -68220, 68237, 18,0, -68238, 68264, 27,1, -68265, 68283, 19,0, -68284, 68579, 296,1, -68580, 68581, 2,0, -68582, 68624, 43,1, -68625, 68629, 5,0, -68630, 68669, 40,1, -68670, 68704, 35,0, -68705, 68714, 10,1, -68715, 68751, 37,0, -68752, 68759, 8,1, -68760, 68796, 37,0, -68797, 68804, 8,1, -68805, 68842, 38,0, -68843, 69074, 232,1, -69075, 69109, 35,0, -69110, 69119, 10,1, -69120, 69158, 39,0, -69159, 69164, 6,1, -69165, 69204, 40,0, -69205, 69209, 5,1, -69210, 69247, 38,0, -69248, 69254, 7,1, -69255, 69291, 37,0, -69292, 69299, 8,1, -69300, 69339, 40,0, -69340, 69344, 5,1, -69345, 69387, 43,0, -69388, 69389, 2,1, -69390, 69432, 43,0, -69433, 69434, 2,1, -69435, 69469, 35,0, -69470, 69479, 10,1, -69480, 69482, 3,0, -69483, 69614, 132,1, -69615, 69617, 3,0, -69618, 69659, 42,1, -69660, 69665, 6,0, -69666, 69704, 39,1, -69705, 69714, 10,0, -69715, 69749, 35,1, -69750, 69781, 32,0, -69782, 69794, 13,1, -69795, 69834, 40,0, -69835, 69839, 5,1, -69840, 69880, 41,0, -69881, 69884, 4,1, -69885, 70016, 132,0, -70017, 70019, 3,1, -70020, 70063, 44,0, -70064, 70064, 1,1, -70065, 70108, 44,0, -70109, 70109, 1,1, -70110, 70152, 43,0, -70153, 70154, 2,1, -70155, 70195, 41,0, -70196, 70199, 4,1, -70200, 70239, 40,0, -70240, 70244, 5,1, -70245, 70263, 19,0, -70264, 70289, 26,1, -70290, 70308, 19,0, -70309, 70334, 26,1, -70335, 70352, 18,0, -70353, 70424, 72,1, -70425, 70431, 7,0, -70432, 70469, 38,1, -70470, 70476, 7,0, -70477, 70604, 128,1, -70605, 70606, 2,0, -70607, 70649, 43,1, -70650, 70653, 4,0, -70654, 70694, 41,1, -70695, 70728, 34,0, -70729, 70739, 11,1, -70740, 70776, 37,0, -70777, 70784, 8,1, -70785, 70821, 37,0, -70822, 70829, 8,1, -70830, 70867, 38,0, -70868, 71099, 232,1, -71100, 71134, 35,0, -71135, 71144, 10,1, -71145, 71183, 39,0, -71184, 71189, 6,1, -71190, 71228, 39,0, -71229, 71234, 6,1, -71235, 71271, 37,0, -71272, 71279, 8,1, -71280, 71317, 38,0, -71318, 71324, 7,1, -71325, 71364, 40,0, -71365, 71369, 5,1, -71370, 71411, 42,0, -71412, 71414, 3,1, -71415, 71457, 43,0, -71458, 71459, 2,1, -71460, 71464, 5,0, -71465, 71639, 175,1, -71640, 71645, 6,0, -71646, 71684, 39,1, -71685, 71690, 6,0, -71691, 71729, 39,1, -71730, 71735, 6,0, -71736, 71774, 39,1, -71775, 71779, 5,0, -71780, 71819, 40,1, -71820, 71857, 38,0, -71858, 71864, 7,1, -71865, 71902, 38,0, -71903, 71909, 7,1, -71910, 71948, 39,0, -71949, 71954, 6,1, -71955, 72040, 86,0, -72041, 72044, 4,1, -72045, 72086, 42,0, -72087, 72089, 3,1, -72090, 72131, 42,0, -72132, 72134, 3,1, -72135, 72176, 42,0, -72177, 72179, 3,1, -72180, 72301, 122,0, -72302, 72314, 13,1, -72315, 72337, 23,0, -72338, 72359, 22,1, -72360, 72378, 19,0, -72379, 72404, 26,1, -72405, 72422, 18,0, -72423, 72449, 27,1, -72450, 72464, 15,0, -72465, 72494, 30,1, -72495, 72508, 14,0, -72509, 72629, 121,1, -72630, 72631, 2,0, -72632, 72674, 43,1, -72675, 72677, 3,0, -72678, 72719, 42,1, -72720, 72751, 32,0, -72752, 72764, 13,1, -72765, 72798, 34,0, -72799, 72809, 11,1, -72810, 72843, 34,0, -72844, 72854, 11,1, -72855, 72892, 38,0, -72893, 73124, 232,1, -73125, 73160, 36,0, -73161, 73169, 9,1, -73170, 73207, 38,0, -73208, 73214, 7,1, -73215, 73252, 38,0, -73253, 73259, 7,1, -73260, 73296, 37,0, -73297, 73304, 8,1, -73305, 73342, 38,0, -73343, 73349, 7,1, -73350, 73389, 40,0, -73390, 73394, 5,1, -73395, 73434, 40,0, -73435, 73439, 5,1, -73440, 73474, 35,0, -73475, 73664, 190,1, -73665, 73690, 26,0, -73691, 73709, 19,1, -73710, 73743, 34,0, -73744, 73754, 11,1, -73755, 73786, 32,0, -73787, 73799, 13,1, -73800, 73829, 30,0, -73830, 73844, 15,1, -73845, 73882, 38,0, -73883, 73889, 7,1, -73890, 73928, 39,0, -73929, 73934, 6,1, -73935, 73972, 38,0, -73973, 73979, 7,1, -73980, 74109, 130,0, -74110, 74114, 5,1, -74115, 74418, 304,0, -74419, 74429, 11,1, -74430, 74457, 28,0, -74458, 74474, 17,1, -74475, 74501, 27,0, -74502, 74519, 18,1, -74520, 74535, 16,0, -74536, 74654, 119,1, -74655, 74656, 2,0, -74657, 74699, 43,1, -74700, 74701, 2,0, -74702, 74744, 43,1, -74745, 74771, 27,0, -74772, 74789, 18,1, -74790, 74819, 30,0, -74820, 74834, 15,1, -74835, 74867, 33,0, -74868, 74879, 12,1, -74880, 74917, 38,0, -74918, 75104, 187,1, -75105, 75121, 17,0, -75122, 75149, 28,1, -75150, 75185, 36,0, -75186, 75194, 9,1, -75195, 75231, 37,0, -75232, 75239, 8,1, -75240, 75276, 37,0, -75277, 75284, 8,1, -75285, 75322, 38,0, -75323, 75329, 7,1, -75330, 75367, 38,0, -75368, 75374, 7,1, -75375, 75412, 38,0, -75413, 75419, 7,1, -75420, 75458, 39,0, -75459, 75464, 6,1, -75465, 75502, 38,0, -75503, 75509, 7,1, -75510, 75513, 4,0, -75514, 75644, 131,1, -75645, 75650, 6,0, -75651, 75689, 39,1, -75690, 75717, 28,0, -75718, 75734, 17,1, -75735, 75773, 39,0, -75774, 75779, 6,1, -75780, 75816, 37,0, -75817, 75824, 8,1, -75825, 75864, 40,0, -75865, 75869, 5,1, -75870, 75912, 43,0, -75913, 75914, 2,1, -75915, 75957, 43,0, -75958, 75959, 2,1, -75960, 76000, 41,0, -76001, 76004, 4,1, -76005, 76487, 483,0, -76488, 76499, 12,1, -76500, 76526, 27,0, -76527, 76544, 18,1, -76545, 76559, 15,0, -76560, 76679, 120,1, -76680, 76681, 2,0, -76682, 76724, 43,1, -76725, 76726, 2,0, -76727, 76769, 43,1, -76770, 76792, 23,0, -76793, 76814, 22,1, -76815, 76845, 31,0, -76846, 76859, 14,1, -76860, 76893, 34,0, -76894, 76904, 11,1, -76905, 76942, 38,0, -76943, 77129, 187,1, -77130, 77148, 19,0, -77149, 77174, 26,1, -77175, 77209, 35,0, -77210, 77219, 10,1, -77220, 77255, 36,0, -77256, 77264, 9,1, -77265, 77300, 36,0, -77301, 77309, 9,1, -77310, 77348, 39,0, -77349, 77354, 6,1, -77355, 77393, 39,0, -77394, 77399, 6,1, -77400, 77438, 39,0, -77439, 77444, 6,1, -77445, 77483, 39,0, -77484, 77489, 6,1, -77490, 77529, 40,0, -77530, 77534, 5,1, -77535, 77573, 39,0, -77574, 77579, 6,1, -77580, 77618, 39,0, -77619, 77624, 6,1, -77625, 77660, 36,0, -77661, 77669, 9,1, -77670, 77700, 31,0, -77701, 77714, 14,1, -77715, 77750, 36,0, -77751, 77759, 9,1, -77760, 77798, 39,0, -77799, 77804, 6,1, -77805, 77845, 41,0, -77846, 77849, 4,1, -77850, 77890, 41,0, -77891, 77894, 4,1, -77895, 77937, 43,0, -77938, 77939, 2,1, -77940, 77981, 42,0, -77982, 77984, 3,1, -77985, 78025, 41,0, -78026, 78029, 4,1, -78030, 78208, 179,0, -78209, 78209, 1,1, -78210, 78388, 179,0, -78389, 78389, 1,1, -78390, 78513, 124,0, -78514, 78524, 11,1, -78525, 78548, 24,0, -78549, 78569, 21,1, -78570, 78588, 19,0, -78589, 78704, 116,1, -78705, 78706, 2,0, -78707, 78749, 43,1, -78750, 78753, 4,0, -78754, 78794, 41,1, -78795, 78816, 22,0, -78817, 78839, 23,1, -78840, 78871, 32,0, -78872, 78884, 13,1, -78885, 78920, 36,0, -78921, 78929, 9,1, -78930, 78967, 38,0, -78968, 79154, 187,1, -79155, 79176, 22,0, -79177, 79199, 23,1, -79200, 79234, 35,0, -79235, 79244, 10,1, -79245, 79280, 36,0, -79281, 79289, 9,1, -79290, 79331, 42,0, -79332, 79334, 3,1, -79335, 79373, 39,0, -79374, 79379, 6,1, -79380, 79418, 39,0, -79419, 79424, 6,1, -79425, 79465, 41,0, -79466, 79469, 4,1, -79470, 79509, 40,0, -79510, 79514, 5,1, -79515, 79555, 41,0, -79556, 79559, 4,1, -79560, 79599, 40,0, -79600, 79604, 5,1, -79605, 79644, 40,0, -79645, 79649, 5,1, -79650, 79689, 40,0, -79690, 79694, 5,1, -79695, 79731, 37,0, -79732, 79739, 8,1, -79740, 79776, 37,0, -79777, 79784, 8,1, -79785, 79823, 39,0, -79824, 79829, 6,1, -79830, 79868, 39,0, -79869, 79874, 6,1, -79875, 79914, 40,0, -79915, 79919, 5,1, -79920, 79955, 36,0, -79956, 79964, 9,1, -79965, 79999, 35,0, -80000, 80009, 10,1, -80010, 80049, 40,0, -80050, 80054, 5,1, -80055, 80098, 44,0, -80099, 80099, 1,1, -80100, 80233, 134,0, -80234, 80234, 1,1, -80235, 80368, 134,0, -80369, 80369, 1,1, -80370, 80412, 43,0, -80413, 80414, 2,1, -80415, 80458, 44,0, -80459, 80459, 1,1, -80460, 80567, 108,0, -80568, 80594, 27,1, -80595, 80612, 18,0, -80613, 80639, 27,1, -80640, 80651, 12,0, -80652, 80729, 78,1, -80730, 80732, 3,0, -80733, 80774, 42,1, -80775, 80778, 4,0, -80779, 80819, 41,1, -80820, 80848, 29,0, -80849, 80864, 16,1, -80865, 80896, 32,0, -80897, 80909, 13,1, -80910, 80946, 37,0, -80947, 80954, 8,1, -80955, 80992, 38,0, -80993, 81179, 187,1, -81180, 81210, 31,0, -81211, 81224, 14,1, -81225, 81257, 33,0, -81258, 81269, 12,1, -81270, 81306, 37,0, -81307, 81314, 8,1, -81315, 81357, 43,0, -81358, 81359, 2,1, -81360, 81401, 42,0, -81402, 81404, 3,1, -81405, 81446, 42,0, -81447, 81449, 3,1, -81450, 81490, 41,0, -81491, 81494, 4,1, -81495, 81535, 41,0, -81536, 81539, 4,1, -81540, 81580, 41,0, -81581, 81584, 4,1, -81585, 81624, 40,0, -81625, 81629, 5,1, -81630, 81666, 37,0, -81667, 81674, 8,1, -81675, 81709, 35,0, -81710, 81719, 10,1, -81720, 81754, 35,0, -81755, 81764, 10,1, -81765, 81803, 39,0, -81804, 81809, 6,1, -81810, 81848, 39,0, -81849, 81854, 6,1, -81855, 81897, 43,0, -81898, 81899, 2,1, -81900, 81935, 36,0, -81936, 81944, 9,1, -81945, 81981, 37,0, -81982, 81989, 8,1, -81990, 82026, 37,0, -82027, 82034, 8,1, -82035, 82075, 41,0, -82076, 82079, 4,1, -82080, 82122, 43,0, -82123, 82124, 2,1, -82125, 82168, 44,0, -82169, 82169, 1,1, -82170, 82213, 44,0, -82214, 82214, 1,1, -82215, 82257, 43,0, -82258, 82259, 2,1, -82260, 82393, 134,0, -82394, 82394, 1,1, -82395, 82437, 43,0, -82438, 82439, 2,1, -82440, 82482, 43,0, -82483, 82484, 2,1, -82485, 82528, 44,0, -82529, 82529, 1,1, -82530, 82629, 100,0, -82630, 82664, 35,1, -82665, 82674, 10,0, -82675, 82754, 80,1, -82755, 82757, 3,0, -82758, 82799, 42,1, -82800, 82804, 5,0, -82805, 82844, 40,1, -82845, 82875, 31,0, -82876, 82889, 14,1, -82890, 82922, 33,0, -82923, 82934, 12,1, -82935, 82970, 36,0, -82971, 82979, 9,1, -82980, 83017, 38,0, -83018, 83024, 7,1, -83025, 83044, 20,0, -83045, 83069, 25,1, -83070, 83089, 20,0, -83090, 83114, 25,1, -83115, 83134, 20,0, -83135, 83159, 25,1, -83160, 83179, 20,0, -83180, 83204, 25,1, -83205, 83235, 31,0, -83236, 83249, 14,1, -83250, 83282, 33,0, -83283, 83294, 12,1, -83295, 83332, 38,0, -83333, 83339, 7,1, -83340, 83380, 41,0, -83381, 83384, 4,1, -83385, 83425, 41,0, -83426, 83429, 4,1, -83430, 83470, 41,0, -83471, 83474, 4,1, -83475, 83515, 41,0, -83516, 83519, 4,1, -83520, 83559, 40,0, -83560, 83564, 5,1, -83565, 83603, 39,0, -83604, 83609, 6,1, -83610, 83643, 34,0, -83644, 83654, 11,1, -83655, 83689, 35,0, -83690, 83699, 10,1, -83700, 83734, 35,0, -83735, 83744, 10,1, -83745, 83780, 36,0, -83781, 83789, 9,1, -83790, 83829, 40,0, -83830, 83834, 5,1, -83835, 83878, 44,0, -83879, 83879, 1,1, -83880, 83923, 44,0, -83924, 83924, 1,1, -83925, 83961, 37,0, -83962, 83969, 8,1, -83970, 84008, 39,0, -84009, 84014, 6,1, -84015, 84053, 39,0, -84054, 84059, 6,1, -84060, 84100, 41,0, -84101, 84104, 4,1, -84105, 84145, 41,0, -84146, 84149, 4,1, -84150, 84192, 43,0, -84193, 84194, 2,1, -84195, 84237, 43,0, -84238, 84239, 2,1, -84240, 84462, 223,0, -84463, 84464, 2,1, -84465, 84508, 44,0, -84509, 84509, 1,1, -84510, 84681, 172,0, -84682, 84689, 8,1, -84690, 84695, 6,0, -84696, 84779, 84,1, -84780, 84784, 5,0, -84785, 84824, 40,1, -84825, 84832, 8,0, -84833, 84869, 37,1, -84870, 84900, 31,0, -84901, 84914, 14,1, -84915, 84948, 34,0, -84949, 84959, 11,1, -84960, 84995, 36,0, -84996, 85004, 9,1, -85005, 85042, 38,0, -85043, 85049, 7,1, -85050, 85070, 21,0, -85071, 85094, 24,1, -85095, 85115, 21,0, -85116, 85139, 24,1, -85140, 85160, 21,0, -85161, 85184, 24,1, -85185, 85204, 20,0, -85205, 85229, 25,1, -85230, 85262, 33,0, -85263, 85274, 12,1, -85275, 85308, 34,0, -85309, 85319, 11,1, -85320, 85359, 40,0, -85360, 85364, 5,1, -85365, 85406, 42,0, -85407, 85409, 3,1, -85410, 85451, 42,0, -85452, 85454, 3,1, -85455, 85485, 31,0, -85486, 85499, 14,1, -85500, 85537, 38,0, -85538, 85544, 7,1, -85545, 85581, 37,0, -85582, 85589, 8,1, -85590, 85623, 34,0, -85624, 85634, 11,1, -85635, 85670, 36,0, -85671, 85679, 9,1, -85680, 85717, 38,0, -85718, 85724, 7,1, -85725, 85759, 35,0, -85760, 85769, 10,1, -85770, 85812, 43,0, -85813, 85814, 2,1, -85815, 85857, 43,0, -85858, 85859, 2,1, -85860, 85902, 43,0, -85903, 85904, 2,1, -85905, 85946, 42,0, -85947, 85949, 3,1, -85950, 85989, 40,0, -85990, 85994, 5,1, -85995, 86033, 39,0, -86034, 86039, 6,1, -86040, 86079, 40,0, -86080, 86084, 5,1, -86085, 86124, 40,0, -86125, 86129, 5,1, -86130, 86169, 40,0, -86170, 86174, 5,1, -86175, 86217, 43,0, -86218, 86219, 2,1, -86220, 86262, 43,0, -86263, 86264, 2,1, -86265, 86533, 269,0, -86534, 86534, 1,1, -86535, 86705, 171,0, -86706, 86714, 9,1, -86715, 86726, 12,0, -86727, 86804, 78,1, -86805, 86809, 5,0, -86810, 86849, 40,1, -86850, 86860, 11,0, -86861, 86894, 34,1, -86895, 86925, 31,0, -86926, 86939, 14,1, -86940, 86973, 34,0, -86974, 86984, 11,1, -86985, 87020, 36,0, -87021, 87029, 9,1, -87030, 87067, 38,0, -87068, 87074, 7,1, -87075, 87094, 20,0, -87095, 87119, 25,1, -87120, 87139, 20,0, -87140, 87164, 25,1, -87165, 87184, 20,0, -87185, 87209, 25,1, -87210, 87237, 28,0, -87238, 87254, 17,1, -87255, 87289, 35,0, -87290, 87299, 10,1, -87300, 87334, 35,0, -87335, 87344, 10,1, -87345, 87386, 42,0, -87387, 87389, 3,1, -87390, 87432, 43,0, -87433, 87434, 2,1, -87435, 87477, 43,0, -87478, 87479, 2,1, -87480, 87503, 24,0, -87504, 87524, 21,1, -87525, 87552, 28,0, -87553, 87569, 17,1, -87570, 87595, 26,0, -87596, 87614, 19,1, -87615, 87644, 30,0, -87645, 87659, 15,1, -87660, 87696, 37,0, -87697, 87704, 8,1, -87705, 87741, 37,0, -87742, 87749, 8,1, -87750, 87788, 39,0, -87789, 87794, 6,1, -87795, 87836, 42,0, -87837, 87839, 3,1, -87840, 87873, 34,0, -87874, 87884, 11,1, -87885, 87920, 36,0, -87921, 87929, 9,1, -87930, 87971, 42,0, -87972, 87974, 3,1, -87975, 88016, 42,0, -88017, 88019, 3,1, -88020, 88059, 40,0, -88060, 88064, 5,1, -88065, 88104, 40,0, -88105, 88109, 5,1, -88110, 88151, 42,0, -88152, 88154, 3,1, -88155, 88197, 43,0, -88198, 88199, 2,1, -88200, 88243, 44,0, -88244, 88244, 1,1, -88245, 88287, 43,0, -88288, 88289, 2,1, -88290, 88333, 44,0, -88334, 88334, 1,1, -88335, 88468, 134,0, -88469, 88469, 1,1, -88470, 88730, 261,0, -88731, 88739, 9,1, -88740, 88773, 34,0, -88774, 88829, 56,1, -88830, 88834, 5,0, -88835, 88874, 40,1, -88875, 88886, 12,0, -88887, 88919, 33,1, -88920, 88950, 31,0, -88951, 88964, 14,1, -88965, 88997, 33,0, -88998, 89009, 12,1, -89010, 89045, 36,0, -89046, 89054, 9,1, -89055, 89092, 38,0, -89093, 89099, 7,1, -89100, 89119, 20,0, -89120, 89144, 25,1, -89145, 89164, 20,0, -89165, 89189, 25,1, -89190, 89209, 20,0, -89210, 89234, 25,1, -89235, 89263, 29,0, -89264, 89279, 16,1, -89280, 89314, 35,0, -89315, 89324, 10,1, -89325, 89360, 36,0, -89361, 89369, 9,1, -89370, 89410, 41,0, -89411, 89414, 4,1, -89415, 89456, 42,0, -89457, 89459, 3,1, -89460, 89501, 42,0, -89502, 89504, 3,1, -89505, 89544, 40,0, -89545, 89549, 5,1, -89550, 89582, 33,0, -89583, 89594, 12,1, -89595, 89627, 33,0, -89628, 89639, 12,1, -89640, 89670, 31,0, -89671, 89684, 14,1, -89685, 89721, 37,0, -89722, 89729, 8,1, -89730, 89768, 39,0, -89769, 89774, 6,1, -89775, 89813, 39,0, -89814, 89819, 6,1, -89820, 89858, 39,0, -89859, 89864, 6,1, -89865, 89900, 36,0, -89901, 89909, 9,1, -89910, 89945, 36,0, -89946, 89954, 9,1, -89955, 89995, 41,0, -89996, 89999, 4,1, -90000, 90042, 43,0, -90043, 90044, 2,1, -90045, 90086, 42,0, -90087, 90089, 3,1, -90090, 90133, 44,0, -90134, 90134, 1,1, -90135, 90268, 134,0, -90269, 90269, 1,1, -90270, 90311, 42,0, -90312, 90314, 3,1, -90315, 90357, 43,0, -90358, 90359, 2,1, -90360, 90448, 89,0, -90449, 90449, 1,1, -90450, 90491, 42,0, -90492, 90494, 3,1, -90495, 90537, 43,0, -90538, 90539, 2,1, -90540, 90711, 172,0, -90712, 90719, 8,1, -90720, 90755, 36,0, -90756, 90764, 9,1, -90765, 90799, 35,0, -90800, 90809, 10,1, -90810, 90811, 2,0, -90812, 90854, 43,1, -90855, 90859, 5,0, -90860, 90899, 40,1, -90900, 90916, 17,0, -90917, 90944, 28,1, -90945, 90974, 30,0, -90975, 90989, 15,1, -90990, 91021, 32,0, -91022, 91034, 13,1, -91035, 91070, 36,0, -91071, 91079, 9,1, -91080, 91117, 38,0, -91118, 91124, 7,1, -91125, 91143, 19,0, -91144, 91169, 26,1, -91170, 91188, 19,0, -91189, 91214, 26,1, -91215, 91233, 19,0, -91234, 91259, 26,1, -91260, 91289, 30,0, -91290, 91304, 15,1, -91305, 91340, 36,0, -91341, 91349, 9,1, -91350, 91385, 36,0, -91386, 91394, 9,1, -91395, 91434, 40,0, -91435, 91439, 5,1, -91440, 91480, 41,0, -91481, 91484, 4,1, -91485, 91525, 41,0, -91526, 91529, 4,1, -91530, 91570, 41,0, -91571, 91574, 4,1, -91575, 91614, 40,0, -91615, 91619, 5,1, -91620, 91655, 36,0, -91656, 91664, 9,1, -91665, 91837, 173,0, -91838, 91844, 7,1, -91845, 91881, 37,0, -91882, 91889, 8,1, -91890, 91925, 36,0, -91926, 91934, 9,1, -91935, 91969, 35,0, -91970, 91979, 10,1, -91980, 92022, 43,0, -92023, 92024, 2,1, -92025, 92068, 44,0, -92069, 92069, 1,1, -92070, 92113, 44,0, -92114, 92114, 1,1, -92115, 92157, 43,0, -92158, 92159, 2,1, -92160, 92203, 44,0, -92204, 92204, 1,1, -92205, 92293, 89,0, -92294, 92294, 1,1, -92295, 92336, 42,0, -92337, 92339, 3,1, -92340, 92382, 43,0, -92383, 92384, 2,1, -92385, 92427, 43,0, -92428, 92429, 2,1, -92430, 92471, 42,0, -92472, 92474, 3,1, -92475, 92516, 42,0, -92517, 92519, 3,1, -92520, 92563, 44,0, -92564, 92564, 1,1, -92565, 92653, 89,0, -92654, 92654, 1,1, -92655, 92735, 81,0, -92736, 92744, 9,1, -92745, 92780, 36,0, -92781, 92789, 9,1, -92790, 92823, 34,0, -92824, 92834, 11,1, -92835, 92841, 7,0, -92842, 92879, 38,1, -92880, 92885, 6,0, -92886, 92924, 39,1, -92925, 92946, 22,0, -92947, 92969, 23,1, -92970, 92996, 27,0, -92997, 93014, 18,1, -93015, 93045, 31,0, -93046, 93059, 14,1, -93060, 93095, 36,0, -93096, 93104, 9,1, -93105, 93142, 38,0, -93143, 93149, 7,1, -93150, 93167, 18,0, -93168, 93194, 27,1, -93195, 93212, 18,0, -93213, 93239, 27,1, -93240, 93257, 18,0, -93258, 93284, 27,1, -93285, 93317, 33,0, -93318, 93329, 12,1, -93330, 93366, 37,0, -93367, 93374, 8,1, -93375, 93411, 37,0, -93412, 93419, 8,1, -93420, 93459, 40,0, -93460, 93464, 5,1, -93465, 93506, 42,0, -93507, 93509, 3,1, -93510, 93552, 43,0, -93553, 93554, 2,1, -93555, 93597, 43,0, -93598, 93599, 2,1, -93600, 93640, 41,0, -93641, 93644, 4,1, -93645, 93683, 39,0, -93684, 93689, 6,1, -93690, 93733, 44,0, -93734, 93734, 1,1, -93735, 93947, 213,0, -93948, 93959, 12,1, -93960, 94001, 42,0, -94002, 94004, 3,1, -94005, 94047, 43,0, -94048, 94049, 2,1, -94050, 94093, 44,0, -94094, 94094, 1,1, -94095, 94138, 44,0, -94139, 94139, 1,1, -94140, 94181, 42,0, -94182, 94184, 3,1, -94185, 94228, 44,0, -94229, 94229, 1,1, -94230, 94318, 89,0, -94319, 94319, 1,1, -94320, 94362, 43,0, -94363, 94364, 2,1, -94365, 94407, 43,0, -94408, 94409, 2,1, -94410, 94451, 42,0, -94452, 94454, 3,1, -94455, 94498, 44,0, -94499, 94499, 1,1, -94500, 94543, 44,0, -94544, 94544, 1,1, -94545, 94678, 134,0, -94679, 94679, 1,1, -94680, 94760, 81,0, -94761, 94769, 9,1, -94770, 94805, 36,0, -94806, 94814, 9,1, -94815, 94826, 12,0, -94827, 94859, 33,1, -94860, 94866, 7,0, -94867, 94904, 38,1, -94905, 94910, 6,0, -94911, 94949, 39,1, -94950, 94978, 29,0, -94979, 94994, 16,1, -94995, 95025, 31,0, -95026, 95039, 14,1, -95040, 95072, 33,0, -95073, 95084, 12,1, -95085, 95120, 36,0, -95121, 95129, 9,1, -95130, 95167, 38,0, -95168, 95174, 7,1, -95175, 95194, 20,0, -95195, 95219, 25,1, -95220, 95239, 20,0, -95240, 95264, 25,1, -95265, 95284, 20,0, -95285, 95309, 25,1, -95310, 95345, 36,0, -95346, 95354, 9,1, -95355, 95391, 37,0, -95392, 95399, 8,1, -95400, 95436, 37,0, -95437, 95444, 8,1, -95445, 95483, 39,0, -95484, 95489, 6,1, -95490, 95530, 41,0, -95531, 95534, 4,1, -95535, 95577, 43,0, -95578, 95579, 2,1, -95580, 95622, 43,0, -95623, 95624, 2,1, -95625, 95665, 41,0, -95666, 95669, 4,1, -95670, 95709, 40,0, -95710, 95714, 5,1, -95715, 95757, 43,0, -95758, 95759, 2,1, -95760, 95803, 44,0, -95804, 95804, 1,1, -95805, 95848, 44,0, -95849, 95849, 1,1, -95850, 95893, 44,0, -95894, 95894, 1,1, -95895, 96070, 176,0, -96071, 96074, 4,1, -96075, 96162, 88,0, -96163, 96164, 2,1, -96165, 96207, 43,0, -96208, 96209, 2,1, -96210, 96298, 89,0, -96299, 96299, 1,1, -96300, 96343, 44,0, -96344, 96344, 1,1, -96345, 96387, 43,0, -96388, 96389, 2,1, -96390, 96431, 42,0, -96432, 96434, 3,1, -96435, 96476, 42,0, -96477, 96479, 3,1, -96480, 96523, 44,0, -96524, 96524, 1,1, -96525, 96613, 89,0, -96614, 96614, 1,1, -96615, 96784, 170,0, -96785, 96794, 10,1, -96795, 96829, 35,0, -96830, 96839, 10,1, -96840, 96846, 7,0, -96847, 96884, 38,1, -96885, 96890, 6,0, -96891, 96929, 39,1, -96930, 96935, 6,0, -96936, 96974, 39,1, -96975, 97003, 29,0, -97004, 97019, 16,1, -97020, 97052, 33,0, -97053, 97064, 12,1, -97065, 97100, 36,0, -97101, 97109, 9,1, -97110, 97146, 37,0, -97147, 97154, 8,1, -97155, 97192, 38,0, -97193, 97199, 7,1, -97200, 97221, 22,0, -97222, 97244, 23,1, -97245, 97266, 22,0, -97267, 97289, 23,1, -97290, 97311, 22,0, -97312, 97334, 23,1, -97335, 97371, 37,0, -97372, 97379, 8,1, -97380, 97416, 37,0, -97417, 97424, 8,1, -97425, 97461, 37,0, -97462, 97469, 8,1, -97470, 97508, 39,0, -97509, 97514, 6,1, -97515, 97554, 40,0, -97555, 97559, 5,1, -97560, 97600, 41,0, -97601, 97604, 4,1, -97605, 97645, 41,0, -97646, 97649, 4,1, -97650, 97692, 43,0, -97693, 97694, 2,1, -97695, 97737, 43,0, -97738, 97739, 2,1, -97740, 97781, 42,0, -97782, 97784, 3,1, -97785, 97827, 43,0, -97828, 97829, 2,1, -97830, 97872, 43,0, -97873, 97874, 2,1, -97875, 97963, 89,0, -97964, 97964, 1,1, -97965, 98008, 44,0, -98009, 98009, 1,1, -98010, 98052, 43,0, -98053, 98054, 2,1, -98055, 98097, 43,0, -98098, 98099, 2,1, -98100, 98142, 43,0, -98143, 98144, 2,1, -98145, 98232, 88,0, -98233, 98234, 2,1, -98235, 98321, 87,0, -98322, 98324, 3,1, -98325, 98367, 43,0, -98368, 98369, 2,1, -98370, 98412, 43,0, -98413, 98414, 2,1, -98415, 98455, 41,0, -98456, 98459, 4,1, -98460, 98501, 42,0, -98502, 98504, 3,1, -98505, 98548, 44,0, -98549, 98549, 1,1, -98550, 98683, 134,0, -98684, 98684, 1,1, -98685, 98841, 157,0, -98842, 98864, 23,1, -98865, 98870, 6,0, -98871, 98909, 39,1, -98910, 98915, 6,0, -98916, 98954, 39,1, -98955, 98960, 6,0, -98961, 98999, 39,1, -99000, 99025, 26,0, -99026, 99044, 19,1, -99045, 99078, 34,0, -99079, 99089, 11,1, -99090, 99125, 36,0, -99126, 99134, 9,1, -99135, 99171, 37,0, -99172, 99179, 8,1, -99180, 99217, 38,0, -99218, 99224, 7,1, -99225, 99254, 30,0, -99255, 99269, 15,1, -99270, 99299, 30,0, -99300, 99314, 15,1, -99315, 99344, 30,0, -99345, 99359, 15,1, -99360, 99396, 37,0, -99397, 99404, 8,1, -99405, 99442, 38,0, -99443, 99449, 7,1, -99450, 99487, 38,0, -99488, 99494, 7,1, -99495, 99532, 38,0, -99533, 99539, 7,1, -99540, 99578, 39,0, -99579, 99584, 6,1, -99585, 99625, 41,0, -99626, 99629, 4,1, -99630, 99670, 41,0, -99671, 99674, 4,1, -99675, 99717, 43,0, -99718, 99719, 2,1, -99720, 99762, 43,0, -99763, 99764, 2,1, -99765, 99806, 42,0, -99807, 99809, 3,1, -99810, 99852, 43,0, -99853, 99854, 2,1, -99855, 99897, 43,0, -99898, 99899, 2,1, -99900, 99942, 43,0, -99943, 99944, 2,1, -99945, 99987, 43,0, -99988, 99989, 2,1, -99990, 100032, 43,0, -100033, 100034, 2,1, -100035, 100077, 43,0, -100078, 100079, 2,1, -100080, 100121, 42,0, -100122, 100124, 3,1, -100125, 100165, 41,0, -100166, 100169, 4,1, -100170, 100212, 43,0, -100213, 100214, 2,1, -100215, 100256, 42,0, -100257, 100259, 3,1, -100260, 100301, 42,0, -100302, 100304, 3,1, -100305, 100346, 42,0, -100347, 100349, 3,1, -100350, 100393, 44,0, -100394, 100394, 1,1, -100395, 100437, 43,0, -100438, 100439, 2,1, -100440, 100480, 41,0, -100481, 100484, 4,1, -100485, 100525, 41,0, -100526, 100529, 4,1, -100530, 100573, 44,0, -100574, 100574, 1,1, -100575, 100618, 44,0, -100619, 100619, 1,1, -100620, 100708, 89,0, -100709, 100709, 1,1, -100710, 100752, 43,0, -100753, 100754, 2,1, -100755, 100798, 44,0, -100799, 100799, 1,1, -100800, 100852, 53,0, -100853, 100889, 37,1, -100890, 100892, 3,0, -100893, 100934, 42,1, -100935, 100938, 4,0, -100939, 100979, 41,1, -100980, 100984, 5,0, -100985, 101024, 40,1, -101025, 101053, 29,0, -101054, 101069, 16,1, -101070, 101102, 33,0, -101103, 101114, 12,1, -101115, 101150, 36,0, -101151, 101159, 9,1, -101160, 101195, 36,0, -101196, 101204, 9,1, -101205, 101242, 38,0, -101243, 101249, 7,1, -101250, 101283, 34,0, -101284, 101294, 11,1, -101295, 101328, 34,0, -101329, 101339, 11,1, -101340, 101373, 34,0, -101374, 101384, 11,1, -101385, 101421, 37,0, -101422, 101429, 8,1, -101430, 101467, 38,0, -101468, 101474, 7,1, -101475, 101512, 38,0, -101513, 101519, 7,1, -101520, 101556, 37,0, -101557, 101564, 8,1, -101565, 101603, 39,0, -101604, 101609, 6,1, -101610, 101649, 40,0, -101650, 101654, 5,1, -101655, 101695, 41,0, -101696, 101699, 4,1, -101700, 101741, 42,0, -101742, 101744, 3,1, -101745, 101786, 42,0, -101787, 101789, 3,1, -101790, 101831, 42,0, -101832, 101834, 3,1, -101835, 101877, 43,0, -101878, 101879, 2,1, -101880, 101921, 42,0, -101922, 101924, 3,1, -101925, 101966, 42,0, -101967, 101969, 3,1, -101970, 102010, 41,0, -102011, 102014, 4,1, -102015, 102055, 41,0, -102056, 102059, 4,1, -102060, 102100, 41,0, -102101, 102104, 4,1, -102105, 102147, 43,0, -102148, 102149, 2,1, -102150, 102192, 43,0, -102193, 102194, 2,1, -102195, 102235, 41,0, -102236, 102239, 4,1, -102240, 102281, 42,0, -102282, 102284, 3,1, -102285, 102323, 39,0, -102324, 102329, 6,1, -102330, 102372, 43,0, -102373, 102374, 2,1, -102375, 102418, 44,0, -102419, 102419, 1,1, -102420, 102463, 44,0, -102464, 102464, 1,1, -102465, 102504, 40,0, -102505, 102509, 5,1, -102510, 102552, 43,0, -102553, 102554, 2,1, -102555, 102598, 44,0, -102599, 102599, 1,1, -102600, 102733, 134,0, -102734, 102734, 1,1, -102735, 102777, 43,0, -102778, 102779, 2,1, -102780, 102820, 41,0, -102821, 102824, 4,1, -102825, 102875, 51,0, -102876, 102914, 39,1, -102915, 102916, 2,0, -102917, 102959, 43,1, -102960, 102961, 2,0, -102962, 103004, 43,1, -103005, 103011, 7,0, -103012, 103049, 38,1, -103050, 103084, 35,0, -103085, 103094, 10,1, -103095, 103130, 36,0, -103131, 103139, 9,1, -103140, 103175, 36,0, -103176, 103184, 9,1, -103185, 103220, 36,0, -103221, 103229, 9,1, -103230, 103267, 38,0, -103268, 103274, 7,1, -103275, 103309, 35,0, -103310, 103319, 10,1, -103320, 103354, 35,0, -103355, 103364, 10,1, -103365, 103399, 35,0, -103400, 103409, 10,1, -103410, 103447, 38,0, -103448, 103454, 7,1, -103455, 103493, 39,0, -103494, 103499, 6,1, -103500, 103538, 39,0, -103539, 103544, 6,1, -103545, 103580, 36,0, -103581, 103589, 9,1, -103590, 103626, 37,0, -103627, 103634, 8,1, -103635, 103674, 40,0, -103675, 103679, 5,1, -103680, 103720, 41,0, -103721, 103724, 4,1, -103725, 103766, 42,0, -103767, 103769, 3,1, -103770, 103810, 41,0, -103811, 103814, 4,1, -103815, 103857, 43,0, -103858, 103859, 2,1, -103860, 103902, 43,0, -103903, 103904, 2,1, -103905, 103947, 43,0, -103948, 103949, 2,1, -103950, 103991, 42,0, -103992, 103994, 3,1, -103995, 104034, 40,0, -104035, 104039, 5,1, -104040, 104079, 40,0, -104080, 104084, 5,1, -104085, 104125, 41,0, -104126, 104129, 4,1, -104130, 104172, 43,0, -104173, 104174, 2,1, -104175, 104216, 42,0, -104217, 104219, 3,1, -104220, 104261, 42,0, -104262, 104264, 3,1, -104265, 104304, 40,0, -104305, 104309, 5,1, -104310, 104351, 42,0, -104352, 104354, 3,1, -104355, 104397, 43,0, -104398, 104399, 2,1, -104400, 104443, 44,0, -104444, 104444, 1,1, -104445, 104486, 42,0, -104487, 104489, 3,1, -104490, 104532, 43,0, -104533, 104534, 2,1, -104535, 104578, 44,0, -104579, 104579, 1,1, -104580, 104668, 89,0, -104669, 104669, 1,1, -104670, 104757, 88,0, -104758, 104759, 2,1, -104760, 104801, 42,0, -104802, 104804, 3,1, -104805, 104845, 41,0, -104846, 104849, 4,1, -104850, 104893, 44,0, -104894, 104894, 1,1, -104895, 104906, 12,0, -104907, 105029, 123,1, -105030, 105046, 17,0, -105047, 105074, 28,1, -105075, 105111, 37,0, -105112, 105119, 8,1, -105120, 105156, 37,0, -105157, 105164, 8,1, -105165, 105200, 36,0, -105201, 105209, 9,1, -105210, 105245, 36,0, -105246, 105254, 9,1, -105255, 105292, 38,0, -105293, 105299, 7,1, -105300, 105333, 34,0, -105334, 105344, 11,1, -105345, 105378, 34,0, -105379, 105389, 11,1, -105390, 105423, 34,0, -105424, 105434, 11,1, -105435, 105472, 38,0, -105473, 105479, 7,1, -105480, 105518, 39,0, -105519, 105524, 6,1, -105525, 105563, 39,0, -105564, 105569, 6,1, -105570, 105606, 37,0, -105607, 105614, 8,1, -105615, 105649, 35,0, -105650, 105659, 10,1, -105660, 105699, 40,0, -105700, 105704, 5,1, -105705, 105745, 41,0, -105746, 105749, 4,1, -105750, 105790, 41,0, -105791, 105794, 4,1, -105795, 105835, 41,0, -105836, 105839, 4,1, -105840, 105882, 43,0, -105883, 105884, 2,1, -105885, 105927, 43,0, -105928, 105929, 2,1, -105930, 105971, 42,0, -105972, 105974, 3,1, -105975, 106016, 42,0, -106017, 106019, 3,1, -106020, 106058, 39,0, -106059, 106064, 6,1, -106065, 106103, 39,0, -106104, 106109, 6,1, -106110, 106150, 41,0, -106151, 106154, 4,1, -106155, 106196, 42,0, -106197, 106199, 3,1, -106200, 106241, 42,0, -106242, 106244, 3,1, -106245, 106286, 42,0, -106287, 106289, 3,1, -106290, 106330, 41,0, -106331, 106334, 4,1, -106335, 106375, 41,0, -106376, 106379, 4,1, -106380, 106421, 42,0, -106422, 106424, 3,1, -106425, 106468, 44,0, -106469, 106469, 1,1, -106470, 106512, 43,0, -106513, 106514, 2,1, -106515, 106557, 43,0, -106558, 106559, 2,1, -106560, 106602, 43,0, -106603, 106604, 2,1, -106605, 106648, 44,0, -106649, 106649, 1,1, -106650, 106693, 44,0, -106694, 106694, 1,1, -106695, 106738, 44,0, -106739, 106739, 1,1, -106740, 106782, 43,0, -106783, 106784, 2,1, -106785, 106827, 43,0, -106828, 106829, 2,1, -106830, 106872, 43,0, -106873, 106874, 2,1, -106875, 106916, 42,0, -106917, 106919, 3,1, -106920, 106961, 42,0, -106962, 106964, 3,1, -106965, 106971, 7,0, -106972, 107054, 83,1, -107055, 107087, 33,0, -107088, 107099, 12,1, -107100, 107136, 37,0, -107137, 107144, 8,1, -107145, 107181, 37,0, -107182, 107189, 8,1, -107190, 107225, 36,0, -107226, 107234, 9,1, -107235, 107269, 35,0, -107270, 107279, 10,1, -107280, 107317, 38,0, -107318, 107324, 7,1, -107325, 107335, 11,0, -107336, 107369, 34,1, -107370, 107380, 11,0, -107381, 107414, 34,1, -107415, 107425, 11,0, -107426, 107459, 34,1, -107460, 107496, 37,0, -107497, 107504, 8,1, -107505, 107543, 39,0, -107544, 107549, 6,1, -107550, 107588, 39,0, -107589, 107594, 6,1, -107595, 107632, 38,0, -107633, 107639, 7,1, -107640, 107673, 34,0, -107674, 107684, 11,1, -107685, 107722, 38,0, -107723, 107729, 7,1, -107730, 107769, 40,0, -107770, 107774, 5,1, -107775, 107816, 42,0, -107817, 107819, 3,1, -107820, 107861, 42,0, -107862, 107864, 3,1, -107865, 107907, 43,0, -107908, 107909, 2,1, -107910, 107951, 42,0, -107952, 107954, 3,1, -107955, 107995, 41,0, -107996, 107999, 4,1, -108000, 108039, 40,0, -108040, 108044, 5,1, -108045, 108084, 40,0, -108085, 108089, 5,1, -108090, 108128, 39,0, -108129, 108134, 6,1, -108135, 108175, 41,0, -108176, 108179, 4,1, -108180, 108221, 42,0, -108222, 108224, 3,1, -108225, 108266, 42,0, -108267, 108269, 3,1, -108270, 108309, 40,0, -108310, 108314, 5,1, -108315, 108355, 41,0, -108356, 108359, 4,1, -108360, 108400, 41,0, -108401, 108404, 4,1, -108405, 108446, 42,0, -108447, 108449, 3,1, -108450, 108493, 44,0, -108494, 108494, 1,1, -108495, 108537, 43,0, -108538, 108539, 2,1, -108540, 108583, 44,0, -108584, 108584, 1,1, -108585, 108626, 42,0, -108627, 108629, 3,1, -108630, 108673, 44,0, -108674, 108674, 1,1, -108675, 108717, 43,0, -108718, 108719, 2,1, -108720, 108761, 42,0, -108762, 108764, 3,1, -108765, 108806, 42,0, -108807, 108809, 3,1, -108810, 108850, 41,0, -108851, 108854, 4,1, -108855, 108894, 40,0, -108895, 108899, 5,1, -108900, 108939, 40,0, -108940, 108944, 5,1, -108945, 108986, 42,0, -108987, 108989, 3,1, -108990, 109001, 12,0, -109002, 109079, 78,1, -109080, 109114, 35,0, -109115, 109124, 10,1, -109125, 109160, 36,0, -109161, 109169, 9,1, -109170, 109205, 36,0, -109206, 109214, 9,1, -109215, 109250, 36,0, -109251, 109259, 9,1, -109260, 109294, 35,0, -109295, 109304, 10,1, -109305, 109342, 38,0, -109343, 109349, 7,1, -109350, 109351, 2,0, -109352, 109394, 43,1, -109395, 109396, 2,0, -109397, 109439, 43,1, -109440, 109441, 2,0, -109442, 109484, 43,1, -109485, 109521, 37,0, -109522, 109529, 8,1, -109530, 109568, 39,0, -109569, 109574, 6,1, -109575, 109613, 39,0, -109614, 109619, 6,1, -109620, 109658, 39,0, -109659, 109664, 6,1, -109665, 109699, 35,0, -109700, 109709, 10,1, -109710, 109749, 40,0, -109750, 109754, 5,1, -109755, 109794, 40,0, -109795, 109799, 5,1, -109800, 109841, 42,0, -109842, 109844, 3,1, -109845, 109887, 43,0, -109888, 109889, 2,1, -109890, 109931, 42,0, -109932, 109934, 3,1, -109935, 109975, 41,0, -109976, 109979, 4,1, -109980, 110020, 41,0, -110021, 110024, 4,1, -110025, 110063, 39,0, -110064, 110069, 6,1, -110070, 110110, 41,0, -110111, 110114, 4,1, -110115, 110154, 40,0, -110155, 110159, 5,1, -110160, 110200, 41,0, -110201, 110204, 4,1, -110205, 110245, 41,0, -110246, 110249, 4,1, -110250, 110290, 41,0, -110291, 110294, 4,1, -110295, 110333, 39,0, -110334, 110339, 6,1, -110340, 110379, 40,0, -110380, 110384, 5,1, -110385, 110426, 42,0, -110427, 110429, 3,1, -110430, 110471, 42,0, -110472, 110474, 3,1, -110475, 110518, 44,0, -110519, 110519, 1,1, -110520, 110562, 43,0, -110563, 110564, 2,1, -110565, 110608, 44,0, -110609, 110609, 1,1, -110610, 110651, 42,0, -110652, 110654, 3,1, -110655, 110698, 44,0, -110699, 110699, 1,1, -110700, 110742, 43,0, -110743, 110744, 2,1, -110745, 110788, 44,0, -110789, 110789, 1,1, -110790, 110831, 42,0, -110832, 110834, 3,1, -110835, 110874, 40,0, -110875, 110879, 5,1, -110880, 110918, 39,0, -110919, 110924, 6,1, -110925, 110961, 37,0, -110962, 110969, 8,1, -110970, 111008, 39,0, -111009, 111014, 6,1, -111015, 111021, 7,0, -111022, 111104, 83,1, -111105, 111138, 34,0, -111139, 111149, 11,1, -111150, 111185, 36,0, -111186, 111194, 9,1, -111195, 111230, 36,0, -111231, 111239, 9,1, -111240, 111275, 36,0, -111276, 111284, 9,1, -111285, 111319, 35,0, -111320, 111329, 10,1, -111330, 111367, 38,0, -111368, 111509, 142,1, -111510, 111546, 37,0, -111547, 111554, 8,1, -111555, 111592, 38,0, -111593, 111599, 7,1, -111600, 111638, 39,0, -111639, 111644, 6,1, -111645, 111684, 40,0, -111685, 111689, 5,1, -111690, 111726, 37,0, -111727, 111734, 8,1, -111735, 111774, 40,0, -111775, 111779, 5,1, -111780, 111820, 41,0, -111821, 111824, 4,1, -111825, 111867, 43,0, -111868, 111869, 2,1, -111870, 111912, 43,0, -111913, 111914, 2,1, -111915, 111956, 42,0, -111957, 111959, 3,1, -111960, 112000, 41,0, -112001, 112004, 4,1, -112005, 112044, 40,0, -112045, 112049, 5,1, -112050, 112088, 39,0, -112089, 112094, 6,1, -112095, 112133, 39,0, -112134, 112139, 6,1, -112140, 112178, 39,0, -112179, 112184, 6,1, -112185, 112223, 39,0, -112224, 112229, 6,1, -112230, 112268, 39,0, -112269, 112274, 6,1, -112275, 112313, 39,0, -112314, 112319, 6,1, -112320, 112358, 39,0, -112359, 112364, 6,1, -112365, 112403, 39,0, -112404, 112409, 6,1, -112410, 112450, 41,0, -112451, 112454, 4,1, -112455, 112495, 41,0, -112496, 112499, 4,1, -112500, 112542, 43,0, -112543, 112544, 2,1, -112545, 112587, 43,0, -112588, 112589, 2,1, -112590, 112632, 43,0, -112633, 112634, 2,1, -112635, 112676, 42,0, -112677, 112679, 3,1, -112680, 112722, 43,0, -112723, 112724, 2,1, -112725, 112767, 43,0, -112768, 112769, 2,1, -112770, 112813, 44,0, -112814, 112814, 1,1, -112815, 112853, 39,0, -112854, 112859, 6,1, -112860, 112898, 39,0, -112899, 112904, 6,1, -112905, 112942, 38,0, -112943, 112949, 7,1, -112950, 112985, 36,0, -112986, 112994, 9,1, -112995, 113029, 35,0, -113030, 113039, 10,1, -113040, 113041, 2,0, -113042, 113129, 88,1, -113130, 113162, 33,0, -113163, 113174, 12,1, -113175, 113209, 35,0, -113210, 113219, 10,1, -113220, 113255, 36,0, -113256, 113264, 9,1, -113265, 113300, 36,0, -113301, 113309, 9,1, -113310, 113343, 34,0, -113344, 113354, 11,1, -113355, 113392, 38,0, -113393, 113534, 142,1, -113535, 113572, 38,0, -113573, 113579, 7,1, -113580, 113618, 39,0, -113619, 113624, 6,1, -113625, 113664, 40,0, -113665, 113669, 5,1, -113670, 113710, 41,0, -113711, 113714, 4,1, -113715, 113753, 39,0, -113754, 113759, 6,1, -113760, 113799, 40,0, -113800, 113804, 5,1, -113805, 113845, 41,0, -113846, 113849, 4,1, -113850, 113892, 43,0, -113893, 113894, 2,1, -113895, 113936, 42,0, -113937, 113939, 3,1, -113940, 113980, 41,0, -113981, 113984, 4,1, -113985, 114024, 40,0, -114025, 114029, 5,1, -114030, 114068, 39,0, -114069, 114074, 6,1, -114075, 114112, 38,0, -114113, 114119, 7,1, -114120, 114156, 37,0, -114157, 114164, 8,1, -114165, 114203, 39,0, -114204, 114209, 6,1, -114210, 114248, 39,0, -114249, 114254, 6,1, -114255, 114293, 39,0, -114294, 114299, 6,1, -114300, 114338, 39,0, -114339, 114344, 6,1, -114345, 114383, 39,0, -114384, 114389, 6,1, -114390, 114428, 39,0, -114429, 114434, 6,1, -114435, 114474, 40,0, -114475, 114479, 5,1, -114480, 114520, 41,0, -114521, 114524, 4,1, -114525, 114565, 41,0, -114566, 114569, 4,1, -114570, 114612, 43,0, -114613, 114614, 2,1, -114615, 114656, 42,0, -114657, 114659, 3,1, -114660, 114700, 41,0, -114701, 114704, 4,1, -114705, 114745, 41,0, -114746, 114749, 4,1, -114750, 114791, 42,0, -114792, 114794, 3,1, -114795, 114836, 42,0, -114837, 114839, 3,1, -114840, 114878, 39,0, -114879, 114884, 6,1, -114885, 114922, 38,0, -114923, 114929, 7,1, -114930, 114966, 37,0, -114967, 114974, 8,1, -114975, 115009, 35,0, -115010, 115019, 10,1, -115020, 115052, 33,0, -115053, 115154, 102,1, -115155, 115185, 31,0, -115186, 115199, 14,1, -115200, 115234, 35,0, -115235, 115244, 10,1, -115245, 115280, 36,0, -115281, 115289, 9,1, -115290, 115325, 36,0, -115326, 115334, 9,1, -115335, 115368, 34,0, -115369, 115379, 11,1, -115380, 115417, 38,0, -115418, 115559, 142,1, -115560, 115594, 35,0, -115595, 115604, 10,1, -115605, 115642, 38,0, -115643, 115649, 7,1, -115650, 115689, 40,0, -115690, 115694, 5,1, -115695, 115734, 40,0, -115735, 115739, 5,1, -115740, 115778, 39,0, -115779, 115784, 6,1, -115785, 115823, 39,0, -115824, 115829, 6,1, -115830, 115870, 41,0, -115871, 115874, 4,1, -115875, 115915, 41,0, -115916, 115919, 4,1, -115920, 115960, 41,0, -115961, 115964, 4,1, -115965, 116005, 41,0, -116006, 116009, 4,1, -116010, 116048, 39,0, -116049, 116054, 6,1, -116055, 116092, 38,0, -116093, 116099, 7,1, -116100, 116136, 37,0, -116137, 116144, 8,1, -116145, 116181, 37,0, -116182, 116189, 8,1, -116190, 116226, 37,0, -116227, 116234, 8,1, -116235, 116272, 38,0, -116273, 116279, 7,1, -116280, 116318, 39,0, -116319, 116324, 6,1, -116325, 116363, 39,0, -116364, 116369, 6,1, -116370, 116408, 39,0, -116409, 116414, 6,1, -116415, 116453, 39,0, -116454, 116459, 6,1, -116460, 116499, 40,0, -116500, 116504, 5,1, -116505, 116545, 41,0, -116546, 116549, 4,1, -116550, 116590, 41,0, -116591, 116594, 4,1, -116595, 116636, 42,0, -116637, 116639, 3,1, -116640, 116680, 41,0, -116681, 116684, 4,1, -116685, 116724, 40,0, -116725, 116729, 5,1, -116730, 116769, 40,0, -116770, 116774, 5,1, -116775, 116815, 41,0, -116816, 116819, 4,1, -116820, 116860, 41,0, -116861, 116864, 4,1, -116865, 116903, 39,0, -116904, 116909, 6,1, -116910, 116945, 36,0, -116946, 116954, 9,1, -116955, 116990, 36,0, -116991, 116999, 9,1, -117000, 117031, 32,0, -117032, 117044, 13,1, -117045, 117055, 11,0, -117056, 117179, 124,1, -117180, 117207, 28,0, -117208, 117224, 17,1, -117225, 117259, 35,0, -117260, 117269, 10,1, -117270, 117304, 35,0, -117305, 117314, 10,1, -117315, 117350, 36,0, -117351, 117359, 9,1, -117360, 117393, 34,0, -117394, 117404, 11,1, -117405, 117442, 38,0, -117443, 117584, 142,1, -117585, 117617, 33,0, -117618, 117629, 12,1, -117630, 117667, 38,0, -117668, 117674, 7,1, -117675, 117715, 41,0, -117716, 117719, 4,1, -117720, 117760, 41,0, -117761, 117764, 4,1, -117765, 117803, 39,0, -117804, 117809, 6,1, -117810, 117848, 39,0, -117849, 117854, 6,1, -117855, 117892, 38,0, -117893, 117899, 7,1, -117900, 117939, 40,0, -117940, 117944, 5,1, -117945, 117984, 40,0, -117985, 117989, 5,1, -117990, 118029, 40,0, -118030, 118034, 5,1, -118035, 118073, 39,0, -118074, 118079, 6,1, -118080, 118116, 37,0, -118117, 118124, 8,1, -118125, 118161, 37,0, -118162, 118169, 8,1, -118170, 118206, 37,0, -118207, 118214, 8,1, -118215, 118251, 37,0, -118252, 118259, 8,1, -118260, 118296, 37,0, -118297, 118304, 8,1, -118305, 118343, 39,0, -118344, 118349, 6,1, -118350, 118388, 39,0, -118389, 118394, 6,1, -118395, 118433, 39,0, -118434, 118439, 6,1, -118440, 118478, 39,0, -118479, 118484, 6,1, -118485, 118524, 40,0, -118525, 118529, 5,1, -118530, 118569, 40,0, -118570, 118574, 5,1, -118575, 118614, 40,0, -118615, 118619, 5,1, -118620, 118660, 41,0, -118661, 118664, 4,1, -118665, 118704, 40,0, -118705, 118709, 5,1, -118710, 118749, 40,0, -118750, 118754, 5,1, -118755, 118793, 39,0, -118794, 118799, 6,1, -118800, 118840, 41,0, -118841, 118844, 4,1, -118845, 118884, 40,0, -118885, 118889, 5,1, -118890, 118928, 39,0, -118929, 118934, 6,1, -118935, 118967, 33,0, -118968, 118979, 12,1, -118980, 119011, 32,0, -119012, 119024, 13,1, -119025, 119037, 13,0, -119038, 119204, 167,1, -119205, 119220, 16,0, -119221, 119249, 29,1, -119250, 119277, 28,0, -119278, 119294, 17,1, -119295, 119329, 35,0, -119330, 119339, 10,1, -119340, 119375, 36,0, -119376, 119384, 9,1, -119385, 119418, 34,0, -119419, 119429, 11,1, -119430, 119467, 38,0, -119468, 119609, 142,1, -119610, 119640, 31,0, -119641, 119654, 14,1, -119655, 119692, 38,0, -119693, 119699, 7,1, -119700, 119740, 41,0, -119741, 119744, 4,1, -119745, 119786, 42,0, -119787, 119789, 3,1, -119790, 119828, 39,0, -119829, 119834, 6,1, -119835, 119872, 38,0, -119873, 119879, 7,1, -119880, 119916, 37,0, -119917, 119924, 8,1, -119925, 119963, 39,0, -119964, 119969, 6,1, -119970, 120008, 39,0, -120009, 120014, 6,1, -120015, 120053, 39,0, -120054, 120059, 6,1, -120060, 120098, 39,0, -120099, 120104, 6,1, -120105, 120140, 36,0, -120141, 120149, 9,1, -120150, 120185, 36,0, -120186, 120194, 9,1, -120195, 120230, 36,0, -120231, 120239, 9,1, -120240, 120275, 36,0, -120276, 120284, 9,1, -120285, 120321, 37,0, -120322, 120329, 8,1, -120330, 120368, 39,0, -120369, 120374, 6,1, -120375, 120413, 39,0, -120414, 120419, 6,1, -120420, 120458, 39,0, -120459, 120464, 6,1, -120465, 120503, 39,0, -120504, 120509, 6,1, -120510, 120548, 39,0, -120549, 120554, 6,1, -120555, 120594, 40,0, -120595, 120599, 5,1, -120600, 120639, 40,0, -120640, 120644, 5,1, -120645, 120684, 40,0, -120685, 120689, 5,1, -120690, 120729, 40,0, -120730, 120734, 5,1, -120735, 120773, 39,0, -120774, 120779, 6,1, -120780, 120817, 38,0, -120818, 120824, 7,1, -120825, 120863, 39,0, -120864, 120869, 6,1, -120870, 120908, 39,0, -120909, 120914, 6,1, -120915, 120950, 36,0, -120951, 120959, 9,1, -120960, 120992, 33,0, -120993, 121004, 12,1, -121005, 121031, 27,0, -121032, 121229, 198,1, -121230, 121246, 17,0, -121247, 121274, 28,1, -121275, 121291, 17,0, -121292, 121319, 28,1, -121320, 121352, 33,0, -121353, 121364, 12,1, -121365, 121399, 35,0, -121400, 121409, 10,1, -121410, 121443, 34,0, -121444, 121454, 11,1, -121455, 121492, 38,0, -121493, 121634, 142,1, -121635, 121665, 31,0, -121666, 121679, 14,1, -121680, 121717, 38,0, -121718, 121724, 7,1, -121725, 121765, 41,0, -121766, 121769, 4,1, -121770, 121810, 41,0, -121811, 121814, 4,1, -121815, 121855, 41,0, -121856, 121859, 4,1, -121860, 121895, 36,0, -121896, 121904, 9,1, -121905, 121941, 37,0, -121942, 121949, 8,1, -121950, 121986, 37,0, -121987, 121994, 8,1, -121995, 122034, 40,0, -122035, 122039, 5,1, -122040, 122078, 39,0, -122079, 122084, 6,1, -122085, 122122, 38,0, -122123, 122129, 7,1, -122130, 122165, 36,0, -122166, 122174, 9,1, -122175, 122209, 35,0, -122210, 122219, 10,1, -122220, 122254, 35,0, -122255, 122264, 10,1, -122265, 122299, 35,0, -122300, 122309, 10,1, -122310, 122345, 36,0, -122346, 122354, 9,1, -122355, 122392, 38,0, -122393, 122399, 7,1, -122400, 122437, 38,0, -122438, 122444, 7,1, -122445, 122482, 38,0, -122483, 122489, 7,1, -122490, 122528, 39,0, -122529, 122534, 6,1, -122535, 122572, 38,0, -122573, 122579, 7,1, -122580, 122617, 38,0, -122618, 122624, 7,1, -122625, 122663, 39,0, -122664, 122669, 6,1, -122670, 122707, 38,0, -122708, 122714, 7,1, -122715, 122752, 38,0, -122753, 122759, 7,1, -122760, 122797, 38,0, -122798, 122804, 7,1, -122805, 122842, 38,0, -122843, 122849, 7,1, -122850, 122886, 37,0, -122887, 122894, 8,1, -122895, 122921, 27,0, -122922, 123254, 333,1, -123255, 123271, 17,0, -123272, 123299, 28,1, -123300, 123316, 17,0, -123317, 123344, 28,1, -123345, 123375, 31,0, -123376, 123389, 14,1, -123390, 123424, 35,0, -123425, 123434, 10,1, -123435, 123468, 34,0, -123469, 123479, 11,1, -123480, 123517, 38,0, -123518, 123659, 142,1, -123660, 123683, 24,0, -123684, 123704, 21,1, -123705, 123743, 39,0, -123744, 123749, 6,1, -123750, 123790, 41,0, -123791, 123794, 4,1, -123795, 123835, 41,0, -123836, 123839, 4,1, -123840, 123880, 41,0, -123881, 123884, 4,1, -123885, 123919, 35,0, -123920, 123929, 10,1, -123930, 123963, 34,0, -123964, 123974, 11,1, -123975, 124010, 36,0, -124011, 124019, 9,1, -124020, 124056, 37,0, -124057, 124064, 8,1, -124065, 124102, 38,0, -124103, 124109, 7,1, -124110, 124146, 37,0, -124147, 124154, 8,1, -124155, 124189, 35,0, -124190, 124199, 10,1, -124200, 124234, 35,0, -124235, 124244, 10,1, -124245, 124278, 34,0, -124279, 124289, 11,1, -124290, 124324, 35,0, -124325, 124334, 10,1, -124335, 124369, 35,0, -124370, 124379, 10,1, -124380, 124417, 38,0, -124418, 124424, 7,1, -124425, 124462, 38,0, -124463, 124469, 7,1, -124470, 124507, 38,0, -124508, 124514, 7,1, -124515, 124551, 37,0, -124552, 124559, 8,1, -124560, 124597, 38,0, -124598, 124604, 7,1, -124605, 124642, 38,0, -124643, 124649, 7,1, -124650, 124687, 38,0, -124688, 124694, 7,1, -124695, 124731, 37,0, -124732, 124739, 8,1, -124740, 124776, 37,0, -124777, 124784, 8,1, -124785, 124822, 38,0, -124823, 124829, 7,1, -124830, 124867, 38,0, -124868, 124874, 7,1, -124875, 124901, 27,0, -124902, 124919, 18,1, -124920, 124925, 6,0, -124926, 125234, 309,1, -125235, 125240, 6,0, -125241, 125279, 39,1, -125280, 125294, 15,0, -125295, 125324, 30,1, -125325, 125341, 17,0, -125342, 125369, 28,1, -125370, 125397, 28,0, -125398, 125414, 17,1, -125415, 125449, 35,0, -125450, 125459, 10,1, -125460, 125492, 33,0, -125493, 125504, 12,1, -125505, 125542, 38,0, -125543, 125684, 142,1, -125685, 125705, 21,0, -125706, 125729, 24,1, -125730, 125767, 38,0, -125768, 125774, 7,1, -125775, 125815, 41,0, -125816, 125819, 4,1, -125820, 125860, 41,0, -125861, 125864, 4,1, -125865, 125905, 41,0, -125906, 125909, 4,1, -125910, 125946, 37,0, -125947, 125954, 8,1, -125955, 125989, 35,0, -125990, 125999, 10,1, -126000, 126032, 33,0, -126033, 126044, 12,1, -126045, 126078, 34,0, -126079, 126089, 11,1, -126090, 126123, 34,0, -126124, 126134, 11,1, -126135, 126168, 34,0, -126169, 126179, 11,1, -126180, 126212, 33,0, -126213, 126224, 12,1, -126225, 126259, 35,0, -126260, 126269, 10,1, -126270, 126306, 37,0, -126307, 126314, 8,1, -126315, 126349, 35,0, -126350, 126359, 10,1, -126360, 126394, 35,0, -126395, 126404, 10,1, -126405, 126440, 36,0, -126441, 126449, 9,1, -126450, 126486, 37,0, -126487, 126494, 8,1, -126495, 126531, 37,0, -126532, 126539, 8,1, -126540, 126576, 37,0, -126577, 126584, 8,1, -126585, 126622, 38,0, -126623, 126629, 7,1, -126630, 126666, 37,0, -126667, 126674, 8,1, -126675, 126712, 38,0, -126713, 126719, 7,1, -126720, 126755, 36,0, -126756, 126764, 9,1, -126765, 126800, 36,0, -126801, 126809, 9,1, -126810, 126845, 36,0, -126846, 126854, 9,1, -126855, 126874, 20,0, -126875, 127259, 385,1, -127260, 127269, 10,0, -127270, 127304, 35,1, -127305, 127314, 10,0, -127315, 127349, 35,1, -127350, 127365, 16,0, -127366, 127394, 29,1, -127395, 127413, 19,0, -127414, 127439, 26,1, -127440, 127471, 32,0, -127472, 127484, 13,1, -127485, 127516, 32,0, -127517, 127529, 13,1, -127530, 127567, 38,0, -127568, 127709, 142,1, -127710, 127737, 28,0, -127738, 127754, 17,1, -127755, 127792, 38,0, -127793, 127799, 7,1, -127800, 127840, 41,0, -127841, 127844, 4,1, -127845, 127885, 41,0, -127886, 127889, 4,1, -127890, 127931, 42,0, -127932, 127934, 3,1, -127935, 127972, 38,0, -127973, 127979, 7,1, -127980, 128015, 36,0, -128016, 128024, 9,1, -128025, 128059, 35,0, -128060, 128069, 10,1, -128070, 128104, 35,0, -128105, 128114, 10,1, -128115, 128150, 36,0, -128151, 128159, 9,1, -128160, 128194, 35,0, -128195, 128204, 10,1, -128205, 128238, 34,0, -128239, 128249, 11,1, -128250, 128285, 36,0, -128286, 128294, 9,1, -128295, 128330, 36,0, -128331, 128339, 9,1, -128340, 128376, 37,0, -128377, 128384, 8,1, -128385, 128420, 36,0, -128421, 128429, 9,1, -128430, 128465, 36,0, -128466, 128474, 9,1, -128475, 128510, 36,0, -128511, 128519, 9,1, -128520, 128555, 36,0, -128556, 128564, 9,1, -128565, 128600, 36,0, -128601, 128609, 9,1, -128610, 128646, 37,0, -128647, 128654, 8,1, -128655, 128691, 37,0, -128692, 128699, 8,1, -128700, 128737, 38,0, -128738, 128744, 7,1, -128745, 128782, 38,0, -128783, 128789, 7,1, -128790, 128826, 37,0, -128827, 128834, 8,1, -128835, 128866, 32,0, -128867, 129284, 418,1, -129285, 129291, 7,0, -129292, 129329, 38,1, -129330, 129336, 7,0, -129337, 129374, 38,1, -129375, 129389, 15,0, -129390, 129419, 30,1, -129420, 129436, 17,0, -129437, 129464, 28,1, -129465, 129495, 31,0, -129496, 129509, 14,1, -129510, 129541, 32,0, -129542, 129554, 13,1, -129555, 129592, 38,0, -129593, 129734, 142,1, -129735, 129760, 26,0, -129761, 129779, 19,1, -129780, 129818, 39,0, -129819, 129824, 6,1, -129825, 129865, 41,0, -129866, 129869, 4,1, -129870, 129911, 42,0, -129912, 129914, 3,1, -129915, 129956, 42,0, -129957, 129959, 3,1, -129960, 129998, 39,0, -129999, 130004, 6,1, -130005, 130042, 38,0, -130043, 130049, 7,1, -130050, 130087, 38,0, -130088, 130094, 7,1, -130095, 130131, 37,0, -130132, 130139, 8,1, -130140, 130176, 37,0, -130177, 130184, 8,1, -130185, 130220, 36,0, -130221, 130229, 9,1, -130230, 130264, 35,0, -130265, 130274, 10,1, -130275, 130310, 36,0, -130311, 130319, 9,1, -130320, 130356, 37,0, -130357, 130364, 8,1, -130365, 130401, 37,0, -130402, 130409, 8,1, -130410, 130447, 38,0, -130448, 130454, 7,1, -130455, 130493, 39,0, -130494, 130499, 6,1, -130500, 130537, 38,0, -130538, 130544, 7,1, -130545, 130579, 35,0, -130580, 130589, 10,1, -130590, 130624, 35,0, -130625, 130634, 10,1, -130635, 130670, 36,0, -130671, 130679, 9,1, -130680, 130714, 35,0, -130715, 130724, 10,1, -130725, 130759, 35,0, -130760, 130769, 10,1, -130770, 130807, 38,0, -130808, 130814, 7,1, -130815, 130844, 30,0, -130845, 131309, 465,1, -131310, 131315, 6,0, -131316, 131354, 39,1, -131355, 131367, 13,0, -131368, 131399, 32,1, -131400, 131415, 16,0, -131416, 131444, 29,1, -131445, 131460, 16,0, -131461, 131489, 29,1, -131490, 131520, 31,0, -131521, 131534, 14,1, -131535, 131566, 32,0, -131567, 131579, 13,1, -131580, 131617, 38,0, -131618, 131759, 142,1, -131760, 131771, 12,0, -131772, 131804, 33,1, -131805, 131843, 39,0, -131844, 131849, 6,1, -131850, 131889, 40,0, -131890, 131894, 5,1, -131895, 131936, 42,0, -131937, 131939, 3,1, -131940, 131980, 41,0, -131981, 131984, 4,1, -131985, 132023, 39,0, -132024, 132029, 6,1, -132030, 132068, 39,0, -132069, 132074, 6,1, -132075, 132112, 38,0, -132113, 132119, 7,1, -132120, 132158, 39,0, -132159, 132164, 6,1, -132165, 132203, 39,0, -132204, 132209, 6,1, -132210, 132245, 36,0, -132246, 132254, 9,1, -132255, 132289, 35,0, -132290, 132299, 10,1, -132300, 132335, 36,0, -132336, 132344, 9,1, -132345, 132381, 37,0, -132382, 132389, 8,1, -132390, 132426, 37,0, -132427, 132434, 8,1, -132435, 132471, 37,0, -132472, 132479, 8,1, -132480, 132517, 38,0, -132518, 132524, 7,1, -132525, 132562, 38,0, -132563, 132569, 7,1, -132570, 132604, 35,0, -132605, 132614, 10,1, -132615, 132649, 35,0, -132650, 132659, 10,1, -132660, 132694, 35,0, -132695, 132704, 10,1, -132705, 132741, 37,0, -132742, 132749, 8,1, -132750, 132789, 40,0, -132790, 132794, 5,1, -132795, 132834, 40,0, -132835, 132839, 5,1, -132840, 132841, 2,0, -132842, 132884, 43,1, -132885, 132886, 2,0, -132887, 133334, 448,1, -133335, 133340, 6,0, -133341, 133379, 39,1, -133380, 133390, 11,0, -133391, 133424, 34,1, -133425, 133437, 13,0, -133438, 133469, 32,1, -133470, 133487, 18,0, -133488, 133514, 27,1, -133515, 133543, 29,0, -133544, 133559, 16,1, -133560, 133591, 32,0, -133592, 133604, 13,1, -133605, 133642, 38,0, -133643, 133784, 142,1, -133785, 133801, 17,0, -133802, 133829, 28,1, -133830, 133868, 39,0, -133869, 133874, 6,1, -133875, 133914, 40,0, -133915, 133919, 5,1, -133920, 133961, 42,0, -133962, 133964, 3,1, -133965, 134006, 42,0, -134007, 134009, 3,1, -134010, 134051, 42,0, -134052, 134054, 3,1, -134055, 134094, 40,0, -134095, 134099, 5,1, -134100, 134137, 38,0, -134138, 134144, 7,1, -134145, 134182, 38,0, -134183, 134189, 7,1, -134190, 134226, 37,0, -134227, 134234, 8,1, -134235, 134270, 36,0, -134271, 134279, 9,1, -134280, 134315, 36,0, -134316, 134324, 9,1, -134325, 134360, 36,0, -134361, 134369, 9,1, -134370, 134406, 37,0, -134407, 134414, 8,1, -134415, 134452, 38,0, -134453, 134459, 7,1, -134460, 134496, 37,0, -134497, 134504, 8,1, -134505, 134541, 37,0, -134542, 134549, 8,1, -134550, 134586, 37,0, -134587, 134594, 8,1, -134595, 134629, 35,0, -134630, 134639, 10,1, -134640, 134674, 35,0, -134675, 134684, 10,1, -134685, 134720, 36,0, -134721, 134729, 9,1, -134730, 134768, 39,0, -134769, 134774, 6,1, -134775, 134818, 44,0, -134819, 134819, 1,1, -134820, 134851, 32,0, -134852, 134864, 13,1, -134865, 134898, 34,0, -134899, 134909, 11,1, -134910, 134943, 34,0, -134944, 134954, 11,1, -134955, 134961, 7,0, -134962, 135269, 308,1, -135270, 135276, 7,0, -135277, 135314, 38,1, -135315, 135321, 7,0, -135322, 135359, 38,1, -135360, 135361, 2,0, -135362, 135404, 43,1, -135405, 135419, 15,0, -135420, 135449, 30,1, -135450, 135464, 15,0, -135465, 135494, 30,1, -135495, 135510, 16,0, -135511, 135539, 29,1, -135540, 135567, 28,0, -135568, 135584, 17,1, -135585, 135615, 31,0, -135616, 135629, 14,1, -135630, 135667, 38,0, -135668, 135674, 7,1, -135675, 135691, 17,0, -135692, 135719, 28,1, -135720, 135736, 17,0, -135737, 135764, 28,1, -135765, 135781, 17,0, -135782, 135809, 28,1, -135810, 135827, 18,0, -135828, 135854, 27,1, -135855, 135893, 39,0, -135894, 135899, 6,1, -135900, 135939, 40,0, -135940, 135944, 5,1, -135945, 135985, 41,0, -135986, 135989, 4,1, -135990, 136031, 42,0, -136032, 136034, 3,1, -136035, 136076, 42,0, -136077, 136079, 3,1, -136080, 136119, 40,0, -136120, 136124, 5,1, -136125, 136162, 38,0, -136163, 136169, 7,1, -136170, 136207, 38,0, -136208, 136214, 7,1, -136215, 136250, 36,0, -136251, 136259, 9,1, -136260, 136296, 37,0, -136297, 136304, 8,1, -136305, 136340, 36,0, -136341, 136349, 9,1, -136350, 136386, 37,0, -136387, 136394, 8,1, -136395, 136432, 38,0, -136433, 136439, 7,1, -136440, 136477, 38,0, -136478, 136484, 7,1, -136485, 136522, 38,0, -136523, 136529, 7,1, -136530, 136566, 37,0, -136567, 136574, 8,1, -136575, 136611, 37,0, -136612, 136619, 8,1, -136620, 136655, 36,0, -136656, 136664, 9,1, -136665, 136698, 34,0, -136699, 136709, 11,1, -136710, 136745, 36,0, -136746, 136754, 9,1, -136755, 136791, 37,0, -136792, 136799, 8,1, -136800, 136841, 42,0, -136842, 136844, 3,1, -136845, 136871, 27,0, -136872, 136889, 18,1, -136890, 136925, 36,0, -136926, 136934, 9,1, -136935, 136970, 36,0, -136971, 136979, 9,1, -136980, 136996, 17,0, -136997, 137294, 298,1, -137295, 137303, 9,0, -137304, 137339, 36,1, -137340, 137349, 10,0, -137350, 137429, 80,1, -137430, 137442, 13,0, -137443, 137474, 32,1, -137475, 137490, 16,0, -137491, 137519, 29,1, -137520, 137535, 16,0, -137536, 137564, 29,1, -137565, 137591, 27,0, -137592, 137609, 18,1, -137610, 137639, 30,0, -137640, 137654, 15,1, -137655, 137692, 38,0, -137693, 137699, 7,1, -137700, 137716, 17,0, -137717, 137744, 28,1, -137745, 137761, 17,0, -137762, 137789, 28,1, -137790, 137806, 17,0, -137807, 137834, 28,1, -137835, 137851, 17,0, -137852, 137879, 28,1, -137880, 137916, 37,0, -137917, 137924, 8,1, -137925, 137963, 39,0, -137964, 137969, 6,1, -137970, 138010, 41,0, -138011, 138014, 4,1, -138015, 138057, 43,0, -138058, 138059, 2,1, -138060, 138101, 42,0, -138102, 138104, 3,1, -138105, 138144, 40,0, -138145, 138149, 5,1, -138150, 138188, 39,0, -138189, 138194, 6,1, -138195, 138231, 37,0, -138232, 138239, 8,1, -138240, 138276, 37,0, -138277, 138284, 8,1, -138285, 138321, 37,0, -138322, 138329, 8,1, -138330, 138365, 36,0, -138366, 138374, 9,1, -138375, 138411, 37,0, -138412, 138419, 8,1, -138420, 138457, 38,0, -138458, 138464, 7,1, -138465, 138503, 39,0, -138504, 138509, 6,1, -138510, 138548, 39,0, -138549, 138554, 6,1, -138555, 138593, 39,0, -138594, 138599, 6,1, -138600, 138636, 37,0, -138637, 138644, 8,1, -138645, 138679, 35,0, -138680, 138689, 10,1, -138690, 138723, 34,0, -138724, 138734, 11,1, -138735, 138769, 35,0, -138770, 138779, 10,1, -138780, 138819, 40,0, -138820, 138824, 5,1, -138825, 138864, 40,0, -138865, 138869, 5,1, -138870, 138908, 39,0, -138909, 138914, 6,1, -138915, 138952, 38,0, -138953, 138959, 7,1, -138960, 138995, 36,0, -138996, 139004, 9,1, -139005, 139036, 32,0, -139037, 139274, 238,1, -139275, 139280, 6,0, -139281, 139319, 39,1, -139320, 139331, 12,0, -139332, 139364, 33,1, -139365, 139376, 12,0, -139377, 139409, 33,1, -139410, 139416, 7,0, -139417, 139454, 38,1, -139455, 139464, 10,0, -139465, 139499, 35,1, -139500, 139516, 17,0, -139517, 139544, 28,1, -139545, 139560, 16,0, -139561, 139589, 29,1, -139590, 139616, 27,0, -139617, 139634, 18,1, -139635, 139665, 31,0, -139666, 139679, 14,1, -139680, 139717, 38,0, -139718, 139724, 7,1, -139725, 139741, 17,0, -139742, 139769, 28,1, -139770, 139786, 17,0, -139787, 139814, 28,1, -139815, 139831, 17,0, -139832, 139859, 28,1, -139860, 139876, 17,0, -139877, 139904, 28,1, -139905, 139941, 37,0, -139942, 139949, 8,1, -139950, 139988, 39,0, -139989, 139994, 6,1, -139995, 140035, 41,0, -140036, 140039, 4,1, -140040, 140081, 42,0, -140082, 140084, 3,1, -140085, 140125, 41,0, -140126, 140129, 4,1, -140130, 140168, 39,0, -140169, 140174, 6,1, -140175, 140212, 38,0, -140213, 140219, 7,1, -140220, 140257, 38,0, -140258, 140264, 7,1, -140265, 140302, 38,0, -140303, 140309, 7,1, -140310, 140346, 37,0, -140347, 140354, 8,1, -140355, 140391, 37,0, -140392, 140399, 8,1, -140400, 140436, 37,0, -140437, 140444, 8,1, -140445, 140483, 39,0, -140484, 140489, 6,1, -140490, 140528, 39,0, -140529, 140534, 6,1, -140535, 140574, 40,0, -140575, 140579, 5,1, -140580, 140618, 39,0, -140619, 140624, 6,1, -140625, 140663, 39,0, -140664, 140669, 6,1, -140670, 140707, 38,0, -140708, 140714, 7,1, -140715, 140749, 35,0, -140750, 140759, 10,1, -140760, 140795, 36,0, -140796, 140804, 9,1, -140805, 140836, 32,0, -140837, 140849, 13,1, -140850, 140876, 27,0, -140877, 140894, 18,1, -140895, 140935, 41,0, -140936, 140939, 4,1, -140940, 140978, 39,0, -140979, 140984, 6,1, -140985, 141018, 34,0, -141019, 141029, 11,1, -141030, 141051, 22,0, -141052, 141299, 248,1, -141300, 141307, 8,0, -141308, 141344, 37,1, -141345, 141356, 12,0, -141357, 141389, 33,1, -141390, 141401, 12,0, -141402, 141434, 33,1, -141435, 141448, 14,0, -141449, 141479, 31,1, -141480, 141487, 8,0, -141488, 141524, 37,1, -141525, 141543, 19,0, -141544, 141569, 26,1, -141570, 141585, 16,0, -141586, 141614, 29,1, -141615, 141641, 27,0, -141642, 141659, 18,1, -141660, 141690, 31,0, -141691, 141704, 14,1, -141705, 141742, 38,0, -141743, 141749, 7,1, -141750, 141766, 17,0, -141767, 141794, 28,1, -141795, 141811, 17,0, -141812, 141839, 28,1, -141840, 141856, 17,0, -141857, 141884, 28,1, -141885, 141901, 17,0, -141902, 141929, 28,1, -141930, 141965, 36,0, -141966, 141974, 9,1, -141975, 142013, 39,0, -142014, 142019, 6,1, -142020, 142060, 41,0, -142061, 142064, 4,1, -142065, 142106, 42,0, -142107, 142109, 3,1, -142110, 142149, 40,0, -142150, 142154, 5,1, -142155, 142192, 38,0, -142193, 142199, 7,1, -142200, 142235, 36,0, -142236, 142244, 9,1, -142245, 142282, 38,0, -142283, 142289, 7,1, -142290, 142327, 38,0, -142328, 142334, 7,1, -142335, 142372, 38,0, -142373, 142379, 7,1, -142380, 142416, 37,0, -142417, 142424, 8,1, -142425, 142463, 39,0, -142464, 142469, 6,1, -142470, 142508, 39,0, -142509, 142514, 6,1, -142515, 142553, 39,0, -142554, 142559, 6,1, -142560, 142600, 41,0, -142601, 142604, 4,1, -142605, 142645, 41,0, -142646, 142649, 4,1, -142650, 142688, 39,0, -142689, 142694, 6,1, -142695, 142732, 38,0, -142733, 142739, 7,1, -142740, 142775, 36,0, -142776, 142784, 9,1, -142785, 142820, 36,0, -142821, 142829, 9,1, -142830, 142864, 35,0, -142865, 142874, 10,1, -142875, 142910, 36,0, -142911, 142919, 9,1, -142920, 143002, 83,0, -143003, 143009, 7,1, -143010, 143037, 28,0, -143038, 143054, 17,1, -143055, 143076, 22,0, -143077, 143099, 23,1, -143100, 143116, 17,0, -143117, 143279, 163,1, -143280, 143281, 2,0, -143282, 143324, 43,1, -143325, 143332, 8,0, -143333, 143369, 37,1, -143370, 143379, 10,0, -143380, 143414, 35,1, -143415, 143427, 13,0, -143428, 143459, 32,1, -143460, 143475, 16,0, -143476, 143504, 29,1, -143505, 143510, 6,0, -143511, 143549, 39,1, -143550, 143569, 20,0, -143570, 143594, 25,1, -143595, 143609, 15,0, -143610, 143639, 30,1, -143640, 143666, 27,0, -143667, 143684, 18,1, -143685, 143715, 31,0, -143716, 143729, 14,1, -143730, 143767, 38,0, -143768, 143774, 7,1, -143775, 143791, 17,0, -143792, 143819, 28,1, -143820, 143836, 17,0, -143837, 143864, 28,1, -143865, 143881, 17,0, -143882, 143909, 28,1, -143910, 143924, 15,0, -143925, 143954, 30,1, -143955, 143990, 36,0, -143991, 143999, 9,1, -144000, 144036, 37,0, -144037, 144044, 8,1, -144045, 144084, 40,0, -144085, 144089, 5,1, -144090, 144130, 41,0, -144131, 144134, 4,1, -144135, 144172, 38,0, -144173, 144179, 7,1, -144180, 144216, 37,0, -144217, 144224, 8,1, -144225, 144260, 36,0, -144261, 144269, 9,1, -144270, 144307, 38,0, -144308, 144314, 7,1, -144315, 144353, 39,0, -144354, 144359, 6,1, -144360, 144399, 40,0, -144400, 144404, 5,1, -144405, 144443, 39,0, -144444, 144449, 6,1, -144450, 144488, 39,0, -144489, 144494, 6,1, -144495, 144535, 41,0, -144536, 144539, 4,1, -144540, 144580, 41,0, -144581, 144584, 4,1, -144585, 144625, 41,0, -144626, 144629, 4,1, -144630, 144655, 26,0, -144656, 144764, 109,1, -144765, 144792, 28,0, -144793, 144809, 17,1, -144810, 144845, 36,0, -144846, 144854, 9,1, -144855, 144889, 35,0, -144890, 144899, 10,1, -144900, 144936, 37,0, -144937, 144944, 8,1, -144945, 144987, 43,0, -144988, 144989, 2,1, -144990, 145029, 40,0, -145030, 145034, 5,1, -145035, 145076, 42,0, -145077, 145079, 3,1, -145080, 145121, 42,0, -145122, 145124, 3,1, -145125, 145164, 40,0, -145165, 145169, 5,1, -145170, 145201, 32,0, -145202, 145214, 13,1, -145215, 145220, 6,0, -145221, 145349, 129,1, -145350, 145356, 7,0, -145357, 145394, 38,1, -145395, 145402, 8,0, -145403, 145439, 37,1, -145440, 145454, 15,0, -145455, 145484, 30,1, -145485, 145495, 11,0, -145496, 145529, 34,1, -145530, 145537, 8,0, -145538, 145574, 37,1, -145575, 145595, 21,0, -145596, 145619, 24,1, -145620, 145636, 17,0, -145637, 145664, 28,1, -145665, 145689, 25,0, -145690, 145709, 20,1, -145710, 145740, 31,0, -145741, 145754, 14,1, -145755, 145792, 38,0, -145793, 145799, 7,1, -145800, 145816, 17,0, -145817, 145844, 28,1, -145845, 145861, 17,0, -145862, 145889, 28,1, -145890, 145906, 17,0, -145907, 145934, 28,1, -145935, 145936, 2,0, -145937, 145979, 43,1, -145980, 146000, 21,0, -146001, 146024, 24,1, -146025, 146060, 36,0, -146061, 146069, 9,1, -146070, 146108, 39,0, -146109, 146114, 6,1, -146115, 146153, 39,0, -146154, 146159, 6,1, -146160, 146197, 38,0, -146198, 146204, 7,1, -146205, 146211, 7,0, -146212, 146249, 38,1, -146250, 146251, 2,0, -146252, 146294, 43,1, -146295, 146309, 15,0, -146310, 146339, 30,1, -146340, 146377, 38,0, -146378, 146384, 7,1, -146385, 146425, 41,0, -146426, 146429, 4,1, -146430, 146473, 44,0, -146474, 146474, 1,1, -146475, 146609, 135,0, -146610, 146879, 270,1, -146880, 146909, 30,0, -146910, 146924, 15,1, -146925, 146962, 38,0, -146963, 146969, 7,1, -146970, 147007, 38,0, -147008, 147014, 7,1, -147015, 147056, 42,0, -147057, 147059, 3,1, -147060, 147101, 42,0, -147102, 147104, 3,1, -147105, 147146, 42,0, -147147, 147149, 3,1, -147150, 147191, 42,0, -147192, 147194, 3,1, -147195, 147232, 38,0, -147233, 147239, 7,1, -147240, 147255, 16,0, -147256, 147284, 29,1, -147285, 147286, 2,0, -147287, 147419, 133,1, -147420, 147421, 2,0, -147422, 147464, 43,1, -147465, 147479, 15,0, -147480, 147509, 30,1, -147510, 147517, 8,0, -147518, 147554, 37,1, -147555, 147582, 28,0, -147583, 147599, 17,1, -147600, 147627, 28,0, -147628, 147644, 17,1, -147645, 147663, 19,0, -147664, 147689, 26,1, -147690, 147708, 19,0, -147709, 147734, 26,1, -147735, 147765, 31,0, -147766, 147779, 14,1, -147780, 147817, 38,0, -147818, 147824, 7,1, -147825, 147841, 17,0, -147842, 147869, 28,1, -147870, 147886, 17,0, -147887, 147914, 28,1, -147915, 147931, 17,0, -147932, 147959, 28,1, -147960, 147961, 2,0, -147962, 148004, 43,1, -148005, 148025, 21,0, -148026, 148049, 24,1, -148050, 148083, 34,0, -148084, 148094, 11,1, -148095, 148132, 38,0, -148133, 148139, 7,1, -148140, 148177, 38,0, -148178, 148184, 7,1, -148185, 148212, 28,0, -148213, 148229, 17,1, -148230, 148238, 9,0, -148239, 148274, 36,1, -148275, 148282, 8,0, -148283, 148904, 622,1, -148905, 148932, 28,0, -148933, 148949, 17,1, -148950, 148990, 41,0, -148991, 148994, 4,1, -148995, 149127, 133,0, -149128, 149129, 2,1, -149130, 149171, 42,0, -149172, 149174, 3,1, -149175, 149216, 42,0, -149217, 149219, 3,1, -149220, 149260, 41,0, -149261, 149264, 4,1, -149265, 149300, 36,0, -149301, 149309, 9,1, -149310, 149321, 12,0, -149322, 149354, 33,1, -149355, 149368, 14,0, -149369, 149444, 76,1, -149445, 149457, 13,0, -149458, 149489, 32,1, -149490, 149508, 19,0, -149509, 149534, 26,1, -149535, 149555, 21,0, -149556, 149579, 24,1, -149580, 149608, 29,0, -149609, 149624, 16,1, -149625, 149654, 30,0, -149655, 149669, 15,1, -149670, 149686, 17,0, -149687, 149714, 28,1, -149715, 149731, 17,0, -149732, 149759, 28,1, -149760, 149789, 30,0, -149790, 149804, 15,1, -149805, 149842, 38,0, -149843, 149849, 7,1, -149850, 149866, 17,0, -149867, 149894, 28,1, -149895, 149911, 17,0, -149912, 149939, 28,1, -149940, 149956, 17,0, -149957, 149984, 28,1, -149985, 150001, 17,0, -150002, 150029, 28,1, -150030, 150038, 9,0, -150039, 150074, 36,1, -150075, 150093, 19,0, -150094, 150119, 26,1, -150120, 150157, 38,0, -150158, 150164, 7,1, -150165, 150202, 38,0, -150203, 150209, 7,1, -150210, 150248, 39,0, -150249, 150254, 6,1, -150255, 150267, 13,0, -150268, 150299, 32,1, -150300, 150308, 9,0, -150309, 150344, 36,1, -150345, 150353, 9,0, -150354, 150389, 36,1, -150390, 150391, 2,0, -150392, 150929, 538,1, -150930, 150965, 36,0, -150966, 150974, 9,1, -150975, 151014, 40,0, -151015, 151019, 5,1, -151020, 151153, 134,0, -151154, 151154, 1,1, -151155, 151196, 42,0, -151197, 151199, 3,1, -151200, 151240, 41,0, -151241, 151244, 4,1, -151245, 151285, 41,0, -151286, 151289, 4,1, -151290, 151329, 40,0, -151330, 151334, 5,1, -151335, 151346, 12,0, -151347, 151379, 33,1, -151380, 151393, 14,0, -151394, 151469, 76,1, -151470, 151482, 13,0, -151483, 151514, 32,1, -151515, 151533, 19,0, -151534, 151559, 26,1, -151560, 151586, 27,0, -151587, 151604, 18,1, -151605, 151634, 30,0, -151635, 151649, 15,1, -151650, 151679, 30,0, -151680, 151694, 15,1, -151695, 151710, 16,0, -151711, 151739, 29,1, -151740, 151758, 19,0, -151759, 151784, 26,1, -151785, 151813, 29,0, -151814, 151829, 16,1, -151830, 151867, 38,0, -151868, 151874, 7,1, -151875, 151891, 17,0, -151892, 151919, 28,1, -151920, 151936, 17,0, -151937, 151964, 28,1, -151965, 151981, 17,0, -151982, 152009, 28,1, -152010, 152027, 18,0, -152028, 152054, 27,1, -152055, 152072, 18,0, -152073, 152099, 27,1, -152100, 152117, 18,0, -152118, 152144, 27,1, -152145, 152184, 40,0, -152185, 152189, 5,1, -152190, 152228, 39,0, -152229, 152234, 6,1, -152235, 152273, 39,0, -152274, 152279, 6,1, -152280, 152310, 31,0, -152311, 152324, 14,1, -152325, 152359, 35,0, -152360, 152369, 10,1, -152370, 152400, 31,0, -152401, 152414, 14,1, -152415, 152421, 7,0, -152422, 152459, 38,1, -152460, 152461, 2,0, -152462, 152909, 448,1, -152910, 152917, 8,0, -152918, 152954, 37,1, -152955, 152987, 33,0, -152988, 152999, 12,1, -153000, 153042, 43,0, -153043, 153044, 2,1, -153045, 153223, 179,0, -153224, 153224, 1,1, -153225, 153266, 42,0, -153267, 153269, 3,1, -153270, 153310, 41,0, -153311, 153314, 4,1, -153315, 153355, 41,0, -153356, 153359, 4,1, -153360, 153387, 28,0, -153388, 153404, 17,1, -153405, 153420, 16,0, -153421, 153449, 29,1, -153450, 153465, 16,0, -153466, 153494, 29,1, -153495, 153526, 32,0, -153527, 153539, 13,1, -153540, 153571, 32,0, -153572, 153584, 13,1, -153585, 153611, 27,0, -153612, 153629, 18,1, -153630, 153658, 29,0, -153659, 153674, 16,1, -153675, 153703, 29,0, -153704, 153719, 16,1, -153720, 153735, 16,0, -153736, 153764, 29,1, -153765, 153783, 19,0, -153784, 153809, 26,1, -153810, 153836, 27,0, -153837, 153854, 18,1, -153855, 153892, 38,0, -153893, 153899, 7,1, -153900, 153916, 17,0, -153917, 153944, 28,1, -153945, 153961, 17,0, -153962, 153989, 28,1, -153990, 154006, 17,0, -154007, 154034, 28,1, -154035, 154056, 22,0, -154057, 154079, 23,1, -154080, 154102, 23,0, -154103, 154124, 22,1, -154125, 154152, 28,0, -154153, 154169, 17,1, -154170, 154209, 40,0, -154210, 154214, 5,1, -154215, 154254, 40,0, -154255, 154259, 5,1, -154260, 154299, 40,0, -154300, 154304, 5,1, -154305, 154348, 44,0, -154349, 154349, 1,1, -154350, 154437, 88,0, -154438, 154439, 2,1, -154440, 154477, 38,0, -154478, 154484, 7,1, -154485, 154490, 6,0, -154491, 154934, 444,1, -154935, 154963, 29,0, -154964, 154979, 16,1, -154980, 155019, 40,0, -155020, 155024, 5,1, -155025, 155067, 43,0, -155068, 155069, 2,1, -155070, 155113, 44,0, -155114, 155114, 1,1, -155115, 155291, 177,0, -155292, 155294, 3,1, -155295, 155336, 42,0, -155337, 155339, 3,1, -155340, 155380, 41,0, -155381, 155384, 4,1, -155385, 155418, 34,0, -155419, 155429, 11,1, -155430, 155443, 14,0, -155444, 155474, 31,1, -155475, 155507, 33,0, -155508, 155519, 12,1, -155520, 155553, 34,0, -155554, 155564, 11,1, -155565, 155598, 34,0, -155599, 155609, 11,1, -155610, 155632, 23,0, -155633, 155654, 22,1, -155655, 155672, 18,0, -155673, 155699, 27,1, -155700, 155718, 19,0, -155719, 155789, 71,1, -155790, 155806, 17,0, -155807, 155834, 28,1, -155835, 155863, 29,0, -155864, 155879, 16,1, -155880, 155917, 38,0, -155918, 155924, 7,1, -155925, 155940, 16,0, -155941, 155969, 29,1, -155970, 155985, 16,0, -155986, 156014, 29,1, -156015, 156030, 16,0, -156031, 156059, 29,1, -156060, 156087, 28,0, -156088, 156104, 17,1, -156105, 156138, 34,0, -156139, 156149, 11,1, -156150, 156184, 35,0, -156185, 156194, 10,1, -156195, 156231, 37,0, -156232, 156239, 8,1, -156240, 156280, 41,0, -156281, 156284, 4,1, -156285, 156324, 40,0, -156325, 156329, 5,1, -156330, 156463, 134,0, -156464, 156464, 1,1, -156465, 156506, 42,0, -156507, 156509, 3,1, -156510, 156547, 38,0, -156548, 156554, 7,1, -156555, 156566, 12,0, -156567, 156869, 303,1, -156870, 156871, 2,0, -156872, 156914, 43,1, -156915, 156918, 4,0, -156919, 156959, 41,1, -156960, 156997, 38,0, -156998, 157004, 7,1, -157005, 157045, 41,0, -157046, 157049, 4,1, -157050, 157091, 42,0, -157092, 157094, 3,1, -157095, 157137, 43,0, -157138, 157139, 2,1, -157140, 157273, 134,0, -157274, 157274, 1,1, -157275, 157317, 43,0, -157318, 157319, 2,1, -157320, 157361, 42,0, -157362, 157364, 3,1, -157365, 157406, 42,0, -157407, 157409, 3,1, -157410, 157441, 32,0, -157442, 157454, 13,1, -157455, 157485, 31,0, -157486, 157499, 14,1, -157500, 157534, 35,0, -157535, 157544, 10,1, -157545, 157579, 35,0, -157580, 157589, 10,1, -157590, 157623, 34,0, -157624, 157634, 11,1, -157635, 157655, 21,0, -157656, 157679, 24,1, -157680, 157696, 17,0, -157697, 157724, 28,1, -157725, 157726, 2,0, -157727, 157814, 88,1, -157815, 157831, 17,0, -157832, 157859, 28,1, -157860, 157890, 31,0, -157891, 157904, 14,1, -157905, 157942, 38,0, -157943, 157949, 7,1, -157950, 157965, 16,0, -157966, 157994, 29,1, -157995, 158010, 16,0, -158011, 158039, 29,1, -158040, 158055, 16,0, -158056, 158084, 29,1, -158085, 158112, 28,0, -158113, 158129, 17,1, -158130, 158165, 36,0, -158166, 158174, 9,1, -158175, 158213, 39,0, -158214, 158219, 6,1, -158220, 158258, 39,0, -158259, 158264, 6,1, -158265, 158304, 40,0, -158305, 158309, 5,1, -158310, 158350, 41,0, -158351, 158354, 4,1, -158355, 158488, 134,0, -158489, 158489, 1,1, -158490, 158531, 42,0, -158532, 158534, 3,1, -158535, 158574, 40,0, -158575, 158579, 5,1, -158580, 158615, 36,0, -158616, 158624, 9,1, -158625, 158654, 30,0, -158655, 158669, 15,1, -158670, 158671, 2,0, -158672, 158894, 223,1, -158895, 158900, 6,0, -158901, 158939, 39,1, -158940, 158974, 35,0, -158975, 158984, 10,1, -158985, 159022, 38,0, -159023, 159029, 7,1, -159030, 159070, 41,0, -159071, 159074, 4,1, -159075, 159115, 41,0, -159116, 159119, 4,1, -159120, 159159, 40,0, -159160, 159164, 5,1, -159165, 159204, 40,0, -159205, 159209, 5,1, -159210, 159249, 40,0, -159250, 159254, 5,1, -159255, 159296, 42,0, -159297, 159299, 3,1, -159300, 159342, 43,0, -159343, 159344, 2,1, -159345, 159386, 42,0, -159387, 159389, 3,1, -159390, 159431, 42,0, -159432, 159434, 3,1, -159435, 159471, 37,0, -159472, 159479, 8,1, -159480, 159516, 37,0, -159517, 159524, 8,1, -159525, 159561, 37,0, -159562, 159569, 8,1, -159570, 159605, 36,0, -159606, 159614, 9,1, -159615, 159647, 33,0, -159648, 159659, 12,1, -159660, 159661, 2,0, -159662, 159839, 178,1, -159840, 159855, 16,0, -159856, 159884, 29,1, -159885, 159917, 33,0, -159918, 159929, 12,1, -159930, 159967, 38,0, -159968, 159974, 7,1, -159975, 159993, 19,0, -159994, 160019, 26,1, -160020, 160038, 19,0, -160039, 160064, 26,1, -160065, 160083, 19,0, -160084, 160109, 26,1, -160110, 160142, 33,0, -160143, 160154, 12,1, -160155, 160191, 37,0, -160192, 160199, 8,1, -160200, 160238, 39,0, -160239, 160244, 6,1, -160245, 160285, 41,0, -160286, 160289, 4,1, -160290, 160330, 41,0, -160331, 160334, 4,1, -160335, 160373, 39,0, -160374, 160379, 6,1, -160380, 160510, 131,0, -160511, 160514, 4,1, -160515, 160555, 41,0, -160556, 160559, 4,1, -160560, 160600, 41,0, -160601, 160604, 4,1, -160605, 160641, 37,0, -160642, 160649, 8,1, -160650, 160683, 34,0, -160684, 160694, 11,1, -160695, 160717, 23,0, -160718, 160919, 202,1, -160920, 160955, 36,0, -160956, 160964, 9,1, -160965, 161002, 38,0, -161003, 161009, 7,1, -161010, 161049, 40,0, -161050, 161054, 5,1, -161055, 161095, 41,0, -161096, 161099, 4,1, -161100, 161139, 40,0, -161140, 161144, 5,1, -161145, 161185, 41,0, -161186, 161189, 4,1, -161190, 161229, 40,0, -161230, 161234, 5,1, -161235, 161274, 40,0, -161275, 161279, 5,1, -161280, 161318, 39,0, -161319, 161324, 6,1, -161325, 161365, 41,0, -161366, 161369, 4,1, -161370, 161410, 41,0, -161411, 161414, 4,1, -161415, 161455, 41,0, -161456, 161459, 4,1, -161460, 161499, 40,0, -161500, 161504, 5,1, -161505, 161542, 38,0, -161543, 161549, 7,1, -161550, 161586, 37,0, -161587, 161594, 8,1, -161595, 161629, 35,0, -161630, 161639, 10,1, -161640, 161663, 24,0, -161664, 161864, 201,1, -161865, 161880, 16,0, -161881, 161909, 29,1, -161910, 161942, 33,0, -161943, 161954, 12,1, -161955, 161992, 38,0, -161993, 161999, 7,1, -162000, 162023, 24,0, -162024, 162044, 21,1, -162045, 162068, 24,0, -162069, 162089, 21,1, -162090, 162113, 24,0, -162114, 162134, 21,1, -162135, 162171, 37,0, -162172, 162179, 8,1, -162180, 162217, 38,0, -162218, 162224, 7,1, -162225, 162264, 40,0, -162265, 162269, 5,1, -162270, 162309, 40,0, -162310, 162314, 5,1, -162315, 162351, 37,0, -162352, 162359, 8,1, -162360, 162395, 36,0, -162396, 162404, 9,1, -162405, 162536, 132,0, -162537, 162539, 3,1, -162540, 162580, 41,0, -162581, 162584, 4,1, -162585, 162624, 40,0, -162625, 162629, 5,1, -162630, 162668, 39,0, -162669, 162674, 6,1, -162675, 162712, 38,0, -162713, 162719, 7,1, -162720, 162754, 35,0, -162755, 162764, 10,1, -162765, 162796, 32,0, -162797, 162809, 13,1, -162810, 162843, 34,0, -162844, 162944, 101,1, -162945, 162982, 38,0, -162983, 162989, 7,1, -162990, 163028, 39,0, -163029, 163034, 6,1, -163035, 163074, 40,0, -163075, 163079, 5,1, -163080, 163120, 41,0, -163121, 163124, 4,1, -163125, 163167, 43,0, -163168, 163169, 2,1, -163170, 163213, 44,0, -163214, 163214, 1,1, -163215, 163258, 44,0, -163259, 163259, 1,1, -163260, 163302, 43,0, -163303, 163304, 2,1, -163305, 163344, 40,0, -163345, 163349, 5,1, -163350, 163386, 37,0, -163387, 163394, 8,1, -163395, 163435, 41,0, -163436, 163439, 4,1, -163440, 163480, 41,0, -163481, 163484, 4,1, -163485, 163524, 40,0, -163525, 163529, 5,1, -163530, 163568, 39,0, -163569, 163574, 6,1, -163575, 163611, 37,0, -163612, 163619, 8,1, -163620, 163654, 35,0, -163655, 163664, 10,1, -163665, 163697, 33,0, -163698, 163709, 12,1, -163710, 163727, 18,0, -163728, 163889, 162,1, -163890, 163905, 16,0, -163906, 163934, 29,1, -163935, 163968, 34,0, -163969, 163979, 11,1, -163980, 164017, 38,0, -164018, 164024, 7,1, -164025, 164046, 22,0, -164047, 164069, 23,1, -164070, 164091, 22,0, -164092, 164114, 23,1, -164115, 164136, 22,0, -164137, 164159, 23,1, -164160, 164195, 36,0, -164196, 164204, 9,1, -164205, 164242, 38,0, -164243, 164249, 7,1, -164250, 164289, 40,0, -164290, 164294, 5,1, -164295, 164334, 40,0, -164335, 164339, 5,1, -164340, 164374, 35,0, -164375, 164384, 10,1, -164385, 164422, 38,0, -164423, 164429, 7,1, -164430, 164473, 44,0, -164474, 164474, 1,1, -164475, 164518, 44,0, -164519, 164519, 1,1, -164520, 164561, 42,0, -164562, 164564, 3,1, -164565, 164605, 41,0, -164606, 164609, 4,1, -164610, 164649, 40,0, -164650, 164654, 5,1, -164655, 164692, 38,0, -164693, 164699, 7,1, -164700, 164738, 39,0, -164739, 164744, 6,1, -164745, 164784, 40,0, -164785, 164789, 5,1, -164790, 164828, 39,0, -164829, 164834, 6,1, -164835, 164873, 39,0, -164874, 164879, 6,1, -164880, 164919, 40,0, -164920, 164924, 5,1, -164925, 164961, 37,0, -164962, 164969, 8,1, -164970, 165008, 39,0, -165009, 165014, 6,1, -165015, 165053, 39,0, -165054, 165059, 6,1, -165060, 165098, 39,0, -165099, 165104, 6,1, -165105, 165148, 44,0, -165149, 165149, 1,1, -165150, 165283, 134,0, -165284, 165284, 1,1, -165285, 165370, 86,0, -165371, 165374, 4,1, -165375, 165410, 36,0, -165411, 165419, 9,1, -165420, 165458, 39,0, -165459, 165464, 6,1, -165465, 165503, 39,0, -165504, 165509, 6,1, -165510, 165548, 39,0, -165549, 165554, 6,1, -165555, 165593, 39,0, -165594, 165599, 6,1, -165600, 165634, 35,0, -165635, 165644, 10,1, -165645, 165677, 33,0, -165678, 165689, 12,1, -165690, 165722, 33,0, -165723, 165734, 12,1, -165735, 165763, 29,0, -165764, 165914, 151,1, -165915, 165930, 16,0, -165931, 165959, 29,1, -165960, 165994, 35,0, -165995, 166004, 10,1, -166005, 166042, 38,0, -166043, 166049, 7,1, -166050, 166070, 21,0, -166071, 166094, 24,1, -166095, 166115, 21,0, -166116, 166139, 24,1, -166140, 166160, 21,0, -166161, 166184, 24,1, -166185, 166220, 36,0, -166221, 166229, 9,1, -166230, 166268, 39,0, -166269, 166274, 6,1, -166275, 166314, 40,0, -166315, 166319, 5,1, -166320, 166359, 40,0, -166360, 166364, 5,1, -166365, 166403, 39,0, -166404, 166409, 6,1, -166410, 166496, 87,0, -166497, 166499, 3,1, -166500, 166541, 42,0, -166542, 166544, 3,1, -166545, 166586, 42,0, -166587, 166589, 3,1, -166590, 166630, 41,0, -166631, 166634, 4,1, -166635, 166673, 39,0, -166674, 166679, 6,1, -166680, 166718, 39,0, -166719, 166724, 6,1, -166725, 166766, 42,0, -166767, 166769, 3,1, -166770, 166811, 42,0, -166812, 166814, 3,1, -166815, 166854, 40,0, -166855, 166859, 5,1, -166860, 166901, 42,0, -166902, 166904, 3,1, -166905, 166946, 42,0, -166947, 166949, 3,1, -166950, 166991, 42,0, -166992, 166994, 3,1, -166995, 167034, 40,0, -167035, 167039, 5,1, -167040, 167078, 39,0, -167079, 167084, 6,1, -167085, 167124, 40,0, -167125, 167129, 5,1, -167130, 167262, 133,0, -167263, 167264, 2,1, -167265, 167395, 131,0, -167396, 167399, 4,1, -167400, 167436, 37,0, -167437, 167444, 8,1, -167445, 167479, 35,0, -167480, 167489, 10,1, -167490, 167526, 37,0, -167527, 167534, 8,1, -167535, 167572, 38,0, -167573, 167579, 7,1, -167580, 167617, 38,0, -167618, 167624, 7,1, -167625, 167661, 37,0, -167662, 167669, 8,1, -167670, 167701, 32,0, -167702, 167714, 13,1, -167715, 167747, 33,0, -167748, 167759, 12,1, -167760, 167790, 31,0, -167791, 167804, 14,1, -167805, 167815, 11,0, -167816, 167939, 124,1, -167940, 167954, 15,0, -167955, 167984, 30,1, -167985, 168019, 35,0, -168020, 168029, 10,1, -168030, 168067, 38,0, -168068, 168074, 7,1, -168075, 168090, 16,0, -168091, 168119, 29,1, -168120, 168135, 16,0, -168136, 168164, 29,1, -168165, 168180, 16,0, -168181, 168209, 29,1, -168210, 168246, 37,0, -168247, 168254, 8,1, -168255, 168293, 39,0, -168294, 168299, 6,1, -168300, 168339, 40,0, -168340, 168344, 5,1, -168345, 168388, 44,0, -168389, 168389, 1,1, -168390, 168520, 131,0, -168521, 168524, 4,1, -168525, 168565, 41,0, -168566, 168569, 4,1, -168570, 168609, 40,0, -168610, 168614, 5,1, -168615, 168653, 39,0, -168654, 168659, 6,1, -168660, 168698, 39,0, -168699, 168704, 6,1, -168705, 168745, 41,0, -168746, 168749, 4,1, -168750, 168792, 43,0, -168793, 168794, 2,1, -168795, 168837, 43,0, -168838, 168839, 2,1, -168840, 168882, 43,0, -168883, 168884, 2,1, -168885, 168927, 43,0, -168928, 168929, 2,1, -168930, 168972, 43,0, -168973, 168974, 2,1, -168975, 169017, 43,0, -169018, 169019, 2,1, -169020, 169062, 43,0, -169063, 169064, 2,1, -169065, 169102, 38,0, -169103, 169109, 7,1, -169110, 169149, 40,0, -169150, 169154, 5,1, -169155, 169198, 44,0, -169199, 169199, 1,1, -169200, 169243, 44,0, -169244, 169244, 1,1, -169245, 169285, 41,0, -169286, 169289, 4,1, -169290, 169332, 43,0, -169333, 169334, 2,1, -169335, 169378, 44,0, -169379, 169379, 1,1, -169380, 169421, 42,0, -169422, 169424, 3,1, -169425, 169465, 41,0, -169466, 169469, 4,1, -169470, 169505, 36,0, -169506, 169514, 9,1, -169515, 169547, 33,0, -169548, 169559, 12,1, -169560, 169594, 35,0, -169595, 169604, 10,1, -169605, 169640, 36,0, -169641, 169649, 9,1, -169650, 169685, 36,0, -169686, 169694, 9,1, -169695, 169728, 34,0, -169729, 169739, 11,1, -169740, 169768, 29,0, -169769, 169784, 16,1, -169785, 169813, 29,0, -169814, 169829, 16,1, -169830, 169845, 16,0, -169846, 169874, 29,1, -169875, 169876, 2,0, -169877, 169964, 88,1, -169965, 169981, 17,0, -169982, 170009, 28,1, -170010, 170045, 36,0, -170046, 170054, 9,1, -170055, 170092, 38,0, -170093, 170099, 7,1, -170100, 170106, 7,0, -170107, 170144, 38,1, -170145, 170151, 7,0, -170152, 170189, 38,1, -170190, 170196, 7,0, -170197, 170234, 38,1, -170235, 170271, 37,0, -170272, 170279, 8,1, -170280, 170319, 40,0, -170320, 170324, 5,1, -170325, 170365, 41,0, -170366, 170369, 4,1, -170370, 170544, 175,0, -170545, 170549, 5,1, -170550, 170590, 41,0, -170591, 170594, 4,1, -170595, 170634, 40,0, -170635, 170639, 5,1, -170640, 170677, 38,0, -170678, 170684, 7,1, -170685, 170724, 40,0, -170725, 170729, 5,1, -170730, 170770, 41,0, -170771, 170774, 4,1, -170775, 170817, 43,0, -170818, 170819, 2,1, -170820, 170863, 44,0, -170864, 170864, 1,1, -170865, 170907, 43,0, -170908, 170909, 2,1, -170910, 170952, 43,0, -170953, 170954, 2,1, -170955, 171042, 88,0, -171043, 171044, 2,1, -171045, 171088, 44,0, -171089, 171089, 1,1, -171090, 171129, 40,0, -171130, 171134, 5,1, -171135, 171174, 40,0, -171175, 171179, 5,1, -171180, 171222, 43,0, -171223, 171224, 2,1, -171225, 171266, 42,0, -171267, 171269, 3,1, -171270, 171308, 39,0, -171309, 171314, 6,1, -171315, 171356, 42,0, -171357, 171359, 3,1, -171360, 171402, 43,0, -171403, 171404, 2,1, -171405, 171446, 42,0, -171447, 171449, 3,1, -171450, 171491, 42,0, -171492, 171494, 3,1, -171495, 171533, 39,0, -171534, 171539, 6,1, -171540, 171577, 38,0, -171578, 171584, 7,1, -171585, 171622, 38,0, -171623, 171629, 7,1, -171630, 171667, 38,0, -171668, 171674, 7,1, -171675, 171711, 37,0, -171712, 171719, 8,1, -171720, 171753, 34,0, -171754, 171764, 11,1, -171765, 171795, 31,0, -171796, 171809, 14,1, -171810, 171835, 26,0, -171836, 171854, 19,1, -171855, 171880, 26,0, -171881, 171899, 19,1, -171900, 171915, 16,0, -171916, 171944, 29,1, -171945, 171946, 2,0, -171947, 171989, 43,1, -171990, 172017, 28,0, -172018, 172034, 17,1, -172035, 172071, 37,0, -172072, 172079, 8,1, -172080, 172117, 38,0, -172118, 172259, 142,1, -172260, 172296, 37,0, -172297, 172304, 8,1, -172305, 172344, 40,0, -172345, 172349, 5,1, -172350, 172390, 41,0, -172391, 172394, 4,1, -172395, 172435, 41,0, -172436, 172439, 4,1, -172440, 172480, 41,0, -172481, 172484, 4,1, -172485, 172525, 41,0, -172526, 172529, 4,1, -172530, 172569, 40,0, -172570, 172574, 5,1, -172575, 172613, 39,0, -172614, 172619, 6,1, -172620, 172657, 38,0, -172658, 172664, 7,1, -172665, 172701, 37,0, -172702, 172709, 8,1, -172710, 172746, 37,0, -172747, 172754, 8,1, -172755, 172793, 39,0, -172794, 172799, 6,1, -172800, 172841, 42,0, -172842, 172844, 3,1, -172845, 172887, 43,0, -172888, 172889, 2,1, -172890, 172932, 43,0, -172933, 172934, 2,1, -172935, 172977, 43,0, -172978, 172979, 2,1, -172980, 173067, 88,0, -173068, 173069, 2,1, -173070, 173113, 44,0, -173114, 173114, 1,1, -173115, 173155, 41,0, -173156, 173159, 4,1, -173160, 173199, 40,0, -173200, 173204, 5,1, -173205, 173245, 41,0, -173246, 173249, 4,1, -173250, 173289, 40,0, -173290, 173294, 5,1, -173295, 173330, 36,0, -173331, 173339, 9,1, -173340, 173378, 39,0, -173379, 173384, 6,1, -173385, 173424, 40,0, -173425, 173429, 5,1, -173430, 173470, 41,0, -173471, 173474, 4,1, -173475, 173516, 42,0, -173517, 173519, 3,1, -173520, 173563, 44,0, -173564, 173564, 1,1, -173565, 173607, 43,0, -173608, 173609, 2,1, -173610, 173649, 40,0, -173650, 173654, 5,1, -173655, 173694, 40,0, -173695, 173699, 5,1, -173700, 173738, 39,0, -173739, 173744, 6,1, -173745, 173777, 33,0, -173778, 173789, 12,1, -173790, 173821, 32,0, -173822, 173834, 13,1, -173835, 173856, 22,0, -173857, 173879, 23,1, -173880, 173906, 27,0, -173907, 173924, 18,1, -173925, 173947, 23,0, -173948, 173969, 22,1, -173970, 173981, 12,0, -173982, 174014, 33,1, -174015, 174049, 35,0, -174050, 174059, 10,1, -174060, 174096, 37,0, -174097, 174104, 8,1, -174105, 174142, 38,0, -174143, 174284, 142,1, -174285, 174316, 32,0, -174317, 174329, 13,1, -174330, 174369, 40,0, -174370, 174374, 5,1, -174375, 174415, 41,0, -174416, 174419, 4,1, -174420, 174460, 41,0, -174461, 174464, 4,1, -174465, 174505, 41,0, -174506, 174509, 4,1, -174510, 174550, 41,0, -174551, 174554, 4,1, -174555, 174592, 38,0, -174593, 174599, 7,1, -174600, 174636, 37,0, -174637, 174644, 8,1, -174645, 174679, 35,0, -174680, 174689, 10,1, -174690, 174724, 35,0, -174725, 174734, 10,1, -174735, 174770, 36,0, -174771, 174779, 9,1, -174780, 174816, 37,0, -174817, 174824, 8,1, -174825, 174863, 39,0, -174864, 174869, 6,1, -174870, 174908, 39,0, -174909, 174914, 6,1, -174915, 174953, 39,0, -174954, 174959, 6,1, -174960, 174998, 39,0, -174999, 175004, 6,1, -175005, 175043, 39,0, -175044, 175049, 6,1, -175050, 175088, 39,0, -175089, 175094, 6,1, -175095, 175134, 40,0, -175135, 175139, 5,1, -175140, 175181, 42,0, -175182, 175184, 3,1, -175185, 175224, 40,0, -175225, 175229, 5,1, -175230, 175268, 39,0, -175269, 175274, 6,1, -175275, 175308, 34,0, -175309, 175319, 11,1, -175320, 175351, 32,0, -175352, 175364, 13,1, -175365, 175395, 31,0, -175396, 175409, 14,1, -175410, 175445, 36,0, -175446, 175454, 9,1, -175455, 175493, 39,0, -175494, 175499, 6,1, -175500, 175540, 41,0, -175541, 175544, 4,1, -175545, 175586, 42,0, -175587, 175589, 3,1, -175590, 175631, 42,0, -175632, 175634, 3,1, -175635, 175676, 42,0, -175677, 175679, 3,1, -175680, 175719, 40,0, -175720, 175724, 5,1, -175725, 175763, 39,0, -175764, 175769, 6,1, -175770, 175800, 31,0, -175801, 175814, 14,1, -175815, 175845, 31,0, -175846, 175859, 14,1, -175860, 175885, 26,0, -175886, 175904, 19,1, -175905, 175931, 27,0, -175932, 175949, 18,1, -175950, 175979, 30,0, -175980, 175994, 15,1, -175995, 176007, 13,0, -176008, 176039, 32,1, -176040, 176076, 37,0, -176077, 176084, 8,1, -176085, 176121, 37,0, -176122, 176129, 8,1, -176130, 176167, 38,0, -176168, 176309, 142,1, -176310, 176324, 15,0, -176325, 176354, 30,1, -176355, 176394, 40,0, -176395, 176399, 5,1, -176400, 176440, 41,0, -176441, 176444, 4,1, -176445, 176486, 42,0, -176487, 176489, 3,1, -176490, 176530, 41,0, -176531, 176534, 4,1, -176535, 176573, 39,0, -176574, 176579, 6,1, -176580, 176616, 37,0, -176617, 176624, 8,1, -176625, 176661, 37,0, -176662, 176669, 8,1, -176670, 176708, 39,0, -176709, 176714, 6,1, -176715, 176751, 37,0, -176752, 176759, 8,1, -176760, 176796, 37,0, -176797, 176804, 8,1, -176805, 176841, 37,0, -176842, 176849, 8,1, -176850, 176886, 37,0, -176887, 176894, 8,1, -176895, 176933, 39,0, -176934, 176939, 6,1, -176940, 176976, 37,0, -176977, 176984, 8,1, -176985, 177021, 37,0, -177022, 177029, 8,1, -177030, 177065, 36,0, -177066, 177074, 9,1, -177075, 177110, 36,0, -177111, 177119, 9,1, -177120, 177159, 40,0, -177160, 177164, 5,1, -177165, 177205, 41,0, -177206, 177209, 4,1, -177210, 177249, 40,0, -177250, 177254, 5,1, -177255, 177257, 3,0, -177258, 177434, 177,1, -177435, 177462, 28,0, -177463, 177479, 17,1, -177480, 177516, 37,0, -177517, 177524, 8,1, -177525, 177564, 40,0, -177565, 177569, 5,1, -177570, 177611, 42,0, -177612, 177614, 3,1, -177615, 177656, 42,0, -177657, 177659, 3,1, -177660, 177700, 41,0, -177701, 177704, 4,1, -177705, 177743, 39,0, -177744, 177749, 6,1, -177750, 177781, 32,0, -177782, 177794, 13,1, -177795, 177825, 31,0, -177826, 177839, 14,1, -177840, 177867, 28,0, -177868, 177884, 17,1, -177885, 177912, 28,0, -177913, 177929, 17,1, -177930, 177959, 30,0, -177960, 177974, 15,1, -177975, 178007, 33,0, -178008, 178019, 12,1, -178020, 178036, 17,0, -178037, 178064, 28,1, -178065, 178101, 37,0, -178102, 178109, 8,1, -178110, 178147, 38,0, -178148, 178154, 7,1, -178155, 178192, 38,0, -178193, 178379, 187,1, -178380, 178419, 40,0, -178420, 178424, 5,1, -178425, 178465, 41,0, -178466, 178469, 4,1, -178470, 178511, 42,0, -178512, 178514, 3,1, -178515, 178555, 41,0, -178556, 178559, 4,1, -178560, 178596, 37,0, -178597, 178604, 8,1, -178605, 178641, 37,0, -178642, 178649, 8,1, -178650, 178686, 37,0, -178687, 178694, 8,1, -178695, 178733, 39,0, -178734, 178739, 6,1, -178740, 178777, 38,0, -178778, 178784, 7,1, -178785, 178822, 38,0, -178823, 178829, 7,1, -178830, 178868, 39,0, -178869, 178874, 6,1, -178875, 178915, 41,0, -178916, 178919, 4,1, -178920, 178960, 41,0, -178961, 178964, 4,1, -178965, 179005, 41,0, -179006, 179009, 4,1, -179010, 179048, 39,0, -179049, 179054, 6,1, -179055, 179094, 40,0, -179095, 179099, 5,1, -179100, 179139, 40,0, -179140, 179144, 5,1, -179145, 179185, 41,0, -179186, 179189, 4,1, -179190, 179230, 41,0, -179231, 179234, 4,1, -179235, 179270, 36,0, -179271, 179504, 234,1, -179505, 179525, 21,0, -179526, 179549, 24,1, -179550, 179587, 38,0, -179588, 179594, 7,1, -179595, 179632, 38,0, -179633, 179639, 7,1, -179640, 179680, 41,0, -179681, 179684, 4,1, -179685, 179725, 41,0, -179726, 179729, 4,1, -179730, 179761, 32,0, -179762, 179774, 13,1, -179775, 179803, 29,0, -179804, 179819, 16,1, -179820, 179848, 29,0, -179849, 179864, 16,1, -179865, 179898, 34,0, -179899, 179909, 11,1, -179910, 179943, 34,0, -179944, 179954, 11,1, -179955, 179987, 33,0, -179988, 179999, 12,1, -180000, 180034, 35,0, -180035, 180044, 10,1, -180045, 180076, 32,0, -180077, 180089, 13,1, -180090, 180125, 36,0, -180126, 180134, 9,1, -180135, 180172, 38,0, -180173, 180179, 7,1, -180180, 180217, 38,0, -180218, 180404, 187,1, -180405, 180443, 39,0, -180444, 180449, 6,1, -180450, 180490, 41,0, -180491, 180494, 4,1, -180495, 180536, 42,0, -180537, 180539, 3,1, -180540, 180580, 41,0, -180581, 180584, 4,1, -180585, 180620, 36,0, -180621, 180629, 9,1, -180630, 180666, 37,0, -180667, 180674, 8,1, -180675, 180713, 39,0, -180714, 180719, 6,1, -180720, 180759, 40,0, -180760, 180764, 5,1, -180765, 180805, 41,0, -180806, 180809, 4,1, -180810, 180849, 40,0, -180850, 180854, 5,1, -180855, 180894, 40,0, -180895, 180899, 5,1, -180900, 180942, 43,0, -180943, 180944, 2,1, -180945, 180987, 43,0, -180988, 180989, 2,1, -180990, 181031, 42,0, -181032, 181034, 3,1, -181035, 181077, 43,0, -181078, 181079, 2,1, -181080, 181122, 43,0, -181123, 181124, 2,1, -181125, 181167, 43,0, -181168, 181169, 2,1, -181170, 181210, 41,0, -181211, 181214, 4,1, -181215, 181255, 41,0, -181256, 181259, 4,1, -181260, 181294, 35,0, -181295, 181574, 280,1, -181575, 181602, 28,0, -181603, 181619, 17,1, -181620, 181647, 28,0, -181648, 181664, 17,1, -181665, 181700, 36,0, -181701, 181709, 9,1, -181710, 181749, 40,0, -181750, 181754, 5,1, -181755, 181763, 9,0, -181764, 181799, 36,1, -181800, 181807, 8,0, -181808, 181844, 37,1, -181845, 181865, 21,0, -181866, 181889, 24,1, -181890, 181923, 34,0, -181924, 181934, 11,1, -181935, 181969, 35,0, -181970, 181979, 10,1, -181980, 182014, 35,0, -182015, 182024, 10,1, -182025, 182059, 35,0, -182060, 182069, 10,1, -182070, 182104, 35,0, -182105, 182114, 10,1, -182115, 182150, 36,0, -182151, 182159, 9,1, -182160, 182197, 38,0, -182198, 182204, 7,1, -182205, 182242, 38,0, -182243, 182429, 187,1, -182430, 182468, 39,0, -182469, 182474, 6,1, -182475, 182515, 41,0, -182516, 182519, 4,1, -182520, 182561, 42,0, -182562, 182564, 3,1, -182565, 182607, 43,0, -182608, 182609, 2,1, -182610, 182647, 38,0, -182648, 182654, 7,1, -182655, 182691, 37,0, -182692, 182699, 8,1, -182700, 182739, 40,0, -182740, 182744, 5,1, -182745, 182785, 41,0, -182786, 182789, 4,1, -182790, 182830, 41,0, -182831, 182834, 4,1, -182835, 182875, 41,0, -182876, 182879, 4,1, -182880, 182919, 40,0, -182920, 182924, 5,1, -182925, 182967, 43,0, -182968, 182969, 2,1, -182970, 183012, 43,0, -183013, 183014, 2,1, -183015, 183057, 43,0, -183058, 183059, 2,1, -183060, 183103, 44,0, -183104, 183104, 1,1, -183105, 183147, 43,0, -183148, 183149, 2,1, -183150, 183193, 44,0, -183194, 183194, 1,1, -183195, 183235, 41,0, -183236, 183239, 4,1, -183240, 183280, 41,0, -183281, 183284, 4,1, -183285, 183323, 39,0, -183324, 183599, 276,1, -183600, 183629, 30,0, -183630, 183644, 15,1, -183645, 183676, 32,0, -183677, 183689, 13,1, -183690, 183717, 28,0, -183718, 183734, 17,1, -183735, 183746, 12,0, -183747, 183779, 33,1, -183780, 183785, 6,0, -183786, 183824, 39,1, -183825, 183831, 7,0, -183832, 183869, 38,1, -183870, 183879, 10,0, -183880, 183914, 35,1, -183915, 183946, 32,0, -183947, 183959, 13,1, -183960, 183994, 35,0, -183995, 184004, 10,1, -184005, 184039, 35,0, -184040, 184049, 10,1, -184050, 184084, 35,0, -184085, 184094, 10,1, -184095, 184129, 35,0, -184130, 184139, 10,1, -184140, 184175, 36,0, -184176, 184184, 9,1, -184185, 184222, 38,0, -184223, 184229, 7,1, -184230, 184267, 38,0, -184268, 184275, 7,1, -}; -#endif diff --git a/TeosCpp/teos-cpp.cpp b/TeosCpp/teos-cpp.cpp deleted file mode 100644 index 27e187b..0000000 --- a/TeosCpp/teos-cpp.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include "TeosSea.h" -#include "TeosBase.h" - -// Some basic code to import and run a few examples of the TeosCpp library. - -int main() -{ - std::cout << "Testing teos-cpp funcitons" << std::endl; - - // Sea lib - auto teos_sea = TeosSea(); - // Base lib - auto teos_base = TeosBase(); - - auto gsw_c_from_sp = teos_sea.gsw_c_from_sp(1.21, 12.12, 98.22); - auto gsw_depth_from_z = teos_base.gsw_depth_from_z(12.1); -} \ No newline at end of file diff --git a/auto-top.gypi b/auto-top.gypi deleted file mode 100644 index ecb8e22..0000000 --- a/auto-top.gypi +++ /dev/null @@ -1,8 +0,0 @@ -# Automatically generated file. Edits will be lost. -# Based on: autogypi.json - -{ - "includes": [ - "node_modules/@mcesystems/nbind/src/nbind-common.gypi" - ] -} diff --git a/auto.gypi b/auto.gypi deleted file mode 100644 index 86927d0..0000000 --- a/auto.gypi +++ /dev/null @@ -1,11 +0,0 @@ -# Automatically generated file. Edits will be lost. -# Based on: autogypi.json - -{ - "include_dirs": [ - "node_modules/nan" - ], - "includes": [ - "node_modules/@mcesystems/nbind/src/nbind.gypi" - ] -} diff --git a/autogypi.json b/autogypi.json deleted file mode 100644 index 3f38f8a..0000000 --- a/autogypi.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "dependencies": [ - "@mcesystems/nbind" - ], - "includes": [] -} diff --git a/binding.gyp b/binding.gyp deleted file mode 100644 index da50a13..0000000 --- a/binding.gyp +++ /dev/null @@ -1,21 +0,0 @@ -{ - "targets": [ - { - "includes": [ - "auto.gypi" - ], - "sources": [ - "TeosBindings.cpp" - ], - "libraries": [ - "<(module_root_dir)/TeosCpp/build/libteos-cpp.a" - ], - "include_dirs":[ - "<(module_root_dir)/TeosCpp/include" - ] - } - ], - "includes": [ - "auto-top.gypi" - ] -} diff --git a/lib-types.d.ts b/lib-types.d.ts deleted file mode 100644 index 678e451..0000000 --- a/lib-types.d.ts +++ /dev/null @@ -1,870 +0,0 @@ -import { Buffer } from "@mcesystems/nbind/dist/shim"; - -export class NBindBase { free?(): void } - -export class TeosBase extends NBindBase { - /** TeosBase(); */ - constructor(); - - /** float64_t gsw_Abs_Pressure_from_p(float64_t); */ - gsw_Abs_Pressure_from_p(p0: number): number; - - /** void gsw_add_barrier(float64_t *, float64_t, float64_t, float64_t, float64_t, float64_t, float64_t, float64_t *); */ - gsw_add_barrier(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** void gsw_add_mean(float64_t *, float64_t *); */ - gsw_add_mean(p0: number, p1: number): void; - - /** float64_t gsw_adiabatic_lapse_rate_from_t(float64_t, float64_t, float64_t); */ - gsw_adiabatic_lapse_rate_from_t(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_adiabatic_lapse_rate_t_exact(float64_t, float64_t, float64_t); */ - gsw_adiabatic_lapse_rate_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_alpha(float64_t, float64_t, float64_t); */ - gsw_alpha(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_alpha_CT_exact(float64_t, float64_t, float64_t); */ - gsw_alpha_CT_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_alpha_on_beta_CT_exact(float64_t, float64_t, float64_t); */ - gsw_alpha_on_beta_CT_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_alpha_wrt_CT_t_exact(float64_t, float64_t, float64_t); */ - gsw_alpha_wrt_CT_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_alpha_wrt_pt_t_exact(float64_t, float64_t, float64_t); */ - gsw_alpha_wrt_pt_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_Arsol(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_Arsol(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_Arsol_SP_pt(float64_t, float64_t); */ - gsw_Arsol_SP_pt(p0: number, p1: number): number; - - /** float64_t gsw_atomic_weight(); */ - gsw_atomic_weight(): number; - - /** float64_t gsw_beta(float64_t, float64_t, float64_t); */ - gsw_beta(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_beta_const_ct_t_exact(float64_t, float64_t, float64_t); */ - gsw_beta_const_ct_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_beta_const_pt_t_exact(float64_t, float64_t, float64_t); */ - gsw_beta_const_pt_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_chem_potential_relative_t_exact(float64_t, float64_t, float64_t); */ - gsw_chem_potential_relative_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_chem_potential_salt_t_exact(float64_t, float64_t, float64_t); */ - gsw_chem_potential_salt_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_chem_potential_water_t_exact(float64_t, float64_t, float64_t); */ - gsw_chem_potential_water_t_exact(p0: number, p1: number, p2: number): number; - - /** void gsw_ct_first_derivatives_wrt_t_exact(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_ct_first_derivatives_wrt_t_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_ct_freezing(float64_t, float64_t, float64_t); */ - gsw_ct_freezing(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_ct_from_enthalpy(float64_t, float64_t, float64_t); */ - gsw_ct_from_enthalpy(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_ct_from_enthalpy_exact(float64_t, float64_t, float64_t); */ - gsw_ct_from_enthalpy_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_ct_from_pt(float64_t, float64_t); */ - gsw_ct_from_pt(p0: number, p1: number): number; - - /** float64_t gsw_ct_from_t(float64_t, float64_t, float64_t); */ - gsw_ct_from_t(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_ct_maxdensity(float64_t, float64_t); */ - gsw_ct_maxdensity(p0: number, p1: number): number; - - /** float64_t gsw_CT_maxdensity_exact(float64_t, float64_t); */ - gsw_CT_maxdensity_exact(p0: number, p1: number): number; - - /** float64_t gsw_deltasa_atlas(float64_t, float64_t, float64_t); */ - gsw_deltasa_atlas(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_depth_from_z(float64_t); */ - gsw_depth_from_z(p0: number): number; - - /** float64_t gsw_dilution_coefficient_t_exact(float64_t, float64_t, float64_t); */ - gsw_dilution_coefficient_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_dynamic_enthalpy(float64_t, float64_t, float64_t); */ - gsw_dynamic_enthalpy(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_dynamic_enthalpy_CT_exact(float64_t, float64_t, float64_t); */ - gsw_dynamic_enthalpy_CT_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_dynamic_enthalpy_t_exact(float64_t, float64_t, float64_t); */ - gsw_dynamic_enthalpy_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_enthalpy(float64_t, float64_t, float64_t); */ - gsw_enthalpy(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_enthalpy_ct_exact(float64_t, float64_t, float64_t); */ - gsw_enthalpy_ct_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_enthalpy_diff_CT_exact(float64_t, float64_t, float64_t, float64_t); */ - gsw_enthalpy_diff_CT_exact(p0: number, p1: number, p2: number, p3: number): number; - - /** void gsw_enthalpy_first_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_enthalpy_first_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_enthalpy_first_derivatives_ct_exact(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_enthalpy_first_derivatives_ct_exact(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_enthalpy_second_derivatives_ct_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_enthalpy_second_derivatives_ct_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_enthalpy_sso_0(float64_t); */ - gsw_enthalpy_sso_0(p0: number): number; - - /** float64_t gsw_enthalpy_t_exact(float64_t, float64_t, float64_t); */ - gsw_enthalpy_t_exact(p0: number, p1: number, p2: number): number; - - /** void gsw_entropy_first_derivatives(float64_t, float64_t, float64_t *, float64_t *); */ - gsw_entropy_first_derivatives(p0: number, p1: number, p2: number, p3: number): void; - - /** float64_t gsw_entropy_from_ct(float64_t, float64_t); */ - gsw_entropy_from_ct(p0: number, p1: number): number; - - /** float64_t gsw_entropy_part(float64_t, float64_t, float64_t); */ - gsw_entropy_part(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_entropy_part_zerop(float64_t, float64_t); */ - gsw_entropy_part_zerop(p0: number, p1: number): number; - - /** void gsw_entropy_second_derivatives(float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_entropy_second_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** float64_t gsw_f(float64_t); */ - gsw_f(p0: number): number; - - /** float64_t gsw_fdelta(float64_t, float64_t, float64_t); */ - gsw_fdelta(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_gibbs(int32_t, int32_t, int32_t, float64_t, float64_t, float64_t); */ - gsw_gibbs(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number; - - /** float64_t gsw_Gibbs_energy_t_exact(float64_t, float64_t, float64_t); */ - gsw_Gibbs_energy_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_gibbs_ice(int32_t, int32_t, float64_t, float64_t); */ - gsw_gibbs_ice(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_gibbs_pt0_pt0(float64_t, float64_t); */ - gsw_gibbs_pt0_pt0(p0: number, p1: number): number; - - /** float64_t gsw_grav(float64_t, float64_t); */ - gsw_grav(p0: number, p1: number): number; - - /** float64_t gsw_Helmholtz_energy_t_exact(float64_t, float64_t, float64_t); */ - gsw_Helmholtz_energy_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_Hesol(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_Hesol(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_Hesol_SP_pt(float64_t, float64_t); */ - gsw_Hesol_SP_pt(p0: number, p1: number): number; - - /** float64_t gsw_hill_ratio_at_sp2(float64_t); */ - gsw_hill_ratio_at_sp2(p0: number): number; - - /** float64_t gsw_internal_energy(float64_t, float64_t, float64_t); */ - gsw_internal_energy(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_internal_energy_CT_exact(float64_t, float64_t, float64_t); */ - gsw_internal_energy_CT_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_internal_energy_t_exact(float64_t, float64_t, float64_t); */ - gsw_internal_energy_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_isochoric_heat_cap_t_exact(float64_t, float64_t, float64_t); */ - gsw_isochoric_heat_cap_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_kappa(float64_t, float64_t, float64_t); */ - gsw_kappa(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_kappa_const_t_exact(float64_t, float64_t, float64_t); */ - gsw_kappa_const_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_kappa_CT_exact(float64_t, float64_t, float64_t); */ - gsw_kappa_CT_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_kappa_t_exact(float64_t, float64_t, float64_t); */ - gsw_kappa_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_Krsol(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_Krsol(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_Krsol_SP_pt(float64_t, float64_t); */ - gsw_Krsol_SP_pt(p0: number, p1: number): number; - - /** void gsw_linear_interp_sa_ct(float64_t *, float64_t *, float64_t *, int32_t, float64_t *, int32_t, float64_t *, float64_t *); */ - gsw_linear_interp_sa_ct(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** int32_t gsw_linear_interp_sa_ct_for_dh(float64_t *, float64_t *, float64_t *, int32_t, float64_t *, int32_t, float64_t *, float64_t *); */ - gsw_linear_interp_sa_ct_for_dh(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): number; - - /** float64_t gsw_molality_from_SA(float64_t); */ - gsw_molality_from_SA(p0: number): number; - - /** float64_t gsw_N2sol(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_N2sol(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_N2sol_SP_pt(float64_t, float64_t); */ - gsw_N2sol_SP_pt(p0: number, p1: number): number; - - /** float64_t gsw_N2Osol(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_N2Osol(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_N2Osol_SP_pt(float64_t, float64_t); */ - gsw_N2Osol_SP_pt(p0: number, p1: number): number; - - /** float64_t gsw_Nsquared_lowerlimit(float64_t, float64_t, float64_t); */ - gsw_Nsquared_lowerlimit(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_osmotic_coefficient_t_exact(float64_t, float64_t, float64_t); */ - gsw_osmotic_coefficient_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_osmotic_pressure_t_exact(float64_t, float64_t, float64_t); */ - gsw_osmotic_pressure_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_o2sol(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_o2sol(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_o2sol_sp_pt(float64_t, float64_t); */ - gsw_o2sol_sp_pt(p0: number, p1: number): number; - - /** float64_t gsw_p_from_Abs_Pressure(float64_t); */ - gsw_p_from_Abs_Pressure(p0: number): number; - - /** float64_t gsw_p_from_z(float64_t, float64_t, float64_t, float64_t); */ - gsw_p_from_z(p0: number, p1: number, p2: number, p3: number): number; - - /** int32_t gsw_pchip_derivs(float64_t *, float64_t *, int32_t, float64_t *); */ - gsw_pchip_derivs(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_pchip_edge_case(float64_t, float64_t, float64_t, float64_t); */ - gsw_pchip_edge_case(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_pot_enthalpy_from_pt(float64_t, float64_t); */ - gsw_pot_enthalpy_from_pt(p0: number, p1: number): number; - - /** float64_t gsw_pot_enthalpy_from_pt_ice(float64_t); */ - gsw_pot_enthalpy_from_pt_ice(p0: number): number; - - /** float64_t gsw_pot_enthalpy_from_specvol_ice_poly(float64_t, float64_t); */ - gsw_pot_enthalpy_from_specvol_ice_poly(p0: number, p1: number): number; - - /** void gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(float64_t, float64_t, float64_t *, float64_t *); */ - gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(p0: number, p1: number, p2: number, p3: number): void; - - /** float64_t gsw_pot_enthalpy_ice_freezing_poly(float64_t, float64_t); */ - gsw_pot_enthalpy_ice_freezing_poly(p0: number, p1: number): number; - - /** float64_t gsw_pt_from_ct(float64_t, float64_t); */ - gsw_pt_from_ct(p0: number, p1: number): number; - - /** float64_t gsw_pt_from_t(float64_t, float64_t, float64_t, float64_t); */ - gsw_pt_from_t(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_pt0_from_t(float64_t, float64_t, float64_t); */ - gsw_pt0_from_t(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_R_from_SP(float64_t, float64_t, float64_t); */ - gsw_R_from_SP(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_rho(float64_t, float64_t, float64_t); */ - gsw_rho(p0: number, p1: number, p2: number): number; - - /** void gsw_rho_alpha_beta(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_rho_alpha_beta(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_rho_alpha_beta_indexed(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_rho_alpha_beta_indexed(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_rho_first_derivatives_CT_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_rho_first_derivatives_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_rho_first_derivatives_wrt_enthalpy_CT_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &); */ - gsw_rho_first_derivatives_wrt_enthalpy_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_rho_second_derivatives_CT_exact(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *, float64_t *, float64_t *); */ - gsw_rho_second_derivatives_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** void gsw_rr68_interp_section(int32_t, float64_t *, float64_t *, float64_t *, int32_t, int32_t, float64_t *, int32_t *, float64_t *, float64_t *, float64_t *); */ - gsw_rr68_interp_section(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number): void; - - /** bool gsw_rtIsNaN(float64_t); */ - gsw_rtIsNaN(p0: number): boolean; - - /** bool gsw_rtIsNaNF(float64_t); */ - gsw_rtIsNaNF(p0: number): boolean; - - /** float64_t gsw_saar(float64_t, float64_t, float64_t); */ - gsw_saar(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sa_from_sp(float64_t, float64_t, float64_t, float64_t); */ - gsw_sa_from_sp(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_sa_from_sp_baltic(float64_t, float64_t, float64_t); */ - gsw_sa_from_sp_baltic(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sa_from_sstar(float64_t, float64_t, float64_t, float64_t); */ - gsw_sa_from_sstar(p0: number, p1: number, p2: number, p3: number): number; - - /** int32_t gsw_sgn(float64_t); */ - gsw_sgn(p0: number): number; - - /** float64_t gsw_sp_from_c(float64_t, float64_t, float64_t); */ - gsw_sp_from_c(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_SP_from_R(float64_t, float64_t, float64_t); */ - gsw_SP_from_R(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sp_from_sa(float64_t, float64_t, float64_t, float64_t); */ - gsw_sp_from_sa(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_sp_from_sa_baltic(float64_t, float64_t, float64_t); */ - gsw_sp_from_sa_baltic(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_specvol(float64_t, float64_t, float64_t); */ - gsw_specvol(p0: number, p1: number, p2: number): number; - - /** void gsw_specvol_alpha_beta_CT_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_specvol_alpha_beta_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_specvol_anom(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_specvol_anom(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_specvol_anom_CT_exact(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_specvol_anom_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_specvol_anom_standard_CT_exact(float64_t, float64_t, float64_t); */ - gsw_specvol_anom_standard_CT_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_specvol_anom_standard_t_exact(float64_t, float64_t, float64_t); */ - gsw_specvol_anom_standard_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_specvol_anom_t_exact(float64_t, float64_t, float64_t); */ - gsw_specvol_anom_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_specvol_CT_exact(float64_t, float64_t, float64_t); */ - gsw_specvol_CT_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_specvol_diff(float64_t, float64_t, float64_t, float64_t); */ - gsw_specvol_diff(p0: number, p1: number, p2: number, p3: number): number; - - /** void gsw_specvol_first_derivatives_CT_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_specvol_first_derivatives_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_specvol_first_derivatives_wrt_enthalpy_CT_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &); */ - gsw_specvol_first_derivatives_wrt_enthalpy_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** float64_t gsw_specvol_from_pot_enthalpy_ice_first_derivatives_poly(float64_t, float64_t); */ - gsw_specvol_from_pot_enthalpy_ice_first_derivatives_poly(p0: number, p1: number): number; - - /** float64_t gsw_specvol_from_pot_enthalpy_ice_poly(float64_t, float64_t); */ - gsw_specvol_from_pot_enthalpy_ice_poly(p0: number, p1: number): number; - - /** void gsw_specvol_p_parts(float64_t, float64_t, float64_t &, float64_t &, float64_t &, float64_t &, float64_t &, float64_t &, float64_t &); */ - gsw_specvol_p_parts(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void; - - /** void gsw_specvol_second_derivatives_CT_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &, float64_t &, float64_t &); */ - gsw_specvol_second_derivatives_CT_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** float64_t gsw_specvol_t_exact(float64_t, float64_t, float64_t); */ - gsw_specvol_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_specvol_sso_0(float64_t); */ - gsw_specvol_sso_0(p0: number): number; - - /** float64_t gsw_sr_from_sp(float64_t); */ - gsw_sr_from_sp(p0: number): number; - - /** float64_t gsw_sstar_from_sa(float64_t, float64_t, float64_t, float64_t); */ - gsw_sstar_from_sa(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_sstar_from_sp(float64_t, float64_t, float64_t, float64_t); */ - gsw_sstar_from_sp(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_sum(float64_t *, int32_t); */ - gsw_sum(p0: number, p1: number): number; - - /** float64_t gsw_t_deriv_chem_potential_water_t_exact(float64_t, float64_t, float64_t); */ - gsw_t_deriv_chem_potential_water_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_t_freezing(float64_t, float64_t, float64_t); */ - gsw_t_freezing(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_t_from_ct(float64_t, float64_t, float64_t); */ - gsw_t_from_ct(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_t_from_pt0(float64_t, float64_t, float64_t); */ - gsw_t_from_pt0(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_t_maxdensity_exact(float64_t, float64_t); */ - gsw_t_maxdensity_exact(p0: number, p1: number): number; - - /** float64_t gsw_t90_from_t48(float64_t); */ - gsw_t90_from_t48(p0: number): number; - - /** float64_t gsw_t90_from_t68(float64_t); */ - gsw_t90_from_t68(p0: number): number; - - /** int32_t gsw_util_indx(float64_t *, int32_t, float64_t); */ - gsw_util_indx(p0: number, p1: number, p2: number): number; - - /** void gsw_util_sort_dbl(float64_t *, int32_t, int32_t *, bool); */ - gsw_util_sort_dbl(p0: number, p1: number, p2: number, p3: boolean): void; - - /** float64_t gsw_util_xinterp1(float64_t *, float64_t *, int32_t, float64_t); */ - gsw_util_xinterp1(p0: number, p1: number, p2: number, p3: number): number; - - /** void gsw_weighted_nanmean(float64_t, float64_t, float64_t &, float64_t &); */ - gsw_weighted_nanmean(p0: number, p1: number, p2: number, p3: number): void; - - /** float64_t gsw_z_from_depth(float64_t); */ - gsw_z_from_depth(p0: number): number; - - /** float64_t gsw_z_from_p(float64_t, float64_t, float64_t, float64_t); */ - gsw_z_from_p(p0: number, p1: number, p2: number, p3: number): number; -} - -export class TeosIce extends NBindBase { - /** TeosIce(); */ - constructor(); - - /** float64_t gsw_adiabatic_lapse_rate_ice(float64_t, float64_t); */ - gsw_adiabatic_lapse_rate_ice(p0: number, p1: number): number; - - /** float64_t gsw_alpha_wrt_t_ice(float64_t, float64_t); */ - gsw_alpha_wrt_t_ice(p0: number, p1: number): number; - - /** float64_t gsw_chem_potential_water_ice(float64_t, float64_t); */ - gsw_chem_potential_water_ice(p0: number, p1: number): number; - - /** float64_t gsw_cp_ice(float64_t, float64_t); */ - gsw_cp_ice(p0: number, p1: number): number; - - /** float64_t gsw_ct_freezing_exact(float64_t, float64_t, float64_t); */ - gsw_ct_freezing_exact(p0: number, p1: number, p2: number): number; - - /** void gsw_ct_freezing_first_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_ct_freezing_first_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_ct_freezing_first_derivatives_poly(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_ct_freezing_first_derivatives_poly(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** float64_t gsw_ct_freezing_poly(float64_t, float64_t, float64_t); */ - gsw_ct_freezing_poly(p0: number, p1: number, p2: number): number; - - /** void gsw_ct_from_rho(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_ct_from_rho(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** float64_t gsw_deltasa_from_sp(float64_t, float64_t, float64_t, float64_t); */ - gsw_deltasa_from_sp(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_enthalpy_diff(float64_t, float64_t, float64_t, float64_t); */ - gsw_enthalpy_diff(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_enthalpy_ice(float64_t, float64_t); */ - gsw_enthalpy_ice(p0: number, p1: number): number; - - /** float64_t gsw_entropy_ice(float64_t, float64_t); */ - gsw_entropy_ice(p0: number, p1: number): number; - - /** void gsw_frazil_properties(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_frazil_properties(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_frazil_properties_potential(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_frazil_properties_potential(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_frazil_properties_potential_poly(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_frazil_properties_potential_poly(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_frazil_ratios_adiabatic(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_frazil_ratios_adiabatic(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_frazil_ratios_adiabatic_poly(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_frazil_ratios_adiabatic_poly(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t * gsw_geo_strf_dyn_height_pc(float64_t *, float64_t *, float64_t *, int32_t, float64_t *, float64_t *); */ - gsw_geo_strf_dyn_height_pc(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number; - - /** float64_t gsw_gibbs_ice_part_t(float64_t, float64_t); */ - gsw_gibbs_ice_part_t(p0: number, p1: number): number; - - /** float64_t gsw_gibbs_ice_pt0(float64_t); */ - gsw_gibbs_ice_pt0(p0: number): number; - - /** float64_t gsw_gibbs_ice_pt0_pt0(float64_t); */ - gsw_gibbs_ice_pt0_pt0(p0: number): number; - - /** float64_t gsw_helmholtz_energy_ice(float64_t, float64_t); */ - gsw_helmholtz_energy_ice(p0: number, p1: number): number; - - /** void gsw_ice_fraction_to_freeze_seawater(float64_t, float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_ice_fraction_to_freeze_seawater(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void; - - /** float64_t gsw_internal_energy_ice(float64_t, float64_t); */ - gsw_internal_energy_ice(p0: number, p1: number): number; - - /** void gsw_ipv_vs_fnsquared_ratio(float64_t *, float64_t *, float64_t *, float64_t, int32_t, float64_t *, float64_t *); */ - gsw_ipv_vs_fnsquared_ratio(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void; - - /** float64_t gsw_kappa_const_t_ice(float64_t, float64_t); */ - gsw_kappa_const_t_ice(p0: number, p1: number): number; - - /** float64_t gsw_kappa_ice(float64_t, float64_t); */ - gsw_kappa_ice(p0: number, p1: number): number; - - /** float64_t gsw_latentheat_melting(float64_t, float64_t); */ - gsw_latentheat_melting(p0: number, p1: number): number; - - /** float64_t gsw_melting_ice_equilibrium_sa_ct_ratio(float64_t, float64_t); */ - gsw_melting_ice_equilibrium_sa_ct_ratio(p0: number, p1: number): number; - - /** float64_t gsw_melting_ice_equilibrium_sa_ct_ratio_poly(float64_t, float64_t); */ - gsw_melting_ice_equilibrium_sa_ct_ratio_poly(p0: number, p1: number): number; - - /** void gsw_melting_ice_into_seawater(float64_t, float64_t, float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_melting_ice_into_seawater(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** float64_t gsw_melting_ice_sa_ct_ratio(float64_t, float64_t, float64_t, float64_t); */ - gsw_melting_ice_sa_ct_ratio(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_melting_ice_sa_ct_ratio_poly(float64_t, float64_t, float64_t, float64_t); */ - gsw_melting_ice_sa_ct_ratio_poly(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_melting_seaice_equilibrium_sa_ct_ratio(float64_t, float64_t); */ - gsw_melting_seaice_equilibrium_sa_ct_ratio(p0: number, p1: number): number; - - /** float64_t gsw_melting_seaice_equilibrium_sa_ct_ratio_poly(float64_t, float64_t); */ - gsw_melting_seaice_equilibrium_sa_ct_ratio_poly(p0: number, p1: number): number; - - /** void gsw_melting_seaice_into_seawater(float64_t, float64_t, float64_t, float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_melting_seaice_into_seawater(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** float64_t gsw_melting_seaice_sa_ct_ratio(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_melting_seaice_sa_ct_ratio(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** float64_t gsw_melting_seaice_sa_ct_ratio_poly(float64_t, float64_t, float64_t, float64_t, float64_t); */ - gsw_melting_seaice_sa_ct_ratio_poly(p0: number, p1: number, p2: number, p3: number, p4: number): number; - - /** void gsw_nsquared(float64_t *, float64_t *, float64_t *, float64_t *, int32_t, float64_t *, float64_t *); */ - gsw_nsquared(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void; - - /** float64_t gsw_pot_enthalpy_ice_freezing(float64_t, float64_t); */ - gsw_pot_enthalpy_ice_freezing(p0: number, p1: number): number; - - /** void gsw_pot_enthalpy_ice_freezing_first_derivatives(float64_t, float64_t, float64_t *, float64_t *); */ - gsw_pot_enthalpy_ice_freezing_first_derivatives(p0: number, p1: number, p2: number, p3: number): void; - - /** float64_t gsw_pot_enthalpy_from_pt_ice_poly(float64_t); */ - gsw_pot_enthalpy_from_pt_ice_poly(p0: number): number; - - /** float64_t gsw_pot_enthalpy_from_specvol_ice(float64_t, float64_t); */ - gsw_pot_enthalpy_from_specvol_ice(p0: number, p1: number): number; - - /** float64_t gsw_pressure_freezing_ct(float64_t, float64_t, float64_t); */ - gsw_pressure_freezing_ct(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_pt_from_pot_enthalpy_ice(float64_t); */ - gsw_pt_from_pot_enthalpy_ice(p0: number): number; - - /** float64_t gsw_pt_from_pot_enthalpy_ice_poly(float64_t); */ - gsw_pt_from_pot_enthalpy_ice_poly(p0: number): number; - - /** float64_t gsw_pt_from_pot_enthalpy_ice_poly_dh(float64_t); */ - gsw_pt_from_pot_enthalpy_ice_poly_dh(p0: number): number; - - /** float64_t gsw_pt_from_t_ice(float64_t, float64_t, float64_t); */ - gsw_pt_from_t_ice(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_pt0_cold_ice_poly(float64_t); */ - gsw_pt0_cold_ice_poly(p0: number): number; - - /** float64_t gsw_rho_ice(float64_t, float64_t); */ - gsw_rho_ice(p0: number, p1: number): number; - - /** float64_t gsw_sa_freezing_estimate(float64_t, float64_t, float64_t *, float64_t *); */ - gsw_sa_freezing_estimate(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_sa_freezing_from_ct(float64_t, float64_t, float64_t); */ - gsw_sa_freezing_from_ct(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sa_freezing_from_ct_poly(float64_t, float64_t, float64_t); */ - gsw_sa_freezing_from_ct_poly(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sa_freezing_from_t(float64_t, float64_t, float64_t); */ - gsw_sa_freezing_from_t(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sa_freezing_from_t_poly(float64_t, float64_t, float64_t); */ - gsw_sa_freezing_from_t_poly(p0: number, p1: number, p2: number): number; - - /** int32_t gsw_sa_p_inrange(float64_t, float64_t); */ - gsw_sa_p_inrange(p0: number, p1: number): number; - - /** void gsw_seaice_fraction_to_freeze_seawater(float64_t, float64_t, float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_seaice_fraction_to_freeze_seawater(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** float64_t gsw_specvol_from_pot_enthalpy_ice(float64_t, float64_t); */ - gsw_specvol_from_pot_enthalpy_ice(p0: number, p1: number): number; - - /** float64_t gsw_specvol_ice(float64_t, float64_t); */ - gsw_specvol_ice(p0: number, p1: number): number; - - /** float64_t gsw_sound_speed_ice(float64_t, float64_t); */ - gsw_sound_speed_ice(p0: number, p1: number): number; - - /** float64_t gsw_pt0_from_t_ice(float64_t, float64_t); */ - gsw_pt0_from_t_ice(p0: number, p1: number): number; - - /** float64_t gsw_t_freezing_exact(float64_t, float64_t, float64_t); */ - gsw_t_freezing_exact(p0: number, p1: number, p2: number): number; - - /** void gsw_t_freezing_first_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_t_freezing_first_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_t_freezing_first_derivatives_poly(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_t_freezing_first_derivatives_poly(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** float64_t gsw_t_from_pt0_ice(float64_t, float64_t); */ - gsw_t_from_pt0_ice(p0: number, p1: number): number; - - /** float64_t gsw_t_from_rho_ice(float64_t, float64_t); */ - gsw_t_from_rho_ice(p0: number, p1: number): number; -} - -export class TeosSea extends NBindBase { - /** TeosSea(); */ - constructor(); - - /** float64_t gsw_adiabatic_lapse_rate_from_ct(float64_t, float64_t, float64_t); */ - gsw_adiabatic_lapse_rate_from_ct(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_alpha_on_beta(float64_t, float64_t, float64_t); */ - gsw_alpha_on_beta(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_alpha_wrt_t_exact(float64_t, float64_t, float64_t); */ - gsw_alpha_wrt_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_beta_const_t_exact(float64_t, float64_t, float64_t); */ - gsw_beta_const_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_cabbeling(float64_t, float64_t, float64_t); */ - gsw_cabbeling(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_cabbeling_ct_exact(float64_t, float64_t, float64_t); */ - gsw_cabbeling_ct_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_c_from_sp(float64_t, float64_t, float64_t); */ - gsw_c_from_sp(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_cp_t_exact(float64_t, float64_t, float64_t); */ - gsw_cp_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_ct_from_entropy(float64_t, float64_t); */ - gsw_ct_from_entropy(p0: number, p1: number): number; - - /** void gsw_ct_from_rho_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &); */ - gsw_ct_from_rho_exact(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_ct_first_derivatives(float64_t, float64_t, float64_t *, float64_t *); */ - gsw_ct_first_derivatives(p0: number, p1: number, p2: number, p3: number): void; - - /** void gsw_ct_second_derivatives(float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_ct_second_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_enthalpy_first_derivatives_wrt_t_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_enthalpy_first_derivatives_wrt_t_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_enthalpy_second_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_enthalpy_second_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_entropy_from_pt(float64_t, float64_t); */ - gsw_entropy_from_pt(p0: number, p1: number): number; - - /** float64_t gsw_entropy_from_t(float64_t, float64_t, float64_t); */ - gsw_entropy_from_t(p0: number, p1: number, p2: number): number; - - /** void gsw_internal_energy_first_derivatives(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_internal_energy_first_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_internal_energy_first_derivatives_ct_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_internal_energy_first_derivatives_ct_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_internal_energy_second_derivatives(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &, float64_t &, float64_t &); */ - gsw_internal_energy_second_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** float64_t gsw_isopycnal_slope_ratio(float64_t, float64_t, float64_t, float64_t); */ - gsw_isopycnal_slope_ratio(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_latentheat_evap_ct(float64_t, float64_t); */ - gsw_latentheat_evap_ct(p0: number, p1: number): number; - - /** float64_t gsw_latentheat_evap_t(float64_t, float64_t); */ - gsw_latentheat_evap_t(p0: number, p1: number): number; - - /** float64_t gsw_ntp_pt_vs_CT_ratio(float64_t, float64_t, float64_t); */ - gsw_ntp_pt_vs_CT_ratio(p0: number, p1: number, p2: number): number; - - /** void gsw_p_sequence(float64_t, float64_t, float64_t, float64_t *, int32_t *); */ - gsw_p_sequence(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** float64_t gsw_pot_rho_t_exact(float64_t, float64_t, float64_t, float64_t); */ - gsw_pot_rho_t_exact(p0: number, p1: number, p2: number, p3: number): number; - - /** void gsw_pt_first_derivatives(float64_t, float64_t, float64_t *, float64_t *); */ - gsw_pt_first_derivatives(p0: number, p1: number, p2: number, p3: number): void; - - /** float64_t gsw_pt_from_entropy(float64_t, float64_t); */ - gsw_pt_from_entropy(p0: number, p1: number): number; - - /** void gsw_pt_second_derivatives(float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_pt_second_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** int32_t gsw_refine_grid_for_dh(float64_t *, float64_t, int32_t, float64_t, float64_t *, int32_t, int32_t *, int32_t *); */ - gsw_refine_grid_for_dh(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): number; - - /** void gsw_rho_alpha_beta_ct_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &, float64_t &); */ - gsw_rho_alpha_beta_ct_exact(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_rho_ct_exact(float64_t, float64_t, float64_t); */ - gsw_rho_ct_exact(p0: number, p1: number, p2: number): number; - - /** void gsw_rho_second_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *, float64_t *, float64_t *); */ - gsw_rho_second_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** void gsw_rho_first_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_rho_first_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_rho_first_derivatives_wrt_enthalpy(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_rho_first_derivatives_wrt_enthalpy(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_rho_second_derivatives_wrt_enthalpy(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_rho_second_derivatives_wrt_enthalpy(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_rho_t_exact(float64_t, float64_t, float64_t); */ - gsw_rho_t_exact(p0: number, p1: number, p2: number): number; - - /** void gsw_rr68_interp_sa_ct(float64_t *, float64_t *, float64_t *, int32_t, float64_t *, int32_t, float64_t *, float64_t *); */ - gsw_rr68_interp_sa_ct(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** float64_t gsw_sa_from_rho(float64_t, float64_t, float64_t); */ - gsw_sa_from_rho(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sigma0(float64_t, float64_t); */ - gsw_sigma0(p0: number, p1: number): number; - - /** float64_t gsw_sigma0_ct_exact(float64_t, float64_t); */ - gsw_sigma0_ct_exact(p0: number, p1: number): number; - - /** float64_t gsw_sigma0_pt0_exact(float64_t, float64_t); */ - gsw_sigma0_pt0_exact(p0: number, p1: number): number; - - /** float64_t gsw_sigma1(float64_t, float64_t); */ - gsw_sigma1(p0: number, p1: number): number; - - /** float64_t gsw_sigma1_ct_exact(float64_t, float64_t); */ - gsw_sigma1_ct_exact(p0: number, p1: number): number; - - /** float64_t gsw_sigma2(float64_t, float64_t); */ - gsw_sigma2(p0: number, p1: number): number; - - /** float64_t gsw_sigma2_ct_exact(float64_t, float64_t); */ - gsw_sigma2_ct_exact(p0: number, p1: number): number; - - /** float64_t gsw_sigma3(float64_t, float64_t); */ - gsw_sigma3(p0: number, p1: number): number; - - /** float64_t gsw_sigma3_ct_exact(float64_t, float64_t); */ - gsw_sigma3_ct_exact(p0: number, p1: number): number; - - /** float64_t gsw_sigma4(float64_t, float64_t); */ - gsw_sigma4(p0: number, p1: number): number; - - /** float64_t gsw_sigma4_ct_exact(float64_t, float64_t); */ - gsw_sigma4_ct_exact(p0: number, p1: number): number; - - /** float64_t gsw_sound_speed(float64_t, float64_t, float64_t); */ - gsw_sound_speed(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sound_speed_ct_exact(float64_t, float64_t, float64_t); */ - gsw_sound_speed_ct_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sound_speed_t_exact(float64_t, float64_t, float64_t); */ - gsw_sound_speed_t_exact(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_sp_from_sk(float64_t); */ - gsw_sp_from_sk(p0: number): number; - - /** float64_t gsw_sp_from_sr(float64_t); */ - gsw_sp_from_sr(p0: number): number; - - /** float64_t gsw_sp_from_sstar(float64_t, float64_t, float64_t, float64_t); */ - gsw_sp_from_sstar(p0: number, p1: number, p2: number, p3: number): number; - - /** float64_t gsw_sp_salinometer(float64_t, float64_t); */ - gsw_sp_salinometer(p0: number, p1: number): number; - - /** void gsw_specvol_alpha_beta(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_specvol_alpha_beta(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_specvol_anom_standard(float64_t, float64_t, float64_t); */ - gsw_specvol_anom_standard(p0: number, p1: number, p2: number): number; - - /** void gsw_specvol_first_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_specvol_first_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** void gsw_specvol_first_derivatives_wrt_enthalpy(float64_t, float64_t, float64_t, float64_t *, float64_t *); */ - gsw_specvol_first_derivatives_wrt_enthalpy(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** void gsw_specvol_second_derivatives(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *, float64_t *, float64_t *); */ - gsw_specvol_second_derivatives(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void; - - /** void gsw_specvol_second_derivatives_wrt_enthalpy(float64_t, float64_t, float64_t, float64_t *, float64_t *, float64_t *); */ - gsw_specvol_second_derivatives_wrt_enthalpy(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void; - - /** float64_t gsw_spiciness0(float64_t, float64_t); */ - gsw_spiciness0(p0: number, p1: number): number; - - /** float64_t gsw_spiciness1(float64_t, float64_t); */ - gsw_spiciness1(p0: number, p1: number): number; - - /** float64_t gsw_spiciness2(float64_t, float64_t); */ - gsw_spiciness2(p0: number, p1: number): number; - - /** float64_t gsw_t_from_entropy(float64_t, float64_t, float64_t); */ - gsw_t_from_entropy(p0: number, p1: number, p2: number): number; - - /** void gsw_t_from_rho_exact(float64_t, float64_t, float64_t, float64_t &, float64_t &); */ - gsw_t_from_rho_exact(p0: number, p1: number, p2: number, p3: number, p4: number): void; - - /** float64_t gsw_thermobaric(float64_t, float64_t, float64_t); */ - gsw_thermobaric(p0: number, p1: number, p2: number): number; - - /** float64_t gsw_thermobaric_ct_exact(float64_t, float64_t, float64_t); */ - gsw_thermobaric_ct_exact(p0: number, p1: number, p2: number): number; - - /** void gsw_turner_rsubrho(float64_t *, float64_t *, float64_t *, int32_t, float64_t *, float64_t *, float64_t *); */ - gsw_turner_rsubrho(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void; - - /** float64_t * gsw_util_interp1q_int(int32_t, float64_t *, int32_t *, int32_t, float64_t *, float64_t *); */ - gsw_util_interp1q_int(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number; - - /** float64_t * gsw_util_linear_interp(int32_t, float64_t *, int32_t, float64_t *, int32_t, float64_t *, float64_t *); */ - gsw_util_linear_interp(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number; - - /** int32_t gsw_util_pchip_interp(float64_t *, float64_t *, int32_t, float64_t *, float64_t *, int32_t); */ - gsw_util_pchip_interp(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number; -} diff --git a/lib.ts b/lib.ts deleted file mode 100644 index fdce046..0000000 --- a/lib.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as nbind from '@mcesystems/nbind'; -import * as LibTypes from './lib-types'; - -const lib = nbind.init(__dirname).lib; - -export const TeosSea = lib.TeosSea; - -export const TeosBase = lib.TeosBase; - -export const TeosIce = lib.TeosIce; - - diff --git a/package.json b/package.json index c822e15..f78ab77 100644 --- a/package.json +++ b/package.json @@ -1,56 +1,43 @@ { "name": "gsw-node", - "version": "1.0.13", + "version": "2.0.0", "description": "Nodejs interface to Gibbs-SeaWater (GSW) Oceanographic Toolbox in C++", - "main": "./dist/lib.js", - "types": "./dist/lib.d.ts", - "engines": { - "node": ">=10 <13" - }, - "scripts": { - "autogypi": "autogypi", - "node-gyp": "node-gyp", - "emcc-path": "emcc-path", - "copyasm": "copyasm", - "ndts": "ndts", - "test": "jest", - "fix-lib-import": "python3 ./scripts/fix_ndts_imports.py", - "copy-dts": "copyfiles -f lib-types.d.ts dist", - "copy-build": "cpy ./build/* dist/ --parents", - "install": "cmake-js -d ./TeosCpp && autogypi && node-gyp configure build && ndts . > lib-types.d.ts && yarn fix-lib-import", - "build": "tsc", - "reset-hard": "git clean -dfx && git reset --hard && yarn", - "version": "standard-version", - "doc:html": "typedoc ./lib.ts ./lib-types.d.ts --exclude **/*.spec.ts --target ES6 --mode file --out dist/docs", - "doc:publish": "gh-pages -m \"[ci skip] Updates\" -d dist/docs", - "prepare-release": "run-s reset-hard build copy-dts copy-build test doc:html version doc:publish" - }, + "private": true, "repository": { "type": "git", "url": "git+https://github.com/Greenroom-Robotics/GSW-node.git" }, "author": "Zac Pullen ", - "license": "ISC", + "contributors": [ + "Blake Rogan " + ], "bugs": { "url": "https://github.com/Greenroom-Robotics/GSW-node/issues" }, - "homepage": "https://github.com/Greenroom-Robotics/GSW-node#readme", - "dependencies": { - "@mcesystems/nbind": "^0.3.18", - "@types/node": "^16.10.9", - "autogypi": "^0.2.2", - "cmake-js": "^6.2.1", - "copyfiles": "^2.4.1", - "cpy-cli": "^3.1.1" + "scripts": { + "build": "pnpm -r build", + "prepack": "pnpm -r prepack", + "pretest": "pnpm -r build && pnpm -r cmake:release", + "test": "pnpm -r test", + "release:npm": "pnpm --stream -r release --dryRun", + "release:git": "semantic-release --extends ./release.config.cjs --dryRun", + "release": "run-s release:npm release:git" }, "devDependencies": { - "@types/jest": "^27.0.2", - "gh-pages": "^3.1.0", - "jest": "^27.2.5", "npm-run-all": "^4.1.5", - "standard-version": "^9.0.0", - "ts-jest": "^27.0.5", - "typedoc": "^0.19.0", - "typescript": "^4.4.3" + "@semantic-release/changelog": "^6.0.3", + "@semantic-release/commit-analyzer": "^13.0.0", + "@semantic-release/exec": "^6.0.3", + "@semantic-release/git": "^10.0.1", + "@semantic-release/github": "^11.0.1", + "@semantic-release/npm": "^12.0.1", + "@semantic-release/release-notes-generator": "^14.0.2", + "conventional-changelog-conventionalcommits": "^8.0.0", + "semantic-release": "^24.2.0" + }, + "packageManager": "pnpm@9.15.0", + "engines": { + "node": ">=20", + "pnpm": ">=9.15" } -} \ No newline at end of file +} diff --git a/packages/gsw_cpp/CMakeLists.txt b/packages/gsw_cpp/CMakeLists.txt new file mode 100644 index 0000000..b25873f --- /dev/null +++ b/packages/gsw_cpp/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.30) +project(gsw) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +add_definitions(-DNAPI_VERSION=9) + +add_subdirectory(teos-cpp) +add_subdirectory(gsw-node) diff --git a/packages/gsw_cpp/gsw-node/CMakeLists.txt b/packages/gsw_cpp/gsw-node/CMakeLists.txt new file mode 100644 index 0000000..01337d3 --- /dev/null +++ b/packages/gsw_cpp/gsw-node/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.30) +project(gsw-node VERSION 0.1.0) + +add_library( + gsw-node SHARED + src/binding.cpp + src/BoundTeosBase.cpp + src/BoundTeosIce.cpp + src/BoundTeosSea.cpp + ${CMAKE_JS_SRC} +) +target_include_directories(gsw-node PRIVATE include) +target_link_libraries(gsw-node PRIVATE teos-cpp) + + +if (CMAKE_JS_VERSION) + target_link_libraries(gsw-node PRIVATE ${CMAKE_JS_LIB}) + target_include_directories(gsw-node PUBLIC SYSTEM ${CMAKE_JS_INC}) + set_target_properties(gsw-node PROPERTIES PREFIX "" SUFFIX ".node") + + if (MSVC AND CMAKE_JS_NODELIB_DEF AND CMAKE_JS_NODELIB_TARGET) + # Generate node.src + execute_process(COMMAND ${CMAKE_AR} /def:${CMAKE_JS_NODELIB_DEF} /out:${CMAKE_JS_NODELIB_TARGET} ${CMAKE_STATIC_LINKER_FLAGS}) + endif () +endif () \ No newline at end of file diff --git a/packages/gsw_cpp/gsw-node/include/BoundTeosBase.h b/packages/gsw_cpp/gsw-node/include/BoundTeosBase.h new file mode 100644 index 0000000..c7242b2 --- /dev/null +++ b/packages/gsw_cpp/gsw-node/include/BoundTeosBase.h @@ -0,0 +1,34 @@ +// +// Created by blake on 9/26/24. +// + +#ifndef BOUNDTEOSBASE_H +#define BOUNDTEOSBASE_H + +#include + +#include + +class BoundTeosBase : public Napi::ObjectWrap +{ +public: + static Napi::Object Init(Napi::Env env, Napi::Object exports); + + explicit BoundTeosBase(const Napi::CallbackInfo& info); + + Napi::Value gsw_z_from_p(const Napi::CallbackInfo& info); + + Napi::Value gsw_sp_from_c(const Napi::CallbackInfo& info); + + Napi::Value gsw_sa_from_sp(const Napi::CallbackInfo& info); + + Napi::Value gsw_ct_from_t(const Napi::CallbackInfo& info); + + Napi::Value gsw_depth_from_z(const Napi::CallbackInfo& info); + +private: + TeosBase m_base; +}; + + +#endif //BOUNDTEOSBASE_H diff --git a/packages/gsw_cpp/gsw-node/include/BoundTeosIce.h b/packages/gsw_cpp/gsw-node/include/BoundTeosIce.h new file mode 100644 index 0000000..cee57b1 --- /dev/null +++ b/packages/gsw_cpp/gsw-node/include/BoundTeosIce.h @@ -0,0 +1,27 @@ +// +// Created by blake on 9/26/24. +// + +#ifndef BOUNDTEOSICE_H +#define BOUNDTEOSICE_H + +#include + +#include + +class BoundTeosIce : public Napi::ObjectWrap +{ +public: + static Napi::Object Init(Napi::Env env, Napi::Object exports); + + explicit BoundTeosIce(const Napi::CallbackInfo& info); + + Napi::Value gsw_cp_ice(const Napi::CallbackInfo& info); + +private: + TeosIce m_ice; +}; + + + +#endif //BOUNDTEOSICE_H diff --git a/packages/gsw_cpp/gsw-node/include/BoundTeosSea.h b/packages/gsw_cpp/gsw-node/include/BoundTeosSea.h new file mode 100644 index 0000000..938bcc9 --- /dev/null +++ b/packages/gsw_cpp/gsw-node/include/BoundTeosSea.h @@ -0,0 +1,30 @@ +// +// Created by blake on 9/26/24. +// + +#ifndef BOUNDTEOSSEA_H +#define BOUNDTEOSSEA_H + + +#include + +#include + + +class BoundTeosSea : public Napi::ObjectWrap +{ +public: + static Napi::Object Init(Napi::Env env, Napi::Object exports); + + explicit BoundTeosSea(const Napi::CallbackInfo& info); + + Napi::Value gsw_c_from_sp(const Napi::CallbackInfo& info); + + Napi::Value gsw_sound_speed(const Napi::CallbackInfo& info); + +private: + TeosSea m_sea; +}; + + +#endif //BOUNDTEOSSEA_H diff --git a/packages/gsw_cpp/gsw-node/src/BoundTeosBase.cpp b/packages/gsw_cpp/gsw-node/src/BoundTeosBase.cpp new file mode 100644 index 0000000..b840fe0 --- /dev/null +++ b/packages/gsw_cpp/gsw-node/src/BoundTeosBase.cpp @@ -0,0 +1,99 @@ +// +// Created by blake on 9/26/24. +// + +#include "BoundTeosBase.h" + +Napi::Object BoundTeosBase::Init(Napi::Env env, Napi::Object exports) +{ + const auto func = DefineClass( + env, + "TeosBase", + { + InstanceMethod<&BoundTeosBase::gsw_z_from_p>( + "gsw_z_from_p", + static_cast(napi_writable | napi_configurable) + ), + InstanceMethod<&BoundTeosBase::gsw_sp_from_c>( + "gsw_sp_from_c", + static_cast(napi_writable | napi_configurable) + ), + InstanceMethod<&BoundTeosBase::gsw_sa_from_sp>( + "gsw_sa_from_sp", + static_cast(napi_writable | napi_configurable) + ), + InstanceMethod<&BoundTeosBase::gsw_ct_from_t>( + "gsw_ct_from_t", + static_cast(napi_writable | napi_configurable) + ), + InstanceMethod<&BoundTeosBase::gsw_depth_from_z>( + "gsw_depth_from_z", + static_cast(napi_writable | napi_configurable) + ) + } + ); + auto* constructor = new Napi::FunctionReference(); + *constructor = Persistent(func); + (void)exports.Set("TeosBase", func); + env.SetInstanceData(constructor); + return exports; +} + +BoundTeosBase::BoundTeosBase(const Napi::CallbackInfo& info): Napi::ObjectWrap(info) +{ +} + +Napi::Value BoundTeosBase::gsw_z_from_p(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_base.gsw_z_from_p( + info[0].As().DoubleValue(), + info[1].As().DoubleValue(), + info[2].As().DoubleValue(), + info[3].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} + +Napi::Value BoundTeosBase::gsw_sp_from_c(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_base.gsw_sp_from_c( + info[0].As().DoubleValue(), + info[1].As().DoubleValue(), + info[2].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} + +Napi::Value BoundTeosBase::gsw_sa_from_sp(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_base.gsw_sa_from_sp( + info[0].As().DoubleValue(), + info[1].As().DoubleValue(), + info[2].As().DoubleValue(), + info[3].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} + +Napi::Value BoundTeosBase::gsw_ct_from_t(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_base.gsw_ct_from_t( + info[0].As().DoubleValue(), + info[1].As().DoubleValue(), + info[2].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} + +Napi::Value BoundTeosBase::gsw_depth_from_z(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_base.gsw_depth_from_z( + info[0].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} diff --git a/packages/gsw_cpp/gsw-node/src/BoundTeosIce.cpp b/packages/gsw_cpp/gsw-node/src/BoundTeosIce.cpp new file mode 100644 index 0000000..638e60e --- /dev/null +++ b/packages/gsw_cpp/gsw-node/src/BoundTeosIce.cpp @@ -0,0 +1,38 @@ +// +// Created by blake on 9/26/24. +// + +#include "BoundTeosIce.h" + +Napi::Object BoundTeosIce::Init(Napi::Env env, Napi::Object exports) +{ + const auto func = DefineClass( + env, + "TeosIce", + { + InstanceMethod<&BoundTeosIce::gsw_cp_ice>( + "gsw_cp_ice", + static_cast(napi_writable | napi_configurable) + ), + } + ); + auto* constructor = new Napi::FunctionReference(); + *constructor = Persistent(func); + (void)exports.Set("TeosIce", func); + env.SetInstanceData(constructor); + return exports; +} + +BoundTeosIce::BoundTeosIce(const Napi::CallbackInfo& info): Napi::ObjectWrap(info) +{ +} + +Napi::Value BoundTeosIce::gsw_cp_ice(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_ice.gsw_cp_ice( + info[0].As().DoubleValue(), + info[1].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} diff --git a/packages/gsw_cpp/gsw-node/src/BoundTeosSea.cpp b/packages/gsw_cpp/gsw-node/src/BoundTeosSea.cpp new file mode 100644 index 0000000..3c20481 --- /dev/null +++ b/packages/gsw_cpp/gsw-node/src/BoundTeosSea.cpp @@ -0,0 +1,54 @@ +// +// Created by blake on 9/26/24. +// + +#include "BoundTeosSea.h" + +Napi::Object BoundTeosSea::Init(Napi::Env env, Napi::Object exports) +{ + const auto func = DefineClass( + env, + "TeosSea", + { + InstanceMethod<&BoundTeosSea::gsw_c_from_sp>( + "gsw_c_from_sp", + static_cast(napi_writable | napi_configurable) + ), + InstanceMethod<&BoundTeosSea::gsw_sound_speed>( + "gsw_sound_speed", + static_cast(napi_writable | napi_configurable) + ), + } + ); + auto* constructor = new Napi::FunctionReference(); + *constructor = Persistent(func); + (void)exports.Set("TeosSea", func); + env.SetInstanceData(constructor); + return exports; +} + +BoundTeosSea::BoundTeosSea(const Napi::CallbackInfo& info): Napi::ObjectWrap(info) +{ +} + +Napi::Value BoundTeosSea::gsw_c_from_sp(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_sea.gsw_c_from_sp( + info[0].As().DoubleValue(), + info[1].As().DoubleValue(), + info[2].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} + +Napi::Value BoundTeosSea::gsw_sound_speed(const Napi::CallbackInfo& info) +{ + const auto& env = info.Env(); + const auto& result = m_sea.gsw_sound_speed( + info[0].As().DoubleValue(), + info[1].As().DoubleValue(), + info[2].As().DoubleValue() + ); + return Napi::Number::New(env, result); +} diff --git a/packages/gsw_cpp/gsw-node/src/binding.cpp b/packages/gsw_cpp/gsw-node/src/binding.cpp new file mode 100644 index 0000000..8fcc4d7 --- /dev/null +++ b/packages/gsw_cpp/gsw-node/src/binding.cpp @@ -0,0 +1,19 @@ +// +// Created by blake on 9/26/24. +// +#include +#include +#include +#include + +Napi::Object Init(Napi::Env env, Napi::Object exports) +{ + Napi::HandleScope scope(env); + BoundTeosBase::Init(env, exports); + BoundTeosIce::Init(env, exports); + BoundTeosSea::Init(env, exports); + + return exports; +} + +NODE_API_MODULE(NODE_GYP_MODULE_NAME, Init) diff --git a/packages/gsw_cpp/package.json b/packages/gsw_cpp/package.json new file mode 100644 index 0000000..6586075 --- /dev/null +++ b/packages/gsw_cpp/package.json @@ -0,0 +1,51 @@ +{ + "name": "@greenroom-robotics/gsw_cpp", + "version": "2.0.0", + "description": "Nodejs interface to Gibbs-SeaWater (GSW) Oceanographic Toolbox in C++", + "repository": { + "type": "git", + "url": "git+https://github.com/Greenroom-Robotics/GSW-node.git", + "directory": "packages/gsw_cpp" + }, + "author": "Blake Rogan ", + "contributors": [ + "Blake Rogan " + ], + "bugs": { + "url": "https://github.com/Greenroom-Robotics/GSW-node/issues" + }, + "scripts": { + "cmake:release:configure": "cmake-js --config Release --parallel --target gsw-node configure", + "cmake:release:build": "cmake-js --config Release --parallel --target all compile", + "cmake:release": "run-s cmake:release:configure cmake:release:build", + "cmake:debug:configure": "cmake-js --config Debug --debug --parallel --target gsw-node configure", + "cmake:test": "ctest --stop-on-failure --output-on-failure --parallel --test-dir build/teos-cpp/tests", + "cmake:debug:build": "cmake-js --config Debug --debug --parallel --target all compile", + "cmake:debug": "run-s cmake:debug:configure cmake:debug:build", + "build": "run-s cmake:debug:build", + "test": "run-s build cmake:test", + "prepack": "run-s cmake:release:build", + "release": "semantic-release --extends ./release.config.cjs" + }, + "binary": { + "napi_versions": [ + 9 + ] + }, + "cmake-js": { + "runtime": "node" + }, + "devDependencies": { + "cmake-js": "^7.3.0", + "node-addon-api": "^8.3.0", + "npm-run-all": "^4.1.5" + }, + "engines": { + "node": ">=20", + "pnpm": ">=9.15" + }, + "files": [ + "build/Release/gsw-node.node", + "package.json" + ] +} diff --git a/packages/gsw_cpp/release.config.cjs b/packages/gsw_cpp/release.config.cjs new file mode 100644 index 0000000..1566cda --- /dev/null +++ b/packages/gsw_cpp/release.config.cjs @@ -0,0 +1,12 @@ +module.exports = { + branches: ['main'], + plugins: [ + ['@semantic-release/commit-analyzer', { preset: 'conventionalcommits' }], + [ + '@semantic-release/release-notes-generator', + { preset: 'conventionalcommits' }, + ], + '@semantic-release/changelog', + '@semantic-release/npm', + ], +}; diff --git a/TeosCpp/.gitignore b/packages/gsw_cpp/teos-cpp/.gitignore similarity index 98% rename from TeosCpp/.gitignore rename to packages/gsw_cpp/teos-cpp/.gitignore index f35f087..508f3bb 100644 --- a/TeosCpp/.gitignore +++ b/packages/gsw_cpp/teos-cpp/.gitignore @@ -29,7 +29,7 @@ build *.lai *.la *.a -*.lib +*.gsw # Executables *.exe diff --git a/packages/gsw_cpp/teos-cpp/CMakeLists.txt b/packages/gsw_cpp/teos-cpp/CMakeLists.txt new file mode 100644 index 0000000..d462411 --- /dev/null +++ b/packages/gsw_cpp/teos-cpp/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.30) +project(teos-cpp VERSION 0.1.0) + +# Add the teos-cpp library +add_library( + teos-cpp STATIC + src/TeosBase.cpp + src/TeosSea.cpp + src/TeosIce.cpp + src/SaarDataHandler.cpp +) +target_include_directories(teos-cpp PUBLIC include) +set_property(TARGET teos-cpp PROPERTY POSITION_INDEPENDENT_CODE ON) + +add_subdirectory(tests/) diff --git a/TeosCpp/include/SaarDataHandler.h b/packages/gsw_cpp/teos-cpp/include/SaarDataHandler.h similarity index 98% rename from TeosCpp/include/SaarDataHandler.h rename to packages/gsw_cpp/teos-cpp/include/SaarDataHandler.h index 3919711..1a589e9 100644 --- a/TeosCpp/include/SaarDataHandler.h +++ b/packages/gsw_cpp/teos-cpp/include/SaarDataHandler.h @@ -2,7 +2,7 @@ #define SAARDATAHANDLER_H /*************************************** - Version 1.06 + Version 2.0 by Randall Kent Whited rkwhited@gmail.com ------------------ @@ -14,7 +14,7 @@ ------------------------------------- About a 40% reduction in file size (disk space & memory use) resulted, - in the debug compilation. + (in the debug compilation). ------------------------------------- All copyrights and all license issues are the same as for the C version diff --git a/TeosCpp/include/TeosBase.h b/packages/gsw_cpp/teos-cpp/include/TeosBase.h similarity index 95% rename from TeosCpp/include/TeosBase.h rename to packages/gsw_cpp/teos-cpp/include/TeosBase.h index 6ce20a8..3edf57d 100644 --- a/TeosCpp/include/TeosBase.h +++ b/packages/gsw_cpp/teos-cpp/include/TeosBase.h @@ -2,7 +2,7 @@ #define TEOSBASE_H /***************************************** - "TeosBase.h" Version 1.06 + "TeosBase.h" Version 2.0 by Randall Kent Whited rkwhited@gmail.com -------------------------------- @@ -12,15 +12,16 @@ C version 3.05 http://www.teos-10.org --------------------------------------- This version also contains conversion - of .m Matlab version files into C++. + of some logic of Matlab .m files + that are now C++ logic. --------------------------------------- All copyrights and all license issues are the same as for the C version and the Matlab version as expressed on the TEOS-10 website http://www.teos-10.org ----------------------------------------- - "TeosBase" is the base or ancestor - class for the "TeosSea", "TeosIce". + "TeosBase" is the base/ancestor + class for "TeosSea" & "TeosIce". *****************************************/ /** std headers */ @@ -54,7 +55,7 @@ const double cppGSW_ERROR_LIMIT = 1e10; const double rtNaN = NAN; const double rtNanF = NAN; -/** used to list/sort arrays */ +/** used to list and/or sort arrays */ struct DI { double d; @@ -63,9 +64,10 @@ struct DI /******************************** TEOS-10 data in the "TeosBase" - class is handled by an object - of the "SaarDataHandler" class - and various C++ structs. + class is handled by calls to + an object of the class + "SaarDataHandler" and + various C++ structs. ------------------------------ Descendant classes have full access to the "gsw_structs" @@ -110,7 +112,7 @@ class TeosBase "C++ methods" that are used by both the "TeosSea" & "TeosIce" objects via the "TeosBase" base class or - their own methods. + their own methods/functions. ---------------------------------- Their C library names as well as functionality, as described in @@ -160,23 +162,21 @@ class TeosBase double *ct_p_wrt_t); double gsw_ct_freezing(double sa, double p, double saturation_fraction=0.0); - double gsw_CT_freezing(double SA, double saturation_fraction=0.0); double gsw_ct_from_enthalpy(double sa, double h, double p); double gsw_ct_from_enthalpy_exact(double sa, double h, double p); double gsw_ct_from_pt(double sa, double pt); double gsw_ct_from_t(double sa, double t, double p); double gsw_ct_maxdensity(double sa, double p); - double gsw_CT_maxdensity_exact(double SA, double p); + double gsw_ct_maxdensity_exact(double SA, double p); /** D */ double gsw_deltasa_atlas(double p, double lon, double lat); double gsw_depth_from_z(double z); double gsw_dilution_coefficient_t_exact(double sa, double t, double p); double gsw_dynamic_enthalpy(double sa, double ct, double p); - double gsw_dynamic_enthalpy_CT_exact(double SA, double CT, double p); + double gsw_dynamic_enthalpy_CT_exact(double SA, double ct, double p); double gsw_dynamic_enthalpy_t_exact(double SA, double t, double p); - /** E */ double gsw_enthalpy(double sa, double ct, double p); double gsw_enthalpy_ct_exact(double sa, double ct, double p); @@ -224,7 +224,7 @@ class TeosBase /** I */ double gsw_internal_energy(double sa, double ct, double p); - double gsw_internal_energy_CT_exact(double SA, double CT, double p); + double gsw_internal_energy_ct_exact(double SA, double CT, double p); void gsw_internal_energy_second_derivatives(double SA, double CT, double p, double &u_SA_SA, double &u_SA_CT, @@ -237,7 +237,7 @@ class TeosBase /** K */ double gsw_kappa(double sa, double ct, double p); double gsw_kappa_const_t_exact(double SA, double t, double p); - double gsw_kappa_CT_exact(double SA, double CT, double p); + double gsw_kappa_ct_exact(double SA, double CT, double p); double gsw_kappa_t_exact(double sa, double t, double p); double gsw_Krsol(double SA, double CT, double p, double lon, double lat); double gsw_Krsol_SP_pt(double SP, double pt); @@ -305,7 +305,7 @@ class TeosBase double *rho_SA_SA, double *rho_SA_CT, double *rho_CT_CT, double *rho_SA_P, double *rho_CT_P); - void gsw_rho_second_derivatives_wrt_enthalpy_CT_exact(double SA, double CT, + void gsw_rho_second_derivatives_wrt_enthalpy_ct_exact(double SA, double CT, double p, double &rho_SA_SA, double &rho_SA_h, double &rho_h_h); void gsw_rr68_interp_section(int sectnum, double *sa, double *ct, double *p, @@ -317,7 +317,7 @@ class TeosBase /** S */ double gsw_saar(double p, double lon, double lat); - double gsw_SA_freezing_from_CT_poly(double CT, double p, + double gsw_SA_freezing_from_ct_poly(double CT, double p, double saturation_fraction=0.0); double gsw_sa_from_sp(double sp, double p, double lon, double lat); @@ -370,7 +370,6 @@ class TeosBase double gsw_specvol_t_exact(double sa, double t, double p); double gsw_specvol_sso_0(double p); double gsw_sr_from_sp(double sp); - double gsw_SSO(void); double gsw_sstar_from_sa(double sa, double p, double lon, double lat); double gsw_sstar_from_sp(double sp, double p, double lon, double lat); double gsw_sum(double *x,int n); diff --git a/TeosCpp/include/TeosCppSupp.h b/packages/gsw_cpp/teos-cpp/include/TeosCppSupp.h similarity index 100% rename from TeosCpp/include/TeosCppSupp.h rename to packages/gsw_cpp/teos-cpp/include/TeosCppSupp.h diff --git a/TeosCpp/include/TeosIce.h b/packages/gsw_cpp/teos-cpp/include/TeosIce.h similarity index 98% rename from TeosCpp/include/TeosIce.h rename to packages/gsw_cpp/teos-cpp/include/TeosIce.h index 932f105..a04f7b8 100644 --- a/TeosCpp/include/TeosIce.h +++ b/packages/gsw_cpp/teos-cpp/include/TeosIce.h @@ -3,7 +3,7 @@ /****************************************** - "TeosIce.h" Version 1.06 + "TeosIce.h" Version 2.0 by Randall Kent Whited rkwhited@gmail.com -------------------------------- @@ -12,8 +12,8 @@ as adapted from the TEOS-10 C version 3.05 http://www.teos-10.org --------------------------------------- - OR converted from .m Matlab files in - the Teos-10 Matlab version at + OR converted logic in .m Matlab files + in the Teos-10 Matlab version at http://www.teos-10.org --------------------------------------- All copyrights and all license issues @@ -151,7 +151,6 @@ class TeosIce: public TeosBase double gsw_pot_enthalpy_from_pt_ice_poly(double pt0_ice); double gsw_pot_enthalpy_from_specvol_ice(double specvol_ice, double p); - double gsw_pressure_coefficient_ice(double t, double p); double gsw_pressure_freezing_ct(double sa, double ct, double saturation_fraction); diff --git a/TeosCpp/include/TeosSea.h b/packages/gsw_cpp/teos-cpp/include/TeosSea.h similarity index 94% rename from TeosCpp/include/TeosSea.h rename to packages/gsw_cpp/teos-cpp/include/TeosSea.h index 2645258..7bd1c5b 100644 --- a/TeosCpp/include/TeosSea.h +++ b/packages/gsw_cpp/teos-cpp/include/TeosSea.h @@ -3,7 +3,7 @@ /****************************************** - "TeosSea.h" Version 1.06 + "TeosSea.h" Version 2.0 by Randall Kent Whited rkwhited@gmail.com -------------------------------- @@ -12,8 +12,8 @@ as adapted from the TEOS-10 C version 3.05 http://www.teos-10.org --------------------------------------- - OR converted from .m Matlab files in - the Teos-10 Matlab version at + OR converted logic in .m Matlab files + in the Teos-10 Matlab version at http://www.teos-10.org --------------------------------------- All copyrights and all license issues @@ -30,7 +30,7 @@ using namespace std; ------------------------ TEOS descriptions of the methods are in the .cpp - file. + file proceeding members. ***************************/ class TeosSea: public TeosBase { @@ -76,10 +76,6 @@ class TeosSea: public TeosBase double *gsw_geo_strf_dyn_height(double *sa, double *ct, double *p, double p_ref, int n_levels, double *dyn_height); - int gsw_geo_strf_dyn_height_1(double *sa, double *ct, double *p, - double p_ref, int n_levels, double *dyn_height, - double max_dp_i, int interp_method); - /** I */ void gsw_internal_energy_first_derivatives(double SA, double CT, double p, double &u_SA, double &u_CT, @@ -100,9 +96,6 @@ class TeosSea: public TeosBase /** 'L' */ double gsw_latentheat_evap_ct(double sa, double ct); double gsw_latentheat_evap_t(double sa, double t); - int gsw_linear_interp_SA_CT_for_dh(double *sa, double *ct, - double *p, int nz, double *p_i, int n_i, double *sa_i, - double *ct_i); /** 'N' */ double gsw_ntp_pt_vs_CT_ratio(double SA, double CT, double p); diff --git a/TeosCpp/include/delta_sa_ref.h b/packages/gsw_cpp/teos-cpp/include/delta_sa_ref.h similarity index 99% rename from TeosCpp/include/delta_sa_ref.h rename to packages/gsw_cpp/teos-cpp/include/delta_sa_ref.h index 1d6092f..3cb6fef 100644 --- a/TeosCpp/include/delta_sa_ref.h +++ b/packages/gsw_cpp/teos-cpp/include/delta_sa_ref.h @@ -2,22 +2,25 @@ #define DELTA_SA_REF_H /***************************************** - Version 1.06 + Version 2.0 by Randall Kent Whited rkwhited@gmail.com -------------------------------------- All copyrights and all license issues - are the same as for the C version + are the same as for the TEOS-10 + C version (http://www.teos-10.org) ------------------------------------- - The numbers in "**nnn*" comments are - the array numbers in the original. + The numbers in " **nnn* " comments + are array numbers in the original. (they are at the end of the segment) -------------------------------------- - Even numbered locations were groups + Even-numbered locations were groups of THE SAME VALUE which were removed to save space and promote clarity. -------------------------------------- - They are accessed by computations. + They are accessed by computations + (e.g. + SaarDataHandler::getDeltaSaArrayPos). *****************************************/ /** 'SaarDataHandler' class declaration */ diff --git a/packages/gsw_cpp/teos-cpp/include/delta_sa_ref_map.h b/packages/gsw_cpp/teos-cpp/include/delta_sa_ref_map.h new file mode 100644 index 0000000..90e9d46 --- /dev/null +++ b/packages/gsw_cpp/teos-cpp/include/delta_sa_ref_map.h @@ -0,0 +1,6128 @@ +#ifndef DELTA_SA_REF_MAP_H +#define DELTA_SA_REF_MAP_H + +/******************************* + Version 2.0 + by Randall Kent Whited + rkwhited@gmail.com + ------------------ + This array is a map of the + "delta_sa_ref" array + data in the original C code. + ----------------------------- + See "map_struct.h" for the + description of the data. +********************************/ + +/** struct declaration */ +#include "map_struct.h" + +const unsigned maxDELTASACOUNT = 6103; +/** the columns are defined in map_struct.h */ +ARRAYINFO deltaSaArrayInfo[maxDELTASACOUNT] = +{ + 0, 179, 180,1, + 180, 218, 39,0, + 219, 224, 6,1, + 225, 265, 41,0, + 266, 269, 4,1, + 270, 311, 42,0, + 312, 314, 3,1, + 315, 346, 32,0, + 347, 348, 2,1, + 349, 357, 9,0, + 358, 359, 2,1, + 360, 391, 32,0, + 392, 393, 2,1, + 394, 397, 4,0, + 398, 404, 7,1, + 405, 436, 32,0, + 437, 438, 2,1, + 439, 441, 3,0, + 442, 449, 8,1, + 450, 481, 32,0, + 482, 483, 2,1, + 484, 489, 6,0, + 490, 494, 5,1, + 495, 535, 41,0, + 536, 539, 4,1, + 540, 580, 41,0, + 581, 584, 4,1, + 585, 625, 41,0, + 626, 629, 4,1, + 630, 669, 40,0, + 670, 674, 5,1, + 675, 717, 43,0, + 718, 719, 2,1, + 720, 762, 43,0, + 763, 764, 2,1, + 765, 807, 43,0, + 808, 809, 2,1, + 810, 853, 44,0, + 854, 854, 1,1, + 855, 897, 43,0, + 898, 899, 2,1, + 900, 943, 44,0, + 944, 944, 1,1, + 945, 985, 41,0, + 986, 989, 4,1, + 990, 1030, 41,0, + 1031, 1034, 4,1, + 1035, 1073, 39,0, + 1074, 1349, 276,1, + 1350, 1379, 30,0, + 1380, 1394, 15,1, + 1395, 1426, 32,0, + 1427, 1439, 13,1, + 1440, 1467, 28,0, + 1468, 1484, 17,1, + 1485, 1496, 12,0, + 1497, 1529, 33,1, + 1530, 1535, 6,0, + 1536, 1574, 39,1, + 1575, 1581, 7,0, + 1582, 1619, 38,1, + 1620, 1629, 10,0, + 1630, 1664, 35,1, + 1665, 1696, 32,0, + 1697, 1709, 13,1, + 1710, 1744, 35,0, + 1745, 1754, 10,1, + 1755, 1789, 35,0, + 1790, 1799, 10,1, + 1800, 1834, 35,0, + 1835, 1844, 10,1, + 1845, 1879, 35,0, + 1880, 1889, 10,1, + 1890, 1925, 36,0, + 1926, 1934, 9,1, + 1935, 1972, 38,0, + 1973, 1979, 7,1, + 1980, 2017, 38,0, + 2018, 2204, 187,1, + 2205, 2243, 39,0, + 2244, 2249, 6,1, + 2250, 2289, 40,0, + 2290, 2294, 5,1, + 2295, 2336, 42,0, + 2337, 2339, 3,1, + 2340, 2382, 43,0, + 2383, 2384, 2,1, + 2385, 2422, 38,0, + 2423, 2429, 7,1, + 2430, 2467, 38,0, + 2468, 2474, 7,1, + 2475, 2515, 41,0, + 2516, 2519, 4,1, + 2520, 2561, 42,0, + 2562, 2564, 3,1, + 2565, 2606, 42,0, + 2607, 2609, 3,1, + 2610, 2651, 42,0, + 2652, 2654, 3,1, + 2655, 2697, 43,0, + 2698, 2699, 2,1, + 2700, 2741, 42,0, + 2742, 2744, 3,1, + 2745, 2786, 42,0, + 2787, 2789, 3,1, + 2790, 2832, 43,0, + 2833, 2834, 2,1, + 2835, 2876, 42,0, + 2877, 2879, 3,1, + 2880, 2922, 43,0, + 2923, 2924, 2,1, + 2925, 2968, 44,0, + 2969, 2969, 1,1, + 2970, 3010, 41,0, + 3011, 3014, 4,1, + 3015, 3053, 39,0, + 3054, 3059, 6,1, + 3060, 3096, 37,0, + 3097, 3374, 278,1, + 3375, 3378, 4,0, + 3379, 3419, 41,1, + 3420, 3451, 32,0, + 3452, 3464, 13,1, + 3465, 3495, 31,0, + 3496, 3554, 59,1, + 3555, 3558, 4,0, + 3559, 3599, 41,1, + 3600, 3605, 6,0, + 3606, 3644, 39,1, + 3645, 3658, 14,0, + 3659, 3689, 31,1, + 3690, 3717, 28,0, + 3718, 3734, 17,1, + 3735, 3766, 32,0, + 3767, 3779, 13,1, + 3780, 3813, 34,0, + 3814, 3824, 11,1, + 3825, 3858, 34,0, + 3859, 3869, 11,1, + 3870, 3904, 35,0, + 3905, 3914, 10,1, + 3915, 3950, 36,0, + 3951, 3959, 9,1, + 3960, 3997, 38,0, + 3998, 4004, 7,1, + 4005, 4042, 38,0, + 4043, 4229, 187,1, + 4230, 4266, 37,0, + 4267, 4274, 8,1, + 4275, 4315, 41,0, + 4316, 4319, 4,1, + 4320, 4362, 43,0, + 4363, 4364, 2,1, + 4365, 4407, 43,0, + 4408, 4409, 2,1, + 4410, 4450, 41,0, + 4451, 4454, 4,1, + 4455, 4492, 38,0, + 4493, 4499, 7,1, + 4500, 4539, 40,0, + 4540, 4544, 5,1, + 4545, 4586, 42,0, + 4587, 4589, 3,1, + 4590, 4631, 42,0, + 4632, 4634, 3,1, + 4635, 4676, 42,0, + 4677, 4679, 3,1, + 4680, 4720, 41,0, + 4721, 4724, 4,1, + 4725, 4765, 41,0, + 4766, 4769, 4,1, + 4770, 4809, 40,0, + 4810, 4814, 5,1, + 4815, 4856, 42,0, + 4857, 4859, 3,1, + 4860, 4901, 42,0, + 4902, 4904, 3,1, + 4905, 4946, 42,0, + 4947, 4949, 3,1, + 4950, 4989, 40,0, + 4990, 4994, 5,1, + 4995, 5033, 39,0, + 5034, 5039, 6,1, + 5040, 5074, 35,0, + 5075, 5084, 10,1, + 5085, 5091, 7,0, + 5092, 5399, 308,1, + 5400, 5403, 4,0, + 5404, 5444, 41,1, + 5445, 5476, 32,0, + 5477, 5489, 13,1, + 5490, 5521, 32,0, + 5522, 5534, 13,1, + 5535, 5558, 24,0, + 5559, 5624, 66,1, + 5625, 5629, 5,0, + 5630, 5669, 40,1, + 5670, 5684, 15,0, + 5685, 5714, 30,1, + 5715, 5729, 15,0, + 5730, 5759, 30,1, + 5760, 5789, 30,0, + 5790, 5804, 15,1, + 5805, 5837, 33,0, + 5838, 5849, 12,1, + 5850, 5883, 34,0, + 5884, 5894, 11,1, + 5895, 5927, 33,0, + 5928, 5939, 12,1, + 5940, 5975, 36,0, + 5976, 5984, 9,1, + 5985, 6022, 38,0, + 6023, 6029, 7,1, + 6030, 6067, 38,0, + 6068, 6254, 187,1, + 6255, 6289, 35,0, + 6290, 6299, 10,1, + 6300, 6341, 42,0, + 6342, 6344, 3,1, + 6345, 6387, 43,0, + 6388, 6389, 2,1, + 6390, 6432, 43,0, + 6433, 6434, 2,1, + 6435, 6475, 41,0, + 6476, 6479, 4,1, + 6480, 6519, 40,0, + 6520, 6524, 5,1, + 6525, 6565, 41,0, + 6566, 6569, 4,1, + 6570, 6612, 43,0, + 6613, 6614, 2,1, + 6615, 6656, 42,0, + 6657, 6659, 3,1, + 6660, 6700, 41,0, + 6701, 6704, 4,1, + 6705, 6744, 40,0, + 6745, 6749, 5,1, + 6750, 6789, 40,0, + 6790, 6794, 5,1, + 6795, 6831, 37,0, + 6832, 6839, 8,1, + 6840, 6876, 37,0, + 6877, 6884, 8,1, + 6885, 6921, 37,0, + 6922, 6929, 8,1, + 6930, 6967, 38,0, + 6968, 6974, 7,1, + 6975, 7011, 37,0, + 7012, 7019, 8,1, + 7020, 7046, 27,0, + 7047, 7424, 378,1, + 7425, 7444, 20,0, + 7445, 7469, 25,1, + 7470, 7501, 32,0, + 7502, 7514, 13,1, + 7515, 7546, 32,0, + 7547, 7559, 13,1, + 7560, 7565, 6,0, + 7566, 7649, 84,1, + 7650, 7653, 4,0, + 7654, 7694, 41,1, + 7695, 7708, 14,0, + 7709, 7739, 31,1, + 7740, 7750, 11,0, + 7751, 7784, 34,1, + 7785, 7805, 21,0, + 7806, 7829, 24,1, + 7830, 7862, 33,0, + 7863, 7874, 12,1, + 7875, 7905, 31,0, + 7906, 7919, 14,1, + 7920, 7949, 30,0, + 7950, 7964, 15,1, + 7965, 8000, 36,0, + 8001, 8009, 9,1, + 8010, 8047, 38,0, + 8048, 8054, 7,1, + 8055, 8092, 38,0, + 8093, 8279, 187,1, + 8280, 8316, 37,0, + 8317, 8324, 8,1, + 8325, 8365, 41,0, + 8366, 8369, 4,1, + 8370, 8412, 43,0, + 8413, 8414, 2,1, + 8415, 8457, 43,0, + 8458, 8459, 2,1, + 8460, 8501, 42,0, + 8502, 8504, 3,1, + 8505, 8545, 41,0, + 8546, 8549, 4,1, + 8550, 8590, 41,0, + 8591, 8594, 4,1, + 8595, 8637, 43,0, + 8638, 8639, 2,1, + 8640, 8680, 41,0, + 8681, 8684, 4,1, + 8685, 8724, 40,0, + 8725, 8729, 5,1, + 8730, 8763, 34,0, + 8764, 8774, 11,1, + 8775, 8801, 27,0, + 8802, 8819, 18,1, + 8820, 8830, 11,0, + 8831, 9404, 574,1, + 9405, 9431, 27,0, + 9432, 9449, 18,1, + 9450, 9485, 36,0, + 9486, 9494, 9,1, + 9495, 9530, 36,0, + 9531, 9539, 9,1, + 9540, 9567, 28,0, + 9568, 9584, 17,1, + 9585, 9590, 6,0, + 9591, 9674, 84,1, + 9675, 9822, 148,0, + 9823, 9854, 32,1, + 9855, 9885, 31,0, + 9886, 9899, 14,1, + 9900, 9927, 28,0, + 9928, 9944, 17,1, + 9945, 9964, 20,0, + 9965, 9989, 25,1, + 9990, 10025, 36,0, + 10026, 10034, 9,1, + 10035, 10072, 38,0, + 10073, 10079, 7,1, + 10080, 10117, 38,0, + 10118, 10304, 187,1, + 10305, 10341, 37,0, + 10342, 10349, 8,1, + 10350, 10390, 41,0, + 10391, 10394, 4,1, + 10395, 10437, 43,0, + 10438, 10439, 2,1, + 10440, 10481, 42,0, + 10482, 10484, 3,1, + 10485, 10524, 40,0, + 10525, 10529, 5,1, + 10530, 10570, 41,0, + 10571, 10574, 4,1, + 10575, 10615, 41,0, + 10616, 10619, 4,1, + 10620, 10660, 41,0, + 10661, 10664, 4,1, + 10665, 10705, 41,0, + 10706, 10709, 4,1, + 10710, 10743, 34,0, + 10744, 10754, 11,1, + 10755, 10762, 8,0, + 10763, 11429, 667,1, + 11430, 11456, 27,0, + 11457, 11474, 18,1, + 11475, 11510, 36,0, + 11511, 11519, 9,1, + 11520, 11555, 36,0, + 11556, 11564, 9,1, + 11565, 11588, 24,0, + 11589, 11699, 111,1, + 11700, 11894, 195,0, + 11895, 11924, 30,1, + 11925, 11940, 16,0, + 11941, 11969, 29,1, + 11970, 11982, 13,0, + 11983, 12014, 32,1, + 12015, 12050, 36,0, + 12051, 12059, 9,1, + 12060, 12097, 38,0, + 12098, 12104, 7,1, + 12105, 12142, 38,0, + 12143, 12329, 187,1, + 12330, 12366, 37,0, + 12367, 12374, 8,1, + 12375, 12415, 41,0, + 12416, 12419, 4,1, + 12420, 12461, 42,0, + 12462, 12464, 3,1, + 12465, 12506, 42,0, + 12507, 12509, 3,1, + 12510, 12551, 42,0, + 12552, 12554, 3,1, + 12555, 12597, 43,0, + 12598, 12599, 2,1, + 12600, 12642, 43,0, + 12643, 12644, 2,1, + 12645, 12686, 42,0, + 12687, 12689, 3,1, + 12690, 12731, 42,0, + 12732, 12734, 3,1, + 12735, 12773, 39,0, + 12774, 13454, 681,1, + 13455, 13482, 28,0, + 13483, 13499, 17,1, + 13500, 13535, 36,0, + 13536, 13544, 9,1, + 13545, 13577, 33,0, + 13578, 13589, 12,1, + 13590, 13610, 21,0, + 13611, 13769, 159,1, + 13770, 13919, 150,0, + 13920, 13949, 30,1, + 13950, 13965, 16,0, + 13966, 13994, 29,1, + 13995, 14006, 12,0, + 14007, 14039, 33,1, + 14040, 14075, 36,0, + 14076, 14084, 9,1, + 14085, 14122, 38,0, + 14123, 14129, 7,1, + 14130, 14167, 38,0, + 14168, 14354, 187,1, + 14355, 14391, 37,0, + 14392, 14399, 8,1, + 14400, 14440, 41,0, + 14441, 14444, 4,1, + 14445, 14487, 43,0, + 14488, 14489, 2,1, + 14490, 14532, 43,0, + 14533, 14534, 2,1, + 14535, 14577, 43,0, + 14578, 14579, 2,1, + 14580, 14623, 44,0, + 14624, 14624, 1,1, + 14625, 14668, 44,0, + 14669, 14669, 1,1, + 14670, 14712, 43,0, + 14713, 14714, 2,1, + 14715, 14753, 39,0, + 14754, 14759, 6,1, + 14760, 14798, 39,0, + 14799, 14804, 6,1, + 14805, 14835, 31,0, + 14836, 15479, 644,1, + 15480, 15511, 32,0, + 15512, 15524, 13,1, + 15525, 15562, 38,0, + 15563, 15569, 7,1, + 15570, 15607, 38,0, + 15608, 15794, 187,1, + 15795, 15884, 90,0, + 15885, 15929, 45,1, + 15930, 15944, 15,0, + 15945, 15974, 30,1, + 15975, 15990, 16,0, + 15991, 16019, 29,1, + 16020, 16032, 13,0, + 16033, 16064, 32,1, + 16065, 16100, 36,0, + 16101, 16109, 9,1, + 16110, 16147, 38,0, + 16148, 16154, 7,1, + 16155, 16192, 38,0, + 16193, 16379, 187,1, + 16380, 16414, 35,0, + 16415, 16424, 10,1, + 16425, 16465, 41,0, + 16466, 16469, 4,1, + 16470, 16511, 42,0, + 16512, 16514, 3,1, + 16515, 16557, 43,0, + 16558, 16559, 2,1, + 16560, 16602, 43,0, + 16603, 16604, 2,1, + 16605, 16647, 43,0, + 16648, 16649, 2,1, + 16650, 16692, 43,0, + 16693, 16694, 2,1, + 16695, 16737, 43,0, + 16738, 16739, 2,1, + 16740, 16779, 40,0, + 16780, 16784, 5,1, + 16785, 16823, 39,0, + 16824, 16829, 6,1, + 16830, 16864, 35,0, + 16865, 16874, 10,1, + 16875, 16901, 27,0, + 16902, 17459, 558,1, + 17460, 17481, 22,0, + 17482, 17504, 23,1, + 17505, 17526, 22,0, + 17527, 17549, 23,1, + 17550, 17581, 32,0, + 17582, 17594, 13,1, + 17595, 17625, 31,0, + 17626, 17819, 194,1, + 17820, 17909, 90,0, + 17910, 17954, 45,1, + 17955, 17969, 15,0, + 17970, 17999, 30,1, + 18000, 18014, 15,0, + 18015, 18044, 30,1, + 18045, 18058, 14,0, + 18059, 18089, 31,1, + 18090, 18125, 36,0, + 18126, 18134, 9,1, + 18135, 18172, 38,0, + 18173, 18179, 7,1, + 18180, 18217, 38,0, + 18218, 18404, 187,1, + 18405, 18437, 33,0, + 18438, 18449, 12,1, + 18450, 18490, 41,0, + 18491, 18494, 4,1, + 18495, 18536, 42,0, + 18537, 18539, 3,1, + 18540, 18581, 42,0, + 18582, 18584, 3,1, + 18585, 18627, 43,0, + 18628, 18629, 2,1, + 18630, 18670, 41,0, + 18671, 18674, 4,1, + 18675, 18714, 40,0, + 18715, 18719, 5,1, + 18720, 18760, 41,0, + 18761, 18764, 4,1, + 18765, 18808, 44,0, + 18809, 18809, 1,1, + 18810, 18852, 43,0, + 18853, 18854, 2,1, + 18855, 18895, 41,0, + 18896, 18899, 4,1, + 18900, 18939, 40,0, + 18940, 18944, 5,1, + 18945, 18978, 34,0, + 18979, 18989, 11,1, + 18990, 19018, 29,0, + 19019, 19394, 376,1, + 19395, 19413, 19,0, + 19414, 19439, 26,1, + 19440, 19467, 28,0, + 19468, 19484, 17,1, + 19485, 19509, 25,0, + 19510, 19529, 20,1, + 19530, 19551, 22,0, + 19552, 19574, 23,1, + 19575, 19603, 29,0, + 19604, 19619, 16,1, + 19620, 19640, 21,0, + 19641, 19979, 339,1, + 19980, 19992, 13,0, + 19993, 20024, 32,1, + 20025, 20038, 14,0, + 20039, 20069, 31,1, + 20070, 20083, 14,0, + 20084, 20114, 31,1, + 20115, 20150, 36,0, + 20151, 20159, 9,1, + 20160, 20197, 38,0, + 20198, 20204, 7,1, + 20205, 20242, 38,0, + 20243, 20429, 187,1, + 20430, 20463, 34,0, + 20464, 20474, 11,1, + 20475, 20514, 40,0, + 20515, 20519, 5,1, + 20520, 20561, 42,0, + 20562, 20564, 3,1, + 20565, 20606, 42,0, + 20607, 20609, 3,1, + 20610, 20648, 39,0, + 20649, 20654, 6,1, + 20655, 20693, 39,0, + 20694, 20699, 6,1, + 20700, 20737, 38,0, + 20738, 20744, 7,1, + 20745, 20785, 41,0, + 20786, 20789, 4,1, + 20790, 20831, 42,0, + 20832, 20834, 3,1, + 20835, 20876, 42,0, + 20877, 20879, 3,1, + 20880, 20920, 41,0, + 20921, 20924, 4,1, + 20925, 20964, 40,0, + 20965, 20969, 5,1, + 20970, 21005, 36,0, + 21006, 21014, 9,1, + 21015, 21046, 32,0, + 21047, 21059, 13,1, + 21060, 21092, 33,0, + 21093, 21104, 12,1, + 21105, 21138, 34,0, + 21139, 21149, 11,1, + 21150, 21183, 34,0, + 21184, 21194, 11,1, + 21195, 21227, 33,0, + 21228, 21374, 147,1, + 21375, 21401, 27,0, + 21402, 21419, 18,1, + 21420, 21447, 28,0, + 21448, 21464, 17,1, + 21465, 21492, 28,0, + 21493, 21509, 17,1, + 21510, 21515, 6,0, + 21516, 21959, 444,1, + 21960, 21965, 6,0, + 21966, 22004, 39,1, + 22005, 22018, 14,0, + 22019, 22049, 31,1, + 22050, 22063, 14,0, + 22064, 22094, 31,1, + 22095, 22108, 14,0, + 22109, 22139, 31,1, + 22140, 22175, 36,0, + 22176, 22184, 9,1, + 22185, 22222, 38,0, + 22223, 22229, 7,1, + 22230, 22267, 38,0, + 22268, 22454, 187,1, + 22455, 22471, 17,0, + 22472, 22499, 28,1, + 22500, 22538, 39,0, + 22539, 22544, 6,1, + 22545, 22586, 42,0, + 22587, 22589, 3,1, + 22590, 22631, 42,0, + 22632, 22634, 3,1, + 22635, 22674, 40,0, + 22675, 22679, 5,1, + 22680, 22716, 37,0, + 22717, 22724, 8,1, + 22725, 22760, 36,0, + 22761, 22769, 9,1, + 22770, 22807, 38,0, + 22808, 22814, 7,1, + 22815, 22854, 40,0, + 22855, 22859, 5,1, + 22860, 22899, 40,0, + 22900, 22904, 5,1, + 22905, 22943, 39,0, + 22944, 22949, 6,1, + 22950, 22987, 38,0, + 22988, 22994, 7,1, + 22995, 23028, 34,0, + 23029, 23039, 11,1, + 23040, 23072, 33,0, + 23073, 23084, 12,1, + 23085, 23120, 36,0, + 23121, 23129, 9,1, + 23130, 23166, 37,0, + 23167, 23174, 8,1, + 23175, 23213, 39,0, + 23214, 23219, 6,1, + 23220, 23258, 39,0, + 23259, 23264, 6,1, + 23265, 23301, 37,0, + 23302, 23354, 53,1, + 23355, 23382, 28,0, + 23383, 23399, 17,1, + 23400, 23425, 26,0, + 23426, 23444, 19,1, + 23445, 23452, 8,0, + 23453, 23984, 532,1, + 23985, 23990, 6,0, + 23991, 24029, 39,1, + 24030, 24042, 13,0, + 24043, 24074, 32,1, + 24075, 24088, 14,0, + 24089, 24119, 31,1, + 24120, 24133, 14,0, + 24134, 24164, 31,1, + 24165, 24200, 36,0, + 24201, 24209, 9,1, + 24210, 24247, 38,0, + 24248, 24254, 7,1, + 24255, 24292, 38,0, + 24293, 24524, 232,1, + 24525, 24563, 39,0, + 24564, 24569, 6,1, + 24570, 24611, 42,0, + 24612, 24614, 3,1, + 24615, 24656, 42,0, + 24657, 24659, 3,1, + 24660, 24700, 41,0, + 24701, 24704, 4,1, + 24705, 24742, 38,0, + 24743, 24749, 7,1, + 24750, 24785, 36,0, + 24786, 24794, 9,1, + 24795, 24832, 38,0, + 24833, 24839, 7,1, + 24840, 24877, 38,0, + 24878, 24884, 7,1, + 24885, 24922, 38,0, + 24923, 24929, 7,1, + 24930, 24969, 40,0, + 24970, 24974, 5,1, + 24975, 25015, 41,0, + 25016, 25019, 4,1, + 25020, 25058, 39,0, + 25059, 25064, 6,1, + 25065, 25102, 38,0, + 25103, 25109, 7,1, + 25110, 25144, 35,0, + 25145, 25154, 10,1, + 25155, 25194, 40,0, + 25195, 25199, 5,1, + 25200, 25240, 41,0, + 25241, 25244, 4,1, + 25245, 25285, 41,0, + 25286, 25289, 4,1, + 25290, 25330, 41,0, + 25331, 25334, 4,1, + 25335, 25370, 36,0, + 25371, 25379, 9,1, + 25380, 25408, 29,0, + 25409, 25424, 16,1, + 25425, 25455, 31,0, + 25456, 25559, 104,1, + 25560, 25564, 5,0, + 25565, 25604, 40,1, + 25605, 25610, 6,0, + 25611, 26009, 399,1, + 26010, 26014, 5,0, + 26015, 26054, 40,1, + 26055, 26065, 11,0, + 26066, 26099, 34,1, + 26100, 26113, 14,0, + 26114, 26144, 31,1, + 26145, 26160, 16,0, + 26161, 26189, 29,1, + 26190, 26224, 35,0, + 26225, 26234, 10,1, + 26235, 26272, 38,0, + 26273, 26279, 7,1, + 26280, 26317, 38,0, + 26318, 26549, 232,1, + 26550, 26588, 39,0, + 26589, 26594, 6,1, + 26595, 26636, 42,0, + 26637, 26639, 3,1, + 26640, 26681, 42,0, + 26682, 26684, 3,1, + 26685, 26725, 41,0, + 26726, 26729, 4,1, + 26730, 26768, 39,0, + 26769, 26774, 6,1, + 26775, 26810, 36,0, + 26811, 26819, 9,1, + 26820, 26858, 39,0, + 26859, 26864, 6,1, + 26865, 26902, 38,0, + 26903, 26909, 7,1, + 26910, 26951, 42,0, + 26952, 26954, 3,1, + 26955, 26996, 42,0, + 26997, 26999, 3,1, + 27000, 27041, 42,0, + 27042, 27044, 3,1, + 27045, 27086, 42,0, + 27087, 27089, 3,1, + 27090, 27129, 40,0, + 27130, 27134, 5,1, + 27135, 27174, 40,0, + 27175, 27179, 5,1, + 27180, 27219, 40,0, + 27220, 27224, 5,1, + 27225, 27266, 42,0, + 27267, 27269, 3,1, + 27270, 27310, 41,0, + 27311, 27314, 4,1, + 27315, 27355, 41,0, + 27356, 27359, 4,1, + 27360, 27400, 41,0, + 27401, 27404, 4,1, + 27405, 27445, 41,0, + 27446, 27449, 4,1, + 27450, 27484, 35,0, + 27485, 27494, 10,1, + 27495, 27525, 31,0, + 27526, 27584, 59,1, + 27585, 27591, 7,0, + 27592, 27629, 38,1, + 27630, 27635, 6,0, + 27636, 28034, 399,1, + 28035, 28039, 5,0, + 28040, 28079, 40,1, + 28080, 28088, 9,0, + 28089, 28124, 36,1, + 28125, 28137, 13,0, + 28138, 28169, 32,1, + 28170, 28183, 14,0, + 28184, 28214, 31,1, + 28215, 28249, 35,0, + 28250, 28259, 10,1, + 28260, 28297, 38,0, + 28298, 28304, 7,1, + 28305, 28342, 38,0, + 28343, 28574, 232,1, + 28575, 28613, 39,0, + 28614, 28619, 6,1, + 28620, 28660, 41,0, + 28661, 28664, 4,1, + 28665, 28705, 41,0, + 28706, 28709, 4,1, + 28710, 28750, 41,0, + 28751, 28754, 4,1, + 28755, 28793, 39,0, + 28794, 28799, 6,1, + 28800, 28838, 39,0, + 28839, 28844, 6,1, + 28845, 28885, 41,0, + 28886, 28889, 4,1, + 28890, 28930, 41,0, + 28931, 28934, 4,1, + 28935, 28977, 43,0, + 28978, 28979, 2,1, + 28980, 29021, 42,0, + 29022, 29024, 3,1, + 29025, 29066, 42,0, + 29067, 29069, 3,1, + 29070, 29110, 41,0, + 29111, 29114, 4,1, + 29115, 29154, 40,0, + 29155, 29159, 5,1, + 29160, 29199, 40,0, + 29200, 29204, 5,1, + 29205, 29243, 39,0, + 29244, 29249, 6,1, + 29250, 29286, 37,0, + 29287, 29294, 8,1, + 29295, 29334, 40,0, + 29335, 29339, 5,1, + 29340, 29380, 41,0, + 29381, 29384, 4,1, + 29385, 29426, 42,0, + 29427, 29429, 3,1, + 29430, 29470, 41,0, + 29471, 29474, 4,1, + 29475, 29513, 39,0, + 29514, 29519, 6,1, + 29520, 29556, 37,0, + 29557, 29564, 8,1, + 29565, 29586, 22,0, + 29587, 29609, 23,1, + 29610, 29640, 31,0, + 29641, 30104, 464,1, + 30105, 30118, 14,0, + 30119, 30149, 31,1, + 30150, 30163, 14,0, + 30164, 30194, 31,1, + 30195, 30208, 14,0, + 30209, 30239, 31,1, + 30240, 30274, 35,0, + 30275, 30284, 10,1, + 30285, 30323, 39,0, + 30324, 30329, 6,1, + 30330, 30368, 39,0, + 30369, 30599, 231,1, + 30600, 30637, 38,0, + 30638, 30644, 7,1, + 30645, 30685, 41,0, + 30686, 30689, 4,1, + 30690, 30730, 41,0, + 30731, 30734, 4,1, + 30735, 30774, 40,0, + 30775, 30779, 5,1, + 30780, 30818, 39,0, + 30819, 30824, 6,1, + 30825, 30865, 41,0, + 30866, 30869, 4,1, + 30870, 30911, 42,0, + 30912, 30914, 3,1, + 30915, 30957, 43,0, + 30958, 30959, 2,1, + 30960, 31001, 42,0, + 31002, 31004, 3,1, + 31005, 31046, 42,0, + 31047, 31049, 3,1, + 31050, 31091, 42,0, + 31092, 31094, 3,1, + 31095, 31135, 41,0, + 31136, 31139, 4,1, + 31140, 31178, 39,0, + 31179, 31184, 6,1, + 31185, 31221, 37,0, + 31222, 31229, 8,1, + 31230, 31266, 37,0, + 31267, 31274, 8,1, + 31275, 31313, 39,0, + 31314, 31319, 6,1, + 31320, 31358, 39,0, + 31359, 31364, 6,1, + 31365, 31404, 40,0, + 31405, 31409, 5,1, + 31410, 31448, 39,0, + 31449, 31454, 6,1, + 31455, 31493, 39,0, + 31494, 31499, 6,1, + 31500, 31538, 39,0, + 31539, 31544, 6,1, + 31545, 31581, 37,0, + 31582, 31589, 8,1, + 31590, 31624, 35,0, + 31625, 31634, 10,1, + 31635, 31668, 34,0, + 31669, 32129, 461,1, + 32130, 32142, 13,0, + 32143, 32174, 32,1, + 32175, 32190, 16,0, + 32191, 32219, 29,1, + 32220, 32233, 14,0, + 32234, 32264, 31,1, + 32265, 32299, 35,0, + 32300, 32309, 10,1, + 32310, 32348, 39,0, + 32349, 32354, 6,1, + 32355, 32393, 39,0, + 32394, 32624, 231,1, + 32625, 32661, 37,0, + 32662, 32669, 8,1, + 32670, 32709, 40,0, + 32710, 32714, 5,1, + 32715, 32755, 41,0, + 32756, 32759, 4,1, + 32760, 32798, 39,0, + 32799, 32804, 6,1, + 32805, 32843, 39,0, + 32844, 32849, 6,1, + 32850, 32890, 41,0, + 32891, 32894, 4,1, + 32895, 32935, 41,0, + 32936, 32939, 4,1, + 32940, 32981, 42,0, + 32982, 32984, 3,1, + 32985, 33025, 41,0, + 33026, 33029, 4,1, + 33030, 33070, 41,0, + 33071, 33074, 4,1, + 33075, 33116, 42,0, + 33117, 33119, 3,1, + 33120, 33157, 38,0, + 33158, 33164, 7,1, + 33165, 33201, 37,0, + 33202, 33209, 8,1, + 33210, 33246, 37,0, + 33247, 33254, 8,1, + 33255, 33291, 37,0, + 33292, 33299, 8,1, + 33300, 33336, 37,0, + 33337, 33344, 8,1, + 33345, 33383, 39,0, + 33384, 33389, 6,1, + 33390, 33428, 39,0, + 33429, 33434, 6,1, + 33435, 33473, 39,0, + 33474, 33479, 6,1, + 33480, 33518, 39,0, + 33519, 33524, 6,1, + 33525, 33562, 38,0, + 33563, 33569, 7,1, + 33570, 33605, 36,0, + 33606, 33614, 9,1, + 33615, 33650, 36,0, + 33651, 33659, 9,1, + 33660, 33693, 34,0, + 33694, 34154, 461,1, + 34155, 34164, 10,0, + 34165, 34199, 35,1, + 34200, 34212, 13,0, + 34213, 34244, 32,1, + 34245, 34260, 16,0, + 34261, 34289, 29,1, + 34290, 34324, 35,0, + 34325, 34334, 10,1, + 34335, 34372, 38,0, + 34373, 34379, 7,1, + 34380, 34417, 38,0, + 34418, 34559, 142,1, + 34560, 34561, 2,0, + 34562, 34604, 43,1, + 34605, 34617, 13,0, + 34618, 34649, 32,1, + 34650, 34685, 36,0, + 34686, 34694, 9,1, + 34695, 34733, 39,0, + 34734, 34739, 6,1, + 34740, 34778, 39,0, + 34779, 34784, 6,1, + 34785, 34823, 39,0, + 34824, 34829, 6,1, + 34830, 34866, 37,0, + 34867, 34874, 8,1, + 34875, 34912, 38,0, + 34913, 34919, 7,1, + 34920, 34958, 39,0, + 34959, 34964, 6,1, + 34965, 35003, 39,0, + 35004, 35009, 6,1, + 35010, 35049, 40,0, + 35050, 35054, 5,1, + 35055, 35094, 40,0, + 35095, 35099, 5,1, + 35100, 35138, 39,0, + 35139, 35144, 6,1, + 35145, 35182, 38,0, + 35183, 35189, 7,1, + 35190, 35227, 38,0, + 35228, 35234, 7,1, + 35235, 35271, 37,0, + 35272, 35279, 8,1, + 35280, 35321, 42,0, + 35322, 35324, 3,1, + 35325, 35361, 37,0, + 35362, 35369, 8,1, + 35370, 35406, 37,0, + 35407, 35414, 8,1, + 35415, 35451, 37,0, + 35452, 35459, 8,1, + 35460, 35499, 40,0, + 35500, 35504, 5,1, + 35505, 35543, 39,0, + 35544, 35549, 6,1, + 35550, 35587, 38,0, + 35588, 35594, 7,1, + 35595, 35630, 36,0, + 35631, 35639, 9,1, + 35640, 35672, 33,0, + 35673, 35684, 12,1, + 35685, 35696, 12,0, + 35697, 36179, 483,1, + 36180, 36187, 8,0, + 36188, 36224, 37,1, + 36225, 36237, 13,0, + 36238, 36269, 32,1, + 36270, 36286, 17,0, + 36287, 36314, 28,1, + 36315, 36348, 34,0, + 36349, 36359, 11,1, + 36360, 36397, 38,0, + 36398, 36404, 7,1, + 36405, 36442, 38,0, + 36443, 36584, 142,1, + 36585, 36586, 2,0, + 36587, 36629, 43,1, + 36630, 36649, 20,0, + 36650, 36674, 25,1, + 36675, 36709, 35,0, + 36710, 36719, 10,1, + 36720, 36757, 38,0, + 36758, 36764, 7,1, + 36765, 36802, 38,0, + 36803, 36809, 7,1, + 36810, 36846, 37,0, + 36847, 36854, 8,1, + 36855, 36885, 31,0, + 36886, 36899, 14,1, + 36900, 36936, 37,0, + 36937, 36944, 8,1, + 36945, 36982, 38,0, + 36983, 36989, 7,1, + 36990, 37028, 39,0, + 37029, 37034, 6,1, + 37035, 37074, 40,0, + 37075, 37079, 5,1, + 37080, 37119, 40,0, + 37120, 37124, 5,1, + 37125, 37161, 37,0, + 37162, 37169, 8,1, + 37170, 37209, 40,0, + 37210, 37214, 5,1, + 37215, 37255, 41,0, + 37256, 37259, 4,1, + 37260, 37302, 43,0, + 37303, 37304, 2,1, + 37305, 37346, 42,0, + 37347, 37349, 3,1, + 37350, 37390, 41,0, + 37391, 37394, 4,1, + 37395, 37433, 39,0, + 37434, 37439, 6,1, + 37440, 37476, 37,0, + 37477, 37484, 8,1, + 37485, 37522, 38,0, + 37523, 37529, 7,1, + 37530, 37568, 39,0, + 37569, 37574, 6,1, + 37575, 37612, 38,0, + 37613, 37619, 7,1, + 37620, 37654, 35,0, + 37655, 37664, 10,1, + 37665, 37672, 8,0, + 37673, 38159, 487,1, + 38160, 38161, 2,0, + 38162, 38204, 43,1, + 38205, 38206, 2,0, + 38207, 38249, 43,1, + 38250, 38261, 12,0, + 38262, 38294, 33,1, + 38295, 38311, 17,0, + 38312, 38339, 28,1, + 38340, 38373, 34,0, + 38374, 38384, 11,1, + 38385, 38422, 38,0, + 38423, 38429, 7,1, + 38430, 38467, 38,0, + 38468, 38654, 187,1, + 38655, 38675, 21,0, + 38676, 38699, 24,1, + 38700, 38734, 35,0, + 38735, 38744, 10,1, + 38745, 38781, 37,0, + 38782, 38789, 8,1, + 38790, 38823, 34,0, + 38824, 38834, 11,1, + 38835, 38868, 34,0, + 38869, 38879, 11,1, + 38880, 38913, 34,0, + 38914, 38924, 11,1, + 38925, 38959, 35,0, + 38960, 38969, 10,1, + 38970, 39005, 36,0, + 39006, 39014, 9,1, + 39015, 39051, 37,0, + 39052, 39059, 8,1, + 39060, 39096, 37,0, + 39097, 39104, 8,1, + 39105, 39143, 39,0, + 39144, 39149, 6,1, + 39150, 39188, 39,0, + 39189, 39194, 6,1, + 39195, 39234, 40,0, + 39235, 39239, 5,1, + 39240, 39280, 41,0, + 39281, 39284, 4,1, + 39285, 39326, 42,0, + 39327, 39329, 3,1, + 39330, 39371, 42,0, + 39372, 39374, 3,1, + 39375, 39416, 42,0, + 39417, 39419, 3,1, + 39420, 39460, 41,0, + 39461, 39464, 4,1, + 39465, 39503, 39,0, + 39504, 39509, 6,1, + 39510, 39544, 35,0, + 39545, 39554, 10,1, + 39555, 39586, 32,0, + 39587, 39599, 13,1, + 39600, 39626, 27,0, + 39627, 40229, 603,1, + 40230, 40231, 2,0, + 40232, 40274, 43,1, + 40275, 40281, 7,0, + 40282, 40319, 38,1, + 40320, 40335, 16,0, + 40336, 40364, 29,1, + 40365, 40399, 35,0, + 40400, 40409, 10,1, + 40410, 40447, 38,0, + 40448, 40454, 7,1, + 40455, 40492, 38,0, + 40493, 40679, 187,1, + 40680, 40695, 16,0, + 40696, 40724, 29,1, + 40725, 40759, 35,0, + 40760, 40769, 10,1, + 40770, 40805, 36,0, + 40806, 40814, 9,1, + 40815, 40853, 39,0, + 40854, 40859, 6,1, + 40860, 40898, 39,0, + 40899, 40904, 6,1, + 40905, 40941, 37,0, + 40942, 40949, 8,1, + 40950, 40984, 35,0, + 40985, 40994, 10,1, + 40995, 41028, 34,0, + 41029, 41039, 11,1, + 41040, 41074, 35,0, + 41075, 41084, 10,1, + 41085, 41121, 37,0, + 41122, 41129, 8,1, + 41130, 41168, 39,0, + 41169, 41174, 6,1, + 41175, 41213, 39,0, + 41214, 41219, 6,1, + 41220, 41261, 42,0, + 41262, 41264, 3,1, + 41265, 41307, 43,0, + 41308, 41309, 2,1, + 41310, 41350, 41,0, + 41351, 41354, 4,1, + 41355, 41395, 41,0, + 41396, 41399, 4,1, + 41400, 41441, 42,0, + 41442, 41444, 3,1, + 41445, 41485, 41,0, + 41486, 41489, 4,1, + 41490, 41528, 39,0, + 41529, 41534, 6,1, + 41535, 41572, 38,0, + 41573, 41579, 7,1, + 41580, 41614, 35,0, + 41615, 41624, 10,1, + 41625, 41659, 35,0, + 41660, 41669, 10,1, + 41670, 41690, 21,0, + 41691, 42254, 564,1, + 42255, 42256, 2,0, + 42257, 42299, 43,1, + 42300, 42305, 6,0, + 42306, 42344, 39,1, + 42345, 42354, 10,0, + 42355, 42389, 35,1, + 42390, 42424, 35,0, + 42425, 42434, 10,1, + 42435, 42472, 38,0, + 42473, 42479, 7,1, + 42480, 42517, 38,0, + 42518, 42749, 232,1, + 42750, 42784, 35,0, + 42785, 42794, 10,1, + 42795, 42831, 37,0, + 42832, 42839, 8,1, + 42840, 42878, 39,0, + 42879, 42884, 6,1, + 42885, 42923, 39,0, + 42924, 42929, 6,1, + 42930, 42967, 38,0, + 42968, 42974, 7,1, + 42975, 43010, 36,0, + 43011, 43019, 9,1, + 43020, 43053, 34,0, + 43054, 43064, 11,1, + 43065, 43100, 36,0, + 43101, 43109, 9,1, + 43110, 43145, 36,0, + 43146, 43154, 9,1, + 43155, 43193, 39,0, + 43194, 43199, 6,1, + 43200, 43239, 40,0, + 43240, 43244, 5,1, + 43245, 43285, 41,0, + 43286, 43289, 4,1, + 43290, 43332, 43,0, + 43333, 43334, 2,1, + 43335, 43377, 43,0, + 43378, 43379, 2,1, + 43380, 43422, 43,0, + 43423, 43424, 2,1, + 43425, 43465, 41,0, + 43466, 43469, 4,1, + 43470, 43510, 41,0, + 43511, 43514, 4,1, + 43515, 43553, 39,0, + 43554, 43559, 6,1, + 43560, 43596, 37,0, + 43597, 43604, 8,1, + 43605, 43640, 36,0, + 43641, 43649, 9,1, + 43650, 43683, 34,0, + 43684, 43694, 11,1, + 43695, 43727, 33,0, + 43728, 44279, 552,1, + 44280, 44281, 2,0, + 44282, 44324, 43,1, + 44325, 44328, 4,0, + 44329, 44369, 41,1, + 44370, 44384, 15,0, + 44385, 44414, 30,1, + 44415, 44449, 35,0, + 44450, 44459, 10,1, + 44460, 44497, 38,0, + 44498, 44504, 7,1, + 44505, 44542, 38,0, + 44543, 44774, 232,1, + 44775, 44809, 35,0, + 44810, 44819, 10,1, + 44820, 44857, 38,0, + 44858, 44864, 7,1, + 44865, 44903, 39,0, + 44904, 44909, 6,1, + 44910, 44948, 39,0, + 44949, 44954, 6,1, + 44955, 44992, 38,0, + 44993, 44999, 7,1, + 45000, 45035, 36,0, + 45036, 45044, 9,1, + 45045, 45079, 35,0, + 45080, 45089, 10,1, + 45090, 45125, 36,0, + 45126, 45134, 9,1, + 45135, 45171, 37,0, + 45172, 45179, 8,1, + 45180, 45217, 38,0, + 45218, 45224, 7,1, + 45225, 45265, 41,0, + 45266, 45269, 4,1, + 45270, 45310, 41,0, + 45311, 45314, 4,1, + 45315, 45356, 42,0, + 45357, 45359, 3,1, + 45360, 45402, 43,0, + 45403, 45404, 2,1, + 45405, 45447, 43,0, + 45448, 45449, 2,1, + 45450, 45492, 43,0, + 45493, 45494, 2,1, + 45495, 45534, 40,0, + 45535, 45539, 5,1, + 45540, 45578, 39,0, + 45579, 45584, 6,1, + 45585, 45621, 37,0, + 45622, 45629, 8,1, + 45630, 45665, 36,0, + 45666, 45674, 9,1, + 45675, 45708, 34,0, + 45709, 45719, 11,1, + 45720, 45751, 32,0, + 45752, 45764, 13,1, + 45765, 45789, 25,0, + 45790, 46349, 560,1, + 46350, 46353, 4,0, + 46354, 46394, 41,1, + 46395, 46409, 15,0, + 46410, 46439, 30,1, + 46440, 46474, 35,0, + 46475, 46484, 10,1, + 46485, 46522, 38,0, + 46523, 46529, 7,1, + 46530, 46567, 38,0, + 46568, 46799, 232,1, + 46800, 46834, 35,0, + 46835, 46844, 10,1, + 46845, 46882, 38,0, + 46883, 46889, 7,1, + 46890, 46928, 39,0, + 46929, 46934, 6,1, + 46935, 46973, 39,0, + 46974, 46979, 6,1, + 46980, 47016, 37,0, + 47017, 47024, 8,1, + 47025, 47059, 35,0, + 47060, 47069, 10,1, + 47070, 47104, 35,0, + 47105, 47114, 10,1, + 47115, 47151, 37,0, + 47152, 47159, 8,1, + 47160, 47198, 39,0, + 47199, 47204, 6,1, + 47205, 47244, 40,0, + 47245, 47249, 5,1, + 47250, 47291, 42,0, + 47292, 47294, 3,1, + 47295, 47336, 42,0, + 47337, 47339, 3,1, + 47340, 47382, 43,0, + 47383, 47384, 2,1, + 47385, 47428, 44,0, + 47429, 47429, 1,1, + 47430, 47473, 44,0, + 47474, 47474, 1,1, + 47475, 47516, 42,0, + 47517, 47519, 3,1, + 47520, 47559, 40,0, + 47560, 47564, 5,1, + 47565, 47604, 40,0, + 47605, 47609, 5,1, + 47610, 47648, 39,0, + 47649, 47654, 6,1, + 47655, 47689, 35,0, + 47690, 47699, 10,1, + 47700, 47733, 34,0, + 47734, 47744, 11,1, + 47745, 47775, 31,0, + 47776, 47789, 14,1, + 47790, 47812, 23,0, + 47813, 48374, 562,1, + 48375, 48376, 2,0, + 48377, 48419, 43,1, + 48420, 48431, 12,0, + 48432, 48464, 33,1, + 48465, 48500, 36,0, + 48501, 48509, 9,1, + 48510, 48547, 38,0, + 48548, 48554, 7,1, + 48555, 48592, 38,0, + 48593, 48824, 232,1, + 48825, 48857, 33,0, + 48858, 48869, 12,1, + 48870, 48907, 38,0, + 48908, 48914, 7,1, + 48915, 48953, 39,0, + 48954, 48959, 6,1, + 48960, 48997, 38,0, + 48998, 49004, 7,1, + 49005, 49040, 36,0, + 49041, 49049, 9,1, + 49050, 49083, 34,0, + 49084, 49094, 11,1, + 49095, 49131, 37,0, + 49132, 49139, 8,1, + 49140, 49178, 39,0, + 49179, 49184, 6,1, + 49185, 49223, 39,0, + 49224, 49229, 6,1, + 49230, 49268, 39,0, + 49269, 49274, 6,1, + 49275, 49317, 43,0, + 49318, 49319, 2,1, + 49320, 49408, 89,0, + 49409, 49409, 1,1, + 49410, 49497, 88,0, + 49498, 49499, 2,1, + 49500, 49541, 42,0, + 49542, 49544, 3,1, + 49545, 49586, 42,0, + 49587, 49589, 3,1, + 49590, 49631, 42,0, + 49632, 49634, 3,1, + 49635, 49667, 33,0, + 49668, 49679, 12,1, + 49680, 49713, 34,0, + 49714, 49724, 11,1, + 49725, 49755, 31,0, + 49756, 49769, 14,1, + 49770, 49789, 20,0, + 49790, 50444, 655,1, + 50445, 50452, 8,0, + 50453, 50489, 37,1, + 50490, 50524, 35,0, + 50525, 50534, 10,1, + 50535, 50572, 38,0, + 50573, 50579, 7,1, + 50580, 50617, 38,0, + 50618, 50849, 232,1, + 50850, 50878, 29,0, + 50879, 50894, 16,1, + 50895, 50933, 39,0, + 50934, 50939, 6,1, + 50940, 50978, 39,0, + 50979, 50984, 6,1, + 50985, 51021, 37,0, + 51022, 51029, 8,1, + 51030, 51064, 35,0, + 51065, 51074, 10,1, + 51075, 51110, 36,0, + 51111, 51119, 9,1, + 51120, 51157, 38,0, + 51158, 51164, 7,1, + 51165, 51203, 39,0, + 51204, 51209, 6,1, + 51210, 51293, 84,0, + 51294, 51299, 6,1, + 51300, 51343, 44,0, + 51344, 51344, 1,1, + 51345, 51522, 178,0, + 51523, 51524, 2,1, + 51525, 51612, 88,0, + 51613, 51614, 2,1, + 51615, 51631, 17,0, + 51632, 51659, 28,1, + 51660, 51671, 12,0, + 51672, 51704, 33,1, + 51705, 51711, 7,0, + 51712, 51749, 38,1, + 51750, 51755, 6,0, + 51756, 52424, 669,1, + 52425, 52426, 2,0, + 52427, 52469, 43,1, + 52470, 52481, 12,0, + 52482, 52514, 33,1, + 52515, 52549, 35,0, + 52550, 52559, 10,1, + 52560, 52597, 38,0, + 52598, 52604, 7,1, + 52605, 52642, 38,0, + 52643, 52874, 232,1, + 52875, 52909, 35,0, + 52910, 52919, 10,1, + 52920, 52958, 39,0, + 52959, 52964, 6,1, + 52965, 53003, 39,0, + 53004, 53009, 6,1, + 53010, 53046, 37,0, + 53047, 53054, 8,1, + 53055, 53089, 35,0, + 53090, 53099, 10,1, + 53100, 53135, 36,0, + 53136, 53144, 9,1, + 53145, 53183, 39,0, + 53184, 53189, 6,1, + 53190, 53233, 44,0, + 53234, 53234, 1,1, + 53235, 53321, 87,0, + 53322, 53324, 3,1, + 53325, 53367, 43,0, + 53368, 53369, 2,1, + 53370, 53609, 240,0, + 53610, 53639, 30,1, + 53640, 53646, 7,0, + 53647, 53684, 38,1, + 53685, 53691, 7,0, + 53692, 53729, 38,1, + 53730, 53736, 7,0, + 53737, 53774, 38,1, + 53775, 53778, 4,0, + 53779, 53819, 41,1, + 53820, 53822, 3,0, + 53823, 54449, 627,1, + 54450, 54451, 2,0, + 54452, 54494, 43,1, + 54495, 54520, 26,0, + 54521, 54539, 19,1, + 54540, 54574, 35,0, + 54575, 54584, 10,1, + 54585, 54622, 38,0, + 54623, 54629, 7,1, + 54630, 54667, 38,0, + 54668, 54899, 232,1, + 54900, 54933, 34,0, + 54934, 54944, 11,1, + 54945, 54982, 38,0, + 54983, 54989, 7,1, + 54990, 55028, 39,0, + 55029, 55034, 6,1, + 55035, 55072, 38,0, + 55073, 55079, 7,1, + 55080, 55114, 35,0, + 55115, 55124, 10,1, + 55125, 55161, 37,0, + 55162, 55169, 8,1, + 55170, 55208, 39,0, + 55209, 55214, 6,1, + 55215, 55257, 43,0, + 55258, 55259, 2,1, + 55260, 55302, 43,0, + 55303, 55304, 2,1, + 55305, 55348, 44,0, + 55349, 55349, 1,1, + 55350, 55393, 44,0, + 55394, 55394, 1,1, + 55395, 55437, 43,0, + 55438, 55439, 2,1, + 55440, 55607, 168,0, + 55608, 55619, 12,1, + 55620, 55625, 6,0, + 55626, 55664, 39,1, + 55665, 55672, 8,0, + 55673, 55709, 37,1, + 55710, 55736, 27,0, + 55737, 55754, 18,1, + 55755, 55783, 29,0, + 55784, 55799, 16,1, + 55800, 55827, 28,0, + 55828, 55844, 17,1, + 55845, 55868, 24,0, + 55869, 55889, 21,1, + 55890, 55895, 6,0, + 55896, 56474, 579,1, + 56475, 56476, 2,0, + 56477, 56519, 43,1, + 56520, 56549, 30,0, + 56550, 56564, 15,1, + 56565, 56599, 35,0, + 56600, 56609, 10,1, + 56610, 56647, 38,0, + 56648, 56654, 7,1, + 56655, 56692, 38,0, + 56693, 56924, 232,1, + 56925, 56958, 34,0, + 56959, 56969, 11,1, + 56970, 57008, 39,0, + 57009, 57014, 6,1, + 57015, 57053, 39,0, + 57054, 57059, 6,1, + 57060, 57098, 39,0, + 57099, 57104, 6,1, + 57105, 57140, 36,0, + 57141, 57149, 9,1, + 57150, 57187, 38,0, + 57188, 57194, 7,1, + 57195, 57233, 39,0, + 57234, 57239, 6,1, + 57240, 57281, 42,0, + 57282, 57284, 3,1, + 57285, 57326, 42,0, + 57327, 57329, 3,1, + 57330, 57373, 44,0, + 57374, 57374, 1,1, + 57375, 57418, 44,0, + 57419, 57419, 1,1, + 57420, 57460, 41,0, + 57461, 57464, 4,1, + 57465, 57507, 43,0, + 57508, 57509, 2,1, + 57510, 57552, 43,0, + 57553, 57554, 2,1, + 57555, 57605, 51,0, + 57606, 57644, 39,1, + 57645, 57649, 5,0, + 57650, 57689, 40,1, + 57690, 57696, 7,0, + 57697, 57734, 38,1, + 57735, 57766, 32,0, + 57767, 57779, 13,1, + 57780, 57813, 34,0, + 57814, 57824, 11,1, + 57825, 57858, 34,0, + 57859, 57869, 11,1, + 57870, 57903, 34,0, + 57904, 57914, 11,1, + 57915, 57927, 13,0, + 57928, 58499, 572,1, + 58500, 58501, 2,0, + 58502, 58544, 43,1, + 58545, 58577, 33,0, + 58578, 58589, 12,1, + 58590, 58625, 36,0, + 58626, 58634, 9,1, + 58635, 58672, 38,0, + 58673, 58679, 7,1, + 58680, 58717, 38,0, + 58718, 58949, 232,1, + 58950, 58982, 33,0, + 58983, 58994, 12,1, + 58995, 59033, 39,0, + 59034, 59039, 6,1, + 59040, 59078, 39,0, + 59079, 59084, 6,1, + 59085, 59123, 39,0, + 59124, 59129, 6,1, + 59130, 59165, 36,0, + 59166, 59174, 9,1, + 59175, 59212, 38,0, + 59213, 59219, 7,1, + 59220, 59259, 40,0, + 59260, 59264, 5,1, + 59265, 59306, 42,0, + 59307, 59309, 3,1, + 59310, 59351, 42,0, + 59352, 59354, 3,1, + 59355, 59393, 39,0, + 59394, 59399, 6,1, + 59400, 59402, 3,0, + 59403, 59444, 42,1, + 59445, 59469, 25,0, + 59470, 59489, 20,1, + 59490, 59533, 44,0, + 59534, 59534, 1,1, + 59535, 59578, 44,0, + 59579, 59579, 1,1, + 59580, 59650, 71,0, + 59651, 59669, 19,1, + 59670, 59692, 23,0, + 59693, 59714, 22,1, + 59715, 59733, 19,0, + 59734, 59759, 26,1, + 59760, 59791, 32,0, + 59792, 59804, 13,1, + 59805, 59838, 34,0, + 59839, 59849, 11,1, + 59850, 59883, 34,0, + 59884, 59894, 11,1, + 59895, 59928, 34,0, + 59929, 59939, 11,1, + 59940, 59971, 32,0, + 59972, 59984, 13,1, + 59985, 59986, 2,0, + 59987, 60524, 538,1, + 60525, 60530, 6,0, + 60531, 60569, 39,1, + 60570, 60603, 34,0, + 60604, 60614, 11,1, + 60615, 60650, 36,0, + 60651, 60659, 9,1, + 60660, 60697, 38,0, + 60698, 60704, 7,1, + 60705, 60742, 38,0, + 60743, 60974, 232,1, + 60975, 61010, 36,0, + 61011, 61019, 9,1, + 61020, 61058, 39,0, + 61059, 61064, 6,1, + 61065, 61104, 40,0, + 61105, 61109, 5,1, + 61110, 61148, 39,0, + 61149, 61154, 6,1, + 61155, 61193, 39,0, + 61194, 61199, 6,1, + 61200, 61238, 39,0, + 61239, 61244, 6,1, + 61245, 61285, 41,0, + 61286, 61289, 4,1, + 61290, 61333, 44,0, + 61334, 61334, 1,1, + 61335, 61376, 42,0, + 61377, 61469, 93,1, + 61470, 61473, 4,0, + 61474, 61514, 41,1, + 61515, 61558, 44,0, + 61559, 61559, 1,1, + 61560, 61603, 44,0, + 61604, 61604, 1,1, + 61605, 61647, 43,0, + 61648, 61649, 2,1, + 61650, 61686, 37,0, + 61687, 61694, 8,1, + 61695, 61723, 29,0, + 61724, 61739, 16,1, + 61740, 61781, 42,0, + 61782, 61784, 3,1, + 61785, 61824, 40,0, + 61825, 61829, 5,1, + 61830, 61869, 40,0, + 61870, 61874, 5,1, + 61875, 61908, 34,0, + 61909, 61919, 11,1, + 61920, 61953, 34,0, + 61954, 61964, 11,1, + 61965, 62003, 39,0, + 62004, 62009, 6,1, + 62010, 62041, 32,0, + 62042, 62054, 13,1, + 62055, 62059, 5,0, + 62060, 62099, 40,1, + 62100, 62104, 5,0, + 62105, 62144, 40,1, + 62145, 62150, 6,0, + 62151, 62189, 39,1, + 62190, 62192, 3,0, + 62193, 62549, 357,1, + 62550, 62556, 7,0, + 62557, 62594, 38,1, + 62595, 62628, 34,0, + 62629, 62639, 11,1, + 62640, 62676, 37,0, + 62677, 62684, 8,1, + 62685, 62721, 37,0, + 62722, 62729, 8,1, + 62730, 62767, 38,0, + 62768, 62999, 232,1, + 63000, 63035, 36,0, + 63036, 63044, 9,1, + 63045, 63083, 39,0, + 63084, 63089, 6,1, + 63090, 63129, 40,0, + 63130, 63134, 5,1, + 63135, 63174, 40,0, + 63175, 63179, 5,1, + 63180, 63219, 40,0, + 63220, 63224, 5,1, + 63225, 63264, 40,0, + 63265, 63269, 5,1, + 63270, 63312, 43,0, + 63313, 63314, 2,1, + 63315, 63358, 44,0, + 63359, 63359, 1,1, + 63360, 63402, 43,0, + 63403, 63539, 137,1, + 63540, 63545, 6,0, + 63546, 63584, 39,1, + 63585, 63615, 31,0, + 63616, 63629, 14,1, + 63630, 63668, 39,0, + 63669, 63674, 6,1, + 63675, 63713, 39,0, + 63714, 63719, 6,1, + 63720, 63758, 39,0, + 63759, 63764, 6,1, + 63765, 63806, 42,0, + 63807, 63809, 3,1, + 63810, 63851, 42,0, + 63852, 63854, 3,1, + 63855, 63988, 134,0, + 63989, 63989, 1,1, + 63990, 64068, 79,0, + 64069, 64079, 11,1, + 64080, 64088, 9,0, + 64089, 64124, 36,1, + 64125, 64132, 8,0, + 64133, 64169, 37,1, + 64170, 64176, 7,0, + 64177, 64574, 398,1, + 64575, 64581, 7,0, + 64582, 64619, 38,1, + 64620, 64654, 35,0, + 64655, 64664, 10,1, + 64665, 64701, 37,0, + 64702, 64709, 8,1, + 64710, 64746, 37,0, + 64747, 64754, 8,1, + 64755, 64792, 38,0, + 64793, 65024, 232,1, + 65025, 65060, 36,0, + 65061, 65069, 9,1, + 65070, 65109, 40,0, + 65110, 65114, 5,1, + 65115, 65154, 40,0, + 65155, 65159, 5,1, + 65160, 65199, 40,0, + 65200, 65204, 5,1, + 65205, 65244, 40,0, + 65245, 65249, 5,1, + 65250, 65292, 43,0, + 65293, 65294, 2,1, + 65295, 65337, 43,0, + 65338, 65339, 2,1, + 65340, 65382, 43,0, + 65383, 65384, 2,1, + 65385, 65427, 43,0, + 65428, 65429, 2,1, + 65430, 65435, 6,0, + 65436, 65609, 174,1, + 65610, 65617, 8,0, + 65618, 65654, 37,1, + 65655, 65687, 33,0, + 65688, 65699, 12,1, + 65700, 65738, 39,0, + 65739, 65744, 6,1, + 65745, 65783, 39,0, + 65784, 65789, 6,1, + 65790, 65833, 44,0, + 65834, 65834, 1,1, + 65835, 66129, 295,0, + 66130, 66149, 20,1, + 66150, 66167, 18,0, + 66168, 66194, 27,1, + 66195, 66213, 19,0, + 66214, 66239, 26,1, + 66240, 66257, 18,0, + 66258, 66554, 297,1, + 66555, 66556, 2,0, + 66557, 66599, 43,1, + 66600, 66605, 6,0, + 66606, 66644, 39,1, + 66645, 66679, 35,0, + 66680, 66689, 10,1, + 66690, 66726, 37,0, + 66727, 66734, 8,1, + 66735, 66771, 37,0, + 66772, 66779, 8,1, + 66780, 66817, 38,0, + 66818, 67049, 232,1, + 67050, 67083, 34,0, + 67084, 67094, 11,1, + 67095, 67134, 40,0, + 67135, 67139, 5,1, + 67140, 67179, 40,0, + 67180, 67184, 5,1, + 67185, 67223, 39,0, + 67224, 67229, 6,1, + 67230, 67266, 37,0, + 67267, 67274, 8,1, + 67275, 67315, 41,0, + 67316, 67319, 4,1, + 67320, 67362, 43,0, + 67363, 67364, 2,1, + 67365, 67407, 43,0, + 67408, 67409, 2,1, + 67410, 67452, 43,0, + 67453, 67454, 2,1, + 67455, 67460, 6,0, + 67461, 67634, 174,1, + 67635, 67639, 5,0, + 67640, 67679, 40,1, + 67680, 67705, 26,0, + 67706, 67724, 19,1, + 67725, 67762, 38,0, + 67763, 67769, 7,1, + 67770, 67806, 37,0, + 67807, 67814, 8,1, + 67815, 67854, 40,0, + 67855, 67859, 5,1, + 67860, 67902, 43,0, + 67903, 67904, 2,1, + 67905, 67993, 89,0, + 67994, 67994, 1,1, + 67995, 68127, 133,0, + 68128, 68129, 2,1, + 68130, 68171, 42,0, + 68172, 68174, 3,1, + 68175, 68209, 35,0, + 68210, 68219, 10,1, + 68220, 68237, 18,0, + 68238, 68264, 27,1, + 68265, 68283, 19,0, + 68284, 68579, 296,1, + 68580, 68581, 2,0, + 68582, 68624, 43,1, + 68625, 68629, 5,0, + 68630, 68669, 40,1, + 68670, 68704, 35,0, + 68705, 68714, 10,1, + 68715, 68751, 37,0, + 68752, 68759, 8,1, + 68760, 68796, 37,0, + 68797, 68804, 8,1, + 68805, 68842, 38,0, + 68843, 69074, 232,1, + 69075, 69109, 35,0, + 69110, 69119, 10,1, + 69120, 69158, 39,0, + 69159, 69164, 6,1, + 69165, 69204, 40,0, + 69205, 69209, 5,1, + 69210, 69247, 38,0, + 69248, 69254, 7,1, + 69255, 69291, 37,0, + 69292, 69299, 8,1, + 69300, 69339, 40,0, + 69340, 69344, 5,1, + 69345, 69387, 43,0, + 69388, 69389, 2,1, + 69390, 69432, 43,0, + 69433, 69434, 2,1, + 69435, 69469, 35,0, + 69470, 69479, 10,1, + 69480, 69482, 3,0, + 69483, 69614, 132,1, + 69615, 69617, 3,0, + 69618, 69659, 42,1, + 69660, 69665, 6,0, + 69666, 69704, 39,1, + 69705, 69714, 10,0, + 69715, 69749, 35,1, + 69750, 69781, 32,0, + 69782, 69794, 13,1, + 69795, 69834, 40,0, + 69835, 69839, 5,1, + 69840, 69880, 41,0, + 69881, 69884, 4,1, + 69885, 70016, 132,0, + 70017, 70019, 3,1, + 70020, 70063, 44,0, + 70064, 70064, 1,1, + 70065, 70108, 44,0, + 70109, 70109, 1,1, + 70110, 70152, 43,0, + 70153, 70154, 2,1, + 70155, 70195, 41,0, + 70196, 70199, 4,1, + 70200, 70239, 40,0, + 70240, 70244, 5,1, + 70245, 70263, 19,0, + 70264, 70289, 26,1, + 70290, 70308, 19,0, + 70309, 70334, 26,1, + 70335, 70352, 18,0, + 70353, 70424, 72,1, + 70425, 70431, 7,0, + 70432, 70469, 38,1, + 70470, 70476, 7,0, + 70477, 70604, 128,1, + 70605, 70606, 2,0, + 70607, 70649, 43,1, + 70650, 70653, 4,0, + 70654, 70694, 41,1, + 70695, 70728, 34,0, + 70729, 70739, 11,1, + 70740, 70776, 37,0, + 70777, 70784, 8,1, + 70785, 70821, 37,0, + 70822, 70829, 8,1, + 70830, 70867, 38,0, + 70868, 71099, 232,1, + 71100, 71134, 35,0, + 71135, 71144, 10,1, + 71145, 71183, 39,0, + 71184, 71189, 6,1, + 71190, 71228, 39,0, + 71229, 71234, 6,1, + 71235, 71271, 37,0, + 71272, 71279, 8,1, + 71280, 71317, 38,0, + 71318, 71324, 7,1, + 71325, 71364, 40,0, + 71365, 71369, 5,1, + 71370, 71411, 42,0, + 71412, 71414, 3,1, + 71415, 71457, 43,0, + 71458, 71459, 2,1, + 71460, 71464, 5,0, + 71465, 71639, 175,1, + 71640, 71645, 6,0, + 71646, 71684, 39,1, + 71685, 71690, 6,0, + 71691, 71729, 39,1, + 71730, 71735, 6,0, + 71736, 71774, 39,1, + 71775, 71779, 5,0, + 71780, 71819, 40,1, + 71820, 71857, 38,0, + 71858, 71864, 7,1, + 71865, 71902, 38,0, + 71903, 71909, 7,1, + 71910, 71948, 39,0, + 71949, 71954, 6,1, + 71955, 72040, 86,0, + 72041, 72044, 4,1, + 72045, 72086, 42,0, + 72087, 72089, 3,1, + 72090, 72131, 42,0, + 72132, 72134, 3,1, + 72135, 72176, 42,0, + 72177, 72179, 3,1, + 72180, 72301, 122,0, + 72302, 72314, 13,1, + 72315, 72337, 23,0, + 72338, 72359, 22,1, + 72360, 72378, 19,0, + 72379, 72404, 26,1, + 72405, 72422, 18,0, + 72423, 72449, 27,1, + 72450, 72464, 15,0, + 72465, 72494, 30,1, + 72495, 72508, 14,0, + 72509, 72629, 121,1, + 72630, 72631, 2,0, + 72632, 72674, 43,1, + 72675, 72677, 3,0, + 72678, 72719, 42,1, + 72720, 72751, 32,0, + 72752, 72764, 13,1, + 72765, 72798, 34,0, + 72799, 72809, 11,1, + 72810, 72843, 34,0, + 72844, 72854, 11,1, + 72855, 72892, 38,0, + 72893, 73124, 232,1, + 73125, 73160, 36,0, + 73161, 73169, 9,1, + 73170, 73207, 38,0, + 73208, 73214, 7,1, + 73215, 73252, 38,0, + 73253, 73259, 7,1, + 73260, 73296, 37,0, + 73297, 73304, 8,1, + 73305, 73342, 38,0, + 73343, 73349, 7,1, + 73350, 73389, 40,0, + 73390, 73394, 5,1, + 73395, 73434, 40,0, + 73435, 73439, 5,1, + 73440, 73474, 35,0, + 73475, 73664, 190,1, + 73665, 73690, 26,0, + 73691, 73709, 19,1, + 73710, 73743, 34,0, + 73744, 73754, 11,1, + 73755, 73786, 32,0, + 73787, 73799, 13,1, + 73800, 73829, 30,0, + 73830, 73844, 15,1, + 73845, 73882, 38,0, + 73883, 73889, 7,1, + 73890, 73928, 39,0, + 73929, 73934, 6,1, + 73935, 73972, 38,0, + 73973, 73979, 7,1, + 73980, 74109, 130,0, + 74110, 74114, 5,1, + 74115, 74418, 304,0, + 74419, 74429, 11,1, + 74430, 74457, 28,0, + 74458, 74474, 17,1, + 74475, 74501, 27,0, + 74502, 74519, 18,1, + 74520, 74535, 16,0, + 74536, 74654, 119,1, + 74655, 74656, 2,0, + 74657, 74699, 43,1, + 74700, 74701, 2,0, + 74702, 74744, 43,1, + 74745, 74771, 27,0, + 74772, 74789, 18,1, + 74790, 74819, 30,0, + 74820, 74834, 15,1, + 74835, 74867, 33,0, + 74868, 74879, 12,1, + 74880, 74917, 38,0, + 74918, 75104, 187,1, + 75105, 75121, 17,0, + 75122, 75149, 28,1, + 75150, 75185, 36,0, + 75186, 75194, 9,1, + 75195, 75231, 37,0, + 75232, 75239, 8,1, + 75240, 75276, 37,0, + 75277, 75284, 8,1, + 75285, 75322, 38,0, + 75323, 75329, 7,1, + 75330, 75367, 38,0, + 75368, 75374, 7,1, + 75375, 75412, 38,0, + 75413, 75419, 7,1, + 75420, 75458, 39,0, + 75459, 75464, 6,1, + 75465, 75502, 38,0, + 75503, 75509, 7,1, + 75510, 75513, 4,0, + 75514, 75644, 131,1, + 75645, 75650, 6,0, + 75651, 75689, 39,1, + 75690, 75717, 28,0, + 75718, 75734, 17,1, + 75735, 75773, 39,0, + 75774, 75779, 6,1, + 75780, 75816, 37,0, + 75817, 75824, 8,1, + 75825, 75864, 40,0, + 75865, 75869, 5,1, + 75870, 75912, 43,0, + 75913, 75914, 2,1, + 75915, 75957, 43,0, + 75958, 75959, 2,1, + 75960, 76000, 41,0, + 76001, 76004, 4,1, + 76005, 76487, 483,0, + 76488, 76499, 12,1, + 76500, 76526, 27,0, + 76527, 76544, 18,1, + 76545, 76559, 15,0, + 76560, 76679, 120,1, + 76680, 76681, 2,0, + 76682, 76724, 43,1, + 76725, 76726, 2,0, + 76727, 76769, 43,1, + 76770, 76792, 23,0, + 76793, 76814, 22,1, + 76815, 76845, 31,0, + 76846, 76859, 14,1, + 76860, 76893, 34,0, + 76894, 76904, 11,1, + 76905, 76942, 38,0, + 76943, 77129, 187,1, + 77130, 77148, 19,0, + 77149, 77174, 26,1, + 77175, 77209, 35,0, + 77210, 77219, 10,1, + 77220, 77255, 36,0, + 77256, 77264, 9,1, + 77265, 77300, 36,0, + 77301, 77309, 9,1, + 77310, 77348, 39,0, + 77349, 77354, 6,1, + 77355, 77393, 39,0, + 77394, 77399, 6,1, + 77400, 77438, 39,0, + 77439, 77444, 6,1, + 77445, 77483, 39,0, + 77484, 77489, 6,1, + 77490, 77529, 40,0, + 77530, 77534, 5,1, + 77535, 77573, 39,0, + 77574, 77579, 6,1, + 77580, 77618, 39,0, + 77619, 77624, 6,1, + 77625, 77660, 36,0, + 77661, 77669, 9,1, + 77670, 77700, 31,0, + 77701, 77714, 14,1, + 77715, 77750, 36,0, + 77751, 77759, 9,1, + 77760, 77798, 39,0, + 77799, 77804, 6,1, + 77805, 77845, 41,0, + 77846, 77849, 4,1, + 77850, 77890, 41,0, + 77891, 77894, 4,1, + 77895, 77937, 43,0, + 77938, 77939, 2,1, + 77940, 77981, 42,0, + 77982, 77984, 3,1, + 77985, 78025, 41,0, + 78026, 78029, 4,1, + 78030, 78208, 179,0, + 78209, 78209, 1,1, + 78210, 78388, 179,0, + 78389, 78389, 1,1, + 78390, 78513, 124,0, + 78514, 78524, 11,1, + 78525, 78548, 24,0, + 78549, 78569, 21,1, + 78570, 78588, 19,0, + 78589, 78704, 116,1, + 78705, 78706, 2,0, + 78707, 78749, 43,1, + 78750, 78753, 4,0, + 78754, 78794, 41,1, + 78795, 78816, 22,0, + 78817, 78839, 23,1, + 78840, 78871, 32,0, + 78872, 78884, 13,1, + 78885, 78920, 36,0, + 78921, 78929, 9,1, + 78930, 78967, 38,0, + 78968, 79154, 187,1, + 79155, 79176, 22,0, + 79177, 79199, 23,1, + 79200, 79234, 35,0, + 79235, 79244, 10,1, + 79245, 79280, 36,0, + 79281, 79289, 9,1, + 79290, 79331, 42,0, + 79332, 79334, 3,1, + 79335, 79373, 39,0, + 79374, 79379, 6,1, + 79380, 79418, 39,0, + 79419, 79424, 6,1, + 79425, 79465, 41,0, + 79466, 79469, 4,1, + 79470, 79509, 40,0, + 79510, 79514, 5,1, + 79515, 79555, 41,0, + 79556, 79559, 4,1, + 79560, 79599, 40,0, + 79600, 79604, 5,1, + 79605, 79644, 40,0, + 79645, 79649, 5,1, + 79650, 79689, 40,0, + 79690, 79694, 5,1, + 79695, 79731, 37,0, + 79732, 79739, 8,1, + 79740, 79776, 37,0, + 79777, 79784, 8,1, + 79785, 79823, 39,0, + 79824, 79829, 6,1, + 79830, 79868, 39,0, + 79869, 79874, 6,1, + 79875, 79914, 40,0, + 79915, 79919, 5,1, + 79920, 79955, 36,0, + 79956, 79964, 9,1, + 79965, 79999, 35,0, + 80000, 80009, 10,1, + 80010, 80049, 40,0, + 80050, 80054, 5,1, + 80055, 80098, 44,0, + 80099, 80099, 1,1, + 80100, 80233, 134,0, + 80234, 80234, 1,1, + 80235, 80368, 134,0, + 80369, 80369, 1,1, + 80370, 80412, 43,0, + 80413, 80414, 2,1, + 80415, 80458, 44,0, + 80459, 80459, 1,1, + 80460, 80567, 108,0, + 80568, 80594, 27,1, + 80595, 80612, 18,0, + 80613, 80639, 27,1, + 80640, 80651, 12,0, + 80652, 80729, 78,1, + 80730, 80732, 3,0, + 80733, 80774, 42,1, + 80775, 80778, 4,0, + 80779, 80819, 41,1, + 80820, 80848, 29,0, + 80849, 80864, 16,1, + 80865, 80896, 32,0, + 80897, 80909, 13,1, + 80910, 80946, 37,0, + 80947, 80954, 8,1, + 80955, 80992, 38,0, + 80993, 80999, 7,1, + 81000, 81019, 20,0, + 81020, 81044, 25,1, + 81045, 81064, 20,0, + 81065, 81089, 25,1, + 81090, 81109, 20,0, + 81110, 81134, 25,1, + 81135, 81154, 20,0, + 81155, 81179, 25,1, + 81180, 81210, 31,0, + 81211, 81224, 14,1, + 81225, 81257, 33,0, + 81258, 81269, 12,1, + 81270, 81306, 37,0, + 81307, 81314, 8,1, + 81315, 81357, 43,0, + 81358, 81359, 2,1, + 81360, 81401, 42,0, + 81402, 81404, 3,1, + 81405, 81446, 42,0, + 81447, 81449, 3,1, + 81450, 81490, 41,0, + 81491, 81494, 4,1, + 81495, 81535, 41,0, + 81536, 81539, 4,1, + 81540, 81580, 41,0, + 81581, 81584, 4,1, + 81585, 81624, 40,0, + 81625, 81629, 5,1, + 81630, 81666, 37,0, + 81667, 81674, 8,1, + 81675, 81709, 35,0, + 81710, 81719, 10,1, + 81720, 81754, 35,0, + 81755, 81764, 10,1, + 81765, 81803, 39,0, + 81804, 81809, 6,1, + 81810, 81848, 39,0, + 81849, 81854, 6,1, + 81855, 81897, 43,0, + 81898, 81899, 2,1, + 81900, 81935, 36,0, + 81936, 81944, 9,1, + 81945, 81981, 37,0, + 81982, 81989, 8,1, + 81990, 82026, 37,0, + 82027, 82034, 8,1, + 82035, 82075, 41,0, + 82076, 82079, 4,1, + 82080, 82122, 43,0, + 82123, 82124, 2,1, + 82125, 82168, 44,0, + 82169, 82169, 1,1, + 82170, 82213, 44,0, + 82214, 82214, 1,1, + 82215, 82257, 43,0, + 82258, 82259, 2,1, + 82260, 82393, 134,0, + 82394, 82394, 1,1, + 82395, 82437, 43,0, + 82438, 82439, 2,1, + 82440, 82482, 43,0, + 82483, 82484, 2,1, + 82485, 82528, 44,0, + 82529, 82529, 1,1, + 82530, 82629, 100,0, + 82630, 82664, 35,1, + 82665, 82674, 10,0, + 82675, 82754, 80,1, + 82755, 82757, 3,0, + 82758, 82799, 42,1, + 82800, 82804, 5,0, + 82805, 82844, 40,1, + 82845, 82875, 31,0, + 82876, 82889, 14,1, + 82890, 82922, 33,0, + 82923, 82934, 12,1, + 82935, 82970, 36,0, + 82971, 82979, 9,1, + 82980, 83017, 38,0, + 83018, 83024, 7,1, + 83025, 83044, 20,0, + 83045, 83069, 25,1, + 83070, 83089, 20,0, + 83090, 83114, 25,1, + 83115, 83134, 20,0, + 83135, 83159, 25,1, + 83160, 83179, 20,0, + 83180, 83204, 25,1, + 83205, 83235, 31,0, + 83236, 83249, 14,1, + 83250, 83282, 33,0, + 83283, 83294, 12,1, + 83295, 83332, 38,0, + 83333, 83339, 7,1, + 83340, 83380, 41,0, + 83381, 83384, 4,1, + 83385, 83425, 41,0, + 83426, 83429, 4,1, + 83430, 83470, 41,0, + 83471, 83474, 4,1, + 83475, 83515, 41,0, + 83516, 83519, 4,1, + 83520, 83559, 40,0, + 83560, 83564, 5,1, + 83565, 83603, 39,0, + 83604, 83609, 6,1, + 83610, 83643, 34,0, + 83644, 83654, 11,1, + 83655, 83689, 35,0, + 83690, 83699, 10,1, + 83700, 83734, 35,0, + 83735, 83744, 10,1, + 83745, 83780, 36,0, + 83781, 83789, 9,1, + 83790, 83829, 40,0, + 83830, 83834, 5,1, + 83835, 83878, 44,0, + 83879, 83879, 1,1, + 83880, 83923, 44,0, + 83924, 83924, 1,1, + 83925, 83961, 37,0, + 83962, 83969, 8,1, + 83970, 84008, 39,0, + 84009, 84014, 6,1, + 84015, 84053, 39,0, + 84054, 84059, 6,1, + 84060, 84100, 41,0, + 84101, 84104, 4,1, + 84105, 84145, 41,0, + 84146, 84149, 4,1, + 84150, 84192, 43,0, + 84193, 84194, 2,1, + 84195, 84237, 43,0, + 84238, 84239, 2,1, + 84240, 84462, 223,0, + 84463, 84464, 2,1, + 84465, 84508, 44,0, + 84509, 84509, 1,1, + 84510, 84681, 172,0, + 84682, 84689, 8,1, + 84690, 84695, 6,0, + 84696, 84779, 84,1, + 84780, 84784, 5,0, + 84785, 84824, 40,1, + 84825, 84832, 8,0, + 84833, 84869, 37,1, + 84870, 84900, 31,0, + 84901, 84914, 14,1, + 84915, 84948, 34,0, + 84949, 84959, 11,1, + 84960, 84995, 36,0, + 84996, 85004, 9,1, + 85005, 85042, 38,0, + 85043, 85049, 7,1, + 85050, 85070, 21,0, + 85071, 85094, 24,1, + 85095, 85115, 21,0, + 85116, 85139, 24,1, + 85140, 85160, 21,0, + 85161, 85184, 24,1, + 85185, 85204, 20,0, + 85205, 85229, 25,1, + 85230, 85262, 33,0, + 85263, 85274, 12,1, + 85275, 85308, 34,0, + 85309, 85319, 11,1, + 85320, 85359, 40,0, + 85360, 85364, 5,1, + 85365, 85406, 42,0, + 85407, 85409, 3,1, + 85410, 85451, 42,0, + 85452, 85454, 3,1, + 85455, 85485, 31,0, + 85486, 85499, 14,1, + 85500, 85537, 38,0, + 85538, 85544, 7,1, + 85545, 85581, 37,0, + 85582, 85589, 8,1, + 85590, 85623, 34,0, + 85624, 85634, 11,1, + 85635, 85670, 36,0, + 85671, 85679, 9,1, + 85680, 85717, 38,0, + 85718, 85724, 7,1, + 85725, 85759, 35,0, + 85760, 85769, 10,1, + 85770, 85812, 43,0, + 85813, 85814, 2,1, + 85815, 85857, 43,0, + 85858, 85859, 2,1, + 85860, 85902, 43,0, + 85903, 85904, 2,1, + 85905, 85946, 42,0, + 85947, 85949, 3,1, + 85950, 85989, 40,0, + 85990, 85994, 5,1, + 85995, 86033, 39,0, + 86034, 86039, 6,1, + 86040, 86079, 40,0, + 86080, 86084, 5,1, + 86085, 86124, 40,0, + 86125, 86129, 5,1, + 86130, 86169, 40,0, + 86170, 86174, 5,1, + 86175, 86217, 43,0, + 86218, 86219, 2,1, + 86220, 86262, 43,0, + 86263, 86264, 2,1, + 86265, 86533, 269,0, + 86534, 86534, 1,1, + 86535, 86705, 171,0, + 86706, 86714, 9,1, + 86715, 86726, 12,0, + 86727, 86804, 78,1, + 86805, 86809, 5,0, + 86810, 86849, 40,1, + 86850, 86860, 11,0, + 86861, 86894, 34,1, + 86895, 86925, 31,0, + 86926, 86939, 14,1, + 86940, 86973, 34,0, + 86974, 86984, 11,1, + 86985, 87020, 36,0, + 87021, 87029, 9,1, + 87030, 87067, 38,0, + 87068, 87074, 7,1, + 87075, 87094, 20,0, + 87095, 87119, 25,1, + 87120, 87139, 20,0, + 87140, 87164, 25,1, + 87165, 87184, 20,0, + 87185, 87209, 25,1, + 87210, 87237, 28,0, + 87238, 87254, 17,1, + 87255, 87289, 35,0, + 87290, 87299, 10,1, + 87300, 87334, 35,0, + 87335, 87344, 10,1, + 87345, 87386, 42,0, + 87387, 87389, 3,1, + 87390, 87432, 43,0, + 87433, 87434, 2,1, + 87435, 87477, 43,0, + 87478, 87479, 2,1, + 87480, 87503, 24,0, + 87504, 87524, 21,1, + 87525, 87552, 28,0, + 87553, 87569, 17,1, + 87570, 87595, 26,0, + 87596, 87614, 19,1, + 87615, 87644, 30,0, + 87645, 87659, 15,1, + 87660, 87696, 37,0, + 87697, 87704, 8,1, + 87705, 87741, 37,0, + 87742, 87749, 8,1, + 87750, 87788, 39,0, + 87789, 87794, 6,1, + 87795, 87836, 42,0, + 87837, 87839, 3,1, + 87840, 87873, 34,0, + 87874, 87884, 11,1, + 87885, 87920, 36,0, + 87921, 87929, 9,1, + 87930, 87971, 42,0, + 87972, 87974, 3,1, + 87975, 88016, 42,0, + 88017, 88019, 3,1, + 88020, 88059, 40,0, + 88060, 88064, 5,1, + 88065, 88104, 40,0, + 88105, 88109, 5,1, + 88110, 88151, 42,0, + 88152, 88154, 3,1, + 88155, 88197, 43,0, + 88198, 88199, 2,1, + 88200, 88243, 44,0, + 88244, 88244, 1,1, + 88245, 88287, 43,0, + 88288, 88289, 2,1, + 88290, 88333, 44,0, + 88334, 88334, 1,1, + 88335, 88468, 134,0, + 88469, 88469, 1,1, + 88470, 88730, 261,0, + 88731, 88739, 9,1, + 88740, 88773, 34,0, + 88774, 88829, 56,1, + 88830, 88834, 5,0, + 88835, 88874, 40,1, + 88875, 88886, 12,0, + 88887, 88919, 33,1, + 88920, 88950, 31,0, + 88951, 88964, 14,1, + 88965, 88997, 33,0, + 88998, 89009, 12,1, + 89010, 89045, 36,0, + 89046, 89054, 9,1, + 89055, 89092, 38,0, + 89093, 89099, 7,1, + 89100, 89119, 20,0, + 89120, 89144, 25,1, + 89145, 89164, 20,0, + 89165, 89189, 25,1, + 89190, 89209, 20,0, + 89210, 89234, 25,1, + 89235, 89263, 29,0, + 89264, 89279, 16,1, + 89280, 89314, 35,0, + 89315, 89324, 10,1, + 89325, 89360, 36,0, + 89361, 89369, 9,1, + 89370, 89410, 41,0, + 89411, 89414, 4,1, + 89415, 89456, 42,0, + 89457, 89459, 3,1, + 89460, 89501, 42,0, + 89502, 89504, 3,1, + 89505, 89544, 40,0, + 89545, 89549, 5,1, + 89550, 89582, 33,0, + 89583, 89594, 12,1, + 89595, 89627, 33,0, + 89628, 89639, 12,1, + 89640, 89670, 31,0, + 89671, 89684, 14,1, + 89685, 89721, 37,0, + 89722, 89729, 8,1, + 89730, 89768, 39,0, + 89769, 89774, 6,1, + 89775, 89813, 39,0, + 89814, 89819, 6,1, + 89820, 89858, 39,0, + 89859, 89864, 6,1, + 89865, 89900, 36,0, + 89901, 89909, 9,1, + 89910, 89945, 36,0, + 89946, 89954, 9,1, + 89955, 89995, 41,0, + 89996, 89999, 4,1, + 90000, 90042, 43,0, + 90043, 90044, 2,1, + 90045, 90086, 42,0, + 90087, 90089, 3,1, + 90090, 90133, 44,0, + 90134, 90134, 1,1, + 90135, 90268, 134,0, + 90269, 90269, 1,1, + 90270, 90311, 42,0, + 90312, 90314, 3,1, + 90315, 90357, 43,0, + 90358, 90359, 2,1, + 90360, 90448, 89,0, + 90449, 90449, 1,1, + 90450, 90491, 42,0, + 90492, 90494, 3,1, + 90495, 90537, 43,0, + 90538, 90539, 2,1, + 90540, 90711, 172,0, + 90712, 90719, 8,1, + 90720, 90755, 36,0, + 90756, 90764, 9,1, + 90765, 90799, 35,0, + 90800, 90809, 10,1, + 90810, 90811, 2,0, + 90812, 90854, 43,1, + 90855, 90859, 5,0, + 90860, 90899, 40,1, + 90900, 90916, 17,0, + 90917, 90944, 28,1, + 90945, 90974, 30,0, + 90975, 90989, 15,1, + 90990, 91021, 32,0, + 91022, 91034, 13,1, + 91035, 91070, 36,0, + 91071, 91079, 9,1, + 91080, 91117, 38,0, + 91118, 91124, 7,1, + 91125, 91143, 19,0, + 91144, 91169, 26,1, + 91170, 91188, 19,0, + 91189, 91214, 26,1, + 91215, 91233, 19,0, + 91234, 91259, 26,1, + 91260, 91289, 30,0, + 91290, 91304, 15,1, + 91305, 91340, 36,0, + 91341, 91349, 9,1, + 91350, 91385, 36,0, + 91386, 91394, 9,1, + 91395, 91434, 40,0, + 91435, 91439, 5,1, + 91440, 91480, 41,0, + 91481, 91484, 4,1, + 91485, 91525, 41,0, + 91526, 91529, 4,1, + 91530, 91570, 41,0, + 91571, 91574, 4,1, + 91575, 91614, 40,0, + 91615, 91619, 5,1, + 91620, 91655, 36,0, + 91656, 91664, 9,1, + 91665, 91837, 173,0, + 91838, 91844, 7,1, + 91845, 91881, 37,0, + 91882, 91889, 8,1, + 91890, 91925, 36,0, + 91926, 91934, 9,1, + 91935, 91969, 35,0, + 91970, 91979, 10,1, + 91980, 92022, 43,0, + 92023, 92024, 2,1, + 92025, 92068, 44,0, + 92069, 92069, 1,1, + 92070, 92113, 44,0, + 92114, 92114, 1,1, + 92115, 92157, 43,0, + 92158, 92159, 2,1, + 92160, 92203, 44,0, + 92204, 92204, 1,1, + 92205, 92293, 89,0, + 92294, 92294, 1,1, + 92295, 92336, 42,0, + 92337, 92339, 3,1, + 92340, 92382, 43,0, + 92383, 92384, 2,1, + 92385, 92427, 43,0, + 92428, 92429, 2,1, + 92430, 92471, 42,0, + 92472, 92474, 3,1, + 92475, 92516, 42,0, + 92517, 92519, 3,1, + 92520, 92563, 44,0, + 92564, 92564, 1,1, + 92565, 92653, 89,0, + 92654, 92654, 1,1, + 92655, 92735, 81,0, + 92736, 92744, 9,1, + 92745, 92780, 36,0, + 92781, 92789, 9,1, + 92790, 92823, 34,0, + 92824, 92834, 11,1, + 92835, 92841, 7,0, + 92842, 92879, 38,1, + 92880, 92885, 6,0, + 92886, 92924, 39,1, + 92925, 92946, 22,0, + 92947, 92969, 23,1, + 92970, 92996, 27,0, + 92997, 93014, 18,1, + 93015, 93045, 31,0, + 93046, 93059, 14,1, + 93060, 93095, 36,0, + 93096, 93104, 9,1, + 93105, 93142, 38,0, + 93143, 93149, 7,1, + 93150, 93167, 18,0, + 93168, 93194, 27,1, + 93195, 93212, 18,0, + 93213, 93239, 27,1, + 93240, 93257, 18,0, + 93258, 93284, 27,1, + 93285, 93317, 33,0, + 93318, 93329, 12,1, + 93330, 93366, 37,0, + 93367, 93374, 8,1, + 93375, 93411, 37,0, + 93412, 93419, 8,1, + 93420, 93459, 40,0, + 93460, 93464, 5,1, + 93465, 93506, 42,0, + 93507, 93509, 3,1, + 93510, 93552, 43,0, + 93553, 93554, 2,1, + 93555, 93597, 43,0, + 93598, 93599, 2,1, + 93600, 93640, 41,0, + 93641, 93644, 4,1, + 93645, 93683, 39,0, + 93684, 93689, 6,1, + 93690, 93733, 44,0, + 93734, 93734, 1,1, + 93735, 93947, 213,0, + 93948, 93959, 12,1, + 93960, 94001, 42,0, + 94002, 94004, 3,1, + 94005, 94047, 43,0, + 94048, 94049, 2,1, + 94050, 94093, 44,0, + 94094, 94094, 1,1, + 94095, 94138, 44,0, + 94139, 94139, 1,1, + 94140, 94181, 42,0, + 94182, 94184, 3,1, + 94185, 94228, 44,0, + 94229, 94229, 1,1, + 94230, 94318, 89,0, + 94319, 94319, 1,1, + 94320, 94362, 43,0, + 94363, 94364, 2,1, + 94365, 94407, 43,0, + 94408, 94409, 2,1, + 94410, 94451, 42,0, + 94452, 94454, 3,1, + 94455, 94498, 44,0, + 94499, 94499, 1,1, + 94500, 94543, 44,0, + 94544, 94544, 1,1, + 94545, 94678, 134,0, + 94679, 94679, 1,1, + 94680, 94760, 81,0, + 94761, 94769, 9,1, + 94770, 94805, 36,0, + 94806, 94814, 9,1, + 94815, 94826, 12,0, + 94827, 94859, 33,1, + 94860, 94866, 7,0, + 94867, 94904, 38,1, + 94905, 94910, 6,0, + 94911, 94949, 39,1, + 94950, 94978, 29,0, + 94979, 94994, 16,1, + 94995, 95025, 31,0, + 95026, 95039, 14,1, + 95040, 95072, 33,0, + 95073, 95084, 12,1, + 95085, 95120, 36,0, + 95121, 95129, 9,1, + 95130, 95167, 38,0, + 95168, 95174, 7,1, + 95175, 95194, 20,0, + 95195, 95219, 25,1, + 95220, 95239, 20,0, + 95240, 95264, 25,1, + 95265, 95284, 20,0, + 95285, 95309, 25,1, + 95310, 95345, 36,0, + 95346, 95354, 9,1, + 95355, 95391, 37,0, + 95392, 95399, 8,1, + 95400, 95436, 37,0, + 95437, 95444, 8,1, + 95445, 95483, 39,0, + 95484, 95489, 6,1, + 95490, 95530, 41,0, + 95531, 95534, 4,1, + 95535, 95577, 43,0, + 95578, 95579, 2,1, + 95580, 95622, 43,0, + 95623, 95624, 2,1, + 95625, 95665, 41,0, + 95666, 95669, 4,1, + 95670, 95709, 40,0, + 95710, 95714, 5,1, + 95715, 95757, 43,0, + 95758, 95759, 2,1, + 95760, 95803, 44,0, + 95804, 95804, 1,1, + 95805, 95848, 44,0, + 95849, 95849, 1,1, + 95850, 95893, 44,0, + 95894, 95894, 1,1, + 95895, 96070, 176,0, + 96071, 96074, 4,1, + 96075, 96162, 88,0, + 96163, 96164, 2,1, + 96165, 96207, 43,0, + 96208, 96209, 2,1, + 96210, 96298, 89,0, + 96299, 96299, 1,1, + 96300, 96343, 44,0, + 96344, 96344, 1,1, + 96345, 96387, 43,0, + 96388, 96389, 2,1, + 96390, 96431, 42,0, + 96432, 96434, 3,1, + 96435, 96476, 42,0, + 96477, 96479, 3,1, + 96480, 96523, 44,0, + 96524, 96524, 1,1, + 96525, 96613, 89,0, + 96614, 96614, 1,1, + 96615, 96784, 170,0, + 96785, 96794, 10,1, + 96795, 96829, 35,0, + 96830, 96839, 10,1, + 96840, 96846, 7,0, + 96847, 96884, 38,1, + 96885, 96890, 6,0, + 96891, 96929, 39,1, + 96930, 96935, 6,0, + 96936, 96974, 39,1, + 96975, 97003, 29,0, + 97004, 97019, 16,1, + 97020, 97052, 33,0, + 97053, 97064, 12,1, + 97065, 97100, 36,0, + 97101, 97109, 9,1, + 97110, 97146, 37,0, + 97147, 97154, 8,1, + 97155, 97192, 38,0, + 97193, 97199, 7,1, + 97200, 97221, 22,0, + 97222, 97244, 23,1, + 97245, 97266, 22,0, + 97267, 97289, 23,1, + 97290, 97311, 22,0, + 97312, 97334, 23,1, + 97335, 97371, 37,0, + 97372, 97379, 8,1, + 97380, 97416, 37,0, + 97417, 97424, 8,1, + 97425, 97461, 37,0, + 97462, 97469, 8,1, + 97470, 97508, 39,0, + 97509, 97514, 6,1, + 97515, 97554, 40,0, + 97555, 97559, 5,1, + 97560, 97600, 41,0, + 97601, 97604, 4,1, + 97605, 97645, 41,0, + 97646, 97649, 4,1, + 97650, 97692, 43,0, + 97693, 97694, 2,1, + 97695, 97737, 43,0, + 97738, 97739, 2,1, + 97740, 97781, 42,0, + 97782, 97784, 3,1, + 97785, 97827, 43,0, + 97828, 97829, 2,1, + 97830, 97872, 43,0, + 97873, 97874, 2,1, + 97875, 97963, 89,0, + 97964, 97964, 1,1, + 97965, 98008, 44,0, + 98009, 98009, 1,1, + 98010, 98052, 43,0, + 98053, 98054, 2,1, + 98055, 98097, 43,0, + 98098, 98099, 2,1, + 98100, 98142, 43,0, + 98143, 98144, 2,1, + 98145, 98232, 88,0, + 98233, 98234, 2,1, + 98235, 98321, 87,0, + 98322, 98324, 3,1, + 98325, 98367, 43,0, + 98368, 98369, 2,1, + 98370, 98412, 43,0, + 98413, 98414, 2,1, + 98415, 98455, 41,0, + 98456, 98459, 4,1, + 98460, 98501, 42,0, + 98502, 98504, 3,1, + 98505, 98548, 44,0, + 98549, 98549, 1,1, + 98550, 98683, 134,0, + 98684, 98684, 1,1, + 98685, 98841, 157,0, + 98842, 98864, 23,1, + 98865, 98870, 6,0, + 98871, 98909, 39,1, + 98910, 98915, 6,0, + 98916, 98954, 39,1, + 98955, 98960, 6,0, + 98961, 98999, 39,1, + 99000, 99025, 26,0, + 99026, 99044, 19,1, + 99045, 99078, 34,0, + 99079, 99089, 11,1, + 99090, 99125, 36,0, + 99126, 99134, 9,1, + 99135, 99171, 37,0, + 99172, 99179, 8,1, + 99180, 99217, 38,0, + 99218, 99224, 7,1, + 99225, 99254, 30,0, + 99255, 99269, 15,1, + 99270, 99299, 30,0, + 99300, 99314, 15,1, + 99315, 99344, 30,0, + 99345, 99359, 15,1, + 99360, 99396, 37,0, + 99397, 99404, 8,1, + 99405, 99442, 38,0, + 99443, 99449, 7,1, + 99450, 99487, 38,0, + 99488, 99494, 7,1, + 99495, 99532, 38,0, + 99533, 99539, 7,1, + 99540, 99578, 39,0, + 99579, 99584, 6,1, + 99585, 99625, 41,0, + 99626, 99629, 4,1, + 99630, 99670, 41,0, + 99671, 99674, 4,1, + 99675, 99717, 43,0, + 99718, 99719, 2,1, + 99720, 99762, 43,0, + 99763, 99764, 2,1, + 99765, 99806, 42,0, + 99807, 99809, 3,1, + 99810, 99852, 43,0, + 99853, 99854, 2,1, + 99855, 99897, 43,0, + 99898, 99899, 2,1, + 99900, 99942, 43,0, + 99943, 99944, 2,1, + 99945, 99987, 43,0, + 99988, 99989, 2,1, + 99990, 100032, 43,0, + 100033, 100034, 2,1, + 100035, 100077, 43,0, + 100078, 100079, 2,1, + 100080, 100121, 42,0, + 100122, 100124, 3,1, + 100125, 100165, 41,0, + 100166, 100169, 4,1, + 100170, 100212, 43,0, + 100213, 100214, 2,1, + 100215, 100256, 42,0, + 100257, 100259, 3,1, + 100260, 100301, 42,0, + 100302, 100304, 3,1, + 100305, 100346, 42,0, + 100347, 100349, 3,1, + 100350, 100393, 44,0, + 100394, 100394, 1,1, + 100395, 100437, 43,0, + 100438, 100439, 2,1, + 100440, 100480, 41,0, + 100481, 100484, 4,1, + 100485, 100525, 41,0, + 100526, 100529, 4,1, + 100530, 100573, 44,0, + 100574, 100574, 1,1, + 100575, 100618, 44,0, + 100619, 100619, 1,1, + 100620, 100708, 89,0, + 100709, 100709, 1,1, + 100710, 100752, 43,0, + 100753, 100754, 2,1, + 100755, 100798, 44,0, + 100799, 100799, 1,1, + 100800, 100852, 53,0, + 100853, 100889, 37,1, + 100890, 100892, 3,0, + 100893, 100934, 42,1, + 100935, 100938, 4,0, + 100939, 100979, 41,1, + 100980, 100984, 5,0, + 100985, 101024, 40,1, + 101025, 101053, 29,0, + 101054, 101069, 16,1, + 101070, 101102, 33,0, + 101103, 101114, 12,1, + 101115, 101150, 36,0, + 101151, 101159, 9,1, + 101160, 101195, 36,0, + 101196, 101204, 9,1, + 101205, 101242, 38,0, + 101243, 101249, 7,1, + 101250, 101283, 34,0, + 101284, 101294, 11,1, + 101295, 101328, 34,0, + 101329, 101339, 11,1, + 101340, 101373, 34,0, + 101374, 101384, 11,1, + 101385, 101421, 37,0, + 101422, 101429, 8,1, + 101430, 101467, 38,0, + 101468, 101474, 7,1, + 101475, 101512, 38,0, + 101513, 101519, 7,1, + 101520, 101556, 37,0, + 101557, 101564, 8,1, + 101565, 101603, 39,0, + 101604, 101609, 6,1, + 101610, 101649, 40,0, + 101650, 101654, 5,1, + 101655, 101695, 41,0, + 101696, 101699, 4,1, + 101700, 101741, 42,0, + 101742, 101744, 3,1, + 101745, 101786, 42,0, + 101787, 101789, 3,1, + 101790, 101831, 42,0, + 101832, 101834, 3,1, + 101835, 101877, 43,0, + 101878, 101879, 2,1, + 101880, 101921, 42,0, + 101922, 101924, 3,1, + 101925, 101966, 42,0, + 101967, 101969, 3,1, + 101970, 102010, 41,0, + 102011, 102014, 4,1, + 102015, 102055, 41,0, + 102056, 102059, 4,1, + 102060, 102100, 41,0, + 102101, 102104, 4,1, + 102105, 102147, 43,0, + 102148, 102149, 2,1, + 102150, 102192, 43,0, + 102193, 102194, 2,1, + 102195, 102235, 41,0, + 102236, 102239, 4,1, + 102240, 102281, 42,0, + 102282, 102284, 3,1, + 102285, 102323, 39,0, + 102324, 102329, 6,1, + 102330, 102372, 43,0, + 102373, 102374, 2,1, + 102375, 102418, 44,0, + 102419, 102419, 1,1, + 102420, 102463, 44,0, + 102464, 102464, 1,1, + 102465, 102504, 40,0, + 102505, 102509, 5,1, + 102510, 102552, 43,0, + 102553, 102554, 2,1, + 102555, 102598, 44,0, + 102599, 102599, 1,1, + 102600, 102733, 134,0, + 102734, 102734, 1,1, + 102735, 102777, 43,0, + 102778, 102779, 2,1, + 102780, 102820, 41,0, + 102821, 102824, 4,1, + 102825, 102875, 51,0, + 102876, 102914, 39,1, + 102915, 102916, 2,0, + 102917, 102959, 43,1, + 102960, 102961, 2,0, + 102962, 103004, 43,1, + 103005, 103011, 7,0, + 103012, 103049, 38,1, + 103050, 103084, 35,0, + 103085, 103094, 10,1, + 103095, 103130, 36,0, + 103131, 103139, 9,1, + 103140, 103175, 36,0, + 103176, 103184, 9,1, + 103185, 103220, 36,0, + 103221, 103229, 9,1, + 103230, 103267, 38,0, + 103268, 103274, 7,1, + 103275, 103309, 35,0, + 103310, 103319, 10,1, + 103320, 103354, 35,0, + 103355, 103364, 10,1, + 103365, 103399, 35,0, + 103400, 103409, 10,1, + 103410, 103447, 38,0, + 103448, 103454, 7,1, + 103455, 103493, 39,0, + 103494, 103499, 6,1, + 103500, 103538, 39,0, + 103539, 103544, 6,1, + 103545, 103580, 36,0, + 103581, 103589, 9,1, + 103590, 103626, 37,0, + 103627, 103634, 8,1, + 103635, 103674, 40,0, + 103675, 103679, 5,1, + 103680, 103720, 41,0, + 103721, 103724, 4,1, + 103725, 103766, 42,0, + 103767, 103769, 3,1, + 103770, 103810, 41,0, + 103811, 103814, 4,1, + 103815, 103857, 43,0, + 103858, 103859, 2,1, + 103860, 103902, 43,0, + 103903, 103904, 2,1, + 103905, 103947, 43,0, + 103948, 103949, 2,1, + 103950, 103991, 42,0, + 103992, 103994, 3,1, + 103995, 104034, 40,0, + 104035, 104039, 5,1, + 104040, 104079, 40,0, + 104080, 104084, 5,1, + 104085, 104125, 41,0, + 104126, 104129, 4,1, + 104130, 104172, 43,0, + 104173, 104174, 2,1, + 104175, 104216, 42,0, + 104217, 104219, 3,1, + 104220, 104261, 42,0, + 104262, 104264, 3,1, + 104265, 104304, 40,0, + 104305, 104309, 5,1, + 104310, 104351, 42,0, + 104352, 104354, 3,1, + 104355, 104397, 43,0, + 104398, 104399, 2,1, + 104400, 104443, 44,0, + 104444, 104444, 1,1, + 104445, 104486, 42,0, + 104487, 104489, 3,1, + 104490, 104532, 43,0, + 104533, 104534, 2,1, + 104535, 104578, 44,0, + 104579, 104579, 1,1, + 104580, 104668, 89,0, + 104669, 104669, 1,1, + 104670, 104757, 88,0, + 104758, 104759, 2,1, + 104760, 104801, 42,0, + 104802, 104804, 3,1, + 104805, 104845, 41,0, + 104846, 104849, 4,1, + 104850, 104893, 44,0, + 104894, 104894, 1,1, + 104895, 104906, 12,0, + 104907, 105029, 123,1, + 105030, 105046, 17,0, + 105047, 105074, 28,1, + 105075, 105111, 37,0, + 105112, 105119, 8,1, + 105120, 105156, 37,0, + 105157, 105164, 8,1, + 105165, 105200, 36,0, + 105201, 105209, 9,1, + 105210, 105245, 36,0, + 105246, 105254, 9,1, + 105255, 105292, 38,0, + 105293, 105299, 7,1, + 105300, 105333, 34,0, + 105334, 105344, 11,1, + 105345, 105378, 34,0, + 105379, 105389, 11,1, + 105390, 105423, 34,0, + 105424, 105434, 11,1, + 105435, 105472, 38,0, + 105473, 105479, 7,1, + 105480, 105518, 39,0, + 105519, 105524, 6,1, + 105525, 105563, 39,0, + 105564, 105569, 6,1, + 105570, 105606, 37,0, + 105607, 105614, 8,1, + 105615, 105649, 35,0, + 105650, 105659, 10,1, + 105660, 105699, 40,0, + 105700, 105704, 5,1, + 105705, 105745, 41,0, + 105746, 105749, 4,1, + 105750, 105790, 41,0, + 105791, 105794, 4,1, + 105795, 105835, 41,0, + 105836, 105839, 4,1, + 105840, 105882, 43,0, + 105883, 105884, 2,1, + 105885, 105927, 43,0, + 105928, 105929, 2,1, + 105930, 105971, 42,0, + 105972, 105974, 3,1, + 105975, 106016, 42,0, + 106017, 106019, 3,1, + 106020, 106058, 39,0, + 106059, 106064, 6,1, + 106065, 106103, 39,0, + 106104, 106109, 6,1, + 106110, 106150, 41,0, + 106151, 106154, 4,1, + 106155, 106196, 42,0, + 106197, 106199, 3,1, + 106200, 106241, 42,0, + 106242, 106244, 3,1, + 106245, 106286, 42,0, + 106287, 106289, 3,1, + 106290, 106330, 41,0, + 106331, 106334, 4,1, + 106335, 106375, 41,0, + 106376, 106379, 4,1, + 106380, 106421, 42,0, + 106422, 106424, 3,1, + 106425, 106468, 44,0, + 106469, 106469, 1,1, + 106470, 106512, 43,0, + 106513, 106514, 2,1, + 106515, 106557, 43,0, + 106558, 106559, 2,1, + 106560, 106602, 43,0, + 106603, 106604, 2,1, + 106605, 106648, 44,0, + 106649, 106649, 1,1, + 106650, 106693, 44,0, + 106694, 106694, 1,1, + 106695, 106738, 44,0, + 106739, 106739, 1,1, + 106740, 106782, 43,0, + 106783, 106784, 2,1, + 106785, 106827, 43,0, + 106828, 106829, 2,1, + 106830, 106872, 43,0, + 106873, 106874, 2,1, + 106875, 106916, 42,0, + 106917, 106919, 3,1, + 106920, 106961, 42,0, + 106962, 106964, 3,1, + 106965, 106971, 7,0, + 106972, 107054, 83,1, + 107055, 107087, 33,0, + 107088, 107099, 12,1, + 107100, 107136, 37,0, + 107137, 107144, 8,1, + 107145, 107181, 37,0, + 107182, 107189, 8,1, + 107190, 107225, 36,0, + 107226, 107234, 9,1, + 107235, 107269, 35,0, + 107270, 107279, 10,1, + 107280, 107317, 38,0, + 107318, 107324, 7,1, + 107325, 107335, 11,0, + 107336, 107369, 34,1, + 107370, 107380, 11,0, + 107381, 107414, 34,1, + 107415, 107425, 11,0, + 107426, 107459, 34,1, + 107460, 107496, 37,0, + 107497, 107504, 8,1, + 107505, 107543, 39,0, + 107544, 107549, 6,1, + 107550, 107588, 39,0, + 107589, 107594, 6,1, + 107595, 107632, 38,0, + 107633, 107639, 7,1, + 107640, 107673, 34,0, + 107674, 107684, 11,1, + 107685, 107722, 38,0, + 107723, 107729, 7,1, + 107730, 107769, 40,0, + 107770, 107774, 5,1, + 107775, 107816, 42,0, + 107817, 107819, 3,1, + 107820, 107861, 42,0, + 107862, 107864, 3,1, + 107865, 107907, 43,0, + 107908, 107909, 2,1, + 107910, 107951, 42,0, + 107952, 107954, 3,1, + 107955, 107995, 41,0, + 107996, 107999, 4,1, + 108000, 108039, 40,0, + 108040, 108044, 5,1, + 108045, 108084, 40,0, + 108085, 108089, 5,1, + 108090, 108128, 39,0, + 108129, 108134, 6,1, + 108135, 108175, 41,0, + 108176, 108179, 4,1, + 108180, 108221, 42,0, + 108222, 108224, 3,1, + 108225, 108266, 42,0, + 108267, 108269, 3,1, + 108270, 108309, 40,0, + 108310, 108314, 5,1, + 108315, 108355, 41,0, + 108356, 108359, 4,1, + 108360, 108400, 41,0, + 108401, 108404, 4,1, + 108405, 108446, 42,0, + 108447, 108449, 3,1, + 108450, 108493, 44,0, + 108494, 108494, 1,1, + 108495, 108537, 43,0, + 108538, 108539, 2,1, + 108540, 108583, 44,0, + 108584, 108584, 1,1, + 108585, 108626, 42,0, + 108627, 108629, 3,1, + 108630, 108673, 44,0, + 108674, 108674, 1,1, + 108675, 108717, 43,0, + 108718, 108719, 2,1, + 108720, 108761, 42,0, + 108762, 108764, 3,1, + 108765, 108806, 42,0, + 108807, 108809, 3,1, + 108810, 108850, 41,0, + 108851, 108854, 4,1, + 108855, 108894, 40,0, + 108895, 108899, 5,1, + 108900, 108939, 40,0, + 108940, 108944, 5,1, + 108945, 108986, 42,0, + 108987, 108989, 3,1, + 108990, 109001, 12,0, + 109002, 109079, 78,1, + 109080, 109114, 35,0, + 109115, 109124, 10,1, + 109125, 109160, 36,0, + 109161, 109169, 9,1, + 109170, 109205, 36,0, + 109206, 109214, 9,1, + 109215, 109250, 36,0, + 109251, 109259, 9,1, + 109260, 109294, 35,0, + 109295, 109304, 10,1, + 109305, 109342, 38,0, + 109343, 109349, 7,1, + 109350, 109351, 2,0, + 109352, 109394, 43,1, + 109395, 109396, 2,0, + 109397, 109439, 43,1, + 109440, 109441, 2,0, + 109442, 109484, 43,1, + 109485, 109521, 37,0, + 109522, 109529, 8,1, + 109530, 109568, 39,0, + 109569, 109574, 6,1, + 109575, 109613, 39,0, + 109614, 109619, 6,1, + 109620, 109658, 39,0, + 109659, 109664, 6,1, + 109665, 109699, 35,0, + 109700, 109709, 10,1, + 109710, 109749, 40,0, + 109750, 109754, 5,1, + 109755, 109794, 40,0, + 109795, 109799, 5,1, + 109800, 109841, 42,0, + 109842, 109844, 3,1, + 109845, 109887, 43,0, + 109888, 109889, 2,1, + 109890, 109931, 42,0, + 109932, 109934, 3,1, + 109935, 109975, 41,0, + 109976, 109979, 4,1, + 109980, 110020, 41,0, + 110021, 110024, 4,1, + 110025, 110063, 39,0, + 110064, 110069, 6,1, + 110070, 110110, 41,0, + 110111, 110114, 4,1, + 110115, 110154, 40,0, + 110155, 110159, 5,1, + 110160, 110200, 41,0, + 110201, 110204, 4,1, + 110205, 110245, 41,0, + 110246, 110249, 4,1, + 110250, 110290, 41,0, + 110291, 110294, 4,1, + 110295, 110333, 39,0, + 110334, 110339, 6,1, + 110340, 110379, 40,0, + 110380, 110384, 5,1, + 110385, 110426, 42,0, + 110427, 110429, 3,1, + 110430, 110471, 42,0, + 110472, 110474, 3,1, + 110475, 110518, 44,0, + 110519, 110519, 1,1, + 110520, 110562, 43,0, + 110563, 110564, 2,1, + 110565, 110608, 44,0, + 110609, 110609, 1,1, + 110610, 110651, 42,0, + 110652, 110654, 3,1, + 110655, 110698, 44,0, + 110699, 110699, 1,1, + 110700, 110742, 43,0, + 110743, 110744, 2,1, + 110745, 110788, 44,0, + 110789, 110789, 1,1, + 110790, 110831, 42,0, + 110832, 110834, 3,1, + 110835, 110874, 40,0, + 110875, 110879, 5,1, + 110880, 110918, 39,0, + 110919, 110924, 6,1, + 110925, 110961, 37,0, + 110962, 110969, 8,1, + 110970, 111008, 39,0, + 111009, 111014, 6,1, + 111015, 111021, 7,0, + 111022, 111104, 83,1, + 111105, 111138, 34,0, + 111139, 111149, 11,1, + 111150, 111185, 36,0, + 111186, 111194, 9,1, + 111195, 111230, 36,0, + 111231, 111239, 9,1, + 111240, 111275, 36,0, + 111276, 111284, 9,1, + 111285, 111319, 35,0, + 111320, 111329, 10,1, + 111330, 111367, 38,0, + 111368, 111509, 142,1, + 111510, 111546, 37,0, + 111547, 111554, 8,1, + 111555, 111592, 38,0, + 111593, 111599, 7,1, + 111600, 111638, 39,0, + 111639, 111644, 6,1, + 111645, 111684, 40,0, + 111685, 111689, 5,1, + 111690, 111726, 37,0, + 111727, 111734, 8,1, + 111735, 111774, 40,0, + 111775, 111779, 5,1, + 111780, 111820, 41,0, + 111821, 111824, 4,1, + 111825, 111867, 43,0, + 111868, 111869, 2,1, + 111870, 111912, 43,0, + 111913, 111914, 2,1, + 111915, 111956, 42,0, + 111957, 111959, 3,1, + 111960, 112000, 41,0, + 112001, 112004, 4,1, + 112005, 112044, 40,0, + 112045, 112049, 5,1, + 112050, 112088, 39,0, + 112089, 112094, 6,1, + 112095, 112133, 39,0, + 112134, 112139, 6,1, + 112140, 112178, 39,0, + 112179, 112184, 6,1, + 112185, 112223, 39,0, + 112224, 112229, 6,1, + 112230, 112268, 39,0, + 112269, 112274, 6,1, + 112275, 112313, 39,0, + 112314, 112319, 6,1, + 112320, 112358, 39,0, + 112359, 112364, 6,1, + 112365, 112403, 39,0, + 112404, 112409, 6,1, + 112410, 112450, 41,0, + 112451, 112454, 4,1, + 112455, 112495, 41,0, + 112496, 112499, 4,1, + 112500, 112542, 43,0, + 112543, 112544, 2,1, + 112545, 112587, 43,0, + 112588, 112589, 2,1, + 112590, 112632, 43,0, + 112633, 112634, 2,1, + 112635, 112676, 42,0, + 112677, 112679, 3,1, + 112680, 112722, 43,0, + 112723, 112724, 2,1, + 112725, 112767, 43,0, + 112768, 112769, 2,1, + 112770, 112813, 44,0, + 112814, 112814, 1,1, + 112815, 112853, 39,0, + 112854, 112859, 6,1, + 112860, 112898, 39,0, + 112899, 112904, 6,1, + 112905, 112942, 38,0, + 112943, 112949, 7,1, + 112950, 112985, 36,0, + 112986, 112994, 9,1, + 112995, 113029, 35,0, + 113030, 113039, 10,1, + 113040, 113041, 2,0, + 113042, 113129, 88,1, + 113130, 113162, 33,0, + 113163, 113174, 12,1, + 113175, 113209, 35,0, + 113210, 113219, 10,1, + 113220, 113255, 36,0, + 113256, 113264, 9,1, + 113265, 113300, 36,0, + 113301, 113309, 9,1, + 113310, 113343, 34,0, + 113344, 113354, 11,1, + 113355, 113392, 38,0, + 113393, 113534, 142,1, + 113535, 113572, 38,0, + 113573, 113579, 7,1, + 113580, 113618, 39,0, + 113619, 113624, 6,1, + 113625, 113664, 40,0, + 113665, 113669, 5,1, + 113670, 113710, 41,0, + 113711, 113714, 4,1, + 113715, 113753, 39,0, + 113754, 113759, 6,1, + 113760, 113799, 40,0, + 113800, 113804, 5,1, + 113805, 113845, 41,0, + 113846, 113849, 4,1, + 113850, 113892, 43,0, + 113893, 113894, 2,1, + 113895, 113936, 42,0, + 113937, 113939, 3,1, + 113940, 113980, 41,0, + 113981, 113984, 4,1, + 113985, 114024, 40,0, + 114025, 114029, 5,1, + 114030, 114068, 39,0, + 114069, 114074, 6,1, + 114075, 114112, 38,0, + 114113, 114119, 7,1, + 114120, 114156, 37,0, + 114157, 114164, 8,1, + 114165, 114203, 39,0, + 114204, 114209, 6,1, + 114210, 114248, 39,0, + 114249, 114254, 6,1, + 114255, 114293, 39,0, + 114294, 114299, 6,1, + 114300, 114338, 39,0, + 114339, 114344, 6,1, + 114345, 114383, 39,0, + 114384, 114389, 6,1, + 114390, 114428, 39,0, + 114429, 114434, 6,1, + 114435, 114474, 40,0, + 114475, 114479, 5,1, + 114480, 114520, 41,0, + 114521, 114524, 4,1, + 114525, 114565, 41,0, + 114566, 114569, 4,1, + 114570, 114612, 43,0, + 114613, 114614, 2,1, + 114615, 114656, 42,0, + 114657, 114659, 3,1, + 114660, 114700, 41,0, + 114701, 114704, 4,1, + 114705, 114745, 41,0, + 114746, 114749, 4,1, + 114750, 114791, 42,0, + 114792, 114794, 3,1, + 114795, 114836, 42,0, + 114837, 114839, 3,1, + 114840, 114878, 39,0, + 114879, 114884, 6,1, + 114885, 114922, 38,0, + 114923, 114929, 7,1, + 114930, 114966, 37,0, + 114967, 114974, 8,1, + 114975, 115009, 35,0, + 115010, 115019, 10,1, + 115020, 115052, 33,0, + 115053, 115154, 102,1, + 115155, 115185, 31,0, + 115186, 115199, 14,1, + 115200, 115234, 35,0, + 115235, 115244, 10,1, + 115245, 115280, 36,0, + 115281, 115289, 9,1, + 115290, 115325, 36,0, + 115326, 115334, 9,1, + 115335, 115368, 34,0, + 115369, 115379, 11,1, + 115380, 115417, 38,0, + 115418, 115559, 142,1, + 115560, 115594, 35,0, + 115595, 115604, 10,1, + 115605, 115642, 38,0, + 115643, 115649, 7,1, + 115650, 115689, 40,0, + 115690, 115694, 5,1, + 115695, 115734, 40,0, + 115735, 115739, 5,1, + 115740, 115778, 39,0, + 115779, 115784, 6,1, + 115785, 115823, 39,0, + 115824, 115829, 6,1, + 115830, 115870, 41,0, + 115871, 115874, 4,1, + 115875, 115915, 41,0, + 115916, 115919, 4,1, + 115920, 115960, 41,0, + 115961, 115964, 4,1, + 115965, 116005, 41,0, + 116006, 116009, 4,1, + 116010, 116048, 39,0, + 116049, 116054, 6,1, + 116055, 116092, 38,0, + 116093, 116099, 7,1, + 116100, 116136, 37,0, + 116137, 116144, 8,1, + 116145, 116181, 37,0, + 116182, 116189, 8,1, + 116190, 116226, 37,0, + 116227, 116234, 8,1, + 116235, 116272, 38,0, + 116273, 116279, 7,1, + 116280, 116318, 39,0, + 116319, 116324, 6,1, + 116325, 116363, 39,0, + 116364, 116369, 6,1, + 116370, 116408, 39,0, + 116409, 116414, 6,1, + 116415, 116453, 39,0, + 116454, 116459, 6,1, + 116460, 116499, 40,0, + 116500, 116504, 5,1, + 116505, 116545, 41,0, + 116546, 116549, 4,1, + 116550, 116590, 41,0, + 116591, 116594, 4,1, + 116595, 116636, 42,0, + 116637, 116639, 3,1, + 116640, 116680, 41,0, + 116681, 116684, 4,1, + 116685, 116724, 40,0, + 116725, 116729, 5,1, + 116730, 116769, 40,0, + 116770, 116774, 5,1, + 116775, 116815, 41,0, + 116816, 116819, 4,1, + 116820, 116860, 41,0, + 116861, 116864, 4,1, + 116865, 116903, 39,0, + 116904, 116909, 6,1, + 116910, 116945, 36,0, + 116946, 116954, 9,1, + 116955, 116990, 36,0, + 116991, 116999, 9,1, + 117000, 117031, 32,0, + 117032, 117044, 13,1, + 117045, 117055, 11,0, + 117056, 117179, 124,1, + 117180, 117207, 28,0, + 117208, 117224, 17,1, + 117225, 117259, 35,0, + 117260, 117269, 10,1, + 117270, 117304, 35,0, + 117305, 117314, 10,1, + 117315, 117350, 36,0, + 117351, 117359, 9,1, + 117360, 117393, 34,0, + 117394, 117404, 11,1, + 117405, 117442, 38,0, + 117443, 117584, 142,1, + 117585, 117617, 33,0, + 117618, 117629, 12,1, + 117630, 117667, 38,0, + 117668, 117674, 7,1, + 117675, 117715, 41,0, + 117716, 117719, 4,1, + 117720, 117760, 41,0, + 117761, 117764, 4,1, + 117765, 117803, 39,0, + 117804, 117809, 6,1, + 117810, 117848, 39,0, + 117849, 117854, 6,1, + 117855, 117892, 38,0, + 117893, 117899, 7,1, + 117900, 117939, 40,0, + 117940, 117944, 5,1, + 117945, 117984, 40,0, + 117985, 117989, 5,1, + 117990, 118029, 40,0, + 118030, 118034, 5,1, + 118035, 118073, 39,0, + 118074, 118079, 6,1, + 118080, 118116, 37,0, + 118117, 118124, 8,1, + 118125, 118161, 37,0, + 118162, 118169, 8,1, + 118170, 118206, 37,0, + 118207, 118214, 8,1, + 118215, 118251, 37,0, + 118252, 118259, 8,1, + 118260, 118296, 37,0, + 118297, 118304, 8,1, + 118305, 118343, 39,0, + 118344, 118349, 6,1, + 118350, 118388, 39,0, + 118389, 118394, 6,1, + 118395, 118433, 39,0, + 118434, 118439, 6,1, + 118440, 118478, 39,0, + 118479, 118484, 6,1, + 118485, 118524, 40,0, + 118525, 118529, 5,1, + 118530, 118569, 40,0, + 118570, 118574, 5,1, + 118575, 118614, 40,0, + 118615, 118619, 5,1, + 118620, 118660, 41,0, + 118661, 118664, 4,1, + 118665, 118704, 40,0, + 118705, 118709, 5,1, + 118710, 118749, 40,0, + 118750, 118754, 5,1, + 118755, 118793, 39,0, + 118794, 118799, 6,1, + 118800, 118840, 41,0, + 118841, 118844, 4,1, + 118845, 118884, 40,0, + 118885, 118889, 5,1, + 118890, 118928, 39,0, + 118929, 118934, 6,1, + 118935, 118967, 33,0, + 118968, 118979, 12,1, + 118980, 119011, 32,0, + 119012, 119024, 13,1, + 119025, 119037, 13,0, + 119038, 119204, 167,1, + 119205, 119220, 16,0, + 119221, 119249, 29,1, + 119250, 119277, 28,0, + 119278, 119294, 17,1, + 119295, 119329, 35,0, + 119330, 119339, 10,1, + 119340, 119375, 36,0, + 119376, 119384, 9,1, + 119385, 119418, 34,0, + 119419, 119429, 11,1, + 119430, 119467, 38,0, + 119468, 119609, 142,1, + 119610, 119640, 31,0, + 119641, 119654, 14,1, + 119655, 119692, 38,0, + 119693, 119699, 7,1, + 119700, 119740, 41,0, + 119741, 119744, 4,1, + 119745, 119786, 42,0, + 119787, 119789, 3,1, + 119790, 119828, 39,0, + 119829, 119834, 6,1, + 119835, 119872, 38,0, + 119873, 119879, 7,1, + 119880, 119916, 37,0, + 119917, 119924, 8,1, + 119925, 119963, 39,0, + 119964, 119969, 6,1, + 119970, 120008, 39,0, + 120009, 120014, 6,1, + 120015, 120053, 39,0, + 120054, 120059, 6,1, + 120060, 120098, 39,0, + 120099, 120104, 6,1, + 120105, 120140, 36,0, + 120141, 120149, 9,1, + 120150, 120185, 36,0, + 120186, 120194, 9,1, + 120195, 120230, 36,0, + 120231, 120239, 9,1, + 120240, 120275, 36,0, + 120276, 120284, 9,1, + 120285, 120321, 37,0, + 120322, 120329, 8,1, + 120330, 120368, 39,0, + 120369, 120374, 6,1, + 120375, 120413, 39,0, + 120414, 120419, 6,1, + 120420, 120458, 39,0, + 120459, 120464, 6,1, + 120465, 120503, 39,0, + 120504, 120509, 6,1, + 120510, 120548, 39,0, + 120549, 120554, 6,1, + 120555, 120594, 40,0, + 120595, 120599, 5,1, + 120600, 120639, 40,0, + 120640, 120644, 5,1, + 120645, 120684, 40,0, + 120685, 120689, 5,1, + 120690, 120729, 40,0, + 120730, 120734, 5,1, + 120735, 120773, 39,0, + 120774, 120779, 6,1, + 120780, 120817, 38,0, + 120818, 120824, 7,1, + 120825, 120863, 39,0, + 120864, 120869, 6,1, + 120870, 120908, 39,0, + 120909, 120914, 6,1, + 120915, 120950, 36,0, + 120951, 120959, 9,1, + 120960, 120992, 33,0, + 120993, 121004, 12,1, + 121005, 121031, 27,0, + 121032, 121229, 198,1, + 121230, 121246, 17,0, + 121247, 121274, 28,1, + 121275, 121291, 17,0, + 121292, 121319, 28,1, + 121320, 121352, 33,0, + 121353, 121364, 12,1, + 121365, 121399, 35,0, + 121400, 121409, 10,1, + 121410, 121443, 34,0, + 121444, 121454, 11,1, + 121455, 121492, 38,0, + 121493, 121634, 142,1, + 121635, 121665, 31,0, + 121666, 121679, 14,1, + 121680, 121717, 38,0, + 121718, 121724, 7,1, + 121725, 121765, 41,0, + 121766, 121769, 4,1, + 121770, 121810, 41,0, + 121811, 121814, 4,1, + 121815, 121855, 41,0, + 121856, 121859, 4,1, + 121860, 121895, 36,0, + 121896, 121904, 9,1, + 121905, 121941, 37,0, + 121942, 121949, 8,1, + 121950, 121986, 37,0, + 121987, 121994, 8,1, + 121995, 122034, 40,0, + 122035, 122039, 5,1, + 122040, 122078, 39,0, + 122079, 122084, 6,1, + 122085, 122122, 38,0, + 122123, 122129, 7,1, + 122130, 122165, 36,0, + 122166, 122174, 9,1, + 122175, 122209, 35,0, + 122210, 122219, 10,1, + 122220, 122254, 35,0, + 122255, 122264, 10,1, + 122265, 122299, 35,0, + 122300, 122309, 10,1, + 122310, 122345, 36,0, + 122346, 122354, 9,1, + 122355, 122392, 38,0, + 122393, 122399, 7,1, + 122400, 122437, 38,0, + 122438, 122444, 7,1, + 122445, 122482, 38,0, + 122483, 122489, 7,1, + 122490, 122528, 39,0, + 122529, 122534, 6,1, + 122535, 122572, 38,0, + 122573, 122579, 7,1, + 122580, 122617, 38,0, + 122618, 122624, 7,1, + 122625, 122663, 39,0, + 122664, 122669, 6,1, + 122670, 122707, 38,0, + 122708, 122714, 7,1, + 122715, 122752, 38,0, + 122753, 122759, 7,1, + 122760, 122797, 38,0, + 122798, 122804, 7,1, + 122805, 122842, 38,0, + 122843, 122849, 7,1, + 122850, 122886, 37,0, + 122887, 122894, 8,1, + 122895, 122921, 27,0, + 122922, 123254, 333,1, + 123255, 123271, 17,0, + 123272, 123299, 28,1, + 123300, 123316, 17,0, + 123317, 123344, 28,1, + 123345, 123375, 31,0, + 123376, 123389, 14,1, + 123390, 123424, 35,0, + 123425, 123434, 10,1, + 123435, 123468, 34,0, + 123469, 123479, 11,1, + 123480, 123517, 38,0, + 123518, 123659, 142,1, + 123660, 123683, 24,0, + 123684, 123704, 21,1, + 123705, 123743, 39,0, + 123744, 123749, 6,1, + 123750, 123790, 41,0, + 123791, 123794, 4,1, + 123795, 123835, 41,0, + 123836, 123839, 4,1, + 123840, 123880, 41,0, + 123881, 123884, 4,1, + 123885, 123919, 35,0, + 123920, 123929, 10,1, + 123930, 123963, 34,0, + 123964, 123974, 11,1, + 123975, 124010, 36,0, + 124011, 124019, 9,1, + 124020, 124056, 37,0, + 124057, 124064, 8,1, + 124065, 124102, 38,0, + 124103, 124109, 7,1, + 124110, 124146, 37,0, + 124147, 124154, 8,1, + 124155, 124189, 35,0, + 124190, 124199, 10,1, + 124200, 124234, 35,0, + 124235, 124244, 10,1, + 124245, 124278, 34,0, + 124279, 124289, 11,1, + 124290, 124324, 35,0, + 124325, 124334, 10,1, + 124335, 124369, 35,0, + 124370, 124379, 10,1, + 124380, 124417, 38,0, + 124418, 124424, 7,1, + 124425, 124462, 38,0, + 124463, 124469, 7,1, + 124470, 124507, 38,0, + 124508, 124514, 7,1, + 124515, 124551, 37,0, + 124552, 124559, 8,1, + 124560, 124597, 38,0, + 124598, 124604, 7,1, + 124605, 124642, 38,0, + 124643, 124649, 7,1, + 124650, 124687, 38,0, + 124688, 124694, 7,1, + 124695, 124731, 37,0, + 124732, 124739, 8,1, + 124740, 124776, 37,0, + 124777, 124784, 8,1, + 124785, 124822, 38,0, + 124823, 124829, 7,1, + 124830, 124867, 38,0, + 124868, 124874, 7,1, + 124875, 124901, 27,0, + 124902, 124919, 18,1, + 124920, 124925, 6,0, + 124926, 125234, 309,1, + 125235, 125240, 6,0, + 125241, 125279, 39,1, + 125280, 125294, 15,0, + 125295, 125324, 30,1, + 125325, 125341, 17,0, + 125342, 125369, 28,1, + 125370, 125397, 28,0, + 125398, 125414, 17,1, + 125415, 125449, 35,0, + 125450, 125459, 10,1, + 125460, 125492, 33,0, + 125493, 125504, 12,1, + 125505, 125542, 38,0, + 125543, 125684, 142,1, + 125685, 125705, 21,0, + 125706, 125729, 24,1, + 125730, 125767, 38,0, + 125768, 125774, 7,1, + 125775, 125815, 41,0, + 125816, 125819, 4,1, + 125820, 125860, 41,0, + 125861, 125864, 4,1, + 125865, 125905, 41,0, + 125906, 125909, 4,1, + 125910, 125946, 37,0, + 125947, 125954, 8,1, + 125955, 125989, 35,0, + 125990, 125999, 10,1, + 126000, 126032, 33,0, + 126033, 126044, 12,1, + 126045, 126078, 34,0, + 126079, 126089, 11,1, + 126090, 126123, 34,0, + 126124, 126134, 11,1, + 126135, 126168, 34,0, + 126169, 126179, 11,1, + 126180, 126212, 33,0, + 126213, 126224, 12,1, + 126225, 126259, 35,0, + 126260, 126269, 10,1, + 126270, 126306, 37,0, + 126307, 126314, 8,1, + 126315, 126349, 35,0, + 126350, 126359, 10,1, + 126360, 126394, 35,0, + 126395, 126404, 10,1, + 126405, 126440, 36,0, + 126441, 126449, 9,1, + 126450, 126486, 37,0, + 126487, 126494, 8,1, + 126495, 126531, 37,0, + 126532, 126539, 8,1, + 126540, 126576, 37,0, + 126577, 126584, 8,1, + 126585, 126622, 38,0, + 126623, 126629, 7,1, + 126630, 126666, 37,0, + 126667, 126674, 8,1, + 126675, 126712, 38,0, + 126713, 126719, 7,1, + 126720, 126755, 36,0, + 126756, 126764, 9,1, + 126765, 126800, 36,0, + 126801, 126809, 9,1, + 126810, 126845, 36,0, + 126846, 126854, 9,1, + 126855, 126874, 20,0, + 126875, 127259, 385,1, + 127260, 127269, 10,0, + 127270, 127304, 35,1, + 127305, 127314, 10,0, + 127315, 127349, 35,1, + 127350, 127365, 16,0, + 127366, 127394, 29,1, + 127395, 127413, 19,0, + 127414, 127439, 26,1, + 127440, 127471, 32,0, + 127472, 127484, 13,1, + 127485, 127516, 32,0, + 127517, 127529, 13,1, + 127530, 127567, 38,0, + 127568, 127709, 142,1, + 127710, 127737, 28,0, + 127738, 127754, 17,1, + 127755, 127792, 38,0, + 127793, 127799, 7,1, + 127800, 127840, 41,0, + 127841, 127844, 4,1, + 127845, 127885, 41,0, + 127886, 127889, 4,1, + 127890, 127931, 42,0, + 127932, 127934, 3,1, + 127935, 127972, 38,0, + 127973, 127979, 7,1, + 127980, 128015, 36,0, + 128016, 128024, 9,1, + 128025, 128059, 35,0, + 128060, 128069, 10,1, + 128070, 128104, 35,0, + 128105, 128114, 10,1, + 128115, 128150, 36,0, + 128151, 128159, 9,1, + 128160, 128194, 35,0, + 128195, 128204, 10,1, + 128205, 128238, 34,0, + 128239, 128249, 11,1, + 128250, 128285, 36,0, + 128286, 128294, 9,1, + 128295, 128330, 36,0, + 128331, 128339, 9,1, + 128340, 128376, 37,0, + 128377, 128384, 8,1, + 128385, 128420, 36,0, + 128421, 128429, 9,1, + 128430, 128465, 36,0, + 128466, 128474, 9,1, + 128475, 128510, 36,0, + 128511, 128519, 9,1, + 128520, 128555, 36,0, + 128556, 128564, 9,1, + 128565, 128600, 36,0, + 128601, 128609, 9,1, + 128610, 128646, 37,0, + 128647, 128654, 8,1, + 128655, 128691, 37,0, + 128692, 128699, 8,1, + 128700, 128737, 38,0, + 128738, 128744, 7,1, + 128745, 128782, 38,0, + 128783, 128789, 7,1, + 128790, 128826, 37,0, + 128827, 128834, 8,1, + 128835, 128866, 32,0, + 128867, 129284, 418,1, + 129285, 129291, 7,0, + 129292, 129329, 38,1, + 129330, 129336, 7,0, + 129337, 129374, 38,1, + 129375, 129389, 15,0, + 129390, 129419, 30,1, + 129420, 129436, 17,0, + 129437, 129464, 28,1, + 129465, 129495, 31,0, + 129496, 129509, 14,1, + 129510, 129541, 32,0, + 129542, 129554, 13,1, + 129555, 129592, 38,0, + 129593, 129734, 142,1, + 129735, 129760, 26,0, + 129761, 129779, 19,1, + 129780, 129818, 39,0, + 129819, 129824, 6,1, + 129825, 129865, 41,0, + 129866, 129869, 4,1, + 129870, 129911, 42,0, + 129912, 129914, 3,1, + 129915, 129956, 42,0, + 129957, 129959, 3,1, + 129960, 129998, 39,0, + 129999, 130004, 6,1, + 130005, 130042, 38,0, + 130043, 130049, 7,1, + 130050, 130087, 38,0, + 130088, 130094, 7,1, + 130095, 130131, 37,0, + 130132, 130139, 8,1, + 130140, 130176, 37,0, + 130177, 130184, 8,1, + 130185, 130220, 36,0, + 130221, 130229, 9,1, + 130230, 130264, 35,0, + 130265, 130274, 10,1, + 130275, 130310, 36,0, + 130311, 130319, 9,1, + 130320, 130356, 37,0, + 130357, 130364, 8,1, + 130365, 130401, 37,0, + 130402, 130409, 8,1, + 130410, 130447, 38,0, + 130448, 130454, 7,1, + 130455, 130493, 39,0, + 130494, 130499, 6,1, + 130500, 130537, 38,0, + 130538, 130544, 7,1, + 130545, 130579, 35,0, + 130580, 130589, 10,1, + 130590, 130624, 35,0, + 130625, 130634, 10,1, + 130635, 130670, 36,0, + 130671, 130679, 9,1, + 130680, 130714, 35,0, + 130715, 130724, 10,1, + 130725, 130759, 35,0, + 130760, 130769, 10,1, + 130770, 130807, 38,0, + 130808, 130814, 7,1, + 130815, 130844, 30,0, + 130845, 131309, 465,1, + 131310, 131315, 6,0, + 131316, 131354, 39,1, + 131355, 131367, 13,0, + 131368, 131399, 32,1, + 131400, 131415, 16,0, + 131416, 131444, 29,1, + 131445, 131460, 16,0, + 131461, 131489, 29,1, + 131490, 131520, 31,0, + 131521, 131534, 14,1, + 131535, 131566, 32,0, + 131567, 131579, 13,1, + 131580, 131617, 38,0, + 131618, 131759, 142,1, + 131760, 131771, 12,0, + 131772, 131804, 33,1, + 131805, 131843, 39,0, + 131844, 131849, 6,1, + 131850, 131889, 40,0, + 131890, 131894, 5,1, + 131895, 131936, 42,0, + 131937, 131939, 3,1, + 131940, 131980, 41,0, + 131981, 131984, 4,1, + 131985, 132023, 39,0, + 132024, 132029, 6,1, + 132030, 132068, 39,0, + 132069, 132074, 6,1, + 132075, 132112, 38,0, + 132113, 132119, 7,1, + 132120, 132158, 39,0, + 132159, 132164, 6,1, + 132165, 132203, 39,0, + 132204, 132209, 6,1, + 132210, 132245, 36,0, + 132246, 132254, 9,1, + 132255, 132289, 35,0, + 132290, 132299, 10,1, + 132300, 132335, 36,0, + 132336, 132344, 9,1, + 132345, 132381, 37,0, + 132382, 132389, 8,1, + 132390, 132426, 37,0, + 132427, 132434, 8,1, + 132435, 132471, 37,0, + 132472, 132479, 8,1, + 132480, 132517, 38,0, + 132518, 132524, 7,1, + 132525, 132562, 38,0, + 132563, 132569, 7,1, + 132570, 132604, 35,0, + 132605, 132614, 10,1, + 132615, 132649, 35,0, + 132650, 132659, 10,1, + 132660, 132694, 35,0, + 132695, 132704, 10,1, + 132705, 132741, 37,0, + 132742, 132749, 8,1, + 132750, 132789, 40,0, + 132790, 132794, 5,1, + 132795, 132834, 40,0, + 132835, 132839, 5,1, + 132840, 132841, 2,0, + 132842, 132884, 43,1, + 132885, 132886, 2,0, + 132887, 133334, 448,1, + 133335, 133340, 6,0, + 133341, 133379, 39,1, + 133380, 133390, 11,0, + 133391, 133424, 34,1, + 133425, 133437, 13,0, + 133438, 133469, 32,1, + 133470, 133487, 18,0, + 133488, 133514, 27,1, + 133515, 133543, 29,0, + 133544, 133559, 16,1, + 133560, 133591, 32,0, + 133592, 133604, 13,1, + 133605, 133642, 38,0, + 133643, 133784, 142,1, + 133785, 133801, 17,0, + 133802, 133829, 28,1, + 133830, 133868, 39,0, + 133869, 133874, 6,1, + 133875, 133914, 40,0, + 133915, 133919, 5,1, + 133920, 133961, 42,0, + 133962, 133964, 3,1, + 133965, 134006, 42,0, + 134007, 134009, 3,1, + 134010, 134051, 42,0, + 134052, 134054, 3,1, + 134055, 134094, 40,0, + 134095, 134099, 5,1, + 134100, 134137, 38,0, + 134138, 134144, 7,1, + 134145, 134182, 38,0, + 134183, 134189, 7,1, + 134190, 134226, 37,0, + 134227, 134234, 8,1, + 134235, 134270, 36,0, + 134271, 134279, 9,1, + 134280, 134315, 36,0, + 134316, 134324, 9,1, + 134325, 134360, 36,0, + 134361, 134369, 9,1, + 134370, 134406, 37,0, + 134407, 134414, 8,1, + 134415, 134452, 38,0, + 134453, 134459, 7,1, + 134460, 134496, 37,0, + 134497, 134504, 8,1, + 134505, 134541, 37,0, + 134542, 134549, 8,1, + 134550, 134586, 37,0, + 134587, 134594, 8,1, + 134595, 134629, 35,0, + 134630, 134639, 10,1, + 134640, 134674, 35,0, + 134675, 134684, 10,1, + 134685, 134720, 36,0, + 134721, 134729, 9,1, + 134730, 134768, 39,0, + 134769, 134774, 6,1, + 134775, 134818, 44,0, + 134819, 134819, 1,1, + 134820, 134849, 30,0, + 134850, 134864, 15,1, + 134865, 134898, 34,0, + 134899, 134909, 11,1, + 134910, 134943, 34,0, + 134944, 134954, 11,1, + 134955, 134961, 7,0, + 134962, 135269, 308,1, + 135270, 135276, 7,0, + 135277, 135314, 38,1, + 135315, 135321, 7,0, + 135322, 135359, 38,1, + 135360, 135361, 2,0, + 135362, 135404, 43,1, + 135405, 135419, 15,0, + 135420, 135449, 30,1, + 135450, 135464, 15,0, + 135465, 135494, 30,1, + 135495, 135510, 16,0, + 135511, 135539, 29,1, + 135540, 135567, 28,0, + 135568, 135584, 17,1, + 135585, 135615, 31,0, + 135616, 135629, 14,1, + 135630, 135667, 38,0, + 135668, 135674, 7,1, + 135675, 135691, 17,0, + 135692, 135719, 28,1, + 135720, 135736, 17,0, + 135737, 135764, 28,1, + 135765, 135781, 17,0, + 135782, 135809, 28,1, + 135810, 135827, 18,0, + 135828, 135854, 27,1, + 135855, 135893, 39,0, + 135894, 135899, 6,1, + 135900, 135939, 40,0, + 135940, 135944, 5,1, + 135945, 135985, 41,0, + 135986, 135989, 4,1, + 135990, 136031, 42,0, + 136032, 136034, 3,1, + 136035, 136076, 42,0, + 136077, 136079, 3,1, + 136080, 136119, 40,0, + 136120, 136124, 5,1, + 136125, 136162, 38,0, + 136163, 136169, 7,1, + 136170, 136207, 38,0, + 136208, 136214, 7,1, + 136215, 136250, 36,0, + 136251, 136259, 9,1, + 136260, 136296, 37,0, + 136297, 136304, 8,1, + 136305, 136340, 36,0, + 136341, 136349, 9,1, + 136350, 136386, 37,0, + 136387, 136394, 8,1, + 136395, 136432, 38,0, + 136433, 136439, 7,1, + 136440, 136477, 38,0, + 136478, 136484, 7,1, + 136485, 136522, 38,0, + 136523, 136529, 7,1, + 136530, 136566, 37,0, + 136567, 136574, 8,1, + 136575, 136611, 37,0, + 136612, 136619, 8,1, + 136620, 136655, 36,0, + 136656, 136664, 9,1, + 136665, 136698, 34,0, + 136699, 136709, 11,1, + 136710, 136745, 36,0, + 136746, 136754, 9,1, + 136755, 136791, 37,0, + 136792, 136799, 8,1, + 136800, 136841, 42,0, + 136842, 136844, 3,1, + 136845, 136871, 27,0, + 136872, 136889, 18,1, + 136890, 136925, 36,0, + 136926, 136934, 9,1, + 136935, 136970, 36,0, + 136971, 136979, 9,1, + 136980, 136996, 17,0, + 136997, 137294, 298,1, + 137295, 137303, 9,0, + 137304, 137339, 36,1, + 137340, 137349, 10,0, + 137350, 137429, 80,1, + 137430, 137442, 13,0, + 137443, 137474, 32,1, + 137475, 137490, 16,0, + 137491, 137519, 29,1, + 137520, 137535, 16,0, + 137536, 137564, 29,1, + 137565, 137591, 27,0, + 137592, 137609, 18,1, + 137610, 137639, 30,0, + 137640, 137654, 15,1, + 137655, 137692, 38,0, + 137693, 137699, 7,1, + 137700, 137716, 17,0, + 137717, 137744, 28,1, + 137745, 137761, 17,0, + 137762, 137789, 28,1, + 137790, 137806, 17,0, + 137807, 137834, 28,1, + 137835, 137851, 17,0, + 137852, 137879, 28,1, + 137880, 137916, 37,0, + 137917, 137924, 8,1, + 137925, 137963, 39,0, + 137964, 137969, 6,1, + 137970, 138010, 41,0, + 138011, 138014, 4,1, + 138015, 138057, 43,0, + 138058, 138059, 2,1, + 138060, 138101, 42,0, + 138102, 138104, 3,1, + 138105, 138144, 40,0, + 138145, 138149, 5,1, + 138150, 138188, 39,0, + 138189, 138194, 6,1, + 138195, 138231, 37,0, + 138232, 138239, 8,1, + 138240, 138276, 37,0, + 138277, 138284, 8,1, + 138285, 138321, 37,0, + 138322, 138329, 8,1, + 138330, 138365, 36,0, + 138366, 138374, 9,1, + 138375, 138411, 37,0, + 138412, 138419, 8,1, + 138420, 138457, 38,0, + 138458, 138464, 7,1, + 138465, 138503, 39,0, + 138504, 138509, 6,1, + 138510, 138548, 39,0, + 138549, 138554, 6,1, + 138555, 138593, 39,0, + 138594, 138599, 6,1, + 138600, 138636, 37,0, + 138637, 138644, 8,1, + 138645, 138679, 35,0, + 138680, 138689, 10,1, + 138690, 138723, 34,0, + 138724, 138734, 11,1, + 138735, 138769, 35,0, + 138770, 138779, 10,1, + 138780, 138819, 40,0, + 138820, 138824, 5,1, + 138825, 138864, 40,0, + 138865, 138869, 5,1, + 138870, 138908, 39,0, + 138909, 138914, 6,1, + 138915, 138952, 38,0, + 138953, 138959, 7,1, + 138960, 138995, 36,0, + 138996, 139004, 9,1, + 139005, 139036, 32,0, + 139037, 139274, 238,1, + 139275, 139280, 6,0, + 139281, 139319, 39,1, + 139320, 139331, 12,0, + 139332, 139364, 33,1, + 139365, 139376, 12,0, + 139377, 139409, 33,1, + 139410, 139416, 7,0, + 139417, 139454, 38,1, + 139455, 139464, 10,0, + 139465, 139499, 35,1, + 139500, 139516, 17,0, + 139517, 139544, 28,1, + 139545, 139560, 16,0, + 139561, 139589, 29,1, + 139590, 139616, 27,0, + 139617, 139634, 18,1, + 139635, 139665, 31,0, + 139666, 139679, 14,1, + 139680, 139717, 38,0, + 139718, 139724, 7,1, + 139725, 139741, 17,0, + 139742, 139769, 28,1, + 139770, 139786, 17,0, + 139787, 139814, 28,1, + 139815, 139831, 17,0, + 139832, 139859, 28,1, + 139860, 139876, 17,0, + 139877, 139904, 28,1, + 139905, 139941, 37,0, + 139942, 139949, 8,1, + 139950, 139988, 39,0, + 139989, 139994, 6,1, + 139995, 140035, 41,0, + 140036, 140039, 4,1, + 140040, 140081, 42,0, + 140082, 140084, 3,1, + 140085, 140125, 41,0, + 140126, 140129, 4,1, + 140130, 140168, 39,0, + 140169, 140174, 6,1, + 140175, 140212, 38,0, + 140213, 140219, 7,1, + 140220, 140257, 38,0, + 140258, 140264, 7,1, + 140265, 140302, 38,0, + 140303, 140309, 7,1, + 140310, 140346, 37,0, + 140347, 140354, 8,1, + 140355, 140391, 37,0, + 140392, 140399, 8,1, + 140400, 140436, 37,0, + 140437, 140444, 8,1, + 140445, 140483, 39,0, + 140484, 140489, 6,1, + 140490, 140528, 39,0, + 140529, 140534, 6,1, + 140535, 140574, 40,0, + 140575, 140579, 5,1, + 140580, 140618, 39,0, + 140619, 140624, 6,1, + 140625, 140663, 39,0, + 140664, 140669, 6,1, + 140670, 140707, 38,0, + 140708, 140714, 7,1, + 140715, 140749, 35,0, + 140750, 140759, 10,1, + 140760, 140795, 36,0, + 140796, 140804, 9,1, + 140805, 140836, 32,0, + 140837, 140849, 13,1, + 140850, 140876, 27,0, + 140877, 140894, 18,1, + 140895, 140935, 41,0, + 140936, 140939, 4,1, + 140940, 140978, 39,0, + 140979, 140984, 6,1, + 140985, 141018, 34,0, + 141019, 141029, 11,1, + 141030, 141051, 22,0, + 141052, 141299, 248,1, + 141300, 141307, 8,0, + 141308, 141344, 37,1, + 141345, 141356, 12,0, + 141357, 141389, 33,1, + 141390, 141401, 12,0, + 141402, 141434, 33,1, + 141435, 141448, 14,0, + 141449, 141479, 31,1, + 141480, 141487, 8,0, + 141488, 141524, 37,1, + 141525, 141543, 19,0, + 141544, 141569, 26,1, + 141570, 141585, 16,0, + 141586, 141614, 29,1, + 141615, 141641, 27,0, + 141642, 141659, 18,1, + 141660, 141690, 31,0, + 141691, 141704, 14,1, + 141705, 141742, 38,0, + 141743, 141749, 7,1, + 141750, 141766, 17,0, + 141767, 141794, 28,1, + 141795, 141811, 17,0, + 141812, 141839, 28,1, + 141840, 141856, 17,0, + 141857, 141884, 28,1, + 141885, 141901, 17,0, + 141902, 141929, 28,1, + 141930, 141965, 36,0, + 141966, 141974, 9,1, + 141975, 142013, 39,0, + 142014, 142019, 6,1, + 142020, 142060, 41,0, + 142061, 142064, 4,1, + 142065, 142106, 42,0, + 142107, 142109, 3,1, + 142110, 142149, 40,0, + 142150, 142154, 5,1, + 142155, 142192, 38,0, + 142193, 142199, 7,1, + 142200, 142235, 36,0, + 142236, 142244, 9,1, + 142245, 142282, 38,0, + 142283, 142289, 7,1, + 142290, 142327, 38,0, + 142328, 142334, 7,1, + 142335, 142372, 38,0, + 142373, 142379, 7,1, + 142380, 142416, 37,0, + 142417, 142424, 8,1, + 142425, 142463, 39,0, + 142464, 142469, 6,1, + 142470, 142508, 39,0, + 142509, 142514, 6,1, + 142515, 142553, 39,0, + 142554, 142559, 6,1, + 142560, 142600, 41,0, + 142601, 142604, 4,1, + 142605, 142645, 41,0, + 142646, 142649, 4,1, + 142650, 142688, 39,0, + 142689, 142694, 6,1, + 142695, 142732, 38,0, + 142733, 142739, 7,1, + 142740, 142775, 36,0, + 142776, 142784, 9,1, + 142785, 142820, 36,0, + 142821, 142829, 9,1, + 142830, 142864, 35,0, + 142865, 142874, 10,1, + 142875, 142910, 36,0, + 142911, 142919, 9,1, + 142920, 143002, 83,0, + 143003, 143009, 7,1, + 143010, 143037, 28,0, + 143038, 143054, 17,1, + 143055, 143076, 22,0, + 143077, 143099, 23,1, + 143100, 143116, 17,0, + 143117, 143279, 163,1, + 143280, 143281, 2,0, + 143282, 143324, 43,1, + 143325, 143332, 8,0, + 143333, 143369, 37,1, + 143370, 143379, 10,0, + 143380, 143414, 35,1, + 143415, 143427, 13,0, + 143428, 143459, 32,1, + 143460, 143475, 16,0, + 143476, 143504, 29,1, + 143505, 143510, 6,0, + 143511, 143549, 39,1, + 143550, 143569, 20,0, + 143570, 143594, 25,1, + 143595, 143609, 15,0, + 143610, 143639, 30,1, + 143640, 143666, 27,0, + 143667, 143684, 18,1, + 143685, 143715, 31,0, + 143716, 143729, 14,1, + 143730, 143767, 38,0, + 143768, 143774, 7,1, + 143775, 143791, 17,0, + 143792, 143819, 28,1, + 143820, 143836, 17,0, + 143837, 143864, 28,1, + 143865, 143881, 17,0, + 143882, 143909, 28,1, + 143910, 143924, 15,0, + 143925, 143954, 30,1, + 143955, 143990, 36,0, + 143991, 143999, 9,1, + 144000, 144036, 37,0, + 144037, 144044, 8,1, + 144045, 144084, 40,0, + 144085, 144089, 5,1, + 144090, 144130, 41,0, + 144131, 144134, 4,1, + 144135, 144172, 38,0, + 144173, 144179, 7,1, + 144180, 144216, 37,0, + 144217, 144224, 8,1, + 144225, 144260, 36,0, + 144261, 144269, 9,1, + 144270, 144307, 38,0, + 144308, 144314, 7,1, + 144315, 144353, 39,0, + 144354, 144359, 6,1, + 144360, 144399, 40,0, + 144400, 144404, 5,1, + 144405, 144443, 39,0, + 144444, 144449, 6,1, + 144450, 144488, 39,0, + 144489, 144494, 6,1, + 144495, 144535, 41,0, + 144536, 144539, 4,1, + 144540, 144580, 41,0, + 144581, 144584, 4,1, + 144585, 144625, 41,0, + 144626, 144629, 4,1, + 144630, 144655, 26,0, + 144656, 144764, 109,1, + 144765, 144792, 28,0, + 144793, 144809, 17,1, + 144810, 144845, 36,0, + 144846, 144854, 9,1, + 144855, 144889, 35,0, + 144890, 144899, 10,1, + 144900, 144936, 37,0, + 144937, 144944, 8,1, + 144945, 144987, 43,0, + 144988, 144989, 2,1, + 144990, 145029, 40,0, + 145030, 145034, 5,1, + 145035, 145076, 42,0, + 145077, 145079, 3,1, + 145080, 145121, 42,0, + 145122, 145124, 3,1, + 145125, 145164, 40,0, + 145165, 145169, 5,1, + 145170, 145201, 32,0, + 145202, 145214, 13,1, + 145215, 145220, 6,0, + 145221, 145349, 129,1, + 145350, 145356, 7,0, + 145357, 145394, 38,1, + 145395, 145402, 8,0, + 145403, 145439, 37,1, + 145440, 145454, 15,0, + 145455, 145484, 30,1, + 145485, 145495, 11,0, + 145496, 145529, 34,1, + 145530, 145537, 8,0, + 145538, 145574, 37,1, + 145575, 145595, 21,0, + 145596, 145619, 24,1, + 145620, 145636, 17,0, + 145637, 145664, 28,1, + 145665, 145689, 25,0, + 145690, 145709, 20,1, + 145710, 145740, 31,0, + 145741, 145754, 14,1, + 145755, 145792, 38,0, + 145793, 145799, 7,1, + 145800, 145816, 17,0, + 145817, 145844, 28,1, + 145845, 145861, 17,0, + 145862, 145889, 28,1, + 145890, 145906, 17,0, + 145907, 145934, 28,1, + 145935, 145936, 2,0, + 145937, 145979, 43,1, + 145980, 146000, 21,0, + 146001, 146024, 24,1, + 146025, 146060, 36,0, + 146061, 146069, 9,1, + 146070, 146108, 39,0, + 146109, 146114, 6,1, + 146115, 146153, 39,0, + 146154, 146159, 6,1, + 146160, 146197, 38,0, + 146198, 146204, 7,1, + 146205, 146211, 7,0, + 146212, 146249, 38,1, + 146250, 146251, 2,0, + 146252, 146294, 43,1, + 146295, 146309, 15,0, + 146310, 146339, 30,1, + 146340, 146377, 38,0, + 146378, 146384, 7,1, + 146385, 146425, 41,0, + 146426, 146429, 4,1, + 146430, 146473, 44,0, + 146474, 146474, 1,1, + 146475, 146609, 135,0, + 146610, 146879, 270,1, + 146880, 146909, 30,0, + 146910, 146924, 15,1, + 146925, 146962, 38,0, + 146963, 146969, 7,1, + 146970, 147007, 38,0, + 147008, 147014, 7,1, + 147015, 147056, 42,0, + 147057, 147059, 3,1, + 147060, 147101, 42,0, + 147102, 147104, 3,1, + 147105, 147146, 42,0, + 147147, 147149, 3,1, + 147150, 147191, 42,0, + 147192, 147194, 3,1, + 147195, 147232, 38,0, + 147233, 147239, 7,1, + 147240, 147255, 16,0, + 147256, 147284, 29,1, + 147285, 147286, 2,0, + 147287, 147419, 133,1, + 147420, 147421, 2,0, + 147422, 147464, 43,1, + 147465, 147479, 15,0, + 147480, 147509, 30,1, + 147510, 147517, 8,0, + 147518, 147554, 37,1, + 147555, 147582, 28,0, + 147583, 147599, 17,1, + 147600, 147627, 28,0, + 147628, 147644, 17,1, + 147645, 147663, 19,0, + 147664, 147689, 26,1, + 147690, 147708, 19,0, + 147709, 147734, 26,1, + 147735, 147765, 31,0, + 147766, 147779, 14,1, + 147780, 147817, 38,0, + 147818, 147824, 7,1, + 147825, 147841, 17,0, + 147842, 147869, 28,1, + 147870, 147886, 17,0, + 147887, 147914, 28,1, + 147915, 147931, 17,0, + 147932, 147959, 28,1, + 147960, 147961, 2,0, + 147962, 148004, 43,1, + 148005, 148025, 21,0, + 148026, 148049, 24,1, + 148050, 148083, 34,0, + 148084, 148094, 11,1, + 148095, 148132, 38,0, + 148133, 148139, 7,1, + 148140, 148177, 38,0, + 148178, 148184, 7,1, + 148185, 148212, 28,0, + 148213, 148229, 17,1, + 148230, 148238, 9,0, + 148239, 148274, 36,1, + 148275, 148282, 8,0, + 148283, 148904, 622,1, + 148905, 148932, 28,0, + 148933, 148949, 17,1, + 148950, 148990, 41,0, + 148991, 148994, 4,1, + 148995, 149127, 133,0, + 149128, 149129, 2,1, + 149130, 149171, 42,0, + 149172, 149174, 3,1, + 149175, 149216, 42,0, + 149217, 149219, 3,1, + 149220, 149260, 41,0, + 149261, 149264, 4,1, + 149265, 149300, 36,0, + 149301, 149309, 9,1, + 149310, 149321, 12,0, + 149322, 149354, 33,1, + 149355, 149368, 14,0, + 149369, 149444, 76,1, + 149445, 149457, 13,0, + 149458, 149489, 32,1, + 149490, 149508, 19,0, + 149509, 149534, 26,1, + 149535, 149555, 21,0, + 149556, 149579, 24,1, + 149580, 149608, 29,0, + 149609, 149624, 16,1, + 149625, 149654, 30,0, + 149655, 149669, 15,1, + 149670, 149686, 17,0, + 149687, 149714, 28,1, + 149715, 149731, 17,0, + 149732, 149759, 28,1, + 149760, 149789, 30,0, + 149790, 149804, 15,1, + 149805, 149842, 38,0, + 149843, 149849, 7,1, + 149850, 149866, 17,0, + 149867, 149894, 28,1, + 149895, 149911, 17,0, + 149912, 149939, 28,1, + 149940, 149956, 17,0, + 149957, 149984, 28,1, + 149985, 150001, 17,0, + 150002, 150029, 28,1, + 150030, 150038, 9,0, + 150039, 150074, 36,1, + 150075, 150093, 19,0, + 150094, 150119, 26,1, + 150120, 150157, 38,0, + 150158, 150164, 7,1, + 150165, 150202, 38,0, + 150203, 150209, 7,1, + 150210, 150248, 39,0, + 150249, 150254, 6,1, + 150255, 150267, 13,0, + 150268, 150299, 32,1, + 150300, 150308, 9,0, + 150309, 150344, 36,1, + 150345, 150353, 9,0, + 150354, 150389, 36,1, + 150390, 150391, 2,0, + 150392, 150929, 538,1, + 150930, 150965, 36,0, + 150966, 150974, 9,1, + 150975, 151014, 40,0, + 151015, 151019, 5,1, + 151020, 151153, 134,0, + 151154, 151154, 1,1, + 151155, 151196, 42,0, + 151197, 151199, 3,1, + 151200, 151240, 41,0, + 151241, 151244, 4,1, + 151245, 151285, 41,0, + 151286, 151289, 4,1, + 151290, 151329, 40,0, + 151330, 151334, 5,1, + 151335, 151346, 12,0, + 151347, 151379, 33,1, + 151380, 151393, 14,0, + 151394, 151469, 76,1, + 151470, 151482, 13,0, + 151483, 151514, 32,1, + 151515, 151533, 19,0, + 151534, 151559, 26,1, + 151560, 151586, 27,0, + 151587, 151604, 18,1, + 151605, 151634, 30,0, + 151635, 151649, 15,1, + 151650, 151679, 30,0, + 151680, 151694, 15,1, + 151695, 151710, 16,0, + 151711, 151739, 29,1, + 151740, 151758, 19,0, + 151759, 151784, 26,1, + 151785, 151813, 29,0, + 151814, 151829, 16,1, + 151830, 151867, 38,0, + 151868, 151874, 7,1, + 151875, 151891, 17,0, + 151892, 151919, 28,1, + 151920, 151936, 17,0, + 151937, 151964, 28,1, + 151965, 151981, 17,0, + 151982, 152009, 28,1, + 152010, 152027, 18,0, + 152028, 152054, 27,1, + 152055, 152072, 18,0, + 152073, 152099, 27,1, + 152100, 152117, 18,0, + 152118, 152144, 27,1, + 152145, 152184, 40,0, + 152185, 152189, 5,1, + 152190, 152228, 39,0, + 152229, 152234, 6,1, + 152235, 152273, 39,0, + 152274, 152279, 6,1, + 152280, 152310, 31,0, + 152311, 152324, 14,1, + 152325, 152359, 35,0, + 152360, 152369, 10,1, + 152370, 152400, 31,0, + 152401, 152414, 14,1, + 152415, 152421, 7,0, + 152422, 152459, 38,1, + 152460, 152461, 2,0, + 152462, 152909, 448,1, + 152910, 152917, 8,0, + 152918, 152954, 37,1, + 152955, 152987, 33,0, + 152988, 152999, 12,1, + 153000, 153042, 43,0, + 153043, 153044, 2,1, + 153045, 153223, 179,0, + 153224, 153224, 1,1, + 153225, 153266, 42,0, + 153267, 153269, 3,1, + 153270, 153310, 41,0, + 153311, 153314, 4,1, + 153315, 153355, 41,0, + 153356, 153359, 4,1, + 153360, 153387, 28,0, + 153388, 153404, 17,1, + 153405, 153420, 16,0, + 153421, 153449, 29,1, + 153450, 153465, 16,0, + 153466, 153494, 29,1, + 153495, 153526, 32,0, + 153527, 153539, 13,1, + 153540, 153571, 32,0, + 153572, 153584, 13,1, + 153585, 153611, 27,0, + 153612, 153629, 18,1, + 153630, 153658, 29,0, + 153659, 153674, 16,1, + 153675, 153703, 29,0, + 153704, 153719, 16,1, + 153720, 153735, 16,0, + 153736, 153764, 29,1, + 153765, 153783, 19,0, + 153784, 153809, 26,1, + 153810, 153836, 27,0, + 153837, 153854, 18,1, + 153855, 153892, 38,0, + 153893, 153899, 7,1, + 153900, 153916, 17,0, + 153917, 153944, 28,1, + 153945, 153961, 17,0, + 153962, 153989, 28,1, + 153990, 154006, 17,0, + 154007, 154034, 28,1, + 154035, 154056, 22,0, + 154057, 154079, 23,1, + 154080, 154102, 23,0, + 154103, 154124, 22,1, + 154125, 154152, 28,0, + 154153, 154169, 17,1, + 154170, 154209, 40,0, + 154210, 154214, 5,1, + 154215, 154254, 40,0, + 154255, 154259, 5,1, + 154260, 154299, 40,0, + 154300, 154304, 5,1, + 154305, 154348, 44,0, + 154349, 154349, 1,1, + 154350, 154437, 88,0, + 154438, 154439, 2,1, + 154440, 154477, 38,0, + 154478, 154484, 7,1, + 154485, 154490, 6,0, + 154491, 154934, 444,1, + 154935, 154963, 29,0, + 154964, 154979, 16,1, + 154980, 155019, 40,0, + 155020, 155024, 5,1, + 155025, 155067, 43,0, + 155068, 155069, 2,1, + 155070, 155113, 44,0, + 155114, 155114, 1,1, + 155115, 155291, 177,0, + 155292, 155294, 3,1, + 155295, 155336, 42,0, + 155337, 155339, 3,1, + 155340, 155380, 41,0, + 155381, 155384, 4,1, + 155385, 155418, 34,0, + 155419, 155429, 11,1, + 155430, 155443, 14,0, + 155444, 155474, 31,1, + 155475, 155507, 33,0, + 155508, 155519, 12,1, + 155520, 155553, 34,0, + 155554, 155564, 11,1, + 155565, 155598, 34,0, + 155599, 155609, 11,1, + 155610, 155632, 23,0, + 155633, 155654, 22,1, + 155655, 155672, 18,0, + 155673, 155699, 27,1, + 155700, 155718, 19,0, + 155719, 155789, 71,1, + 155790, 155806, 17,0, + 155807, 155834, 28,1, + 155835, 155863, 29,0, + 155864, 155879, 16,1, + 155880, 155917, 38,0, + 155918, 155924, 7,1, + 155925, 155940, 16,0, + 155941, 155969, 29,1, + 155970, 155985, 16,0, + 155986, 156014, 29,1, + 156015, 156030, 16,0, + 156031, 156059, 29,1, + 156060, 156087, 28,0, + 156088, 156104, 17,1, + 156105, 156138, 34,0, + 156139, 156149, 11,1, + 156150, 156184, 35,0, + 156185, 156194, 10,1, + 156195, 156231, 37,0, + 156232, 156239, 8,1, + 156240, 156280, 41,0, + 156281, 156284, 4,1, + 156285, 156324, 40,0, + 156325, 156329, 5,1, + 156330, 156463, 134,0, + 156464, 156464, 1,1, + 156465, 156506, 42,0, + 156507, 156509, 3,1, + 156510, 156547, 38,0, + 156548, 156554, 7,1, + 156555, 156566, 12,0, + 156567, 156869, 303,1, + 156870, 156871, 2,0, + 156872, 156914, 43,1, + 156915, 156918, 4,0, + 156919, 156959, 41,1, + 156960, 156997, 38,0, + 156998, 157004, 7,1, + 157005, 157045, 41,0, + 157046, 157049, 4,1, + 157050, 157091, 42,0, + 157092, 157094, 3,1, + 157095, 157137, 43,0, + 157138, 157139, 2,1, + 157140, 157273, 134,0, + 157274, 157274, 1,1, + 157275, 157317, 43,0, + 157318, 157319, 2,1, + 157320, 157361, 42,0, + 157362, 157364, 3,1, + 157365, 157406, 42,0, + 157407, 157409, 3,1, + 157410, 157441, 32,0, + 157442, 157454, 13,1, + 157455, 157485, 31,0, + 157486, 157499, 14,1, + 157500, 157534, 35,0, + 157535, 157544, 10,1, + 157545, 157579, 35,0, + 157580, 157589, 10,1, + 157590, 157623, 34,0, + 157624, 157634, 11,1, + 157635, 157655, 21,0, + 157656, 157679, 24,1, + 157680, 157696, 17,0, + 157697, 157724, 28,1, + 157725, 157726, 2,0, + 157727, 157814, 88,1, + 157815, 157831, 17,0, + 157832, 157859, 28,1, + 157860, 157890, 31,0, + 157891, 157904, 14,1, + 157905, 157942, 38,0, + 157943, 157949, 7,1, + 157950, 157965, 16,0, + 157966, 157994, 29,1, + 157995, 158010, 16,0, + 158011, 158039, 29,1, + 158040, 158055, 16,0, + 158056, 158084, 29,1, + 158085, 158112, 28,0, + 158113, 158129, 17,1, + 158130, 158165, 36,0, + 158166, 158174, 9,1, + 158175, 158213, 39,0, + 158214, 158219, 6,1, + 158220, 158258, 39,0, + 158259, 158264, 6,1, + 158265, 158304, 40,0, + 158305, 158309, 5,1, + 158310, 158350, 41,0, + 158351, 158354, 4,1, + 158355, 158488, 134,0, + 158489, 158489, 1,1, + 158490, 158531, 42,0, + 158532, 158534, 3,1, + 158535, 158574, 40,0, + 158575, 158579, 5,1, + 158580, 158615, 36,0, + 158616, 158624, 9,1, + 158625, 158654, 30,0, + 158655, 158669, 15,1, + 158670, 158671, 2,0, + 158672, 158894, 223,1, + 158895, 158900, 6,0, + 158901, 158939, 39,1, + 158940, 158974, 35,0, + 158975, 158984, 10,1, + 158985, 159022, 38,0, + 159023, 159029, 7,1, + 159030, 159070, 41,0, + 159071, 159074, 4,1, + 159075, 159115, 41,0, + 159116, 159119, 4,1, + 159120, 159159, 40,0, + 159160, 159164, 5,1, + 159165, 159204, 40,0, + 159205, 159209, 5,1, + 159210, 159249, 40,0, + 159250, 159254, 5,1, + 159255, 159296, 42,0, + 159297, 159299, 3,1, + 159300, 159342, 43,0, + 159343, 159344, 2,1, + 159345, 159386, 42,0, + 159387, 159389, 3,1, + 159390, 159431, 42,0, + 159432, 159434, 3,1, + 159435, 159471, 37,0, + 159472, 159479, 8,1, + 159480, 159516, 37,0, + 159517, 159524, 8,1, + 159525, 159561, 37,0, + 159562, 159569, 8,1, + 159570, 159605, 36,0, + 159606, 159614, 9,1, + 159615, 159647, 33,0, + 159648, 159659, 12,1, + 159660, 159661, 2,0, + 159662, 159839, 178,1, + 159840, 159855, 16,0, + 159856, 159884, 29,1, + 159885, 159917, 33,0, + 159918, 159929, 12,1, + 159930, 159967, 38,0, + 159968, 159974, 7,1, + 159975, 159993, 19,0, + 159994, 160019, 26,1, + 160020, 160038, 19,0, + 160039, 160064, 26,1, + 160065, 160083, 19,0, + 160084, 160109, 26,1, + 160110, 160142, 33,0, + 160143, 160154, 12,1, + 160155, 160191, 37,0, + 160192, 160199, 8,1, + 160200, 160238, 39,0, + 160239, 160244, 6,1, + 160245, 160285, 41,0, + 160286, 160289, 4,1, + 160290, 160330, 41,0, + 160331, 160334, 4,1, + 160335, 160373, 39,0, + 160374, 160379, 6,1, + 160380, 160510, 131,0, + 160511, 160514, 4,1, + 160515, 160555, 41,0, + 160556, 160559, 4,1, + 160560, 160600, 41,0, + 160601, 160604, 4,1, + 160605, 160641, 37,0, + 160642, 160649, 8,1, + 160650, 160683, 34,0, + 160684, 160694, 11,1, + 160695, 160717, 23,0, + 160718, 160919, 202,1, + 160920, 160955, 36,0, + 160956, 160964, 9,1, + 160965, 161002, 38,0, + 161003, 161009, 7,1, + 161010, 161049, 40,0, + 161050, 161054, 5,1, + 161055, 161095, 41,0, + 161096, 161099, 4,1, + 161100, 161139, 40,0, + 161140, 161144, 5,1, + 161145, 161185, 41,0, + 161186, 161189, 4,1, + 161190, 161229, 40,0, + 161230, 161234, 5,1, + 161235, 161274, 40,0, + 161275, 161279, 5,1, + 161280, 161318, 39,0, + 161319, 161324, 6,1, + 161325, 161365, 41,0, + 161366, 161369, 4,1, + 161370, 161410, 41,0, + 161411, 161414, 4,1, + 161415, 161455, 41,0, + 161456, 161459, 4,1, + 161460, 161499, 40,0, + 161500, 161504, 5,1, + 161505, 161542, 38,0, + 161543, 161549, 7,1, + 161550, 161586, 37,0, + 161587, 161594, 8,1, + 161595, 161629, 35,0, + 161630, 161639, 10,1, + 161640, 161663, 24,0, + 161664, 161864, 201,1, + 161865, 161880, 16,0, + 161881, 161909, 29,1, + 161910, 161942, 33,0, + 161943, 161954, 12,1, + 161955, 161992, 38,0, + 161993, 161999, 7,1, + 162000, 162023, 24,0, + 162024, 162044, 21,1, + 162045, 162068, 24,0, + 162069, 162089, 21,1, + 162090, 162113, 24,0, + 162114, 162134, 21,1, + 162135, 162171, 37,0, + 162172, 162179, 8,1, + 162180, 162217, 38,0, + 162218, 162224, 7,1, + 162225, 162264, 40,0, + 162265, 162269, 5,1, + 162270, 162309, 40,0, + 162310, 162314, 5,1, + 162315, 162351, 37,0, + 162352, 162359, 8,1, + 162360, 162395, 36,0, + 162396, 162404, 9,1, + 162405, 162536, 132,0, + 162537, 162539, 3,1, + 162540, 162580, 41,0, + 162581, 162584, 4,1, + 162585, 162624, 40,0, + 162625, 162629, 5,1, + 162630, 162668, 39,0, + 162669, 162674, 6,1, + 162675, 162712, 38,0, + 162713, 162719, 7,1, + 162720, 162754, 35,0, + 162755, 162764, 10,1, + 162765, 162796, 32,0, + 162797, 162809, 13,1, + 162810, 162843, 34,0, + 162844, 162944, 101,1, + 162945, 162982, 38,0, + 162983, 162989, 7,1, + 162990, 163028, 39,0, + 163029, 163034, 6,1, + 163035, 163074, 40,0, + 163075, 163079, 5,1, + 163080, 163120, 41,0, + 163121, 163124, 4,1, + 163125, 163167, 43,0, + 163168, 163169, 2,1, + 163170, 163213, 44,0, + 163214, 163214, 1,1, + 163215, 163258, 44,0, + 163259, 163259, 1,1, + 163260, 163302, 43,0, + 163303, 163304, 2,1, + 163305, 163344, 40,0, + 163345, 163349, 5,1, + 163350, 163386, 37,0, + 163387, 163394, 8,1, + 163395, 163435, 41,0, + 163436, 163439, 4,1, + 163440, 163480, 41,0, + 163481, 163484, 4,1, + 163485, 163524, 40,0, + 163525, 163529, 5,1, + 163530, 163568, 39,0, + 163569, 163574, 6,1, + 163575, 163611, 37,0, + 163612, 163619, 8,1, + 163620, 163654, 35,0, + 163655, 163664, 10,1, + 163665, 163697, 33,0, + 163698, 163709, 12,1, + 163710, 163727, 18,0, + 163728, 163889, 162,1, + 163890, 163905, 16,0, + 163906, 163934, 29,1, + 163935, 163968, 34,0, + 163969, 163979, 11,1, + 163980, 164017, 38,0, + 164018, 164024, 7,1, + 164025, 164046, 22,0, + 164047, 164069, 23,1, + 164070, 164091, 22,0, + 164092, 164114, 23,1, + 164115, 164136, 22,0, + 164137, 164159, 23,1, + 164160, 164195, 36,0, + 164196, 164204, 9,1, + 164205, 164242, 38,0, + 164243, 164249, 7,1, + 164250, 164289, 40,0, + 164290, 164294, 5,1, + 164295, 164334, 40,0, + 164335, 164339, 5,1, + 164340, 164374, 35,0, + 164375, 164384, 10,1, + 164385, 164422, 38,0, + 164423, 164429, 7,1, + 164430, 164473, 44,0, + 164474, 164474, 1,1, + 164475, 164518, 44,0, + 164519, 164519, 1,1, + 164520, 164561, 42,0, + 164562, 164564, 3,1, + 164565, 164605, 41,0, + 164606, 164609, 4,1, + 164610, 164649, 40,0, + 164650, 164654, 5,1, + 164655, 164692, 38,0, + 164693, 164699, 7,1, + 164700, 164738, 39,0, + 164739, 164744, 6,1, + 164745, 164784, 40,0, + 164785, 164789, 5,1, + 164790, 164828, 39,0, + 164829, 164834, 6,1, + 164835, 164873, 39,0, + 164874, 164879, 6,1, + 164880, 164919, 40,0, + 164920, 164924, 5,1, + 164925, 164961, 37,0, + 164962, 164969, 8,1, + 164970, 165008, 39,0, + 165009, 165014, 6,1, + 165015, 165053, 39,0, + 165054, 165059, 6,1, + 165060, 165098, 39,0, + 165099, 165104, 6,1, + 165105, 165148, 44,0, + 165149, 165149, 1,1, + 165150, 165283, 134,0, + 165284, 165284, 1,1, + 165285, 165370, 86,0, + 165371, 165374, 4,1, + 165375, 165410, 36,0, + 165411, 165419, 9,1, + 165420, 165458, 39,0, + 165459, 165464, 6,1, + 165465, 165503, 39,0, + 165504, 165509, 6,1, + 165510, 165548, 39,0, + 165549, 165554, 6,1, + 165555, 165593, 39,0, + 165594, 165599, 6,1, + 165600, 165634, 35,0, + 165635, 165644, 10,1, + 165645, 165677, 33,0, + 165678, 165689, 12,1, + 165690, 165722, 33,0, + 165723, 165734, 12,1, + 165735, 165763, 29,0, + 165764, 165914, 151,1, + 165915, 165930, 16,0, + 165931, 165959, 29,1, + 165960, 165994, 35,0, + 165995, 166004, 10,1, + 166005, 166042, 38,0, + 166043, 166049, 7,1, + 166050, 166070, 21,0, + 166071, 166094, 24,1, + 166095, 166115, 21,0, + 166116, 166139, 24,1, + 166140, 166160, 21,0, + 166161, 166184, 24,1, + 166185, 166220, 36,0, + 166221, 166229, 9,1, + 166230, 166268, 39,0, + 166269, 166274, 6,1, + 166275, 166314, 40,0, + 166315, 166319, 5,1, + 166320, 166359, 40,0, + 166360, 166364, 5,1, + 166365, 166403, 39,0, + 166404, 166409, 6,1, + 166410, 166496, 87,0, + 166497, 166499, 3,1, + 166500, 166541, 42,0, + 166542, 166544, 3,1, + 166545, 166586, 42,0, + 166587, 166589, 3,1, + 166590, 166630, 41,0, + 166631, 166634, 4,1, + 166635, 166673, 39,0, + 166674, 166679, 6,1, + 166680, 166718, 39,0, + 166719, 166724, 6,1, + 166725, 166766, 42,0, + 166767, 166769, 3,1, + 166770, 166811, 42,0, + 166812, 166814, 3,1, + 166815, 166854, 40,0, + 166855, 166859, 5,1, + 166860, 166901, 42,0, + 166902, 166904, 3,1, + 166905, 166946, 42,0, + 166947, 166949, 3,1, + 166950, 166991, 42,0, + 166992, 166994, 3,1, + 166995, 167034, 40,0, + 167035, 167039, 5,1, + 167040, 167078, 39,0, + 167079, 167084, 6,1, + 167085, 167124, 40,0, + 167125, 167129, 5,1, + 167130, 167262, 133,0, + 167263, 167264, 2,1, + 167265, 167395, 131,0, + 167396, 167399, 4,1, + 167400, 167436, 37,0, + 167437, 167444, 8,1, + 167445, 167479, 35,0, + 167480, 167489, 10,1, + 167490, 167526, 37,0, + 167527, 167534, 8,1, + 167535, 167572, 38,0, + 167573, 167579, 7,1, + 167580, 167617, 38,0, + 167618, 167624, 7,1, + 167625, 167661, 37,0, + 167662, 167669, 8,1, + 167670, 167701, 32,0, + 167702, 167714, 13,1, + 167715, 167747, 33,0, + 167748, 167759, 12,1, + 167760, 167790, 31,0, + 167791, 167804, 14,1, + 167805, 167815, 11,0, + 167816, 167939, 124,1, + 167940, 167954, 15,0, + 167955, 167984, 30,1, + 167985, 168019, 35,0, + 168020, 168029, 10,1, + 168030, 168067, 38,0, + 168068, 168074, 7,1, + 168075, 168090, 16,0, + 168091, 168119, 29,1, + 168120, 168135, 16,0, + 168136, 168164, 29,1, + 168165, 168180, 16,0, + 168181, 168209, 29,1, + 168210, 168246, 37,0, + 168247, 168254, 8,1, + 168255, 168293, 39,0, + 168294, 168299, 6,1, + 168300, 168339, 40,0, + 168340, 168344, 5,1, + 168345, 168388, 44,0, + 168389, 168389, 1,1, + 168390, 168520, 131,0, + 168521, 168524, 4,1, + 168525, 168565, 41,0, + 168566, 168569, 4,1, + 168570, 168609, 40,0, + 168610, 168614, 5,1, + 168615, 168653, 39,0, + 168654, 168659, 6,1, + 168660, 168698, 39,0, + 168699, 168704, 6,1, + 168705, 168745, 41,0, + 168746, 168749, 4,1, + 168750, 168792, 43,0, + 168793, 168794, 2,1, + 168795, 168837, 43,0, + 168838, 168839, 2,1, + 168840, 168882, 43,0, + 168883, 168884, 2,1, + 168885, 168927, 43,0, + 168928, 168929, 2,1, + 168930, 168972, 43,0, + 168973, 168974, 2,1, + 168975, 169017, 43,0, + 169018, 169019, 2,1, + 169020, 169062, 43,0, + 169063, 169064, 2,1, + 169065, 169102, 38,0, + 169103, 169109, 7,1, + 169110, 169149, 40,0, + 169150, 169154, 5,1, + 169155, 169198, 44,0, + 169199, 169199, 1,1, + 169200, 169243, 44,0, + 169244, 169244, 1,1, + 169245, 169285, 41,0, + 169286, 169289, 4,1, + 169290, 169332, 43,0, + 169333, 169334, 2,1, + 169335, 169378, 44,0, + 169379, 169379, 1,1, + 169380, 169421, 42,0, + 169422, 169424, 3,1, + 169425, 169465, 41,0, + 169466, 169469, 4,1, + 169470, 169505, 36,0, + 169506, 169514, 9,1, + 169515, 169547, 33,0, + 169548, 169559, 12,1, + 169560, 169594, 35,0, + 169595, 169604, 10,1, + 169605, 169640, 36,0, + 169641, 169649, 9,1, + 169650, 169685, 36,0, + 169686, 169694, 9,1, + 169695, 169728, 34,0, + 169729, 169739, 11,1, + 169740, 169768, 29,0, + 169769, 169784, 16,1, + 169785, 169813, 29,0, + 169814, 169829, 16,1, + 169830, 169845, 16,0, + 169846, 169874, 29,1, + 169875, 169876, 2,0, + 169877, 169964, 88,1, + 169965, 169981, 17,0, + 169982, 170009, 28,1, + 170010, 170045, 36,0, + 170046, 170054, 9,1, + 170055, 170092, 38,0, + 170093, 170099, 7,1, + 170100, 170106, 7,0, + 170107, 170144, 38,1, + 170145, 170151, 7,0, + 170152, 170189, 38,1, + 170190, 170196, 7,0, + 170197, 170234, 38,1, + 170235, 170271, 37,0, + 170272, 170279, 8,1, + 170280, 170319, 40,0, + 170320, 170324, 5,1, + 170325, 170365, 41,0, + 170366, 170369, 4,1, + 170370, 170544, 175,0, + 170545, 170549, 5,1, + 170550, 170590, 41,0, + 170591, 170594, 4,1, + 170595, 170634, 40,0, + 170635, 170639, 5,1, + 170640, 170677, 38,0, + 170678, 170684, 7,1, + 170685, 170724, 40,0, + 170725, 170729, 5,1, + 170730, 170770, 41,0, + 170771, 170774, 4,1, + 170775, 170817, 43,0, + 170818, 170819, 2,1, + 170820, 170863, 44,0, + 170864, 170864, 1,1, + 170865, 170907, 43,0, + 170908, 170909, 2,1, + 170910, 170952, 43,0, + 170953, 170954, 2,1, + 170955, 171042, 88,0, + 171043, 171044, 2,1, + 171045, 171088, 44,0, + 171089, 171089, 1,1, + 171090, 171129, 40,0, + 171130, 171134, 5,1, + 171135, 171174, 40,0, + 171175, 171179, 5,1, + 171180, 171222, 43,0, + 171223, 171224, 2,1, + 171225, 171266, 42,0, + 171267, 171269, 3,1, + 171270, 171308, 39,0, + 171309, 171314, 6,1, + 171315, 171356, 42,0, + 171357, 171359, 3,1, + 171360, 171402, 43,0, + 171403, 171404, 2,1, + 171405, 171446, 42,0, + 171447, 171449, 3,1, + 171450, 171491, 42,0, + 171492, 171494, 3,1, + 171495, 171533, 39,0, + 171534, 171539, 6,1, + 171540, 171577, 38,0, + 171578, 171584, 7,1, + 171585, 171622, 38,0, + 171623, 171629, 7,1, + 171630, 171667, 38,0, + 171668, 171674, 7,1, + 171675, 171711, 37,0, + 171712, 171719, 8,1, + 171720, 171753, 34,0, + 171754, 171764, 11,1, + 171765, 171795, 31,0, + 171796, 171809, 14,1, + 171810, 171835, 26,0, + 171836, 171854, 19,1, + 171855, 171880, 26,0, + 171881, 171899, 19,1, + 171900, 171915, 16,0, + 171916, 171944, 29,1, + 171945, 171946, 2,0, + 171947, 171989, 43,1, + 171990, 172017, 28,0, + 172018, 172034, 17,1, + 172035, 172071, 37,0, + 172072, 172079, 8,1, + 172080, 172117, 38,0, + 172118, 172259, 142,1, + 172260, 172296, 37,0, + 172297, 172304, 8,1, + 172305, 172344, 40,0, + 172345, 172349, 5,1, + 172350, 172390, 41,0, + 172391, 172394, 4,1, + 172395, 172435, 41,0, + 172436, 172439, 4,1, + 172440, 172480, 41,0, + 172481, 172484, 4,1, + 172485, 172525, 41,0, + 172526, 172529, 4,1, + 172530, 172569, 40,0, + 172570, 172574, 5,1, + 172575, 172613, 39,0, + 172614, 172619, 6,1, + 172620, 172657, 38,0, + 172658, 172664, 7,1, + 172665, 172701, 37,0, + 172702, 172709, 8,1, + 172710, 172746, 37,0, + 172747, 172754, 8,1, + 172755, 172793, 39,0, + 172794, 172799, 6,1, + 172800, 172841, 42,0, + 172842, 172844, 3,1, + 172845, 172887, 43,0, + 172888, 172889, 2,1, + 172890, 172932, 43,0, + 172933, 172934, 2,1, + 172935, 172977, 43,0, + 172978, 172979, 2,1, + 172980, 173067, 88,0, + 173068, 173069, 2,1, + 173070, 173113, 44,0, + 173114, 173114, 1,1, + 173115, 173155, 41,0, + 173156, 173159, 4,1, + 173160, 173199, 40,0, + 173200, 173204, 5,1, + 173205, 173245, 41,0, + 173246, 173249, 4,1, + 173250, 173289, 40,0, + 173290, 173294, 5,1, + 173295, 173330, 36,0, + 173331, 173339, 9,1, + 173340, 173378, 39,0, + 173379, 173384, 6,1, + 173385, 173424, 40,0, + 173425, 173429, 5,1, + 173430, 173470, 41,0, + 173471, 173474, 4,1, + 173475, 173516, 42,0, + 173517, 173519, 3,1, + 173520, 173563, 44,0, + 173564, 173564, 1,1, + 173565, 173607, 43,0, + 173608, 173609, 2,1, + 173610, 173649, 40,0, + 173650, 173654, 5,1, + 173655, 173694, 40,0, + 173695, 173699, 5,1, + 173700, 173738, 39,0, + 173739, 173744, 6,1, + 173745, 173777, 33,0, + 173778, 173789, 12,1, + 173790, 173821, 32,0, + 173822, 173834, 13,1, + 173835, 173856, 22,0, + 173857, 173879, 23,1, + 173880, 173906, 27,0, + 173907, 173924, 18,1, + 173925, 173947, 23,0, + 173948, 173969, 22,1, + 173970, 173981, 12,0, + 173982, 174014, 33,1, + 174015, 174049, 35,0, + 174050, 174059, 10,1, + 174060, 174096, 37,0, + 174097, 174104, 8,1, + 174105, 174142, 38,0, + 174143, 174284, 142,1, + 174285, 174316, 32,0, + 174317, 174329, 13,1, + 174330, 174369, 40,0, + 174370, 174374, 5,1, + 174375, 174415, 41,0, + 174416, 174419, 4,1, + 174420, 174460, 41,0, + 174461, 174464, 4,1, + 174465, 174505, 41,0, + 174506, 174509, 4,1, + 174510, 174550, 41,0, + 174551, 174554, 4,1, + 174555, 174592, 38,0, + 174593, 174599, 7,1, + 174600, 174636, 37,0, + 174637, 174644, 8,1, + 174645, 174679, 35,0, + 174680, 174689, 10,1, + 174690, 174724, 35,0, + 174725, 174734, 10,1, + 174735, 174770, 36,0, + 174771, 174779, 9,1, + 174780, 174816, 37,0, + 174817, 174824, 8,1, + 174825, 174863, 39,0, + 174864, 174869, 6,1, + 174870, 174908, 39,0, + 174909, 174914, 6,1, + 174915, 174953, 39,0, + 174954, 174959, 6,1, + 174960, 174998, 39,0, + 174999, 175004, 6,1, + 175005, 175043, 39,0, + 175044, 175049, 6,1, + 175050, 175088, 39,0, + 175089, 175094, 6,1, + 175095, 175134, 40,0, + 175135, 175139, 5,1, + 175140, 175181, 42,0, + 175182, 175184, 3,1, + 175185, 175224, 40,0, + 175225, 175229, 5,1, + 175230, 175268, 39,0, + 175269, 175274, 6,1, + 175275, 175308, 34,0, + 175309, 175319, 11,1, + 175320, 175351, 32,0, + 175352, 175364, 13,1, + 175365, 175395, 31,0, + 175396, 175409, 14,1, + 175410, 175445, 36,0, + 175446, 175454, 9,1, + 175455, 175493, 39,0, + 175494, 175499, 6,1, + 175500, 175540, 41,0, + 175541, 175544, 4,1, + 175545, 175586, 42,0, + 175587, 175589, 3,1, + 175590, 175631, 42,0, + 175632, 175634, 3,1, + 175635, 175676, 42,0, + 175677, 175679, 3,1, + 175680, 175719, 40,0, + 175720, 175724, 5,1, + 175725, 175763, 39,0, + 175764, 175769, 6,1, + 175770, 175800, 31,0, + 175801, 175814, 14,1, + 175815, 175845, 31,0, + 175846, 175859, 14,1, + 175860, 175885, 26,0, + 175886, 175904, 19,1, + 175905, 175931, 27,0, + 175932, 175949, 18,1, + 175950, 175979, 30,0, + 175980, 175994, 15,1, + 175995, 176007, 13,0, + 176008, 176039, 32,1, + 176040, 176076, 37,0, + 176077, 176084, 8,1, + 176085, 176121, 37,0, + 176122, 176129, 8,1, + 176130, 176167, 38,0, + 176168, 176309, 142,1, + 176310, 176324, 15,0, + 176325, 176354, 30,1, + 176355, 176394, 40,0, + 176395, 176399, 5,1, + 176400, 176440, 41,0, + 176441, 176444, 4,1, + 176445, 176486, 42,0, + 176487, 176489, 3,1, + 176490, 176530, 41,0, + 176531, 176534, 4,1, + 176535, 176573, 39,0, + 176574, 176579, 6,1, + 176580, 176616, 37,0, + 176617, 176624, 8,1, + 176625, 176661, 37,0, + 176662, 176669, 8,1, + 176670, 176708, 39,0, + 176709, 176714, 6,1, + 176715, 176751, 37,0, + 176752, 176759, 8,1, + 176760, 176796, 37,0, + 176797, 176804, 8,1, + 176805, 176841, 37,0, + 176842, 176849, 8,1, + 176850, 176886, 37,0, + 176887, 176894, 8,1, + 176895, 176933, 39,0, + 176934, 176939, 6,1, + 176940, 176976, 37,0, + 176977, 176984, 8,1, + 176985, 177021, 37,0, + 177022, 177029, 8,1, + 177030, 177065, 36,0, + 177066, 177074, 9,1, + 177075, 177110, 36,0, + 177111, 177119, 9,1, + 177120, 177159, 40,0, + 177160, 177164, 5,1, + 177165, 177205, 41,0, + 177206, 177209, 4,1, + 177210, 177249, 40,0, + 177250, 177254, 5,1, + 177255, 177257, 3,0, + 177258, 177434, 177,1, + 177435, 177462, 28,0, + 177463, 177479, 17,1, + 177480, 177516, 37,0, + 177517, 177524, 8,1, + 177525, 177564, 40,0, + 177565, 177569, 5,1, + 177570, 177611, 42,0, + 177612, 177614, 3,1, + 177615, 177656, 42,0, + 177657, 177659, 3,1, + 177660, 177700, 41,0, + 177701, 177704, 4,1, + 177705, 177743, 39,0, + 177744, 177749, 6,1, + 177750, 177781, 32,0, + 177782, 177794, 13,1, + 177795, 177825, 31,0, + 177826, 177839, 14,1, + 177840, 177867, 28,0, + 177868, 177884, 17,1, + 177885, 177912, 28,0, + 177913, 177929, 17,1, + 177930, 177959, 30,0, + 177960, 177974, 15,1, + 177975, 178007, 33,0, + 178008, 178019, 12,1, + 178020, 178036, 17,0, + 178037, 178064, 28,1, + 178065, 178101, 37,0, + 178102, 178109, 8,1, + 178110, 178147, 38,0, + 178148, 178154, 7,1, + 178155, 178192, 38,0, + 178193, 178379, 187,1, + 178380, 178419, 40,0, + 178420, 178424, 5,1, + 178425, 178465, 41,0, + 178466, 178469, 4,1, + 178470, 178511, 42,0, + 178512, 178514, 3,1, + 178515, 178555, 41,0, + 178556, 178559, 4,1, + 178560, 178596, 37,0, + 178597, 178604, 8,1, + 178605, 178641, 37,0, + 178642, 178649, 8,1, + 178650, 178686, 37,0, + 178687, 178694, 8,1, + 178695, 178733, 39,0, + 178734, 178739, 6,1, + 178740, 178777, 38,0, + 178778, 178784, 7,1, + 178785, 178822, 38,0, + 178823, 178829, 7,1, + 178830, 178868, 39,0, + 178869, 178874, 6,1, + 178875, 178915, 41,0, + 178916, 178919, 4,1, + 178920, 178960, 41,0, + 178961, 178964, 4,1, + 178965, 179005, 41,0, + 179006, 179009, 4,1, + 179010, 179048, 39,0, + 179049, 179054, 6,1, + 179055, 179094, 40,0, + 179095, 179099, 5,1, + 179100, 179139, 40,0, + 179140, 179144, 5,1, + 179145, 179185, 41,0, + 179186, 179189, 4,1, + 179190, 179230, 41,0, + 179231, 179234, 4,1, + 179235, 179270, 36,0, + 179271, 179504, 234,1, + 179505, 179525, 21,0, + 179526, 179549, 24,1, + 179550, 179587, 38,0, + 179588, 179594, 7,1, + 179595, 179632, 38,0, + 179633, 179639, 7,1, + 179640, 179680, 41,0, + 179681, 179684, 4,1, + 179685, 179725, 41,0, + 179726, 179729, 4,1, + 179730, 179761, 32,0, + 179762, 179774, 13,1, + 179775, 179803, 29,0, + 179804, 179819, 16,1, + 179820, 179848, 29,0, + 179849, 179864, 16,1, + 179865, 179898, 34,0, + 179899, 179909, 11,1, + 179910, 179943, 34,0, + 179944, 179954, 11,1, + 179955, 179987, 33,0, + 179988, 179999, 12,1, + 180000, 180034, 35,0, + 180035, 180044, 10,1, + 180045, 180076, 32,0, + 180077, 180089, 13,1, + 180090, 180125, 36,0, + 180126, 180134, 9,1, + 180135, 180172, 38,0, + 180173, 180179, 7,1, + 180180, 180217, 38,0, + 180218, 180404, 187,1, + 180405, 180443, 39,0, + 180444, 180449, 6,1, + 180450, 180490, 41,0, + 180491, 180494, 4,1, + 180495, 180536, 42,0, + 180537, 180539, 3,1, + 180540, 180580, 41,0, + 180581, 180584, 4,1, + 180585, 180620, 36,0, + 180621, 180629, 9,1, + 180630, 180666, 37,0, + 180667, 180674, 8,1, + 180675, 180713, 39,0, + 180714, 180719, 6,1, + 180720, 180759, 40,0, + 180760, 180764, 5,1, + 180765, 180805, 41,0, + 180806, 180809, 4,1, + 180810, 180849, 40,0, + 180850, 180854, 5,1, + 180855, 180894, 40,0, + 180895, 180899, 5,1, + 180900, 180942, 43,0, + 180943, 180944, 2,1, + 180945, 180987, 43,0, + 180988, 180989, 2,1, + 180990, 181031, 42,0, + 181032, 181034, 3,1, + 181035, 181077, 43,0, + 181078, 181079, 2,1, + 181080, 181122, 43,0, + 181123, 181124, 2,1, + 181125, 181167, 43,0, + 181168, 181169, 2,1, + 181170, 181210, 41,0, + 181211, 181214, 4,1, + 181215, 181255, 41,0, + 181256, 181259, 4,1, + 181260, 181294, 35,0, + 181295, 181574, 280,1, + 181575, 181602, 28,0, + 181603, 181619, 17,1, + 181620, 181647, 28,0, + 181648, 181664, 17,1, + 181665, 181700, 36,0, + 181701, 181709, 9,1, + 181710, 181749, 40,0, + 181750, 181754, 5,1, + 181755, 181763, 9,0, + 181764, 181799, 36,1, + 181800, 181807, 8,0, + 181808, 181844, 37,1, + 181845, 181865, 21,0, + 181866, 181889, 24,1, + 181890, 181923, 34,0, + 181924, 181934, 11,1, + 181935, 181969, 35,0, + 181970, 181979, 10,1, + 181980, 182014, 35,0, + 182015, 182024, 10,1, + 182025, 182059, 35,0, + 182060, 182069, 10,1, + 182070, 182104, 35,0, + 182105, 182114, 10,1, + 182115, 182150, 36,0, + 182151, 182159, 9,1, + 182160, 182197, 38,0, + 182198, 182204, 7,1, + 182205, 182242, 38,0, + 182243, 182429, 187,1, + 182430, 182468, 39,0, + 182469, 182474, 6,1, + 182475, 182515, 41,0, + 182516, 182519, 4,1, + 182520, 182561, 42,0, + 182562, 182564, 3,1, + 182565, 182607, 43,0, + 182608, 182609, 2,1, + 182610, 182647, 38,0, + 182648, 182654, 7,1, + 182655, 182691, 37,0, + 182692, 182699, 8,1, + 182700, 182739, 40,0, + 182740, 182744, 5,1, + 182745, 182785, 41,0, + 182786, 182789, 4,1, + 182790, 182830, 41,0, + 182831, 182834, 4,1, + 182835, 182875, 41,0, + 182876, 182879, 4,1, + 182880, 182919, 40,0, + 182920, 182924, 5,1, + 182925, 182967, 43,0, + 182968, 182969, 2,1, + 182970, 183012, 43,0, + 183013, 183014, 2,1, + 183015, 183057, 43,0, + 183058, 183059, 2,1, + 183060, 183103, 44,0, + 183104, 183104, 1,1, + 183105, 183147, 43,0, + 183148, 183149, 2,1, + 183150, 183193, 44,0, + 183194, 183194, 1,1, + 183195, 183235, 41,0, + 183236, 183239, 4,1, + 183240, 183280, 41,0, + 183281, 183284, 4,1, + 183285, 183323, 39,0, + 183324, 183599, 276,1, + 183600, 183629, 30,0, + 183630, 183644, 15,1, + 183645, 183676, 32,0, + 183677, 183689, 13,1, + 183690, 183717, 28,0, + 183718, 183734, 17,1, + 183735, 183746, 12,0, + 183747, 183779, 33,1, + 183780, 183785, 6,0, + 183786, 183824, 39,1, + 183825, 183831, 7,0, + 183832, 183869, 38,1, + 183870, 183879, 10,0, + 183880, 183914, 35,1, + 183915, 183946, 32,0, + 183947, 183959, 13,1, + 183960, 183994, 35,0, + 183995, 184004, 10,1, + 184005, 184039, 35,0, + 184040, 184049, 10,1, + 184050, 184084, 35,0, + 184085, 184094, 10,1, + 184095, 184129, 35,0, + 184130, 184139, 10,1, + 184140, 184175, 36,0, + 184176, 184184, 9,1, + 184185, 184222, 38,0, + 184223, 184229, 7,1, + 184230, 184267, 38,0, + 184268, 184275, 7,1, +}; +#endif diff --git a/TeosCpp/include/gsw_structs.h b/packages/gsw_cpp/teos-cpp/include/gsw_structs.h similarity index 99% rename from TeosCpp/include/gsw_structs.h rename to packages/gsw_cpp/teos-cpp/include/gsw_structs.h index b8691cb..28a005c 100644 --- a/TeosCpp/include/gsw_structs.h +++ b/packages/gsw_cpp/teos-cpp/include/gsw_structs.h @@ -2,7 +2,7 @@ #define GSW_STRUCTS_H_INCLUDED /**************************************** - Version 1.06 + Version 2.0 by Randall Kent Whited rkwhited@gmail.com ------------------ diff --git a/TeosCpp/include/map_struct.h b/packages/gsw_cpp/teos-cpp/include/map_struct.h similarity index 77% rename from TeosCpp/include/map_struct.h rename to packages/gsw_cpp/teos-cpp/include/map_struct.h index c908a2b..64795a5 100644 --- a/TeosCpp/include/map_struct.h +++ b/packages/gsw_cpp/teos-cpp/include/map_struct.h @@ -2,7 +2,7 @@ #define MAP_STRUCT_H_INCLUDED /************************* - Version 1.06 + Version 2.0 by Randall Kent Whited rkwhited@gmail.com **************************/ @@ -10,8 +10,12 @@ using namespace std; /************************************* -(the value repeated in original) -"replaced" in VLA (very large arrays) + ('8.9999999999999998e+90' was, in + the original C code, repeated 'ad + naseum'), so, it has been replaced + by a const double return value + returned when its old C code array + position ('[x]') is referenced. **************************************/ const double repeatSectionValue = 8.9999999999999998e+90; diff --git a/TeosCpp/include/saar_ref.h b/packages/gsw_cpp/teos-cpp/include/saar_ref.h similarity index 99% rename from TeosCpp/include/saar_ref.h rename to packages/gsw_cpp/teos-cpp/include/saar_ref.h index 066d95e..cbe2870 100644 --- a/TeosCpp/include/saar_ref.h +++ b/packages/gsw_cpp/teos-cpp/include/saar_ref.h @@ -2,19 +2,20 @@ #define SAAR_REF_H /**************************************** - Version 1.06 + Version 2.0 by Randall Kent Whited rkwhited@gmail.com ------------------ All copyrights and all license issues are the same as for the C version ------------------------------------- - The numbers in "**nnn*" comments are - the array numbers in the original. + The numbers in " **nnn* " comments + are the original array positions. -------------------------------------- - Even numbered locations were groups - of the same number which were removed - to save space and promote clarity. + Even numbered locations were long + sequences/groups of the same value + which were replaced to save space + and promote clarity. -------------------------------------- They are now accessed by computations. *****************************************/ diff --git a/packages/gsw_cpp/teos-cpp/include/saar_ref_map.h b/packages/gsw_cpp/teos-cpp/include/saar_ref_map.h new file mode 100644 index 0000000..39c71c1 --- /dev/null +++ b/packages/gsw_cpp/teos-cpp/include/saar_ref_map.h @@ -0,0 +1,6120 @@ +#ifndef SAAR_REF_MAP_H +#define SAAR_REF_MAP_H + +/******************************* + Version 2.0 + by Randall Kent Whited + rkwhited@gmail.com + ------------------ + This array is a 'map' of the + "saar_ref" + array in the original C code. + ----------------------------- +********************************/ + +/** struct definition */ +#include "map_struct.h" + +const unsigned maxSAARCOUNT = 6097; +/** columns are defined in map_struct.h */ +ARRAYINFO saarArrayInfo[maxSAARCOUNT] = +{ + 0, 179, 180,1, + 180, 218, 39,0, + 219, 224, 6,1, + 225, 265, 41,0, + 266, 269, 4,1, + 270, 311, 42,0, + 312, 314, 3,1, + 315, 357, 43,0, + 358, 359, 2,1, + 360, 397, 38,0, + 398, 404, 7,1, + 405, 441, 37,0, + 442, 449, 8,1, + 450, 489, 40,0, + 490, 494, 5,1, + 495, 535, 41,0, + 536, 539, 4,1, + 540, 580, 41,0, + 581, 584, 4,1, + 585, 625, 41,0, + 626, 629, 4,1, + 630, 669, 40,0, + 670, 674, 5,1, + 675, 717, 43,0, + 718, 719, 2,1, + 720, 762, 43,0, + 763, 764, 2,1, + 765, 807, 43,0, + 808, 809, 2,1, + 810, 853, 44,0, + 854, 854, 1,1, + 855, 897, 43,0, + 898, 899, 2,1, + 900, 943, 44,0, + 944, 944, 1,1, + 945, 985, 41,0, + 986, 989, 4,1, + 990, 1030, 41,0, + 1031, 1034, 4,1, + 1035, 1073, 39,0, + 1074, 1349, 276,1, + 1350, 1379, 30,0, + 1380, 1394, 15,1, + 1395, 1426, 32,0, + 1427, 1439, 13,1, + 1440, 1467, 28,0, + 1468, 1484, 17,1, + 1485, 1496, 12,0, + 1497, 1529, 33,1, + 1530, 1535, 6,0, + 1536, 1574, 39,1, + 1575, 1581, 7,0, + 1582, 1619, 38,1, + 1620, 1629, 10,0, + 1630, 1664, 35,1, + 1665, 1696, 32,0, + 1697, 1709, 13,1, + 1710, 1744, 35,0, + 1745, 1754, 10,1, + 1755, 1789, 35,0, + 1790, 1799, 10,1, + 1800, 1834, 35,0, + 1835, 1844, 10,1, + 1845, 1879, 35,0, + 1880, 1889, 10,1, + 1890, 1925, 36,0, + 1926, 1934, 9,1, + 1935, 1972, 38,0, + 1973, 1979, 7,1, + 1980, 2017, 38,0, + 2018, 2204, 187,1, + 2205, 2243, 39,0, + 2244, 2249, 6,1, + 2250, 2289, 40,0, + 2290, 2294, 5,1, + 2295, 2336, 42,0, + 2337, 2339, 3,1, + 2340, 2382, 43,0, + 2383, 2384, 2,1, + 2385, 2422, 38,0, + 2423, 2429, 7,1, + 2430, 2467, 38,0, + 2468, 2474, 7,1, + 2475, 2515, 41,0, + 2516, 2519, 4,1, + 2520, 2561, 42,0, + 2562, 2564, 3,1, + 2565, 2606, 42,0, + 2607, 2609, 3,1, + 2610, 2651, 42,0, + 2652, 2654, 3,1, + 2655, 2697, 43,0, + 2698, 2699, 2,1, + 2700, 2741, 42,0, + 2742, 2744, 3,1, + 2745, 2786, 42,0, + 2787, 2789, 3,1, + 2790, 2832, 43,0, + 2833, 2834, 2,1, + 2835, 2876, 42,0, + 2877, 2879, 3,1, + 2880, 2922, 43,0, + 2923, 2924, 2,1, + 2925, 2968, 44,0, + 2969, 2969, 1,1, + 2970, 3010, 41,0, + 3011, 3014, 4,1, + 3015, 3053, 39,0, + 3054, 3059, 6,1, + 3060, 3096, 37,0, + 3097, 3374, 278,1, + 3375, 3378, 4,0, + 3379, 3419, 41,1, + 3420, 3451, 32,0, + 3452, 3464, 13,1, + 3465, 3495, 31,0, + 3496, 3554, 59,1, + 3555, 3558, 4,0, + 3559, 3599, 41,1, + 3600, 3605, 6,0, + 3606, 3644, 39,1, + 3645, 3658, 14,0, + 3659, 3689, 31,1, + 3690, 3717, 28,0, + 3718, 3734, 17,1, + 3735, 3766, 32,0, + 3767, 3779, 13,1, + 3780, 3813, 34,0, + 3814, 3824, 11,1, + 3825, 3858, 34,0, + 3859, 3869, 11,1, + 3870, 3904, 35,0, + 3905, 3914, 10,1, + 3915, 3950, 36,0, + 3951, 3959, 9,1, + 3960, 3997, 38,0, + 3998, 4004, 7,1, + 4005, 4042, 38,0, + 4043, 4229, 187,1, + 4230, 4266, 37,0, + 4267, 4274, 8,1, + 4275, 4315, 41,0, + 4316, 4319, 4,1, + 4320, 4362, 43,0, + 4363, 4364, 2,1, + 4365, 4407, 43,0, + 4408, 4409, 2,1, + 4410, 4450, 41,0, + 4451, 4454, 4,1, + 4455, 4492, 38,0, + 4493, 4499, 7,1, + 4500, 4539, 40,0, + 4540, 4544, 5,1, + 4545, 4586, 42,0, + 4587, 4589, 3,1, + 4590, 4631, 42,0, + 4632, 4634, 3,1, + 4635, 4676, 42,0, + 4677, 4679, 3,1, + 4680, 4720, 41,0, + 4721, 4724, 4,1, + 4725, 4765, 41,0, + 4766, 4769, 4,1, + 4770, 4809, 40,0, + 4810, 4814, 5,1, + 4815, 4856, 42,0, + 4857, 4859, 3,1, + 4860, 4901, 42,0, + 4902, 4904, 3,1, + 4905, 4946, 42,0, + 4947, 4949, 3,1, + 4950, 4989, 40,0, + 4990, 4994, 5,1, + 4995, 5033, 39,0, + 5034, 5039, 6,1, + 5040, 5074, 35,0, + 5075, 5084, 10,1, + 5085, 5091, 7,0, + 5092, 5399, 308,1, + 5400, 5403, 4,0, + 5404, 5444, 41,1, + 5445, 5476, 32,0, + 5477, 5489, 13,1, + 5490, 5521, 32,0, + 5522, 5534, 13,1, + 5535, 5558, 24,0, + 5559, 5624, 66,1, + 5625, 5629, 5,0, + 5630, 5669, 40,1, + 5670, 5684, 15,0, + 5685, 5714, 30,1, + 5715, 5729, 15,0, + 5730, 5759, 30,1, + 5760, 5789, 30,0, + 5790, 5804, 15,1, + 5805, 5837, 33,0, + 5838, 5849, 12,1, + 5850, 5883, 34,0, + 5884, 5894, 11,1, + 5895, 5927, 33,0, + 5928, 5939, 12,1, + 5940, 5975, 36,0, + 5976, 5984, 9,1, + 5985, 6022, 38,0, + 6023, 6029, 7,1, + 6030, 6067, 38,0, + 6068, 6254, 187,1, + 6255, 6289, 35,0, + 6290, 6299, 10,1, + 6300, 6341, 42,0, + 6342, 6344, 3,1, + 6345, 6387, 43,0, + 6388, 6389, 2,1, + 6390, 6432, 43,0, + 6433, 6434, 2,1, + 6435, 6475, 41,0, + 6476, 6479, 4,1, + 6480, 6519, 40,0, + 6520, 6524, 5,1, + 6525, 6565, 41,0, + 6566, 6569, 4,1, + 6570, 6612, 43,0, + 6613, 6614, 2,1, + 6615, 6656, 42,0, + 6657, 6659, 3,1, + 6660, 6700, 41,0, + 6701, 6704, 4,1, + 6705, 6744, 40,0, + 6745, 6749, 5,1, + 6750, 6789, 40,0, + 6790, 6794, 5,1, + 6795, 6831, 37,0, + 6832, 6839, 8,1, + 6840, 6876, 37,0, + 6877, 6884, 8,1, + 6885, 6921, 37,0, + 6922, 6929, 8,1, + 6930, 6967, 38,0, + 6968, 6974, 7,1, + 6975, 7011, 37,0, + 7012, 7019, 8,1, + 7020, 7046, 27,0, + 7047, 7424, 378,1, + 7425, 7444, 20,0, + 7445, 7469, 25,1, + 7470, 7501, 32,0, + 7502, 7514, 13,1, + 7515, 7546, 32,0, + 7547, 7559, 13,1, + 7560, 7565, 6,0, + 7566, 7649, 84,1, + 7650, 7653, 4,0, + 7654, 7694, 41,1, + 7695, 7708, 14,0, + 7709, 7739, 31,1, + 7740, 7750, 11,0, + 7751, 7784, 34,1, + 7785, 7805, 21,0, + 7806, 7829, 24,1, + 7830, 7862, 33,0, + 7863, 7874, 12,1, + 7875, 7905, 31,0, + 7906, 7919, 14,1, + 7920, 7949, 30,0, + 7950, 7964, 15,1, + 7965, 8000, 36,0, + 8001, 8009, 9,1, + 8010, 8047, 38,0, + 8048, 8054, 7,1, + 8055, 8092, 38,0, + 8093, 8279, 187,1, + 8280, 8316, 37,0, + 8317, 8324, 8,1, + 8325, 8365, 41,0, + 8366, 8369, 4,1, + 8370, 8412, 43,0, + 8413, 8414, 2,1, + 8415, 8457, 43,0, + 8458, 8459, 2,1, + 8460, 8501, 42,0, + 8502, 8504, 3,1, + 8505, 8545, 41,0, + 8546, 8549, 4,1, + 8550, 8590, 41,0, + 8591, 8594, 4,1, + 8595, 8637, 43,0, + 8638, 8639, 2,1, + 8640, 8680, 41,0, + 8681, 8684, 4,1, + 8685, 8724, 40,0, + 8725, 8729, 5,1, + 8730, 8763, 34,0, + 8764, 8774, 11,1, + 8775, 8801, 27,0, + 8802, 8819, 18,1, + 8820, 8830, 11,0, + 8831, 9404, 574,1, + 9405, 9431, 27,0, + 9432, 9449, 18,1, + 9450, 9485, 36,0, + 9486, 9494, 9,1, + 9495, 9530, 36,0, + 9531, 9539, 9,1, + 9540, 9567, 28,0, + 9568, 9584, 17,1, + 9585, 9590, 6,0, + 9591, 9674, 84,1, + 9675, 9822, 148,0, + 9823, 9854, 32,1, + 9855, 9885, 31,0, + 9886, 9899, 14,1, + 9900, 9927, 28,0, + 9928, 9944, 17,1, + 9945, 9964, 20,0, + 9965, 9989, 25,1, + 9990, 10025, 36,0, + 10026, 10034, 9,1, + 10035, 10072, 38,0, + 10073, 10079, 7,1, + 10080, 10117, 38,0, + 10118, 10304, 187,1, + 10305, 10341, 37,0, + 10342, 10349, 8,1, + 10350, 10390, 41,0, + 10391, 10394, 4,1, + 10395, 10437, 43,0, + 10438, 10439, 2,1, + 10440, 10481, 42,0, + 10482, 10484, 3,1, + 10485, 10524, 40,0, + 10525, 10529, 5,1, + 10530, 10570, 41,0, + 10571, 10574, 4,1, + 10575, 10615, 41,0, + 10616, 10619, 4,1, + 10620, 10660, 41,0, + 10661, 10664, 4,1, + 10665, 10705, 41,0, + 10706, 10709, 4,1, + 10710, 10743, 34,0, + 10744, 10754, 11,1, + 10755, 10762, 8,0, + 10763, 11429, 667,1, + 11430, 11456, 27,0, + 11457, 11474, 18,1, + 11475, 11510, 36,0, + 11511, 11519, 9,1, + 11520, 11555, 36,0, + 11556, 11564, 9,1, + 11565, 11588, 24,0, + 11589, 11699, 111,1, + 11700, 11894, 195,0, + 11895, 11924, 30,1, + 11925, 11940, 16,0, + 11941, 11969, 29,1, + 11970, 11982, 13,0, + 11983, 12014, 32,1, + 12015, 12050, 36,0, + 12051, 12059, 9,1, + 12060, 12097, 38,0, + 12098, 12104, 7,1, + 12105, 12142, 38,0, + 12143, 12329, 187,1, + 12330, 12366, 37,0, + 12367, 12374, 8,1, + 12375, 12415, 41,0, + 12416, 12419, 4,1, + 12420, 12461, 42,0, + 12462, 12464, 3,1, + 12465, 12506, 42,0, + 12507, 12509, 3,1, + 12510, 12551, 42,0, + 12552, 12554, 3,1, + 12555, 12597, 43,0, + 12598, 12599, 2,1, + 12600, 12642, 43,0, + 12643, 12644, 2,1, + 12645, 12686, 42,0, + 12687, 12689, 3,1, + 12690, 12731, 42,0, + 12732, 12734, 3,1, + 12735, 12773, 39,0, + 12774, 13454, 681,1, + 13455, 13482, 28,0, + 13483, 13499, 17,1, + 13500, 13535, 36,0, + 13536, 13544, 9,1, + 13545, 13577, 33,0, + 13578, 13589, 12,1, + 13590, 13610, 21,0, + 13611, 13769, 159,1, + 13770, 13919, 150,0, + 13920, 13949, 30,1, + 13950, 13965, 16,0, + 13966, 13994, 29,1, + 13995, 14006, 12,0, + 14007, 14039, 33,1, + 14040, 14075, 36,0, + 14076, 14084, 9,1, + 14085, 14122, 38,0, + 14123, 14129, 7,1, + 14130, 14167, 38,0, + 14168, 14354, 187,1, + 14355, 14391, 37,0, + 14392, 14399, 8,1, + 14400, 14440, 41,0, + 14441, 14444, 4,1, + 14445, 14487, 43,0, + 14488, 14489, 2,1, + 14490, 14532, 43,0, + 14533, 14534, 2,1, + 14535, 14577, 43,0, + 14578, 14579, 2,1, + 14580, 14623, 44,0, + 14624, 14624, 1,1, + 14625, 14668, 44,0, + 14669, 14669, 1,1, + 14670, 14712, 43,0, + 14713, 14714, 2,1, + 14715, 14753, 39,0, + 14754, 14759, 6,1, + 14760, 14798, 39,0, + 14799, 14804, 6,1, + 14805, 14835, 31,0, + 14836, 15479, 644,1, + 15480, 15511, 32,0, + 15512, 15524, 13,1, + 15525, 15562, 38,0, + 15563, 15569, 7,1, + 15570, 15607, 38,0, + 15608, 15614, 7,1, + 15615, 15704, 90,0, + 15705, 15794, 90,1, + 15795, 15884, 90,0, + 15885, 15929, 45,1, + 15930, 15944, 15,0, + 15945, 15974, 30,1, + 15975, 15990, 16,0, + 15991, 16019, 29,1, + 16020, 16032, 13,0, + 16033, 16064, 32,1, + 16065, 16100, 36,0, + 16101, 16109, 9,1, + 16110, 16147, 38,0, + 16148, 16154, 7,1, + 16155, 16192, 38,0, + 16193, 16379, 187,1, + 16380, 16414, 35,0, + 16415, 16424, 10,1, + 16425, 16465, 41,0, + 16466, 16469, 4,1, + 16470, 16511, 42,0, + 16512, 16514, 3,1, + 16515, 16557, 43,0, + 16558, 16559, 2,1, + 16560, 16602, 43,0, + 16603, 16604, 2,1, + 16605, 16647, 43,0, + 16648, 16649, 2,1, + 16650, 16692, 43,0, + 16693, 16694, 2,1, + 16695, 16737, 43,0, + 16738, 16739, 2,1, + 16740, 16779, 40,0, + 16780, 16784, 5,1, + 16785, 16823, 39,0, + 16824, 16829, 6,1, + 16830, 16864, 35,0, + 16865, 16874, 10,1, + 16875, 16901, 27,0, + 16902, 17459, 558,1, + 17460, 17481, 22,0, + 17482, 17504, 23,1, + 17505, 17526, 22,0, + 17527, 17549, 23,1, + 17550, 17581, 32,0, + 17582, 17594, 13,1, + 17595, 17625, 31,0, + 17626, 17639, 14,1, + 17640, 17729, 90,0, + 17730, 17819, 90,1, + 17820, 17909, 90,0, + 17910, 17954, 45,1, + 17955, 17969, 15,0, + 17970, 17999, 30,1, + 18000, 18014, 15,0, + 18015, 18044, 30,1, + 18045, 18058, 14,0, + 18059, 18089, 31,1, + 18090, 18125, 36,0, + 18126, 18134, 9,1, + 18135, 18172, 38,0, + 18173, 18179, 7,1, + 18180, 18217, 38,0, + 18218, 18404, 187,1, + 18405, 18437, 33,0, + 18438, 18449, 12,1, + 18450, 18490, 41,0, + 18491, 18494, 4,1, + 18495, 18536, 42,0, + 18537, 18539, 3,1, + 18540, 18581, 42,0, + 18582, 18584, 3,1, + 18585, 18627, 43,0, + 18628, 18629, 2,1, + 18630, 18670, 41,0, + 18671, 18674, 4,1, + 18675, 18714, 40,0, + 18715, 18719, 5,1, + 18720, 18760, 41,0, + 18761, 18764, 4,1, + 18765, 18808, 44,0, + 18809, 18809, 1,1, + 18810, 18852, 43,0, + 18853, 18854, 2,1, + 18855, 18895, 41,0, + 18896, 18899, 4,1, + 18900, 18939, 40,0, + 18940, 18944, 5,1, + 18945, 18978, 34,0, + 18979, 18989, 11,1, + 18990, 19018, 29,0, + 19019, 19394, 376,1, + 19395, 19413, 19,0, + 19414, 19439, 26,1, + 19440, 19467, 28,0, + 19468, 19484, 17,1, + 19485, 19509, 25,0, + 19510, 19529, 20,1, + 19530, 19551, 22,0, + 19552, 19574, 23,1, + 19575, 19603, 29,0, + 19604, 19619, 16,1, + 19620, 19640, 21,0, + 19641, 19664, 24,1, + 19665, 19754, 90,0, + 19755, 19934, 180,1, + 19935, 19940, 6,0, + 19941, 19979, 39,1, + 19980, 19992, 13,0, + 19993, 20024, 32,1, + 20025, 20038, 14,0, + 20039, 20069, 31,1, + 20070, 20083, 14,0, + 20084, 20114, 31,1, + 20115, 20150, 36,0, + 20151, 20159, 9,1, + 20160, 20197, 38,0, + 20198, 20204, 7,1, + 20205, 20242, 38,0, + 20243, 20429, 187,1, + 20430, 20463, 34,0, + 20464, 20474, 11,1, + 20475, 20514, 40,0, + 20515, 20519, 5,1, + 20520, 20561, 42,0, + 20562, 20564, 3,1, + 20565, 20606, 42,0, + 20607, 20609, 3,1, + 20610, 20648, 39,0, + 20649, 20654, 6,1, + 20655, 20693, 39,0, + 20694, 20699, 6,1, + 20700, 20737, 38,0, + 20738, 20744, 7,1, + 20745, 20785, 41,0, + 20786, 20789, 4,1, + 20790, 20831, 42,0, + 20832, 20834, 3,1, + 20835, 20876, 42,0, + 20877, 20879, 3,1, + 20880, 20920, 41,0, + 20921, 20924, 4,1, + 20925, 20964, 40,0, + 20965, 20969, 5,1, + 20970, 21005, 36,0, + 21006, 21014, 9,1, + 21015, 21046, 32,0, + 21047, 21059, 13,1, + 21060, 21092, 33,0, + 21093, 21104, 12,1, + 21105, 21138, 34,0, + 21139, 21149, 11,1, + 21150, 21183, 34,0, + 21184, 21194, 11,1, + 21195, 21227, 33,0, + 21228, 21374, 147,1, + 21375, 21401, 27,0, + 21402, 21419, 18,1, + 21420, 21447, 28,0, + 21448, 21464, 17,1, + 21465, 21492, 28,0, + 21493, 21509, 17,1, + 21510, 21515, 6,0, + 21516, 21689, 174,1, + 21690, 21779, 90,0, + 21780, 21959, 180,1, + 21960, 21965, 6,0, + 21966, 22004, 39,1, + 22005, 22018, 14,0, + 22019, 22049, 31,1, + 22050, 22063, 14,0, + 22064, 22094, 31,1, + 22095, 22108, 14,0, + 22109, 22139, 31,1, + 22140, 22175, 36,0, + 22176, 22184, 9,1, + 22185, 22222, 38,0, + 22223, 22229, 7,1, + 22230, 22267, 38,0, + 22268, 22454, 187,1, + 22455, 22471, 17,0, + 22472, 22499, 28,1, + 22500, 22538, 39,0, + 22539, 22544, 6,1, + 22545, 22586, 42,0, + 22587, 22589, 3,1, + 22590, 22631, 42,0, + 22632, 22634, 3,1, + 22635, 22674, 40,0, + 22675, 22679, 5,1, + 22680, 22716, 37,0, + 22717, 22724, 8,1, + 22725, 22760, 36,0, + 22761, 22769, 9,1, + 22770, 22807, 38,0, + 22808, 22814, 7,1, + 22815, 22854, 40,0, + 22855, 22859, 5,1, + 22860, 22899, 40,0, + 22900, 22904, 5,1, + 22905, 22943, 39,0, + 22944, 22949, 6,1, + 22950, 22987, 38,0, + 22988, 22994, 7,1, + 22995, 23028, 34,0, + 23029, 23039, 11,1, + 23040, 23072, 33,0, + 23073, 23084, 12,1, + 23085, 23120, 36,0, + 23121, 23129, 9,1, + 23130, 23166, 37,0, + 23167, 23174, 8,1, + 23175, 23213, 39,0, + 23214, 23219, 6,1, + 23220, 23258, 39,0, + 23259, 23264, 6,1, + 23265, 23301, 37,0, + 23302, 23354, 53,1, + 23355, 23382, 28,0, + 23383, 23399, 17,1, + 23400, 23425, 26,0, + 23426, 23444, 19,1, + 23445, 23452, 8,0, + 23453, 23984, 532,1, + 23985, 23990, 6,0, + 23991, 24029, 39,1, + 24030, 24042, 13,0, + 24043, 24074, 32,1, + 24075, 24088, 14,0, + 24089, 24119, 31,1, + 24120, 24133, 14,0, + 24134, 24164, 31,1, + 24165, 24200, 36,0, + 24201, 24209, 9,1, + 24210, 24247, 38,0, + 24248, 24254, 7,1, + 24255, 24292, 38,0, + 24293, 24524, 232,1, + 24525, 24563, 39,0, + 24564, 24569, 6,1, + 24570, 24611, 42,0, + 24612, 24614, 3,1, + 24615, 24656, 42,0, + 24657, 24659, 3,1, + 24660, 24700, 41,0, + 24701, 24704, 4,1, + 24705, 24742, 38,0, + 24743, 24749, 7,1, + 24750, 24785, 36,0, + 24786, 24794, 9,1, + 24795, 24832, 38,0, + 24833, 24839, 7,1, + 24840, 24877, 38,0, + 24878, 24884, 7,1, + 24885, 24922, 38,0, + 24923, 24929, 7,1, + 24930, 24969, 40,0, + 24970, 24974, 5,1, + 24975, 25015, 41,0, + 25016, 25019, 4,1, + 25020, 25058, 39,0, + 25059, 25064, 6,1, + 25065, 25102, 38,0, + 25103, 25109, 7,1, + 25110, 25144, 35,0, + 25145, 25154, 10,1, + 25155, 25194, 40,0, + 25195, 25199, 5,1, + 25200, 25240, 41,0, + 25241, 25244, 4,1, + 25245, 25285, 41,0, + 25286, 25289, 4,1, + 25290, 25330, 41,0, + 25331, 25334, 4,1, + 25335, 25370, 36,0, + 25371, 25379, 9,1, + 25380, 25408, 29,0, + 25409, 25424, 16,1, + 25425, 25455, 31,0, + 25456, 25559, 104,1, + 25560, 25564, 5,0, + 25565, 25604, 40,1, + 25605, 25610, 6,0, + 25611, 26009, 399,1, + 26010, 26014, 5,0, + 26015, 26054, 40,1, + 26055, 26065, 11,0, + 26066, 26099, 34,1, + 26100, 26113, 14,0, + 26114, 26144, 31,1, + 26145, 26160, 16,0, + 26161, 26189, 29,1, + 26190, 26224, 35,0, + 26225, 26234, 10,1, + 26235, 26272, 38,0, + 26273, 26279, 7,1, + 26280, 26317, 38,0, + 26318, 26549, 232,1, + 26550, 26588, 39,0, + 26589, 26594, 6,1, + 26595, 26636, 42,0, + 26637, 26639, 3,1, + 26640, 26681, 42,0, + 26682, 26684, 3,1, + 26685, 26725, 41,0, + 26726, 26729, 4,1, + 26730, 26768, 39,0, + 26769, 26774, 6,1, + 26775, 26810, 36,0, + 26811, 26819, 9,1, + 26820, 26858, 39,0, + 26859, 26864, 6,1, + 26865, 26902, 38,0, + 26903, 26909, 7,1, + 26910, 26951, 42,0, + 26952, 26954, 3,1, + 26955, 26996, 42,0, + 26997, 26999, 3,1, + 27000, 27041, 42,0, + 27042, 27044, 3,1, + 27045, 27086, 42,0, + 27087, 27089, 3,1, + 27090, 27129, 40,0, + 27130, 27134, 5,1, + 27135, 27174, 40,0, + 27175, 27179, 5,1, + 27180, 27219, 40,0, + 27220, 27224, 5,1, + 27225, 27266, 42,0, + 27267, 27269, 3,1, + 27270, 27310, 41,0, + 27311, 27314, 4,1, + 27315, 27355, 41,0, + 27356, 27359, 4,1, + 27360, 27400, 41,0, + 27401, 27404, 4,1, + 27405, 27445, 41,0, + 27446, 27449, 4,1, + 27450, 27484, 35,0, + 27485, 27494, 10,1, + 27495, 27525, 31,0, + 27526, 27584, 59,1, + 27585, 27591, 7,0, + 27592, 27629, 38,1, + 27630, 27635, 6,0, + 27636, 28079, 444,1, + 28080, 28088, 9,0, + 28089, 28124, 36,1, + 28125, 28137, 13,0, + 28138, 28169, 32,1, + 28170, 28183, 14,0, + 28184, 28214, 31,1, + 28215, 28249, 35,0, + 28250, 28259, 10,1, + 28260, 28297, 38,0, + 28298, 28304, 7,1, + 28305, 28342, 38,0, + 28343, 28574, 232,1, + 28575, 28613, 39,0, + 28614, 28619, 6,1, + 28620, 28660, 41,0, + 28661, 28664, 4,1, + 28665, 28705, 41,0, + 28706, 28709, 4,1, + 28710, 28750, 41,0, + 28751, 28754, 4,1, + 28755, 28793, 39,0, + 28794, 28799, 6,1, + 28800, 28838, 39,0, + 28839, 28844, 6,1, + 28845, 28885, 41,0, + 28886, 28889, 4,1, + 28890, 28930, 41,0, + 28931, 28934, 4,1, + 28935, 28977, 43,0, + 28978, 28979, 2,1, + 28980, 29021, 42,0, + 29022, 29024, 3,1, + 29025, 29066, 42,0, + 29067, 29069, 3,1, + 29070, 29110, 41,0, + 29111, 29114, 4,1, + 29115, 29154, 40,0, + 29155, 29159, 5,1, + 29160, 29199, 40,0, + 29200, 29204, 5,1, + 29205, 29243, 39,0, + 29244, 29249, 6,1, + 29250, 29286, 37,0, + 29287, 29294, 8,1, + 29295, 29334, 40,0, + 29335, 29339, 5,1, + 29340, 29380, 41,0, + 29381, 29384, 4,1, + 29385, 29426, 42,0, + 29427, 29429, 3,1, + 29430, 29470, 41,0, + 29471, 29474, 4,1, + 29475, 29513, 39,0, + 29514, 29519, 6,1, + 29520, 29556, 37,0, + 29557, 29564, 8,1, + 29565, 29586, 22,0, + 29587, 29609, 23,1, + 29610, 29640, 31,0, + 29641, 30104, 464,1, + 30105, 30118, 14,0, + 30119, 30149, 31,1, + 30150, 30163, 14,0, + 30164, 30194, 31,1, + 30195, 30208, 14,0, + 30209, 30239, 31,1, + 30240, 30274, 35,0, + 30275, 30284, 10,1, + 30285, 30323, 39,0, + 30324, 30329, 6,1, + 30330, 30368, 39,0, + 30369, 30599, 231,1, + 30600, 30637, 38,0, + 30638, 30644, 7,1, + 30645, 30685, 41,0, + 30686, 30689, 4,1, + 30690, 30730, 41,0, + 30731, 30734, 4,1, + 30735, 30774, 40,0, + 30775, 30779, 5,1, + 30780, 30818, 39,0, + 30819, 30824, 6,1, + 30825, 30865, 41,0, + 30866, 30869, 4,1, + 30870, 30911, 42,0, + 30912, 30914, 3,1, + 30915, 30957, 43,0, + 30958, 30959, 2,1, + 30960, 31001, 42,0, + 31002, 31004, 3,1, + 31005, 31046, 42,0, + 31047, 31049, 3,1, + 31050, 31091, 42,0, + 31092, 31094, 3,1, + 31095, 31135, 41,0, + 31136, 31139, 4,1, + 31140, 31178, 39,0, + 31179, 31184, 6,1, + 31185, 31221, 37,0, + 31222, 31229, 8,1, + 31230, 31266, 37,0, + 31267, 31274, 8,1, + 31275, 31313, 39,0, + 31314, 31319, 6,1, + 31320, 31358, 39,0, + 31359, 31364, 6,1, + 31365, 31404, 40,0, + 31405, 31409, 5,1, + 31410, 31448, 39,0, + 31449, 31454, 6,1, + 31455, 31493, 39,0, + 31494, 31499, 6,1, + 31500, 31538, 39,0, + 31539, 31544, 6,1, + 31545, 31581, 37,0, + 31582, 31589, 8,1, + 31590, 31624, 35,0, + 31625, 31634, 10,1, + 31635, 31668, 34,0, + 31669, 32129, 461,1, + 32130, 32142, 13,0, + 32143, 32174, 32,1, + 32175, 32190, 16,0, + 32191, 32219, 29,1, + 32220, 32233, 14,0, + 32234, 32264, 31,1, + 32265, 32299, 35,0, + 32300, 32309, 10,1, + 32310, 32348, 39,0, + 32349, 32354, 6,1, + 32355, 32393, 39,0, + 32394, 32624, 231,1, + 32625, 32661, 37,0, + 32662, 32669, 8,1, + 32670, 32709, 40,0, + 32710, 32714, 5,1, + 32715, 32755, 41,0, + 32756, 32759, 4,1, + 32760, 32798, 39,0, + 32799, 32804, 6,1, + 32805, 32843, 39,0, + 32844, 32849, 6,1, + 32850, 32890, 41,0, + 32891, 32894, 4,1, + 32895, 32935, 41,0, + 32936, 32939, 4,1, + 32940, 32981, 42,0, + 32982, 32984, 3,1, + 32985, 33025, 41,0, + 33026, 33029, 4,1, + 33030, 33070, 41,0, + 33071, 33074, 4,1, + 33075, 33116, 42,0, + 33117, 33119, 3,1, + 33120, 33157, 38,0, + 33158, 33164, 7,1, + 33165, 33201, 37,0, + 33202, 33209, 8,1, + 33210, 33246, 37,0, + 33247, 33254, 8,1, + 33255, 33291, 37,0, + 33292, 33299, 8,1, + 33300, 33336, 37,0, + 33337, 33344, 8,1, + 33345, 33383, 39,0, + 33384, 33389, 6,1, + 33390, 33428, 39,0, + 33429, 33434, 6,1, + 33435, 33473, 39,0, + 33474, 33479, 6,1, + 33480, 33518, 39,0, + 33519, 33524, 6,1, + 33525, 33562, 38,0, + 33563, 33569, 7,1, + 33570, 33605, 36,0, + 33606, 33614, 9,1, + 33615, 33650, 36,0, + 33651, 33659, 9,1, + 33660, 33693, 34,0, + 33694, 34154, 461,1, + 34155, 34164, 10,0, + 34165, 34199, 35,1, + 34200, 34212, 13,0, + 34213, 34244, 32,1, + 34245, 34260, 16,0, + 34261, 34289, 29,1, + 34290, 34324, 35,0, + 34325, 34334, 10,1, + 34335, 34372, 38,0, + 34373, 34379, 7,1, + 34380, 34417, 38,0, + 34418, 34559, 142,1, + 34560, 34561, 2,0, + 34562, 34604, 43,1, + 34605, 34617, 13,0, + 34618, 34649, 32,1, + 34650, 34685, 36,0, + 34686, 34694, 9,1, + 34695, 34733, 39,0, + 34734, 34739, 6,1, + 34740, 34778, 39,0, + 34779, 34784, 6,1, + 34785, 34823, 39,0, + 34824, 34829, 6,1, + 34830, 34866, 37,0, + 34867, 34874, 8,1, + 34875, 34912, 38,0, + 34913, 34919, 7,1, + 34920, 34958, 39,0, + 34959, 34964, 6,1, + 34965, 35003, 39,0, + 35004, 35009, 6,1, + 35010, 35049, 40,0, + 35050, 35054, 5,1, + 35055, 35094, 40,0, + 35095, 35099, 5,1, + 35100, 35138, 39,0, + 35139, 35144, 6,1, + 35145, 35182, 38,0, + 35183, 35189, 7,1, + 35190, 35227, 38,0, + 35228, 35234, 7,1, + 35235, 35271, 37,0, + 35272, 35279, 8,1, + 35280, 35321, 42,0, + 35322, 35324, 3,1, + 35325, 35361, 37,0, + 35362, 35369, 8,1, + 35370, 35406, 37,0, + 35407, 35414, 8,1, + 35415, 35451, 37,0, + 35452, 35459, 8,1, + 35460, 35499, 40,0, + 35500, 35504, 5,1, + 35505, 35543, 39,0, + 35544, 35549, 6,1, + 35550, 35587, 38,0, + 35588, 35594, 7,1, + 35595, 35630, 36,0, + 35631, 35639, 9,1, + 35640, 35672, 33,0, + 35673, 35684, 12,1, + 35685, 35696, 12,0, + 35697, 36134, 438,1, + 36135, 36136, 2,0, + 36137, 36179, 43,1, + 36180, 36187, 8,0, + 36188, 36224, 37,1, + 36225, 36237, 13,0, + 36238, 36269, 32,1, + 36270, 36286, 17,0, + 36287, 36314, 28,1, + 36315, 36348, 34,0, + 36349, 36359, 11,1, + 36360, 36397, 38,0, + 36398, 36404, 7,1, + 36405, 36442, 38,0, + 36443, 36584, 142,1, + 36585, 36586, 2,0, + 36587, 36629, 43,1, + 36630, 36649, 20,0, + 36650, 36674, 25,1, + 36675, 36709, 35,0, + 36710, 36719, 10,1, + 36720, 36757, 38,0, + 36758, 36764, 7,1, + 36765, 36802, 38,0, + 36803, 36809, 7,1, + 36810, 36846, 37,0, + 36847, 36854, 8,1, + 36855, 36885, 31,0, + 36886, 36899, 14,1, + 36900, 36936, 37,0, + 36937, 36944, 8,1, + 36945, 36982, 38,0, + 36983, 36989, 7,1, + 36990, 37028, 39,0, + 37029, 37034, 6,1, + 37035, 37074, 40,0, + 37075, 37079, 5,1, + 37080, 37119, 40,0, + 37120, 37124, 5,1, + 37125, 37161, 37,0, + 37162, 37169, 8,1, + 37170, 37209, 40,0, + 37210, 37214, 5,1, + 37215, 37255, 41,0, + 37256, 37259, 4,1, + 37260, 37302, 43,0, + 37303, 37304, 2,1, + 37305, 37346, 42,0, + 37347, 37349, 3,1, + 37350, 37390, 41,0, + 37391, 37394, 4,1, + 37395, 37433, 39,0, + 37434, 37439, 6,1, + 37440, 37476, 37,0, + 37477, 37484, 8,1, + 37485, 37522, 38,0, + 37523, 37529, 7,1, + 37530, 37568, 39,0, + 37569, 37574, 6,1, + 37575, 37612, 38,0, + 37613, 37619, 7,1, + 37620, 37654, 35,0, + 37655, 37664, 10,1, + 37665, 37672, 8,0, + 37673, 38159, 487,1, + 38160, 38161, 2,0, + 38162, 38204, 43,1, + 38205, 38206, 2,0, + 38207, 38249, 43,1, + 38250, 38261, 12,0, + 38262, 38294, 33,1, + 38295, 38311, 17,0, + 38312, 38339, 28,1, + 38340, 38373, 34,0, + 38374, 38384, 11,1, + 38385, 38422, 38,0, + 38423, 38429, 7,1, + 38430, 38467, 38,0, + 38468, 38654, 187,1, + 38655, 38675, 21,0, + 38676, 38699, 24,1, + 38700, 38734, 35,0, + 38735, 38744, 10,1, + 38745, 38781, 37,0, + 38782, 38789, 8,1, + 38790, 38823, 34,0, + 38824, 38834, 11,1, + 38835, 38868, 34,0, + 38869, 38879, 11,1, + 38880, 38913, 34,0, + 38914, 38924, 11,1, + 38925, 38959, 35,0, + 38960, 38969, 10,1, + 38970, 39005, 36,0, + 39006, 39014, 9,1, + 39015, 39051, 37,0, + 39052, 39059, 8,1, + 39060, 39096, 37,0, + 39097, 39104, 8,1, + 39105, 39143, 39,0, + 39144, 39149, 6,1, + 39150, 39188, 39,0, + 39189, 39194, 6,1, + 39195, 39234, 40,0, + 39235, 39239, 5,1, + 39240, 39280, 41,0, + 39281, 39284, 4,1, + 39285, 39326, 42,0, + 39327, 39329, 3,1, + 39330, 39371, 42,0, + 39372, 39374, 3,1, + 39375, 39416, 42,0, + 39417, 39419, 3,1, + 39420, 39460, 41,0, + 39461, 39464, 4,1, + 39465, 39503, 39,0, + 39504, 39509, 6,1, + 39510, 39544, 35,0, + 39545, 39554, 10,1, + 39555, 39586, 32,0, + 39587, 39599, 13,1, + 39600, 39626, 27,0, + 39627, 40229, 603,1, + 40230, 40231, 2,0, + 40232, 40274, 43,1, + 40275, 40281, 7,0, + 40282, 40319, 38,1, + 40320, 40335, 16,0, + 40336, 40364, 29,1, + 40365, 40399, 35,0, + 40400, 40409, 10,1, + 40410, 40447, 38,0, + 40448, 40454, 7,1, + 40455, 40492, 38,0, + 40493, 40679, 187,1, + 40680, 40695, 16,0, + 40696, 40724, 29,1, + 40725, 40759, 35,0, + 40760, 40769, 10,1, + 40770, 40805, 36,0, + 40806, 40814, 9,1, + 40815, 40853, 39,0, + 40854, 40859, 6,1, + 40860, 40898, 39,0, + 40899, 40904, 6,1, + 40905, 40941, 37,0, + 40942, 40949, 8,1, + 40950, 40984, 35,0, + 40985, 40994, 10,1, + 40995, 41028, 34,0, + 41029, 41039, 11,1, + 41040, 41074, 35,0, + 41075, 41084, 10,1, + 41085, 41121, 37,0, + 41122, 41129, 8,1, + 41130, 41168, 39,0, + 41169, 41174, 6,1, + 41175, 41213, 39,0, + 41214, 41219, 6,1, + 41220, 41261, 42,0, + 41262, 41264, 3,1, + 41265, 41307, 43,0, + 41308, 41309, 2,1, + 41310, 41350, 41,0, + 41351, 41354, 4,1, + 41355, 41395, 41,0, + 41396, 41399, 4,1, + 41400, 41441, 42,0, + 41442, 41444, 3,1, + 41445, 41485, 41,0, + 41486, 41489, 4,1, + 41490, 41528, 39,0, + 41529, 41534, 6,1, + 41535, 41572, 38,0, + 41573, 41579, 7,1, + 41580, 41614, 35,0, + 41615, 41624, 10,1, + 41625, 41659, 35,0, + 41660, 41669, 10,1, + 41670, 41690, 21,0, + 41691, 42254, 564,1, + 42255, 42256, 2,0, + 42257, 42299, 43,1, + 42300, 42305, 6,0, + 42306, 42344, 39,1, + 42345, 42354, 10,0, + 42355, 42389, 35,1, + 42390, 42424, 35,0, + 42425, 42434, 10,1, + 42435, 42472, 38,0, + 42473, 42479, 7,1, + 42480, 42517, 38,0, + 42518, 42749, 232,1, + 42750, 42784, 35,0, + 42785, 42794, 10,1, + 42795, 42831, 37,0, + 42832, 42839, 8,1, + 42840, 42878, 39,0, + 42879, 42884, 6,1, + 42885, 42923, 39,0, + 42924, 42929, 6,1, + 42930, 42967, 38,0, + 42968, 42974, 7,1, + 42975, 43010, 36,0, + 43011, 43019, 9,1, + 43020, 43053, 34,0, + 43054, 43064, 11,1, + 43065, 43100, 36,0, + 43101, 43109, 9,1, + 43110, 43145, 36,0, + 43146, 43154, 9,1, + 43155, 43193, 39,0, + 43194, 43199, 6,1, + 43200, 43239, 40,0, + 43240, 43244, 5,1, + 43245, 43285, 41,0, + 43286, 43289, 4,1, + 43290, 43332, 43,0, + 43333, 43334, 2,1, + 43335, 43377, 43,0, + 43378, 43379, 2,1, + 43380, 43422, 43,0, + 43423, 43424, 2,1, + 43425, 43465, 41,0, + 43466, 43469, 4,1, + 43470, 43510, 41,0, + 43511, 43514, 4,1, + 43515, 43553, 39,0, + 43554, 43559, 6,1, + 43560, 43596, 37,0, + 43597, 43604, 8,1, + 43605, 43640, 36,0, + 43641, 43649, 9,1, + 43650, 43683, 34,0, + 43684, 43694, 11,1, + 43695, 43727, 33,0, + 43728, 44279, 552,1, + 44280, 44281, 2,0, + 44282, 44324, 43,1, + 44325, 44328, 4,0, + 44329, 44369, 41,1, + 44370, 44384, 15,0, + 44385, 44414, 30,1, + 44415, 44449, 35,0, + 44450, 44459, 10,1, + 44460, 44497, 38,0, + 44498, 44504, 7,1, + 44505, 44542, 38,0, + 44543, 44774, 232,1, + 44775, 44809, 35,0, + 44810, 44819, 10,1, + 44820, 44857, 38,0, + 44858, 44864, 7,1, + 44865, 44903, 39,0, + 44904, 44909, 6,1, + 44910, 44948, 39,0, + 44949, 44954, 6,1, + 44955, 44992, 38,0, + 44993, 44999, 7,1, + 45000, 45035, 36,0, + 45036, 45044, 9,1, + 45045, 45079, 35,0, + 45080, 45089, 10,1, + 45090, 45125, 36,0, + 45126, 45134, 9,1, + 45135, 45171, 37,0, + 45172, 45179, 8,1, + 45180, 45217, 38,0, + 45218, 45224, 7,1, + 45225, 45265, 41,0, + 45266, 45269, 4,1, + 45270, 45310, 41,0, + 45311, 45314, 4,1, + 45315, 45356, 42,0, + 45357, 45359, 3,1, + 45360, 45402, 43,0, + 45403, 45404, 2,1, + 45405, 45447, 43,0, + 45448, 45449, 2,1, + 45450, 45492, 43,0, + 45493, 45494, 2,1, + 45495, 45534, 40,0, + 45535, 45539, 5,1, + 45540, 45578, 39,0, + 45579, 45584, 6,1, + 45585, 45621, 37,0, + 45622, 45629, 8,1, + 45630, 45665, 36,0, + 45666, 45674, 9,1, + 45675, 45708, 34,0, + 45709, 45719, 11,1, + 45720, 45751, 32,0, + 45752, 45764, 13,1, + 45765, 45789, 25,0, + 45790, 46349, 560,1, + 46350, 46353, 4,0, + 46354, 46394, 41,1, + 46395, 46409, 15,0, + 46410, 46439, 30,1, + 46440, 46474, 35,0, + 46475, 46484, 10,1, + 46485, 46522, 38,0, + 46523, 46529, 7,1, + 46530, 46567, 38,0, + 46568, 46799, 232,1, + 46800, 46834, 35,0, + 46835, 46844, 10,1, + 46845, 46882, 38,0, + 46883, 46889, 7,1, + 46890, 46928, 39,0, + 46929, 46934, 6,1, + 46935, 46973, 39,0, + 46974, 46979, 6,1, + 46980, 47016, 37,0, + 47017, 47024, 8,1, + 47025, 47059, 35,0, + 47060, 47069, 10,1, + 47070, 47104, 35,0, + 47105, 47114, 10,1, + 47115, 47151, 37,0, + 47152, 47159, 8,1, + 47160, 47198, 39,0, + 47199, 47204, 6,1, + 47205, 47244, 40,0, + 47245, 47249, 5,1, + 47250, 47291, 42,0, + 47292, 47294, 3,1, + 47295, 47336, 42,0, + 47337, 47339, 3,1, + 47340, 47382, 43,0, + 47383, 47384, 2,1, + 47385, 47428, 44,0, + 47429, 47429, 1,1, + 47430, 47473, 44,0, + 47474, 47474, 1,1, + 47475, 47516, 42,0, + 47517, 47519, 3,1, + 47520, 47559, 40,0, + 47560, 47564, 5,1, + 47565, 47604, 40,0, + 47605, 47609, 5,1, + 47610, 47648, 39,0, + 47649, 47654, 6,1, + 47655, 47689, 35,0, + 47690, 47699, 10,1, + 47700, 47733, 34,0, + 47734, 47744, 11,1, + 47745, 47775, 31,0, + 47776, 47789, 14,1, + 47790, 47812, 23,0, + 47813, 48374, 562,1, + 48375, 48376, 2,0, + 48377, 48419, 43,1, + 48420, 48431, 12,0, + 48432, 48464, 33,1, + 48465, 48500, 36,0, + 48501, 48509, 9,1, + 48510, 48547, 38,0, + 48548, 48554, 7,1, + 48555, 48592, 38,0, + 48593, 48824, 232,1, + 48825, 48857, 33,0, + 48858, 48869, 12,1, + 48870, 48907, 38,0, + 48908, 48914, 7,1, + 48915, 48953, 39,0, + 48954, 48959, 6,1, + 48960, 48997, 38,0, + 48998, 49004, 7,1, + 49005, 49040, 36,0, + 49041, 49049, 9,1, + 49050, 49083, 34,0, + 49084, 49094, 11,1, + 49095, 49131, 37,0, + 49132, 49139, 8,1, + 49140, 49178, 39,0, + 49179, 49184, 6,1, + 49185, 49223, 39,0, + 49224, 49229, 6,1, + 49230, 49268, 39,0, + 49269, 49274, 6,1, + 49275, 49317, 43,0, + 49318, 49319, 2,1, + 49320, 49408, 89,0, + 49409, 49409, 1,1, + 49410, 49497, 88,0, + 49498, 49499, 2,1, + 49500, 49541, 42,0, + 49542, 49544, 3,1, + 49545, 49586, 42,0, + 49587, 49589, 3,1, + 49590, 49631, 42,0, + 49632, 49634, 3,1, + 49635, 49667, 33,0, + 49668, 49679, 12,1, + 49680, 49713, 34,0, + 49714, 49724, 11,1, + 49725, 49755, 31,0, + 49756, 49769, 14,1, + 49770, 49789, 20,0, + 49790, 50444, 655,1, + 50445, 50452, 8,0, + 50453, 50489, 37,1, + 50490, 50524, 35,0, + 50525, 50534, 10,1, + 50535, 50572, 38,0, + 50573, 50579, 7,1, + 50580, 50617, 38,0, + 50618, 50849, 232,1, + 50850, 50878, 29,0, + 50879, 50894, 16,1, + 50895, 50933, 39,0, + 50934, 50939, 6,1, + 50940, 50978, 39,0, + 50979, 50984, 6,1, + 50985, 51021, 37,0, + 51022, 51029, 8,1, + 51030, 51064, 35,0, + 51065, 51074, 10,1, + 51075, 51110, 36,0, + 51111, 51119, 9,1, + 51120, 51157, 38,0, + 51158, 51164, 7,1, + 51165, 51203, 39,0, + 51204, 51209, 6,1, + 51210, 51293, 84,0, + 51294, 51299, 6,1, + 51300, 51343, 44,0, + 51344, 51344, 1,1, + 51345, 51522, 178,0, + 51523, 51524, 2,1, + 51525, 51612, 88,0, + 51613, 51614, 2,1, + 51615, 51631, 17,0, + 51632, 51659, 28,1, + 51660, 51671, 12,0, + 51672, 51704, 33,1, + 51705, 51711, 7,0, + 51712, 51749, 38,1, + 51750, 51755, 6,0, + 51756, 52424, 669,1, + 52425, 52426, 2,0, + 52427, 52469, 43,1, + 52470, 52481, 12,0, + 52482, 52514, 33,1, + 52515, 52549, 35,0, + 52550, 52559, 10,1, + 52560, 52597, 38,0, + 52598, 52604, 7,1, + 52605, 52642, 38,0, + 52643, 52874, 232,1, + 52875, 52909, 35,0, + 52910, 52919, 10,1, + 52920, 52958, 39,0, + 52959, 52964, 6,1, + 52965, 53003, 39,0, + 53004, 53009, 6,1, + 53010, 53046, 37,0, + 53047, 53054, 8,1, + 53055, 53089, 35,0, + 53090, 53099, 10,1, + 53100, 53135, 36,0, + 53136, 53144, 9,1, + 53145, 53183, 39,0, + 53184, 53189, 6,1, + 53190, 53233, 44,0, + 53234, 53234, 1,1, + 53235, 53321, 87,0, + 53322, 53324, 3,1, + 53325, 53367, 43,0, + 53368, 53369, 2,1, + 53370, 53609, 240,0, + 53610, 53639, 30,1, + 53640, 53646, 7,0, + 53647, 53684, 38,1, + 53685, 53691, 7,0, + 53692, 53729, 38,1, + 53730, 53736, 7,0, + 53737, 53774, 38,1, + 53775, 53778, 4,0, + 53779, 53819, 41,1, + 53820, 53822, 3,0, + 53823, 54449, 627,1, + 54450, 54451, 2,0, + 54452, 54494, 43,1, + 54495, 54520, 26,0, + 54521, 54539, 19,1, + 54540, 54574, 35,0, + 54575, 54584, 10,1, + 54585, 54622, 38,0, + 54623, 54629, 7,1, + 54630, 54667, 38,0, + 54668, 54899, 232,1, + 54900, 54933, 34,0, + 54934, 54944, 11,1, + 54945, 54982, 38,0, + 54983, 54989, 7,1, + 54990, 55028, 39,0, + 55029, 55034, 6,1, + 55035, 55072, 38,0, + 55073, 55079, 7,1, + 55080, 55114, 35,0, + 55115, 55124, 10,1, + 55125, 55161, 37,0, + 55162, 55169, 8,1, + 55170, 55208, 39,0, + 55209, 55214, 6,1, + 55215, 55257, 43,0, + 55258, 55259, 2,1, + 55260, 55302, 43,0, + 55303, 55304, 2,1, + 55305, 55348, 44,0, + 55349, 55349, 1,1, + 55350, 55393, 44,0, + 55394, 55394, 1,1, + 55395, 55437, 43,0, + 55438, 55439, 2,1, + 55440, 55607, 168,0, + 55608, 55619, 12,1, + 55620, 55625, 6,0, + 55626, 55664, 39,1, + 55665, 55672, 8,0, + 55673, 55709, 37,1, + 55710, 55736, 27,0, + 55737, 55754, 18,1, + 55755, 55783, 29,0, + 55784, 55799, 16,1, + 55800, 55827, 28,0, + 55828, 55844, 17,1, + 55845, 55868, 24,0, + 55869, 55889, 21,1, + 55890, 55895, 6,0, + 55896, 56474, 579,1, + 56475, 56476, 2,0, + 56477, 56519, 43,1, + 56520, 56549, 30,0, + 56550, 56564, 15,1, + 56565, 56599, 35,0, + 56600, 56609, 10,1, + 56610, 56647, 38,0, + 56648, 56654, 7,1, + 56655, 56692, 38,0, + 56693, 56924, 232,1, + 56925, 56958, 34,0, + 56959, 56969, 11,1, + 56970, 57008, 39,0, + 57009, 57014, 6,1, + 57015, 57053, 39,0, + 57054, 57059, 6,1, + 57060, 57098, 39,0, + 57099, 57104, 6,1, + 57105, 57140, 36,0, + 57141, 57149, 9,1, + 57150, 57187, 38,0, + 57188, 57194, 7,1, + 57195, 57233, 39,0, + 57234, 57239, 6,1, + 57240, 57281, 42,0, + 57282, 57284, 3,1, + 57285, 57326, 42,0, + 57327, 57329, 3,1, + 57330, 57373, 44,0, + 57374, 57374, 1,1, + 57375, 57418, 44,0, + 57419, 57419, 1,1, + 57420, 57460, 41,0, + 57461, 57464, 4,1, + 57465, 57507, 43,0, + 57508, 57509, 2,1, + 57510, 57552, 43,0, + 57553, 57554, 2,1, + 57555, 57605, 51,0, + 57606, 57644, 39,1, + 57645, 57649, 5,0, + 57650, 57689, 40,1, + 57690, 57696, 7,0, + 57697, 57734, 38,1, + 57735, 57766, 32,0, + 57767, 57779, 13,1, + 57780, 57813, 34,0, + 57814, 57824, 11,1, + 57825, 57858, 34,0, + 57859, 57869, 11,1, + 57870, 57903, 34,0, + 57904, 57914, 11,1, + 57915, 57927, 13,0, + 57928, 58499, 572,1, + 58500, 58501, 2,0, + 58502, 58544, 43,1, + 58545, 58577, 33,0, + 58578, 58589, 12,1, + 58590, 58625, 36,0, + 58626, 58634, 9,1, + 58635, 58672, 38,0, + 58673, 58679, 7,1, + 58680, 58717, 38,0, + 58718, 58949, 232,1, + 58950, 58982, 33,0, + 58983, 58994, 12,1, + 58995, 59033, 39,0, + 59034, 59039, 6,1, + 59040, 59078, 39,0, + 59079, 59084, 6,1, + 59085, 59123, 39,0, + 59124, 59129, 6,1, + 59130, 59165, 36,0, + 59166, 59174, 9,1, + 59175, 59212, 38,0, + 59213, 59219, 7,1, + 59220, 59259, 40,0, + 59260, 59264, 5,1, + 59265, 59306, 42,0, + 59307, 59309, 3,1, + 59310, 59351, 42,0, + 59352, 59354, 3,1, + 59355, 59393, 39,0, + 59394, 59399, 6,1, + 59400, 59402, 3,0, + 59403, 59444, 42,1, + 59445, 59469, 25,0, + 59470, 59489, 20,1, + 59490, 59533, 44,0, + 59534, 59534, 1,1, + 59535, 59578, 44,0, + 59579, 59579, 1,1, + 59580, 59650, 71,0, + 59651, 59669, 19,1, + 59670, 59692, 23,0, + 59693, 59714, 22,1, + 59715, 59733, 19,0, + 59734, 59759, 26,1, + 59760, 59791, 32,0, + 59792, 59804, 13,1, + 59805, 59838, 34,0, + 59839, 59849, 11,1, + 59850, 59883, 34,0, + 59884, 59894, 11,1, + 59895, 59928, 34,0, + 59929, 59939, 11,1, + 59940, 59971, 32,0, + 59972, 59984, 13,1, + 59985, 59986, 2,0, + 59987, 60524, 538,1, + 60525, 60530, 6,0, + 60531, 60569, 39,1, + 60570, 60603, 34,0, + 60604, 60614, 11,1, + 60615, 60650, 36,0, + 60651, 60659, 9,1, + 60660, 60697, 38,0, + 60698, 60704, 7,1, + 60705, 60742, 38,0, + 60743, 60974, 232,1, + 60975, 61010, 36,0, + 61011, 61019, 9,1, + 61020, 61058, 39,0, + 61059, 61064, 6,1, + 61065, 61104, 40,0, + 61105, 61109, 5,1, + 61110, 61148, 39,0, + 61149, 61154, 6,1, + 61155, 61193, 39,0, + 61194, 61199, 6,1, + 61200, 61238, 39,0, + 61239, 61244, 6,1, + 61245, 61285, 41,0, + 61286, 61289, 4,1, + 61290, 61333, 44,0, + 61334, 61334, 1,1, + 61335, 61376, 42,0, + 61377, 61469, 93,1, + 61470, 61473, 4,0, + 61474, 61514, 41,1, + 61515, 61558, 44,0, + 61559, 61559, 1,1, + 61560, 61603, 44,0, + 61604, 61604, 1,1, + 61605, 61647, 43,0, + 61648, 61649, 2,1, + 61650, 61686, 37,0, + 61687, 61694, 8,1, + 61695, 61723, 29,0, + 61724, 61739, 16,1, + 61740, 61781, 42,0, + 61782, 61784, 3,1, + 61785, 61824, 40,0, + 61825, 61829, 5,1, + 61830, 61869, 40,0, + 61870, 61874, 5,1, + 61875, 61908, 34,0, + 61909, 61919, 11,1, + 61920, 61953, 34,0, + 61954, 61964, 11,1, + 61965, 62003, 39,0, + 62004, 62009, 6,1, + 62010, 62041, 32,0, + 62042, 62054, 13,1, + 62055, 62059, 5,0, + 62060, 62099, 40,1, + 62100, 62104, 5,0, + 62105, 62144, 40,1, + 62145, 62150, 6,0, + 62151, 62189, 39,1, + 62190, 62192, 3,0, + 62193, 62549, 357,1, + 62550, 62556, 7,0, + 62557, 62594, 38,1, + 62595, 62628, 34,0, + 62629, 62639, 11,1, + 62640, 62676, 37,0, + 62677, 62684, 8,1, + 62685, 62721, 37,0, + 62722, 62729, 8,1, + 62730, 62767, 38,0, + 62768, 62999, 232,1, + 63000, 63035, 36,0, + 63036, 63044, 9,1, + 63045, 63083, 39,0, + 63084, 63089, 6,1, + 63090, 63129, 40,0, + 63130, 63134, 5,1, + 63135, 63174, 40,0, + 63175, 63179, 5,1, + 63180, 63219, 40,0, + 63220, 63224, 5,1, + 63225, 63264, 40,0, + 63265, 63269, 5,1, + 63270, 63312, 43,0, + 63313, 63314, 2,1, + 63315, 63358, 44,0, + 63359, 63359, 1,1, + 63360, 63402, 43,0, + 63403, 63539, 137,1, + 63540, 63545, 6,0, + 63546, 63584, 39,1, + 63585, 63615, 31,0, + 63616, 63629, 14,1, + 63630, 63668, 39,0, + 63669, 63674, 6,1, + 63675, 63713, 39,0, + 63714, 63719, 6,1, + 63720, 63758, 39,0, + 63759, 63764, 6,1, + 63765, 63806, 42,0, + 63807, 63809, 3,1, + 63810, 63851, 42,0, + 63852, 63854, 3,1, + 63855, 63988, 134,0, + 63989, 63989, 1,1, + 63990, 64068, 79,0, + 64069, 64079, 11,1, + 64080, 64088, 9,0, + 64089, 64124, 36,1, + 64125, 64132, 8,0, + 64133, 64169, 37,1, + 64170, 64176, 7,0, + 64177, 64574, 398,1, + 64575, 64581, 7,0, + 64582, 64619, 38,1, + 64620, 64654, 35,0, + 64655, 64664, 10,1, + 64665, 64701, 37,0, + 64702, 64709, 8,1, + 64710, 64746, 37,0, + 64747, 64754, 8,1, + 64755, 64792, 38,0, + 64793, 65024, 232,1, + 65025, 65060, 36,0, + 65061, 65069, 9,1, + 65070, 65109, 40,0, + 65110, 65114, 5,1, + 65115, 65154, 40,0, + 65155, 65159, 5,1, + 65160, 65199, 40,0, + 65200, 65204, 5,1, + 65205, 65244, 40,0, + 65245, 65249, 5,1, + 65250, 65292, 43,0, + 65293, 65294, 2,1, + 65295, 65337, 43,0, + 65338, 65339, 2,1, + 65340, 65382, 43,0, + 65383, 65384, 2,1, + 65385, 65427, 43,0, + 65428, 65429, 2,1, + 65430, 65435, 6,0, + 65436, 65609, 174,1, + 65610, 65617, 8,0, + 65618, 65654, 37,1, + 65655, 65687, 33,0, + 65688, 65699, 12,1, + 65700, 65738, 39,0, + 65739, 65744, 6,1, + 65745, 65783, 39,0, + 65784, 65789, 6,1, + 65790, 65833, 44,0, + 65834, 65834, 1,1, + 65835, 66129, 295,0, + 66130, 66149, 20,1, + 66150, 66167, 18,0, + 66168, 66194, 27,1, + 66195, 66213, 19,0, + 66214, 66239, 26,1, + 66240, 66257, 18,0, + 66258, 66554, 297,1, + 66555, 66556, 2,0, + 66557, 66599, 43,1, + 66600, 66605, 6,0, + 66606, 66644, 39,1, + 66645, 66679, 35,0, + 66680, 66689, 10,1, + 66690, 66726, 37,0, + 66727, 66734, 8,1, + 66735, 66771, 37,0, + 66772, 66779, 8,1, + 66780, 66817, 38,0, + 66818, 67049, 232,1, + 67050, 67083, 34,0, + 67084, 67094, 11,1, + 67095, 67134, 40,0, + 67135, 67139, 5,1, + 67140, 67179, 40,0, + 67180, 67184, 5,1, + 67185, 67223, 39,0, + 67224, 67229, 6,1, + 67230, 67266, 37,0, + 67267, 67274, 8,1, + 67275, 67315, 41,0, + 67316, 67319, 4,1, + 67320, 67362, 43,0, + 67363, 67364, 2,1, + 67365, 67407, 43,0, + 67408, 67409, 2,1, + 67410, 67452, 43,0, + 67453, 67454, 2,1, + 67455, 67460, 6,0, + 67461, 67634, 174,1, + 67635, 67639, 5,0, + 67640, 67679, 40,1, + 67680, 67705, 26,0, + 67706, 67724, 19,1, + 67725, 67762, 38,0, + 67763, 67769, 7,1, + 67770, 67806, 37,0, + 67807, 67814, 8,1, + 67815, 67854, 40,0, + 67855, 67859, 5,1, + 67860, 67902, 43,0, + 67903, 67904, 2,1, + 67905, 67993, 89,0, + 67994, 67994, 1,1, + 67995, 68127, 133,0, + 68128, 68129, 2,1, + 68130, 68171, 42,0, + 68172, 68174, 3,1, + 68175, 68209, 35,0, + 68210, 68219, 10,1, + 68220, 68237, 18,0, + 68238, 68264, 27,1, + 68265, 68283, 19,0, + 68284, 68579, 296,1, + 68580, 68581, 2,0, + 68582, 68624, 43,1, + 68625, 68629, 5,0, + 68630, 68669, 40,1, + 68670, 68704, 35,0, + 68705, 68714, 10,1, + 68715, 68751, 37,0, + 68752, 68759, 8,1, + 68760, 68796, 37,0, + 68797, 68804, 8,1, + 68805, 68842, 38,0, + 68843, 69074, 232,1, + 69075, 69109, 35,0, + 69110, 69119, 10,1, + 69120, 69158, 39,0, + 69159, 69164, 6,1, + 69165, 69204, 40,0, + 69205, 69209, 5,1, + 69210, 69247, 38,0, + 69248, 69254, 7,1, + 69255, 69291, 37,0, + 69292, 69299, 8,1, + 69300, 69339, 40,0, + 69340, 69344, 5,1, + 69345, 69387, 43,0, + 69388, 69389, 2,1, + 69390, 69432, 43,0, + 69433, 69434, 2,1, + 69435, 69469, 35,0, + 69470, 69479, 10,1, + 69480, 69482, 3,0, + 69483, 69614, 132,1, + 69615, 69617, 3,0, + 69618, 69659, 42,1, + 69660, 69665, 6,0, + 69666, 69704, 39,1, + 69705, 69714, 10,0, + 69715, 69749, 35,1, + 69750, 69781, 32,0, + 69782, 69794, 13,1, + 69795, 69834, 40,0, + 69835, 69839, 5,1, + 69840, 69880, 41,0, + 69881, 69884, 4,1, + 69885, 70016, 132,0, + 70017, 70019, 3,1, + 70020, 70063, 44,0, + 70064, 70064, 1,1, + 70065, 70108, 44,0, + 70109, 70109, 1,1, + 70110, 70152, 43,0, + 70153, 70154, 2,1, + 70155, 70195, 41,0, + 70196, 70199, 4,1, + 70200, 70239, 40,0, + 70240, 70244, 5,1, + 70245, 70263, 19,0, + 70264, 70289, 26,1, + 70290, 70308, 19,0, + 70309, 70334, 26,1, + 70335, 70352, 18,0, + 70353, 70424, 72,1, + 70425, 70431, 7,0, + 70432, 70469, 38,1, + 70470, 70476, 7,0, + 70477, 70604, 128,1, + 70605, 70606, 2,0, + 70607, 70649, 43,1, + 70650, 70653, 4,0, + 70654, 70694, 41,1, + 70695, 70728, 34,0, + 70729, 70739, 11,1, + 70740, 70776, 37,0, + 70777, 70784, 8,1, + 70785, 70821, 37,0, + 70822, 70829, 8,1, + 70830, 70867, 38,0, + 70868, 71099, 232,1, + 71100, 71134, 35,0, + 71135, 71144, 10,1, + 71145, 71183, 39,0, + 71184, 71189, 6,1, + 71190, 71228, 39,0, + 71229, 71234, 6,1, + 71235, 71271, 37,0, + 71272, 71279, 8,1, + 71280, 71317, 38,0, + 71318, 71324, 7,1, + 71325, 71364, 40,0, + 71365, 71369, 5,1, + 71370, 71411, 42,0, + 71412, 71414, 3,1, + 71415, 71457, 43,0, + 71458, 71459, 2,1, + 71460, 71464, 5,0, + 71465, 71639, 175,1, + 71640, 71645, 6,0, + 71646, 71684, 39,1, + 71685, 71690, 6,0, + 71691, 71729, 39,1, + 71730, 71735, 6,0, + 71736, 71774, 39,1, + 71775, 71779, 5,0, + 71780, 71819, 40,1, + 71820, 71857, 38,0, + 71858, 71864, 7,1, + 71865, 71902, 38,0, + 71903, 71909, 7,1, + 71910, 71948, 39,0, + 71949, 71954, 6,1, + 71955, 72040, 86,0, + 72041, 72044, 4,1, + 72045, 72086, 42,0, + 72087, 72089, 3,1, + 72090, 72131, 42,0, + 72132, 72134, 3,1, + 72135, 72176, 42,0, + 72177, 72179, 3,1, + 72180, 72301, 122,0, + 72302, 72314, 13,1, + 72315, 72337, 23,0, + 72338, 72359, 22,1, + 72360, 72378, 19,0, + 72379, 72404, 26,1, + 72405, 72422, 18,0, + 72423, 72449, 27,1, + 72450, 72464, 15,0, + 72465, 72494, 30,1, + 72495, 72508, 14,0, + 72509, 72629, 121,1, + 72630, 72631, 2,0, + 72632, 72674, 43,1, + 72675, 72677, 3,0, + 72678, 72719, 42,1, + 72720, 72751, 32,0, + 72752, 72764, 13,1, + 72765, 72798, 34,0, + 72799, 72809, 11,1, + 72810, 72843, 34,0, + 72844, 72854, 11,1, + 72855, 72892, 38,0, + 72893, 73124, 232,1, + 73125, 73160, 36,0, + 73161, 73169, 9,1, + 73170, 73207, 38,0, + 73208, 73214, 7,1, + 73215, 73252, 38,0, + 73253, 73259, 7,1, + 73260, 73296, 37,0, + 73297, 73304, 8,1, + 73305, 73342, 38,0, + 73343, 73349, 7,1, + 73350, 73389, 40,0, + 73390, 73394, 5,1, + 73395, 73434, 40,0, + 73435, 73439, 5,1, + 73440, 73474, 35,0, + 73475, 73664, 190,1, + 73665, 73690, 26,0, + 73691, 73709, 19,1, + 73710, 73743, 34,0, + 73744, 73754, 11,1, + 73755, 73786, 32,0, + 73787, 73799, 13,1, + 73800, 73829, 30,0, + 73830, 73844, 15,1, + 73845, 73882, 38,0, + 73883, 73889, 7,1, + 73890, 73928, 39,0, + 73929, 73934, 6,1, + 73935, 73972, 38,0, + 73973, 73979, 7,1, + 73980, 74109, 130,0, + 74110, 74114, 5,1, + 74115, 74418, 304,0, + 74419, 74429, 11,1, + 74430, 74457, 28,0, + 74458, 74474, 17,1, + 74475, 74501, 27,0, + 74502, 74519, 18,1, + 74520, 74535, 16,0, + 74536, 74654, 119,1, + 74655, 74656, 2,0, + 74657, 74699, 43,1, + 74700, 74701, 2,0, + 74702, 74744, 43,1, + 74745, 74771, 27,0, + 74772, 74789, 18,1, + 74790, 74819, 30,0, + 74820, 74834, 15,1, + 74835, 74867, 33,0, + 74868, 74879, 12,1, + 74880, 74917, 38,0, + 74918, 75104, 187,1, + 75105, 75121, 17,0, + 75122, 75149, 28,1, + 75150, 75185, 36,0, + 75186, 75194, 9,1, + 75195, 75231, 37,0, + 75232, 75239, 8,1, + 75240, 75276, 37,0, + 75277, 75284, 8,1, + 75285, 75322, 38,0, + 75323, 75329, 7,1, + 75330, 75367, 38,0, + 75368, 75374, 7,1, + 75375, 75412, 38,0, + 75413, 75419, 7,1, + 75420, 75458, 39,0, + 75459, 75464, 6,1, + 75465, 75502, 38,0, + 75503, 75509, 7,1, + 75510, 75513, 4,0, + 75514, 75644, 131,1, + 75645, 75650, 6,0, + 75651, 75689, 39,1, + 75690, 75717, 28,0, + 75718, 75734, 17,1, + 75735, 75773, 39,0, + 75774, 75779, 6,1, + 75780, 75816, 37,0, + 75817, 75824, 8,1, + 75825, 75864, 40,0, + 75865, 75869, 5,1, + 75870, 75912, 43,0, + 75913, 75914, 2,1, + 75915, 75957, 43,0, + 75958, 75959, 2,1, + 75960, 76000, 41,0, + 76001, 76004, 4,1, + 76005, 76487, 483,0, + 76488, 76499, 12,1, + 76500, 76526, 27,0, + 76527, 76544, 18,1, + 76545, 76559, 15,0, + 76560, 76679, 120,1, + 76680, 76681, 2,0, + 76682, 76724, 43,1, + 76725, 76726, 2,0, + 76727, 76769, 43,1, + 76770, 76792, 23,0, + 76793, 76814, 22,1, + 76815, 76845, 31,0, + 76846, 76859, 14,1, + 76860, 76893, 34,0, + 76894, 76904, 11,1, + 76905, 76942, 38,0, + 76943, 77129, 187,1, + 77130, 77148, 19,0, + 77149, 77174, 26,1, + 77175, 77209, 35,0, + 77210, 77219, 10,1, + 77220, 77255, 36,0, + 77256, 77264, 9,1, + 77265, 77300, 36,0, + 77301, 77309, 9,1, + 77310, 77348, 39,0, + 77349, 77354, 6,1, + 77355, 77393, 39,0, + 77394, 77399, 6,1, + 77400, 77438, 39,0, + 77439, 77444, 6,1, + 77445, 77483, 39,0, + 77484, 77489, 6,1, + 77490, 77529, 40,0, + 77530, 77534, 5,1, + 77535, 77573, 39,0, + 77574, 77579, 6,1, + 77580, 77618, 39,0, + 77619, 77624, 6,1, + 77625, 77660, 36,0, + 77661, 77669, 9,1, + 77670, 77700, 31,0, + 77701, 77714, 14,1, + 77715, 77750, 36,0, + 77751, 77759, 9,1, + 77760, 77798, 39,0, + 77799, 77804, 6,1, + 77805, 77845, 41,0, + 77846, 77849, 4,1, + 77850, 77890, 41,0, + 77891, 77894, 4,1, + 77895, 77937, 43,0, + 77938, 77939, 2,1, + 77940, 77981, 42,0, + 77982, 77984, 3,1, + 77985, 78025, 41,0, + 78026, 78029, 4,1, + 78030, 78208, 179,0, + 78209, 78209, 1,1, + 78210, 78388, 179,0, + 78389, 78389, 1,1, + 78390, 78513, 124,0, + 78514, 78524, 11,1, + 78525, 78548, 24,0, + 78549, 78569, 21,1, + 78570, 78588, 19,0, + 78589, 78704, 116,1, + 78705, 78706, 2,0, + 78707, 78749, 43,1, + 78750, 78753, 4,0, + 78754, 78794, 41,1, + 78795, 78816, 22,0, + 78817, 78839, 23,1, + 78840, 78871, 32,0, + 78872, 78884, 13,1, + 78885, 78920, 36,0, + 78921, 78929, 9,1, + 78930, 78967, 38,0, + 78968, 79154, 187,1, + 79155, 79176, 22,0, + 79177, 79199, 23,1, + 79200, 79234, 35,0, + 79235, 79244, 10,1, + 79245, 79280, 36,0, + 79281, 79289, 9,1, + 79290, 79331, 42,0, + 79332, 79334, 3,1, + 79335, 79373, 39,0, + 79374, 79379, 6,1, + 79380, 79418, 39,0, + 79419, 79424, 6,1, + 79425, 79465, 41,0, + 79466, 79469, 4,1, + 79470, 79509, 40,0, + 79510, 79514, 5,1, + 79515, 79555, 41,0, + 79556, 79559, 4,1, + 79560, 79599, 40,0, + 79600, 79604, 5,1, + 79605, 79644, 40,0, + 79645, 79649, 5,1, + 79650, 79689, 40,0, + 79690, 79694, 5,1, + 79695, 79731, 37,0, + 79732, 79739, 8,1, + 79740, 79776, 37,0, + 79777, 79784, 8,1, + 79785, 79823, 39,0, + 79824, 79829, 6,1, + 79830, 79868, 39,0, + 79869, 79874, 6,1, + 79875, 79914, 40,0, + 79915, 79919, 5,1, + 79920, 79955, 36,0, + 79956, 79964, 9,1, + 79965, 79999, 35,0, + 80000, 80009, 10,1, + 80010, 80049, 40,0, + 80050, 80054, 5,1, + 80055, 80098, 44,0, + 80099, 80099, 1,1, + 80100, 80233, 134,0, + 80234, 80234, 1,1, + 80235, 80368, 134,0, + 80369, 80369, 1,1, + 80370, 80412, 43,0, + 80413, 80414, 2,1, + 80415, 80458, 44,0, + 80459, 80459, 1,1, + 80460, 80567, 108,0, + 80568, 80594, 27,1, + 80595, 80612, 18,0, + 80613, 80639, 27,1, + 80640, 80651, 12,0, + 80652, 80729, 78,1, + 80730, 80732, 3,0, + 80733, 80774, 42,1, + 80775, 80778, 4,0, + 80779, 80819, 41,1, + 80820, 80848, 29,0, + 80849, 80864, 16,1, + 80865, 80896, 32,0, + 80897, 80909, 13,1, + 80910, 80946, 37,0, + 80947, 80954, 8,1, + 80955, 80992, 38,0, + 80993, 81179, 187,1, + 81180, 81210, 31,0, + 81211, 81224, 14,1, + 81225, 81257, 33,0, + 81258, 81269, 12,1, + 81270, 81306, 37,0, + 81307, 81314, 8,1, + 81315, 81357, 43,0, + 81358, 81359, 2,1, + 81360, 81401, 42,0, + 81402, 81404, 3,1, + 81405, 81446, 42,0, + 81447, 81449, 3,1, + 81450, 81490, 41,0, + 81491, 81494, 4,1, + 81495, 81535, 41,0, + 81536, 81539, 4,1, + 81540, 81580, 41,0, + 81581, 81584, 4,1, + 81585, 81624, 40,0, + 81625, 81629, 5,1, + 81630, 81666, 37,0, + 81667, 81674, 8,1, + 81675, 81709, 35,0, + 81710, 81719, 10,1, + 81720, 81754, 35,0, + 81755, 81764, 10,1, + 81765, 81803, 39,0, + 81804, 81809, 6,1, + 81810, 81848, 39,0, + 81849, 81854, 6,1, + 81855, 81897, 43,0, + 81898, 81899, 2,1, + 81900, 81935, 36,0, + 81936, 81944, 9,1, + 81945, 81981, 37,0, + 81982, 81989, 8,1, + 81990, 82026, 37,0, + 82027, 82034, 8,1, + 82035, 82075, 41,0, + 82076, 82079, 4,1, + 82080, 82122, 43,0, + 82123, 82124, 2,1, + 82125, 82168, 44,0, + 82169, 82169, 1,1, + 82170, 82213, 44,0, + 82214, 82214, 1,1, + 82215, 82257, 43,0, + 82258, 82259, 2,1, + 82260, 82393, 134,0, + 82394, 82394, 1,1, + 82395, 82437, 43,0, + 82438, 82439, 2,1, + 82440, 82482, 43,0, + 82483, 82484, 2,1, + 82485, 82528, 44,0, + 82529, 82529, 1,1, + 82530, 82629, 100,0, + 82630, 82664, 35,1, + 82665, 82674, 10,0, + 82675, 82754, 80,1, + 82755, 82757, 3,0, + 82758, 82799, 42,1, + 82800, 82804, 5,0, + 82805, 82844, 40,1, + 82845, 82875, 31,0, + 82876, 82889, 14,1, + 82890, 82922, 33,0, + 82923, 82934, 12,1, + 82935, 82970, 36,0, + 82971, 82979, 9,1, + 82980, 83017, 38,0, + 83018, 83024, 7,1, + 83025, 83044, 20,0, + 83045, 83069, 25,1, + 83070, 83089, 20,0, + 83090, 83114, 25,1, + 83115, 83134, 20,0, + 83135, 83159, 25,1, + 83160, 83179, 20,0, + 83180, 83204, 25,1, + 83205, 83235, 31,0, + 83236, 83249, 14,1, + 83250, 83282, 33,0, + 83283, 83294, 12,1, + 83295, 83332, 38,0, + 83333, 83339, 7,1, + 83340, 83380, 41,0, + 83381, 83384, 4,1, + 83385, 83425, 41,0, + 83426, 83429, 4,1, + 83430, 83470, 41,0, + 83471, 83474, 4,1, + 83475, 83515, 41,0, + 83516, 83519, 4,1, + 83520, 83559, 40,0, + 83560, 83564, 5,1, + 83565, 83603, 39,0, + 83604, 83609, 6,1, + 83610, 83643, 34,0, + 83644, 83654, 11,1, + 83655, 83689, 35,0, + 83690, 83699, 10,1, + 83700, 83734, 35,0, + 83735, 83744, 10,1, + 83745, 83780, 36,0, + 83781, 83789, 9,1, + 83790, 83829, 40,0, + 83830, 83834, 5,1, + 83835, 83878, 44,0, + 83879, 83879, 1,1, + 83880, 83923, 44,0, + 83924, 83924, 1,1, + 83925, 83961, 37,0, + 83962, 83969, 8,1, + 83970, 84008, 39,0, + 84009, 84014, 6,1, + 84015, 84053, 39,0, + 84054, 84059, 6,1, + 84060, 84100, 41,0, + 84101, 84104, 4,1, + 84105, 84145, 41,0, + 84146, 84149, 4,1, + 84150, 84192, 43,0, + 84193, 84194, 2,1, + 84195, 84237, 43,0, + 84238, 84239, 2,1, + 84240, 84462, 223,0, + 84463, 84464, 2,1, + 84465, 84508, 44,0, + 84509, 84509, 1,1, + 84510, 84681, 172,0, + 84682, 84689, 8,1, + 84690, 84695, 6,0, + 84696, 84779, 84,1, + 84780, 84784, 5,0, + 84785, 84824, 40,1, + 84825, 84832, 8,0, + 84833, 84869, 37,1, + 84870, 84900, 31,0, + 84901, 84914, 14,1, + 84915, 84948, 34,0, + 84949, 84959, 11,1, + 84960, 84995, 36,0, + 84996, 85004, 9,1, + 85005, 85042, 38,0, + 85043, 85049, 7,1, + 85050, 85070, 21,0, + 85071, 85094, 24,1, + 85095, 85115, 21,0, + 85116, 85139, 24,1, + 85140, 85160, 21,0, + 85161, 85184, 24,1, + 85185, 85204, 20,0, + 85205, 85229, 25,1, + 85230, 85262, 33,0, + 85263, 85274, 12,1, + 85275, 85308, 34,0, + 85309, 85319, 11,1, + 85320, 85359, 40,0, + 85360, 85364, 5,1, + 85365, 85406, 42,0, + 85407, 85409, 3,1, + 85410, 85451, 42,0, + 85452, 85454, 3,1, + 85455, 85485, 31,0, + 85486, 85499, 14,1, + 85500, 85537, 38,0, + 85538, 85544, 7,1, + 85545, 85581, 37,0, + 85582, 85589, 8,1, + 85590, 85623, 34,0, + 85624, 85634, 11,1, + 85635, 85670, 36,0, + 85671, 85679, 9,1, + 85680, 85717, 38,0, + 85718, 85724, 7,1, + 85725, 85759, 35,0, + 85760, 85769, 10,1, + 85770, 85812, 43,0, + 85813, 85814, 2,1, + 85815, 85857, 43,0, + 85858, 85859, 2,1, + 85860, 85902, 43,0, + 85903, 85904, 2,1, + 85905, 85946, 42,0, + 85947, 85949, 3,1, + 85950, 85989, 40,0, + 85990, 85994, 5,1, + 85995, 86033, 39,0, + 86034, 86039, 6,1, + 86040, 86079, 40,0, + 86080, 86084, 5,1, + 86085, 86124, 40,0, + 86125, 86129, 5,1, + 86130, 86169, 40,0, + 86170, 86174, 5,1, + 86175, 86217, 43,0, + 86218, 86219, 2,1, + 86220, 86262, 43,0, + 86263, 86264, 2,1, + 86265, 86533, 269,0, + 86534, 86534, 1,1, + 86535, 86705, 171,0, + 86706, 86714, 9,1, + 86715, 86726, 12,0, + 86727, 86804, 78,1, + 86805, 86809, 5,0, + 86810, 86849, 40,1, + 86850, 86860, 11,0, + 86861, 86894, 34,1, + 86895, 86925, 31,0, + 86926, 86939, 14,1, + 86940, 86973, 34,0, + 86974, 86984, 11,1, + 86985, 87020, 36,0, + 87021, 87029, 9,1, + 87030, 87067, 38,0, + 87068, 87074, 7,1, + 87075, 87094, 20,0, + 87095, 87119, 25,1, + 87120, 87139, 20,0, + 87140, 87164, 25,1, + 87165, 87184, 20,0, + 87185, 87209, 25,1, + 87210, 87237, 28,0, + 87238, 87254, 17,1, + 87255, 87289, 35,0, + 87290, 87299, 10,1, + 87300, 87334, 35,0, + 87335, 87344, 10,1, + 87345, 87386, 42,0, + 87387, 87389, 3,1, + 87390, 87432, 43,0, + 87433, 87434, 2,1, + 87435, 87477, 43,0, + 87478, 87479, 2,1, + 87480, 87503, 24,0, + 87504, 87524, 21,1, + 87525, 87552, 28,0, + 87553, 87569, 17,1, + 87570, 87595, 26,0, + 87596, 87614, 19,1, + 87615, 87644, 30,0, + 87645, 87659, 15,1, + 87660, 87696, 37,0, + 87697, 87704, 8,1, + 87705, 87741, 37,0, + 87742, 87749, 8,1, + 87750, 87788, 39,0, + 87789, 87794, 6,1, + 87795, 87836, 42,0, + 87837, 87839, 3,1, + 87840, 87873, 34,0, + 87874, 87884, 11,1, + 87885, 87920, 36,0, + 87921, 87929, 9,1, + 87930, 87971, 42,0, + 87972, 87974, 3,1, + 87975, 88016, 42,0, + 88017, 88019, 3,1, + 88020, 88059, 40,0, + 88060, 88064, 5,1, + 88065, 88104, 40,0, + 88105, 88109, 5,1, + 88110, 88151, 42,0, + 88152, 88154, 3,1, + 88155, 88197, 43,0, + 88198, 88199, 2,1, + 88200, 88243, 44,0, + 88244, 88244, 1,1, + 88245, 88287, 43,0, + 88288, 88289, 2,1, + 88290, 88333, 44,0, + 88334, 88334, 1,1, + 88335, 88468, 134,0, + 88469, 88469, 1,1, + 88470, 88730, 261,0, + 88731, 88739, 9,1, + 88740, 88773, 34,0, + 88774, 88829, 56,1, + 88830, 88834, 5,0, + 88835, 88874, 40,1, + 88875, 88886, 12,0, + 88887, 88919, 33,1, + 88920, 88950, 31,0, + 88951, 88964, 14,1, + 88965, 88997, 33,0, + 88998, 89009, 12,1, + 89010, 89045, 36,0, + 89046, 89054, 9,1, + 89055, 89092, 38,0, + 89093, 89099, 7,1, + 89100, 89119, 20,0, + 89120, 89144, 25,1, + 89145, 89164, 20,0, + 89165, 89189, 25,1, + 89190, 89209, 20,0, + 89210, 89234, 25,1, + 89235, 89263, 29,0, + 89264, 89279, 16,1, + 89280, 89314, 35,0, + 89315, 89324, 10,1, + 89325, 89360, 36,0, + 89361, 89369, 9,1, + 89370, 89410, 41,0, + 89411, 89414, 4,1, + 89415, 89456, 42,0, + 89457, 89459, 3,1, + 89460, 89501, 42,0, + 89502, 89504, 3,1, + 89505, 89544, 40,0, + 89545, 89549, 5,1, + 89550, 89582, 33,0, + 89583, 89594, 12,1, + 89595, 89627, 33,0, + 89628, 89639, 12,1, + 89640, 89670, 31,0, + 89671, 89684, 14,1, + 89685, 89721, 37,0, + 89722, 89729, 8,1, + 89730, 89768, 39,0, + 89769, 89774, 6,1, + 89775, 89813, 39,0, + 89814, 89819, 6,1, + 89820, 89858, 39,0, + 89859, 89864, 6,1, + 89865, 89900, 36,0, + 89901, 89909, 9,1, + 89910, 89945, 36,0, + 89946, 89954, 9,1, + 89955, 89995, 41,0, + 89996, 89999, 4,1, + 90000, 90042, 43,0, + 90043, 90044, 2,1, + 90045, 90086, 42,0, + 90087, 90089, 3,1, + 90090, 90133, 44,0, + 90134, 90134, 1,1, + 90135, 90268, 134,0, + 90269, 90269, 1,1, + 90270, 90311, 42,0, + 90312, 90314, 3,1, + 90315, 90357, 43,0, + 90358, 90359, 2,1, + 90360, 90448, 89,0, + 90449, 90449, 1,1, + 90450, 90491, 42,0, + 90492, 90494, 3,1, + 90495, 90537, 43,0, + 90538, 90539, 2,1, + 90540, 90711, 172,0, + 90712, 90719, 8,1, + 90720, 90755, 36,0, + 90756, 90764, 9,1, + 90765, 90799, 35,0, + 90800, 90809, 10,1, + 90810, 90811, 2,0, + 90812, 90854, 43,1, + 90855, 90859, 5,0, + 90860, 90899, 40,1, + 90900, 90916, 17,0, + 90917, 90944, 28,1, + 90945, 90974, 30,0, + 90975, 90989, 15,1, + 90990, 91021, 32,0, + 91022, 91034, 13,1, + 91035, 91070, 36,0, + 91071, 91079, 9,1, + 91080, 91117, 38,0, + 91118, 91124, 7,1, + 91125, 91143, 19,0, + 91144, 91169, 26,1, + 91170, 91188, 19,0, + 91189, 91214, 26,1, + 91215, 91233, 19,0, + 91234, 91259, 26,1, + 91260, 91289, 30,0, + 91290, 91304, 15,1, + 91305, 91340, 36,0, + 91341, 91349, 9,1, + 91350, 91385, 36,0, + 91386, 91394, 9,1, + 91395, 91434, 40,0, + 91435, 91439, 5,1, + 91440, 91480, 41,0, + 91481, 91484, 4,1, + 91485, 91525, 41,0, + 91526, 91529, 4,1, + 91530, 91570, 41,0, + 91571, 91574, 4,1, + 91575, 91614, 40,0, + 91615, 91619, 5,1, + 91620, 91655, 36,0, + 91656, 91664, 9,1, + 91665, 91837, 173,0, + 91838, 91844, 7,1, + 91845, 91881, 37,0, + 91882, 91889, 8,1, + 91890, 91925, 36,0, + 91926, 91934, 9,1, + 91935, 91969, 35,0, + 91970, 91979, 10,1, + 91980, 92022, 43,0, + 92023, 92024, 2,1, + 92025, 92068, 44,0, + 92069, 92069, 1,1, + 92070, 92113, 44,0, + 92114, 92114, 1,1, + 92115, 92157, 43,0, + 92158, 92159, 2,1, + 92160, 92203, 44,0, + 92204, 92204, 1,1, + 92205, 92293, 89,0, + 92294, 92294, 1,1, + 92295, 92336, 42,0, + 92337, 92339, 3,1, + 92340, 92382, 43,0, + 92383, 92384, 2,1, + 92385, 92427, 43,0, + 92428, 92429, 2,1, + 92430, 92471, 42,0, + 92472, 92474, 3,1, + 92475, 92516, 42,0, + 92517, 92519, 3,1, + 92520, 92563, 44,0, + 92564, 92564, 1,1, + 92565, 92653, 89,0, + 92654, 92654, 1,1, + 92655, 92735, 81,0, + 92736, 92744, 9,1, + 92745, 92780, 36,0, + 92781, 92789, 9,1, + 92790, 92823, 34,0, + 92824, 92834, 11,1, + 92835, 92841, 7,0, + 92842, 92879, 38,1, + 92880, 92885, 6,0, + 92886, 92924, 39,1, + 92925, 92946, 22,0, + 92947, 92969, 23,1, + 92970, 92996, 27,0, + 92997, 93014, 18,1, + 93015, 93045, 31,0, + 93046, 93059, 14,1, + 93060, 93095, 36,0, + 93096, 93104, 9,1, + 93105, 93142, 38,0, + 93143, 93149, 7,1, + 93150, 93167, 18,0, + 93168, 93194, 27,1, + 93195, 93212, 18,0, + 93213, 93239, 27,1, + 93240, 93257, 18,0, + 93258, 93284, 27,1, + 93285, 93317, 33,0, + 93318, 93329, 12,1, + 93330, 93366, 37,0, + 93367, 93374, 8,1, + 93375, 93411, 37,0, + 93412, 93419, 8,1, + 93420, 93459, 40,0, + 93460, 93464, 5,1, + 93465, 93506, 42,0, + 93507, 93509, 3,1, + 93510, 93552, 43,0, + 93553, 93554, 2,1, + 93555, 93597, 43,0, + 93598, 93599, 2,1, + 93600, 93640, 41,0, + 93641, 93644, 4,1, + 93645, 93683, 39,0, + 93684, 93689, 6,1, + 93690, 93733, 44,0, + 93734, 93734, 1,1, + 93735, 93947, 213,0, + 93948, 93959, 12,1, + 93960, 94001, 42,0, + 94002, 94004, 3,1, + 94005, 94047, 43,0, + 94048, 94049, 2,1, + 94050, 94093, 44,0, + 94094, 94094, 1,1, + 94095, 94138, 44,0, + 94139, 94139, 1,1, + 94140, 94181, 42,0, + 94182, 94184, 3,1, + 94185, 94228, 44,0, + 94229, 94229, 1,1, + 94230, 94318, 89,0, + 94319, 94319, 1,1, + 94320, 94362, 43,0, + 94363, 94364, 2,1, + 94365, 94407, 43,0, + 94408, 94409, 2,1, + 94410, 94451, 42,0, + 94452, 94454, 3,1, + 94455, 94498, 44,0, + 94499, 94499, 1,1, + 94500, 94543, 44,0, + 94544, 94544, 1,1, + 94545, 94678, 134,0, + 94679, 94679, 1,1, + 94680, 94760, 81,0, + 94761, 94769, 9,1, + 94770, 94805, 36,0, + 94806, 94814, 9,1, + 94815, 94826, 12,0, + 94827, 94859, 33,1, + 94860, 94866, 7,0, + 94867, 94904, 38,1, + 94905, 94910, 6,0, + 94911, 94949, 39,1, + 94950, 94978, 29,0, + 94979, 94994, 16,1, + 94995, 95025, 31,0, + 95026, 95039, 14,1, + 95040, 95072, 33,0, + 95073, 95084, 12,1, + 95085, 95120, 36,0, + 95121, 95129, 9,1, + 95130, 95167, 38,0, + 95168, 95174, 7,1, + 95175, 95194, 20,0, + 95195, 95219, 25,1, + 95220, 95239, 20,0, + 95240, 95264, 25,1, + 95265, 95284, 20,0, + 95285, 95309, 25,1, + 95310, 95345, 36,0, + 95346, 95354, 9,1, + 95355, 95391, 37,0, + 95392, 95399, 8,1, + 95400, 95436, 37,0, + 95437, 95444, 8,1, + 95445, 95483, 39,0, + 95484, 95489, 6,1, + 95490, 95530, 41,0, + 95531, 95534, 4,1, + 95535, 95577, 43,0, + 95578, 95579, 2,1, + 95580, 95622, 43,0, + 95623, 95624, 2,1, + 95625, 95665, 41,0, + 95666, 95669, 4,1, + 95670, 95709, 40,0, + 95710, 95714, 5,1, + 95715, 95757, 43,0, + 95758, 95759, 2,1, + 95760, 95803, 44,0, + 95804, 95804, 1,1, + 95805, 95848, 44,0, + 95849, 95849, 1,1, + 95850, 95893, 44,0, + 95894, 95894, 1,1, + 95895, 96070, 176,0, + 96071, 96074, 4,1, + 96075, 96162, 88,0, + 96163, 96164, 2,1, + 96165, 96207, 43,0, + 96208, 96209, 2,1, + 96210, 96298, 89,0, + 96299, 96299, 1,1, + 96300, 96343, 44,0, + 96344, 96344, 1,1, + 96345, 96387, 43,0, + 96388, 96389, 2,1, + 96390, 96431, 42,0, + 96432, 96434, 3,1, + 96435, 96476, 42,0, + 96477, 96479, 3,1, + 96480, 96523, 44,0, + 96524, 96524, 1,1, + 96525, 96613, 89,0, + 96614, 96614, 1,1, + 96615, 96784, 170,0, + 96785, 96794, 10,1, + 96795, 96829, 35,0, + 96830, 96839, 10,1, + 96840, 96846, 7,0, + 96847, 96884, 38,1, + 96885, 96890, 6,0, + 96891, 96929, 39,1, + 96930, 96935, 6,0, + 96936, 96974, 39,1, + 96975, 97003, 29,0, + 97004, 97019, 16,1, + 97020, 97052, 33,0, + 97053, 97064, 12,1, + 97065, 97100, 36,0, + 97101, 97109, 9,1, + 97110, 97146, 37,0, + 97147, 97154, 8,1, + 97155, 97192, 38,0, + 97193, 97199, 7,1, + 97200, 97221, 22,0, + 97222, 97244, 23,1, + 97245, 97266, 22,0, + 97267, 97289, 23,1, + 97290, 97311, 22,0, + 97312, 97334, 23,1, + 97335, 97371, 37,0, + 97372, 97379, 8,1, + 97380, 97416, 37,0, + 97417, 97424, 8,1, + 97425, 97461, 37,0, + 97462, 97469, 8,1, + 97470, 97508, 39,0, + 97509, 97514, 6,1, + 97515, 97554, 40,0, + 97555, 97559, 5,1, + 97560, 97600, 41,0, + 97601, 97604, 4,1, + 97605, 97645, 41,0, + 97646, 97649, 4,1, + 97650, 97692, 43,0, + 97693, 97694, 2,1, + 97695, 97737, 43,0, + 97738, 97739, 2,1, + 97740, 97781, 42,0, + 97782, 97784, 3,1, + 97785, 97827, 43,0, + 97828, 97829, 2,1, + 97830, 97872, 43,0, + 97873, 97874, 2,1, + 97875, 97963, 89,0, + 97964, 97964, 1,1, + 97965, 98008, 44,0, + 98009, 98009, 1,1, + 98010, 98052, 43,0, + 98053, 98054, 2,1, + 98055, 98097, 43,0, + 98098, 98099, 2,1, + 98100, 98142, 43,0, + 98143, 98144, 2,1, + 98145, 98232, 88,0, + 98233, 98234, 2,1, + 98235, 98321, 87,0, + 98322, 98324, 3,1, + 98325, 98367, 43,0, + 98368, 98369, 2,1, + 98370, 98412, 43,0, + 98413, 98414, 2,1, + 98415, 98455, 41,0, + 98456, 98459, 4,1, + 98460, 98501, 42,0, + 98502, 98504, 3,1, + 98505, 98548, 44,0, + 98549, 98549, 1,1, + 98550, 98683, 134,0, + 98684, 98684, 1,1, + 98685, 98841, 157,0, + 98842, 98864, 23,1, + 98865, 98870, 6,0, + 98871, 98909, 39,1, + 98910, 98915, 6,0, + 98916, 98954, 39,1, + 98955, 98960, 6,0, + 98961, 98999, 39,1, + 99000, 99025, 26,0, + 99026, 99044, 19,1, + 99045, 99078, 34,0, + 99079, 99089, 11,1, + 99090, 99125, 36,0, + 99126, 99134, 9,1, + 99135, 99171, 37,0, + 99172, 99179, 8,1, + 99180, 99217, 38,0, + 99218, 99224, 7,1, + 99225, 99254, 30,0, + 99255, 99269, 15,1, + 99270, 99299, 30,0, + 99300, 99314, 15,1, + 99315, 99344, 30,0, + 99345, 99359, 15,1, + 99360, 99396, 37,0, + 99397, 99404, 8,1, + 99405, 99442, 38,0, + 99443, 99449, 7,1, + 99450, 99487, 38,0, + 99488, 99494, 7,1, + 99495, 99532, 38,0, + 99533, 99539, 7,1, + 99540, 99578, 39,0, + 99579, 99584, 6,1, + 99585, 99625, 41,0, + 99626, 99629, 4,1, + 99630, 99670, 41,0, + 99671, 99674, 4,1, + 99675, 99717, 43,0, + 99718, 99719, 2,1, + 99720, 99762, 43,0, + 99763, 99764, 2,1, + 99765, 99806, 42,0, + 99807, 99809, 3,1, + 99810, 99852, 43,0, + 99853, 99854, 2,1, + 99855, 99897, 43,0, + 99898, 99899, 2,1, + 99900, 99942, 43,0, + 99943, 99944, 2,1, + 99945, 99987, 43,0, + 99988, 99989, 2,1, + 99990, 100032, 43,0, + 100033, 100034, 2,1, + 100035, 100077, 43,0, + 100078, 100079, 2,1, + 100080, 100121, 42,0, + 100122, 100124, 3,1, + 100125, 100165, 41,0, + 100166, 100169, 4,1, + 100170, 100212, 43,0, + 100213, 100214, 2,1, + 100215, 100256, 42,0, + 100257, 100259, 3,1, + 100260, 100301, 42,0, + 100302, 100304, 3,1, + 100305, 100346, 42,0, + 100347, 100349, 3,1, + 100350, 100393, 44,0, + 100394, 100394, 1,1, + 100395, 100437, 43,0, + 100438, 100439, 2,1, + 100440, 100480, 41,0, + 100481, 100484, 4,1, + 100485, 100525, 41,0, + 100526, 100529, 4,1, + 100530, 100573, 44,0, + 100574, 100574, 1,1, + 100575, 100618, 44,0, + 100619, 100619, 1,1, + 100620, 100708, 89,0, + 100709, 100709, 1,1, + 100710, 100752, 43,0, + 100753, 100754, 2,1, + 100755, 100798, 44,0, + 100799, 100799, 1,1, + 100800, 100852, 53,0, + 100853, 100889, 37,1, + 100890, 100892, 3,0, + 100893, 100934, 42,1, + 100935, 100938, 4,0, + 100939, 100979, 41,1, + 100980, 100984, 5,0, + 100985, 101024, 40,1, + 101025, 101053, 29,0, + 101054, 101069, 16,1, + 101070, 101102, 33,0, + 101103, 101114, 12,1, + 101115, 101150, 36,0, + 101151, 101159, 9,1, + 101160, 101195, 36,0, + 101196, 101204, 9,1, + 101205, 101242, 38,0, + 101243, 101249, 7,1, + 101250, 101283, 34,0, + 101284, 101294, 11,1, + 101295, 101328, 34,0, + 101329, 101339, 11,1, + 101340, 101373, 34,0, + 101374, 101384, 11,1, + 101385, 101421, 37,0, + 101422, 101429, 8,1, + 101430, 101467, 38,0, + 101468, 101474, 7,1, + 101475, 101512, 38,0, + 101513, 101519, 7,1, + 101520, 101556, 37,0, + 101557, 101564, 8,1, + 101565, 101603, 39,0, + 101604, 101609, 6,1, + 101610, 101649, 40,0, + 101650, 101654, 5,1, + 101655, 101695, 41,0, + 101696, 101699, 4,1, + 101700, 101741, 42,0, + 101742, 101744, 3,1, + 101745, 101786, 42,0, + 101787, 101789, 3,1, + 101790, 101831, 42,0, + 101832, 101834, 3,1, + 101835, 101877, 43,0, + 101878, 101879, 2,1, + 101880, 101921, 42,0, + 101922, 101924, 3,1, + 101925, 101966, 42,0, + 101967, 101969, 3,1, + 101970, 102010, 41,0, + 102011, 102014, 4,1, + 102015, 102055, 41,0, + 102056, 102059, 4,1, + 102060, 102100, 41,0, + 102101, 102104, 4,1, + 102105, 102147, 43,0, + 102148, 102149, 2,1, + 102150, 102192, 43,0, + 102193, 102194, 2,1, + 102195, 102235, 41,0, + 102236, 102239, 4,1, + 102240, 102281, 42,0, + 102282, 102284, 3,1, + 102285, 102323, 39,0, + 102324, 102329, 6,1, + 102330, 102372, 43,0, + 102373, 102374, 2,1, + 102375, 102418, 44,0, + 102419, 102419, 1,1, + 102420, 102463, 44,0, + 102464, 102464, 1,1, + 102465, 102504, 40,0, + 102505, 102509, 5,1, + 102510, 102552, 43,0, + 102553, 102554, 2,1, + 102555, 102598, 44,0, + 102599, 102599, 1,1, + 102600, 102733, 134,0, + 102734, 102734, 1,1, + 102735, 102777, 43,0, + 102778, 102779, 2,1, + 102780, 102820, 41,0, + 102821, 102824, 4,1, + 102825, 102875, 51,0, + 102876, 102914, 39,1, + 102915, 102916, 2,0, + 102917, 102959, 43,1, + 102960, 102961, 2,0, + 102962, 103004, 43,1, + 103005, 103011, 7,0, + 103012, 103049, 38,1, + 103050, 103084, 35,0, + 103085, 103094, 10,1, + 103095, 103130, 36,0, + 103131, 103139, 9,1, + 103140, 103175, 36,0, + 103176, 103184, 9,1, + 103185, 103220, 36,0, + 103221, 103229, 9,1, + 103230, 103267, 38,0, + 103268, 103274, 7,1, + 103275, 103309, 35,0, + 103310, 103319, 10,1, + 103320, 103354, 35,0, + 103355, 103364, 10,1, + 103365, 103399, 35,0, + 103400, 103409, 10,1, + 103410, 103447, 38,0, + 103448, 103454, 7,1, + 103455, 103493, 39,0, + 103494, 103499, 6,1, + 103500, 103538, 39,0, + 103539, 103544, 6,1, + 103545, 103580, 36,0, + 103581, 103589, 9,1, + 103590, 103626, 37,0, + 103627, 103634, 8,1, + 103635, 103674, 40,0, + 103675, 103679, 5,1, + 103680, 103720, 41,0, + 103721, 103724, 4,1, + 103725, 103766, 42,0, + 103767, 103769, 3,1, + 103770, 103810, 41,0, + 103811, 103814, 4,1, + 103815, 103857, 43,0, + 103858, 103859, 2,1, + 103860, 103902, 43,0, + 103903, 103904, 2,1, + 103905, 103947, 43,0, + 103948, 103949, 2,1, + 103950, 103991, 42,0, + 103992, 103994, 3,1, + 103995, 104034, 40,0, + 104035, 104039, 5,1, + 104040, 104079, 40,0, + 104080, 104084, 5,1, + 104085, 104125, 41,0, + 104126, 104129, 4,1, + 104130, 104172, 43,0, + 104173, 104174, 2,1, + 104175, 104216, 42,0, + 104217, 104219, 3,1, + 104220, 104261, 42,0, + 104262, 104264, 3,1, + 104265, 104304, 40,0, + 104305, 104309, 5,1, + 104310, 104351, 42,0, + 104352, 104354, 3,1, + 104355, 104397, 43,0, + 104398, 104399, 2,1, + 104400, 104443, 44,0, + 104444, 104444, 1,1, + 104445, 104486, 42,0, + 104487, 104489, 3,1, + 104490, 104532, 43,0, + 104533, 104534, 2,1, + 104535, 104578, 44,0, + 104579, 104579, 1,1, + 104580, 104668, 89,0, + 104669, 104669, 1,1, + 104670, 104757, 88,0, + 104758, 104759, 2,1, + 104760, 104801, 42,0, + 104802, 104804, 3,1, + 104805, 104845, 41,0, + 104846, 104849, 4,1, + 104850, 104893, 44,0, + 104894, 104894, 1,1, + 104895, 104906, 12,0, + 104907, 105029, 123,1, + 105030, 105046, 17,0, + 105047, 105074, 28,1, + 105075, 105111, 37,0, + 105112, 105119, 8,1, + 105120, 105156, 37,0, + 105157, 105164, 8,1, + 105165, 105200, 36,0, + 105201, 105209, 9,1, + 105210, 105245, 36,0, + 105246, 105254, 9,1, + 105255, 105292, 38,0, + 105293, 105299, 7,1, + 105300, 105333, 34,0, + 105334, 105344, 11,1, + 105345, 105378, 34,0, + 105379, 105389, 11,1, + 105390, 105423, 34,0, + 105424, 105434, 11,1, + 105435, 105472, 38,0, + 105473, 105479, 7,1, + 105480, 105518, 39,0, + 105519, 105524, 6,1, + 105525, 105563, 39,0, + 105564, 105569, 6,1, + 105570, 105606, 37,0, + 105607, 105614, 8,1, + 105615, 105649, 35,0, + 105650, 105659, 10,1, + 105660, 105699, 40,0, + 105700, 105704, 5,1, + 105705, 105745, 41,0, + 105746, 105749, 4,1, + 105750, 105790, 41,0, + 105791, 105794, 4,1, + 105795, 105835, 41,0, + 105836, 105839, 4,1, + 105840, 105882, 43,0, + 105883, 105884, 2,1, + 105885, 105927, 43,0, + 105928, 105929, 2,1, + 105930, 105971, 42,0, + 105972, 105974, 3,1, + 105975, 106016, 42,0, + 106017, 106019, 3,1, + 106020, 106058, 39,0, + 106059, 106064, 6,1, + 106065, 106103, 39,0, + 106104, 106109, 6,1, + 106110, 106150, 41,0, + 106151, 106154, 4,1, + 106155, 106196, 42,0, + 106197, 106199, 3,1, + 106200, 106241, 42,0, + 106242, 106244, 3,1, + 106245, 106286, 42,0, + 106287, 106289, 3,1, + 106290, 106330, 41,0, + 106331, 106334, 4,1, + 106335, 106375, 41,0, + 106376, 106379, 4,1, + 106380, 106421, 42,0, + 106422, 106424, 3,1, + 106425, 106468, 44,0, + 106469, 106469, 1,1, + 106470, 106512, 43,0, + 106513, 106514, 2,1, + 106515, 106557, 43,0, + 106558, 106559, 2,1, + 106560, 106602, 43,0, + 106603, 106604, 2,1, + 106605, 106648, 44,0, + 106649, 106649, 1,1, + 106650, 106693, 44,0, + 106694, 106694, 1,1, + 106695, 106738, 44,0, + 106739, 106739, 1,1, + 106740, 106782, 43,0, + 106783, 106784, 2,1, + 106785, 106827, 43,0, + 106828, 106829, 2,1, + 106830, 106872, 43,0, + 106873, 106874, 2,1, + 106875, 106916, 42,0, + 106917, 106919, 3,1, + 106920, 106961, 42,0, + 106962, 106964, 3,1, + 106965, 106971, 7,0, + 106972, 107054, 83,1, + 107055, 107087, 33,0, + 107088, 107099, 12,1, + 107100, 107136, 37,0, + 107137, 107144, 8,1, + 107145, 107181, 37,0, + 107182, 107189, 8,1, + 107190, 107225, 36,0, + 107226, 107234, 9,1, + 107235, 107269, 35,0, + 107270, 107279, 10,1, + 107280, 107317, 38,0, + 107318, 107324, 7,1, + 107325, 107335, 11,0, + 107336, 107369, 34,1, + 107370, 107380, 11,0, + 107381, 107414, 34,1, + 107415, 107425, 11,0, + 107426, 107459, 34,1, + 107460, 107496, 37,0, + 107497, 107504, 8,1, + 107505, 107543, 39,0, + 107544, 107549, 6,1, + 107550, 107588, 39,0, + 107589, 107594, 6,1, + 107595, 107632, 38,0, + 107633, 107639, 7,1, + 107640, 107673, 34,0, + 107674, 107684, 11,1, + 107685, 107722, 38,0, + 107723, 107729, 7,1, + 107730, 107769, 40,0, + 107770, 107774, 5,1, + 107775, 107816, 42,0, + 107817, 107819, 3,1, + 107820, 107861, 42,0, + 107862, 107864, 3,1, + 107865, 107907, 43,0, + 107908, 107909, 2,1, + 107910, 107951, 42,0, + 107952, 107954, 3,1, + 107955, 107995, 41,0, + 107996, 107999, 4,1, + 108000, 108039, 40,0, + 108040, 108044, 5,1, + 108045, 108084, 40,0, + 108085, 108089, 5,1, + 108090, 108128, 39,0, + 108129, 108134, 6,1, + 108135, 108175, 41,0, + 108176, 108179, 4,1, + 108180, 108221, 42,0, + 108222, 108224, 3,1, + 108225, 108266, 42,0, + 108267, 108269, 3,1, + 108270, 108309, 40,0, + 108310, 108314, 5,1, + 108315, 108355, 41,0, + 108356, 108359, 4,1, + 108360, 108400, 41,0, + 108401, 108404, 4,1, + 108405, 108446, 42,0, + 108447, 108449, 3,1, + 108450, 108493, 44,0, + 108494, 108494, 1,1, + 108495, 108537, 43,0, + 108538, 108539, 2,1, + 108540, 108583, 44,0, + 108584, 108584, 1,1, + 108585, 108626, 42,0, + 108627, 108629, 3,1, + 108630, 108673, 44,0, + 108674, 108674, 1,1, + 108675, 108717, 43,0, + 108718, 108719, 2,1, + 108720, 108761, 42,0, + 108762, 108764, 3,1, + 108765, 108806, 42,0, + 108807, 108809, 3,1, + 108810, 108850, 41,0, + 108851, 108854, 4,1, + 108855, 108894, 40,0, + 108895, 108899, 5,1, + 108900, 108939, 40,0, + 108940, 108944, 5,1, + 108945, 108986, 42,0, + 108987, 108989, 3,1, + 108990, 109001, 12,0, + 109002, 109079, 78,1, + 109080, 109114, 35,0, + 109115, 109124, 10,1, + 109125, 109160, 36,0, + 109161, 109169, 9,1, + 109170, 109205, 36,0, + 109206, 109214, 9,1, + 109215, 109250, 36,0, + 109251, 109259, 9,1, + 109260, 109294, 35,0, + 109295, 109304, 10,1, + 109305, 109342, 38,0, + 109343, 109349, 7,1, + 109350, 109351, 2,0, + 109352, 109394, 43,1, + 109395, 109396, 2,0, + 109397, 109439, 43,1, + 109440, 109441, 2,0, + 109442, 109484, 43,1, + 109485, 109521, 37,0, + 109522, 109529, 8,1, + 109530, 109568, 39,0, + 109569, 109574, 6,1, + 109575, 109613, 39,0, + 109614, 109619, 6,1, + 109620, 109658, 39,0, + 109659, 109664, 6,1, + 109665, 109699, 35,0, + 109700, 109709, 10,1, + 109710, 109749, 40,0, + 109750, 109754, 5,1, + 109755, 109794, 40,0, + 109795, 109799, 5,1, + 109800, 109841, 42,0, + 109842, 109844, 3,1, + 109845, 109887, 43,0, + 109888, 109889, 2,1, + 109890, 109931, 42,0, + 109932, 109934, 3,1, + 109935, 109975, 41,0, + 109976, 109979, 4,1, + 109980, 110020, 41,0, + 110021, 110024, 4,1, + 110025, 110063, 39,0, + 110064, 110069, 6,1, + 110070, 110110, 41,0, + 110111, 110114, 4,1, + 110115, 110154, 40,0, + 110155, 110159, 5,1, + 110160, 110200, 41,0, + 110201, 110204, 4,1, + 110205, 110245, 41,0, + 110246, 110249, 4,1, + 110250, 110290, 41,0, + 110291, 110294, 4,1, + 110295, 110333, 39,0, + 110334, 110339, 6,1, + 110340, 110379, 40,0, + 110380, 110384, 5,1, + 110385, 110426, 42,0, + 110427, 110429, 3,1, + 110430, 110471, 42,0, + 110472, 110474, 3,1, + 110475, 110518, 44,0, + 110519, 110519, 1,1, + 110520, 110562, 43,0, + 110563, 110564, 2,1, + 110565, 110608, 44,0, + 110609, 110609, 1,1, + 110610, 110651, 42,0, + 110652, 110654, 3,1, + 110655, 110698, 44,0, + 110699, 110699, 1,1, + 110700, 110742, 43,0, + 110743, 110744, 2,1, + 110745, 110788, 44,0, + 110789, 110789, 1,1, + 110790, 110831, 42,0, + 110832, 110834, 3,1, + 110835, 110874, 40,0, + 110875, 110879, 5,1, + 110880, 110918, 39,0, + 110919, 110924, 6,1, + 110925, 110961, 37,0, + 110962, 110969, 8,1, + 110970, 111008, 39,0, + 111009, 111014, 6,1, + 111015, 111021, 7,0, + 111022, 111104, 83,1, + 111105, 111138, 34,0, + 111139, 111149, 11,1, + 111150, 111185, 36,0, + 111186, 111194, 9,1, + 111195, 111230, 36,0, + 111231, 111239, 9,1, + 111240, 111275, 36,0, + 111276, 111284, 9,1, + 111285, 111319, 35,0, + 111320, 111329, 10,1, + 111330, 111367, 38,0, + 111368, 111509, 142,1, + 111510, 111546, 37,0, + 111547, 111554, 8,1, + 111555, 111592, 38,0, + 111593, 111599, 7,1, + 111600, 111638, 39,0, + 111639, 111644, 6,1, + 111645, 111684, 40,0, + 111685, 111689, 5,1, + 111690, 111726, 37,0, + 111727, 111734, 8,1, + 111735, 111774, 40,0, + 111775, 111779, 5,1, + 111780, 111820, 41,0, + 111821, 111824, 4,1, + 111825, 111867, 43,0, + 111868, 111869, 2,1, + 111870, 111912, 43,0, + 111913, 111914, 2,1, + 111915, 111956, 42,0, + 111957, 111959, 3,1, + 111960, 112000, 41,0, + 112001, 112004, 4,1, + 112005, 112044, 40,0, + 112045, 112049, 5,1, + 112050, 112088, 39,0, + 112089, 112094, 6,1, + 112095, 112133, 39,0, + 112134, 112139, 6,1, + 112140, 112178, 39,0, + 112179, 112184, 6,1, + 112185, 112223, 39,0, + 112224, 112229, 6,1, + 112230, 112268, 39,0, + 112269, 112274, 6,1, + 112275, 112313, 39,0, + 112314, 112319, 6,1, + 112320, 112358, 39,0, + 112359, 112364, 6,1, + 112365, 112403, 39,0, + 112404, 112409, 6,1, + 112410, 112450, 41,0, + 112451, 112454, 4,1, + 112455, 112495, 41,0, + 112496, 112499, 4,1, + 112500, 112542, 43,0, + 112543, 112544, 2,1, + 112545, 112587, 43,0, + 112588, 112589, 2,1, + 112590, 112632, 43,0, + 112633, 112634, 2,1, + 112635, 112676, 42,0, + 112677, 112679, 3,1, + 112680, 112722, 43,0, + 112723, 112724, 2,1, + 112725, 112767, 43,0, + 112768, 112769, 2,1, + 112770, 112813, 44,0, + 112814, 112814, 1,1, + 112815, 112853, 39,0, + 112854, 112859, 6,1, + 112860, 112898, 39,0, + 112899, 112904, 6,1, + 112905, 112942, 38,0, + 112943, 112949, 7,1, + 112950, 112985, 36,0, + 112986, 112994, 9,1, + 112995, 113029, 35,0, + 113030, 113039, 10,1, + 113040, 113041, 2,0, + 113042, 113129, 88,1, + 113130, 113162, 33,0, + 113163, 113174, 12,1, + 113175, 113209, 35,0, + 113210, 113219, 10,1, + 113220, 113255, 36,0, + 113256, 113264, 9,1, + 113265, 113300, 36,0, + 113301, 113309, 9,1, + 113310, 113343, 34,0, + 113344, 113354, 11,1, + 113355, 113392, 38,0, + 113393, 113534, 142,1, + 113535, 113572, 38,0, + 113573, 113579, 7,1, + 113580, 113618, 39,0, + 113619, 113624, 6,1, + 113625, 113664, 40,0, + 113665, 113669, 5,1, + 113670, 113710, 41,0, + 113711, 113714, 4,1, + 113715, 113753, 39,0, + 113754, 113759, 6,1, + 113760, 113799, 40,0, + 113800, 113804, 5,1, + 113805, 113845, 41,0, + 113846, 113849, 4,1, + 113850, 113892, 43,0, + 113893, 113894, 2,1, + 113895, 113936, 42,0, + 113937, 113939, 3,1, + 113940, 113980, 41,0, + 113981, 113984, 4,1, + 113985, 114024, 40,0, + 114025, 114029, 5,1, + 114030, 114068, 39,0, + 114069, 114074, 6,1, + 114075, 114112, 38,0, + 114113, 114119, 7,1, + 114120, 114156, 37,0, + 114157, 114164, 8,1, + 114165, 114203, 39,0, + 114204, 114209, 6,1, + 114210, 114248, 39,0, + 114249, 114254, 6,1, + 114255, 114293, 39,0, + 114294, 114299, 6,1, + 114300, 114338, 39,0, + 114339, 114344, 6,1, + 114345, 114383, 39,0, + 114384, 114389, 6,1, + 114390, 114428, 39,0, + 114429, 114434, 6,1, + 114435, 114474, 40,0, + 114475, 114479, 5,1, + 114480, 114520, 41,0, + 114521, 114524, 4,1, + 114525, 114565, 41,0, + 114566, 114569, 4,1, + 114570, 114612, 43,0, + 114613, 114614, 2,1, + 114615, 114656, 42,0, + 114657, 114659, 3,1, + 114660, 114700, 41,0, + 114701, 114704, 4,1, + 114705, 114745, 41,0, + 114746, 114749, 4,1, + 114750, 114791, 42,0, + 114792, 114794, 3,1, + 114795, 114836, 42,0, + 114837, 114839, 3,1, + 114840, 114878, 39,0, + 114879, 114884, 6,1, + 114885, 114922, 38,0, + 114923, 114929, 7,1, + 114930, 114966, 37,0, + 114967, 114974, 8,1, + 114975, 115009, 35,0, + 115010, 115019, 10,1, + 115020, 115052, 33,0, + 115053, 115154, 102,1, + 115155, 115185, 31,0, + 115186, 115199, 14,1, + 115200, 115234, 35,0, + 115235, 115244, 10,1, + 115245, 115280, 36,0, + 115281, 115289, 9,1, + 115290, 115325, 36,0, + 115326, 115334, 9,1, + 115335, 115368, 34,0, + 115369, 115379, 11,1, + 115380, 115417, 38,0, + 115418, 115559, 142,1, + 115560, 115594, 35,0, + 115595, 115604, 10,1, + 115605, 115642, 38,0, + 115643, 115649, 7,1, + 115650, 115689, 40,0, + 115690, 115694, 5,1, + 115695, 115734, 40,0, + 115735, 115739, 5,1, + 115740, 115778, 39,0, + 115779, 115784, 6,1, + 115785, 115823, 39,0, + 115824, 115829, 6,1, + 115830, 115870, 41,0, + 115871, 115874, 4,1, + 115875, 115915, 41,0, + 115916, 115919, 4,1, + 115920, 115960, 41,0, + 115961, 115964, 4,1, + 115965, 116005, 41,0, + 116006, 116009, 4,1, + 116010, 116048, 39,0, + 116049, 116054, 6,1, + 116055, 116092, 38,0, + 116093, 116099, 7,1, + 116100, 116136, 37,0, + 116137, 116144, 8,1, + 116145, 116181, 37,0, + 116182, 116189, 8,1, + 116190, 116226, 37,0, + 116227, 116234, 8,1, + 116235, 116272, 38,0, + 116273, 116279, 7,1, + 116280, 116318, 39,0, + 116319, 116324, 6,1, + 116325, 116363, 39,0, + 116364, 116369, 6,1, + 116370, 116408, 39,0, + 116409, 116414, 6,1, + 116415, 116453, 39,0, + 116454, 116459, 6,1, + 116460, 116499, 40,0, + 116500, 116504, 5,1, + 116505, 116545, 41,0, + 116546, 116549, 4,1, + 116550, 116590, 41,0, + 116591, 116594, 4,1, + 116595, 116636, 42,0, + 116637, 116639, 3,1, + 116640, 116680, 41,0, + 116681, 116684, 4,1, + 116685, 116724, 40,0, + 116725, 116729, 5,1, + 116730, 116769, 40,0, + 116770, 116774, 5,1, + 116775, 116815, 41,0, + 116816, 116819, 4,1, + 116820, 116860, 41,0, + 116861, 116864, 4,1, + 116865, 116903, 39,0, + 116904, 116909, 6,1, + 116910, 116945, 36,0, + 116946, 116954, 9,1, + 116955, 116990, 36,0, + 116991, 116999, 9,1, + 117000, 117031, 32,0, + 117032, 117044, 13,1, + 117045, 117055, 11,0, + 117056, 117179, 124,1, + 117180, 117207, 28,0, + 117208, 117224, 17,1, + 117225, 117259, 35,0, + 117260, 117269, 10,1, + 117270, 117304, 35,0, + 117305, 117314, 10,1, + 117315, 117350, 36,0, + 117351, 117359, 9,1, + 117360, 117393, 34,0, + 117394, 117404, 11,1, + 117405, 117442, 38,0, + 117443, 117584, 142,1, + 117585, 117617, 33,0, + 117618, 117629, 12,1, + 117630, 117667, 38,0, + 117668, 117674, 7,1, + 117675, 117715, 41,0, + 117716, 117719, 4,1, + 117720, 117760, 41,0, + 117761, 117764, 4,1, + 117765, 117803, 39,0, + 117804, 117809, 6,1, + 117810, 117848, 39,0, + 117849, 117854, 6,1, + 117855, 117892, 38,0, + 117893, 117899, 7,1, + 117900, 117939, 40,0, + 117940, 117944, 5,1, + 117945, 117984, 40,0, + 117985, 117989, 5,1, + 117990, 118029, 40,0, + 118030, 118034, 5,1, + 118035, 118073, 39,0, + 118074, 118079, 6,1, + 118080, 118116, 37,0, + 118117, 118124, 8,1, + 118125, 118161, 37,0, + 118162, 118169, 8,1, + 118170, 118206, 37,0, + 118207, 118214, 8,1, + 118215, 118251, 37,0, + 118252, 118259, 8,1, + 118260, 118296, 37,0, + 118297, 118304, 8,1, + 118305, 118343, 39,0, + 118344, 118349, 6,1, + 118350, 118388, 39,0, + 118389, 118394, 6,1, + 118395, 118433, 39,0, + 118434, 118439, 6,1, + 118440, 118478, 39,0, + 118479, 118484, 6,1, + 118485, 118524, 40,0, + 118525, 118529, 5,1, + 118530, 118569, 40,0, + 118570, 118574, 5,1, + 118575, 118614, 40,0, + 118615, 118619, 5,1, + 118620, 118660, 41,0, + 118661, 118664, 4,1, + 118665, 118704, 40,0, + 118705, 118709, 5,1, + 118710, 118749, 40,0, + 118750, 118754, 5,1, + 118755, 118793, 39,0, + 118794, 118799, 6,1, + 118800, 118840, 41,0, + 118841, 118844, 4,1, + 118845, 118884, 40,0, + 118885, 118889, 5,1, + 118890, 118928, 39,0, + 118929, 118934, 6,1, + 118935, 118967, 33,0, + 118968, 118979, 12,1, + 118980, 119011, 32,0, + 119012, 119024, 13,1, + 119025, 119037, 13,0, + 119038, 119204, 167,1, + 119205, 119220, 16,0, + 119221, 119249, 29,1, + 119250, 119277, 28,0, + 119278, 119294, 17,1, + 119295, 119329, 35,0, + 119330, 119339, 10,1, + 119340, 119375, 36,0, + 119376, 119384, 9,1, + 119385, 119418, 34,0, + 119419, 119429, 11,1, + 119430, 119467, 38,0, + 119468, 119609, 142,1, + 119610, 119640, 31,0, + 119641, 119654, 14,1, + 119655, 119692, 38,0, + 119693, 119699, 7,1, + 119700, 119740, 41,0, + 119741, 119744, 4,1, + 119745, 119786, 42,0, + 119787, 119789, 3,1, + 119790, 119828, 39,0, + 119829, 119834, 6,1, + 119835, 119872, 38,0, + 119873, 119879, 7,1, + 119880, 119916, 37,0, + 119917, 119924, 8,1, + 119925, 119963, 39,0, + 119964, 119969, 6,1, + 119970, 120008, 39,0, + 120009, 120014, 6,1, + 120015, 120053, 39,0, + 120054, 120059, 6,1, + 120060, 120098, 39,0, + 120099, 120104, 6,1, + 120105, 120140, 36,0, + 120141, 120149, 9,1, + 120150, 120185, 36,0, + 120186, 120194, 9,1, + 120195, 120230, 36,0, + 120231, 120239, 9,1, + 120240, 120275, 36,0, + 120276, 120284, 9,1, + 120285, 120321, 37,0, + 120322, 120329, 8,1, + 120330, 120368, 39,0, + 120369, 120374, 6,1, + 120375, 120413, 39,0, + 120414, 120419, 6,1, + 120420, 120458, 39,0, + 120459, 120464, 6,1, + 120465, 120503, 39,0, + 120504, 120509, 6,1, + 120510, 120548, 39,0, + 120549, 120554, 6,1, + 120555, 120594, 40,0, + 120595, 120599, 5,1, + 120600, 120639, 40,0, + 120640, 120644, 5,1, + 120645, 120684, 40,0, + 120685, 120689, 5,1, + 120690, 120729, 40,0, + 120730, 120734, 5,1, + 120735, 120773, 39,0, + 120774, 120779, 6,1, + 120780, 120817, 38,0, + 120818, 120824, 7,1, + 120825, 120863, 39,0, + 120864, 120869, 6,1, + 120870, 120908, 39,0, + 120909, 120914, 6,1, + 120915, 120950, 36,0, + 120951, 120959, 9,1, + 120960, 120992, 33,0, + 120993, 121004, 12,1, + 121005, 121031, 27,0, + 121032, 121229, 198,1, + 121230, 121246, 17,0, + 121247, 121274, 28,1, + 121275, 121291, 17,0, + 121292, 121319, 28,1, + 121320, 121352, 33,0, + 121353, 121364, 12,1, + 121365, 121399, 35,0, + 121400, 121409, 10,1, + 121410, 121443, 34,0, + 121444, 121454, 11,1, + 121455, 121492, 38,0, + 121493, 121634, 142,1, + 121635, 121665, 31,0, + 121666, 121679, 14,1, + 121680, 121717, 38,0, + 121718, 121724, 7,1, + 121725, 121765, 41,0, + 121766, 121769, 4,1, + 121770, 121810, 41,0, + 121811, 121814, 4,1, + 121815, 121855, 41,0, + 121856, 121859, 4,1, + 121860, 121895, 36,0, + 121896, 121904, 9,1, + 121905, 121941, 37,0, + 121942, 121949, 8,1, + 121950, 121986, 37,0, + 121987, 121994, 8,1, + 121995, 122034, 40,0, + 122035, 122039, 5,1, + 122040, 122078, 39,0, + 122079, 122084, 6,1, + 122085, 122122, 38,0, + 122123, 122129, 7,1, + 122130, 122165, 36,0, + 122166, 122174, 9,1, + 122175, 122209, 35,0, + 122210, 122219, 10,1, + 122220, 122254, 35,0, + 122255, 122264, 10,1, + 122265, 122299, 35,0, + 122300, 122309, 10,1, + 122310, 122345, 36,0, + 122346, 122354, 9,1, + 122355, 122392, 38,0, + 122393, 122399, 7,1, + 122400, 122437, 38,0, + 122438, 122444, 7,1, + 122445, 122482, 38,0, + 122483, 122489, 7,1, + 122490, 122528, 39,0, + 122529, 122534, 6,1, + 122535, 122572, 38,0, + 122573, 122579, 7,1, + 122580, 122617, 38,0, + 122618, 122624, 7,1, + 122625, 122663, 39,0, + 122664, 122669, 6,1, + 122670, 122707, 38,0, + 122708, 122714, 7,1, + 122715, 122752, 38,0, + 122753, 122759, 7,1, + 122760, 122797, 38,0, + 122798, 122804, 7,1, + 122805, 122842, 38,0, + 122843, 122849, 7,1, + 122850, 122886, 37,0, + 122887, 122894, 8,1, + 122895, 122921, 27,0, + 122922, 123254, 333,1, + 123255, 123271, 17,0, + 123272, 123299, 28,1, + 123300, 123316, 17,0, + 123317, 123344, 28,1, + 123345, 123375, 31,0, + 123376, 123389, 14,1, + 123390, 123424, 35,0, + 123425, 123434, 10,1, + 123435, 123468, 34,0, + 123469, 123479, 11,1, + 123480, 123517, 38,0, + 123518, 123659, 142,1, + 123660, 123683, 24,0, + 123684, 123704, 21,1, + 123705, 123743, 39,0, + 123744, 123749, 6,1, + 123750, 123790, 41,0, + 123791, 123794, 4,1, + 123795, 123835, 41,0, + 123836, 123839, 4,1, + 123840, 123880, 41,0, + 123881, 123884, 4,1, + 123885, 123919, 35,0, + 123920, 123929, 10,1, + 123930, 123963, 34,0, + 123964, 123974, 11,1, + 123975, 124010, 36,0, + 124011, 124019, 9,1, + 124020, 124056, 37,0, + 124057, 124064, 8,1, + 124065, 124102, 38,0, + 124103, 124109, 7,1, + 124110, 124146, 37,0, + 124147, 124154, 8,1, + 124155, 124189, 35,0, + 124190, 124199, 10,1, + 124200, 124234, 35,0, + 124235, 124244, 10,1, + 124245, 124278, 34,0, + 124279, 124289, 11,1, + 124290, 124324, 35,0, + 124325, 124334, 10,1, + 124335, 124369, 35,0, + 124370, 124379, 10,1, + 124380, 124417, 38,0, + 124418, 124424, 7,1, + 124425, 124462, 38,0, + 124463, 124469, 7,1, + 124470, 124507, 38,0, + 124508, 124514, 7,1, + 124515, 124551, 37,0, + 124552, 124559, 8,1, + 124560, 124597, 38,0, + 124598, 124604, 7,1, + 124605, 124642, 38,0, + 124643, 124649, 7,1, + 124650, 124687, 38,0, + 124688, 124694, 7,1, + 124695, 124731, 37,0, + 124732, 124739, 8,1, + 124740, 124776, 37,0, + 124777, 124784, 8,1, + 124785, 124822, 38,0, + 124823, 124829, 7,1, + 124830, 124867, 38,0, + 124868, 124874, 7,1, + 124875, 124901, 27,0, + 124902, 124919, 18,1, + 124920, 124925, 6,0, + 124926, 125234, 309,1, + 125235, 125240, 6,0, + 125241, 125279, 39,1, + 125280, 125294, 15,0, + 125295, 125324, 30,1, + 125325, 125341, 17,0, + 125342, 125369, 28,1, + 125370, 125397, 28,0, + 125398, 125414, 17,1, + 125415, 125449, 35,0, + 125450, 125459, 10,1, + 125460, 125492, 33,0, + 125493, 125504, 12,1, + 125505, 125542, 38,0, + 125543, 125684, 142,1, + 125685, 125705, 21,0, + 125706, 125729, 24,1, + 125730, 125767, 38,0, + 125768, 125774, 7,1, + 125775, 125815, 41,0, + 125816, 125819, 4,1, + 125820, 125860, 41,0, + 125861, 125864, 4,1, + 125865, 125905, 41,0, + 125906, 125909, 4,1, + 125910, 125946, 37,0, + 125947, 125954, 8,1, + 125955, 125989, 35,0, + 125990, 125999, 10,1, + 126000, 126032, 33,0, + 126033, 126044, 12,1, + 126045, 126078, 34,0, + 126079, 126089, 11,1, + 126090, 126123, 34,0, + 126124, 126134, 11,1, + 126135, 126168, 34,0, + 126169, 126179, 11,1, + 126180, 126212, 33,0, + 126213, 126224, 12,1, + 126225, 126259, 35,0, + 126260, 126269, 10,1, + 126270, 126306, 37,0, + 126307, 126314, 8,1, + 126315, 126349, 35,0, + 126350, 126359, 10,1, + 126360, 126394, 35,0, + 126395, 126404, 10,1, + 126405, 126440, 36,0, + 126441, 126449, 9,1, + 126450, 126486, 37,0, + 126487, 126494, 8,1, + 126495, 126531, 37,0, + 126532, 126539, 8,1, + 126540, 126576, 37,0, + 126577, 126584, 8,1, + 126585, 126622, 38,0, + 126623, 126629, 7,1, + 126630, 126666, 37,0, + 126667, 126674, 8,1, + 126675, 126712, 38,0, + 126713, 126719, 7,1, + 126720, 126755, 36,0, + 126756, 126764, 9,1, + 126765, 126800, 36,0, + 126801, 126809, 9,1, + 126810, 126845, 36,0, + 126846, 126854, 9,1, + 126855, 126874, 20,0, + 126875, 127259, 385,1, + 127260, 127269, 10,0, + 127270, 127304, 35,1, + 127305, 127314, 10,0, + 127315, 127349, 35,1, + 127350, 127365, 16,0, + 127366, 127394, 29,1, + 127395, 127413, 19,0, + 127414, 127439, 26,1, + 127440, 127471, 32,0, + 127472, 127484, 13,1, + 127485, 127516, 32,0, + 127517, 127529, 13,1, + 127530, 127567, 38,0, + 127568, 127709, 142,1, + 127710, 127737, 28,0, + 127738, 127754, 17,1, + 127755, 127792, 38,0, + 127793, 127799, 7,1, + 127800, 127840, 41,0, + 127841, 127844, 4,1, + 127845, 127885, 41,0, + 127886, 127889, 4,1, + 127890, 127931, 42,0, + 127932, 127934, 3,1, + 127935, 127972, 38,0, + 127973, 127979, 7,1, + 127980, 128015, 36,0, + 128016, 128024, 9,1, + 128025, 128059, 35,0, + 128060, 128069, 10,1, + 128070, 128104, 35,0, + 128105, 128114, 10,1, + 128115, 128150, 36,0, + 128151, 128159, 9,1, + 128160, 128194, 35,0, + 128195, 128204, 10,1, + 128205, 128238, 34,0, + 128239, 128249, 11,1, + 128250, 128285, 36,0, + 128286, 128294, 9,1, + 128295, 128330, 36,0, + 128331, 128339, 9,1, + 128340, 128376, 37,0, + 128377, 128384, 8,1, + 128385, 128420, 36,0, + 128421, 128429, 9,1, + 128430, 128465, 36,0, + 128466, 128474, 9,1, + 128475, 128510, 36,0, + 128511, 128519, 9,1, + 128520, 128555, 36,0, + 128556, 128564, 9,1, + 128565, 128600, 36,0, + 128601, 128609, 9,1, + 128610, 128646, 37,0, + 128647, 128654, 8,1, + 128655, 128691, 37,0, + 128692, 128699, 8,1, + 128700, 128737, 38,0, + 128738, 128744, 7,1, + 128745, 128782, 38,0, + 128783, 128789, 7,1, + 128790, 128826, 37,0, + 128827, 128834, 8,1, + 128835, 128866, 32,0, + 128867, 129284, 418,1, + 129285, 129291, 7,0, + 129292, 129329, 38,1, + 129330, 129336, 7,0, + 129337, 129374, 38,1, + 129375, 129389, 15,0, + 129390, 129419, 30,1, + 129420, 129436, 17,0, + 129437, 129464, 28,1, + 129465, 129495, 31,0, + 129496, 129509, 14,1, + 129510, 129541, 32,0, + 129542, 129554, 13,1, + 129555, 129592, 38,0, + 129593, 129734, 142,1, + 129735, 129760, 26,0, + 129761, 129779, 19,1, + 129780, 129818, 39,0, + 129819, 129824, 6,1, + 129825, 129865, 41,0, + 129866, 129869, 4,1, + 129870, 129911, 42,0, + 129912, 129914, 3,1, + 129915, 129956, 42,0, + 129957, 129959, 3,1, + 129960, 129998, 39,0, + 129999, 130004, 6,1, + 130005, 130042, 38,0, + 130043, 130049, 7,1, + 130050, 130087, 38,0, + 130088, 130094, 7,1, + 130095, 130131, 37,0, + 130132, 130139, 8,1, + 130140, 130176, 37,0, + 130177, 130184, 8,1, + 130185, 130220, 36,0, + 130221, 130229, 9,1, + 130230, 130264, 35,0, + 130265, 130274, 10,1, + 130275, 130310, 36,0, + 130311, 130319, 9,1, + 130320, 130356, 37,0, + 130357, 130364, 8,1, + 130365, 130401, 37,0, + 130402, 130409, 8,1, + 130410, 130447, 38,0, + 130448, 130454, 7,1, + 130455, 130493, 39,0, + 130494, 130499, 6,1, + 130500, 130537, 38,0, + 130538, 130544, 7,1, + 130545, 130579, 35,0, + 130580, 130589, 10,1, + 130590, 130624, 35,0, + 130625, 130634, 10,1, + 130635, 130670, 36,0, + 130671, 130679, 9,1, + 130680, 130714, 35,0, + 130715, 130724, 10,1, + 130725, 130759, 35,0, + 130760, 130769, 10,1, + 130770, 130807, 38,0, + 130808, 130814, 7,1, + 130815, 130844, 30,0, + 130845, 131309, 465,1, + 131310, 131315, 6,0, + 131316, 131354, 39,1, + 131355, 131367, 13,0, + 131368, 131399, 32,1, + 131400, 131415, 16,0, + 131416, 131444, 29,1, + 131445, 131460, 16,0, + 131461, 131489, 29,1, + 131490, 131520, 31,0, + 131521, 131534, 14,1, + 131535, 131566, 32,0, + 131567, 131579, 13,1, + 131580, 131617, 38,0, + 131618, 131759, 142,1, + 131760, 131771, 12,0, + 131772, 131804, 33,1, + 131805, 131843, 39,0, + 131844, 131849, 6,1, + 131850, 131889, 40,0, + 131890, 131894, 5,1, + 131895, 131936, 42,0, + 131937, 131939, 3,1, + 131940, 131980, 41,0, + 131981, 131984, 4,1, + 131985, 132023, 39,0, + 132024, 132029, 6,1, + 132030, 132068, 39,0, + 132069, 132074, 6,1, + 132075, 132112, 38,0, + 132113, 132119, 7,1, + 132120, 132158, 39,0, + 132159, 132164, 6,1, + 132165, 132203, 39,0, + 132204, 132209, 6,1, + 132210, 132245, 36,0, + 132246, 132254, 9,1, + 132255, 132289, 35,0, + 132290, 132299, 10,1, + 132300, 132335, 36,0, + 132336, 132344, 9,1, + 132345, 132381, 37,0, + 132382, 132389, 8,1, + 132390, 132426, 37,0, + 132427, 132434, 8,1, + 132435, 132471, 37,0, + 132472, 132479, 8,1, + 132480, 132517, 38,0, + 132518, 132524, 7,1, + 132525, 132562, 38,0, + 132563, 132569, 7,1, + 132570, 132604, 35,0, + 132605, 132614, 10,1, + 132615, 132649, 35,0, + 132650, 132659, 10,1, + 132660, 132694, 35,0, + 132695, 132704, 10,1, + 132705, 132741, 37,0, + 132742, 132749, 8,1, + 132750, 132789, 40,0, + 132790, 132794, 5,1, + 132795, 132834, 40,0, + 132835, 132839, 5,1, + 132840, 132841, 2,0, + 132842, 132884, 43,1, + 132885, 132886, 2,0, + 132887, 133334, 448,1, + 133335, 133340, 6,0, + 133341, 133379, 39,1, + 133380, 133390, 11,0, + 133391, 133424, 34,1, + 133425, 133437, 13,0, + 133438, 133469, 32,1, + 133470, 133487, 18,0, + 133488, 133514, 27,1, + 133515, 133543, 29,0, + 133544, 133559, 16,1, + 133560, 133591, 32,0, + 133592, 133604, 13,1, + 133605, 133642, 38,0, + 133643, 133784, 142,1, + 133785, 133801, 17,0, + 133802, 133829, 28,1, + 133830, 133868, 39,0, + 133869, 133874, 6,1, + 133875, 133914, 40,0, + 133915, 133919, 5,1, + 133920, 133961, 42,0, + 133962, 133964, 3,1, + 133965, 134006, 42,0, + 134007, 134009, 3,1, + 134010, 134051, 42,0, + 134052, 134054, 3,1, + 134055, 134094, 40,0, + 134095, 134099, 5,1, + 134100, 134137, 38,0, + 134138, 134144, 7,1, + 134145, 134182, 38,0, + 134183, 134189, 7,1, + 134190, 134226, 37,0, + 134227, 134234, 8,1, + 134235, 134270, 36,0, + 134271, 134279, 9,1, + 134280, 134315, 36,0, + 134316, 134324, 9,1, + 134325, 134360, 36,0, + 134361, 134369, 9,1, + 134370, 134406, 37,0, + 134407, 134414, 8,1, + 134415, 134452, 38,0, + 134453, 134459, 7,1, + 134460, 134496, 37,0, + 134497, 134504, 8,1, + 134505, 134541, 37,0, + 134542, 134549, 8,1, + 134550, 134586, 37,0, + 134587, 134594, 8,1, + 134595, 134629, 35,0, + 134630, 134639, 10,1, + 134640, 134674, 35,0, + 134675, 134684, 10,1, + 134685, 134720, 36,0, + 134721, 134729, 9,1, + 134730, 134768, 39,0, + 134769, 134774, 6,1, + 134775, 134818, 44,0, + 134819, 134819, 1,1, + 134820, 134851, 32,0, + 134852, 134864, 13,1, + 134865, 134898, 34,0, + 134899, 134909, 11,1, + 134910, 134943, 34,0, + 134944, 134954, 11,1, + 134955, 134961, 7,0, + 134962, 135269, 308,1, + 135270, 135276, 7,0, + 135277, 135314, 38,1, + 135315, 135321, 7,0, + 135322, 135359, 38,1, + 135360, 135361, 2,0, + 135362, 135404, 43,1, + 135405, 135419, 15,0, + 135420, 135449, 30,1, + 135450, 135464, 15,0, + 135465, 135494, 30,1, + 135495, 135510, 16,0, + 135511, 135539, 29,1, + 135540, 135567, 28,0, + 135568, 135584, 17,1, + 135585, 135615, 31,0, + 135616, 135629, 14,1, + 135630, 135667, 38,0, + 135668, 135674, 7,1, + 135675, 135691, 17,0, + 135692, 135719, 28,1, + 135720, 135736, 17,0, + 135737, 135764, 28,1, + 135765, 135781, 17,0, + 135782, 135809, 28,1, + 135810, 135827, 18,0, + 135828, 135854, 27,1, + 135855, 135893, 39,0, + 135894, 135899, 6,1, + 135900, 135939, 40,0, + 135940, 135944, 5,1, + 135945, 135985, 41,0, + 135986, 135989, 4,1, + 135990, 136031, 42,0, + 136032, 136034, 3,1, + 136035, 136076, 42,0, + 136077, 136079, 3,1, + 136080, 136119, 40,0, + 136120, 136124, 5,1, + 136125, 136162, 38,0, + 136163, 136169, 7,1, + 136170, 136207, 38,0, + 136208, 136214, 7,1, + 136215, 136250, 36,0, + 136251, 136259, 9,1, + 136260, 136296, 37,0, + 136297, 136304, 8,1, + 136305, 136340, 36,0, + 136341, 136349, 9,1, + 136350, 136386, 37,0, + 136387, 136394, 8,1, + 136395, 136432, 38,0, + 136433, 136439, 7,1, + 136440, 136477, 38,0, + 136478, 136484, 7,1, + 136485, 136522, 38,0, + 136523, 136529, 7,1, + 136530, 136566, 37,0, + 136567, 136574, 8,1, + 136575, 136611, 37,0, + 136612, 136619, 8,1, + 136620, 136655, 36,0, + 136656, 136664, 9,1, + 136665, 136698, 34,0, + 136699, 136709, 11,1, + 136710, 136745, 36,0, + 136746, 136754, 9,1, + 136755, 136791, 37,0, + 136792, 136799, 8,1, + 136800, 136841, 42,0, + 136842, 136844, 3,1, + 136845, 136871, 27,0, + 136872, 136889, 18,1, + 136890, 136925, 36,0, + 136926, 136934, 9,1, + 136935, 136970, 36,0, + 136971, 136979, 9,1, + 136980, 136996, 17,0, + 136997, 137294, 298,1, + 137295, 137303, 9,0, + 137304, 137339, 36,1, + 137340, 137349, 10,0, + 137350, 137429, 80,1, + 137430, 137442, 13,0, + 137443, 137474, 32,1, + 137475, 137490, 16,0, + 137491, 137519, 29,1, + 137520, 137535, 16,0, + 137536, 137564, 29,1, + 137565, 137591, 27,0, + 137592, 137609, 18,1, + 137610, 137639, 30,0, + 137640, 137654, 15,1, + 137655, 137692, 38,0, + 137693, 137699, 7,1, + 137700, 137716, 17,0, + 137717, 137744, 28,1, + 137745, 137761, 17,0, + 137762, 137789, 28,1, + 137790, 137806, 17,0, + 137807, 137834, 28,1, + 137835, 137851, 17,0, + 137852, 137879, 28,1, + 137880, 137916, 37,0, + 137917, 137924, 8,1, + 137925, 137963, 39,0, + 137964, 137969, 6,1, + 137970, 138010, 41,0, + 138011, 138014, 4,1, + 138015, 138057, 43,0, + 138058, 138059, 2,1, + 138060, 138101, 42,0, + 138102, 138104, 3,1, + 138105, 138144, 40,0, + 138145, 138149, 5,1, + 138150, 138188, 39,0, + 138189, 138194, 6,1, + 138195, 138231, 37,0, + 138232, 138239, 8,1, + 138240, 138276, 37,0, + 138277, 138284, 8,1, + 138285, 138321, 37,0, + 138322, 138329, 8,1, + 138330, 138365, 36,0, + 138366, 138374, 9,1, + 138375, 138411, 37,0, + 138412, 138419, 8,1, + 138420, 138457, 38,0, + 138458, 138464, 7,1, + 138465, 138503, 39,0, + 138504, 138509, 6,1, + 138510, 138548, 39,0, + 138549, 138554, 6,1, + 138555, 138593, 39,0, + 138594, 138599, 6,1, + 138600, 138636, 37,0, + 138637, 138644, 8,1, + 138645, 138679, 35,0, + 138680, 138689, 10,1, + 138690, 138723, 34,0, + 138724, 138734, 11,1, + 138735, 138769, 35,0, + 138770, 138779, 10,1, + 138780, 138819, 40,0, + 138820, 138824, 5,1, + 138825, 138864, 40,0, + 138865, 138869, 5,1, + 138870, 138908, 39,0, + 138909, 138914, 6,1, + 138915, 138952, 38,0, + 138953, 138959, 7,1, + 138960, 138995, 36,0, + 138996, 139004, 9,1, + 139005, 139036, 32,0, + 139037, 139274, 238,1, + 139275, 139280, 6,0, + 139281, 139319, 39,1, + 139320, 139331, 12,0, + 139332, 139364, 33,1, + 139365, 139376, 12,0, + 139377, 139409, 33,1, + 139410, 139416, 7,0, + 139417, 139454, 38,1, + 139455, 139464, 10,0, + 139465, 139499, 35,1, + 139500, 139516, 17,0, + 139517, 139544, 28,1, + 139545, 139560, 16,0, + 139561, 139589, 29,1, + 139590, 139616, 27,0, + 139617, 139634, 18,1, + 139635, 139665, 31,0, + 139666, 139679, 14,1, + 139680, 139717, 38,0, + 139718, 139724, 7,1, + 139725, 139741, 17,0, + 139742, 139769, 28,1, + 139770, 139786, 17,0, + 139787, 139814, 28,1, + 139815, 139831, 17,0, + 139832, 139859, 28,1, + 139860, 139876, 17,0, + 139877, 139904, 28,1, + 139905, 139941, 37,0, + 139942, 139949, 8,1, + 139950, 139988, 39,0, + 139989, 139994, 6,1, + 139995, 140035, 41,0, + 140036, 140039, 4,1, + 140040, 140081, 42,0, + 140082, 140084, 3,1, + 140085, 140125, 41,0, + 140126, 140129, 4,1, + 140130, 140168, 39,0, + 140169, 140174, 6,1, + 140175, 140212, 38,0, + 140213, 140219, 7,1, + 140220, 140257, 38,0, + 140258, 140264, 7,1, + 140265, 140302, 38,0, + 140303, 140309, 7,1, + 140310, 140346, 37,0, + 140347, 140354, 8,1, + 140355, 140391, 37,0, + 140392, 140399, 8,1, + 140400, 140436, 37,0, + 140437, 140444, 8,1, + 140445, 140483, 39,0, + 140484, 140489, 6,1, + 140490, 140528, 39,0, + 140529, 140534, 6,1, + 140535, 140574, 40,0, + 140575, 140579, 5,1, + 140580, 140618, 39,0, + 140619, 140624, 6,1, + 140625, 140663, 39,0, + 140664, 140669, 6,1, + 140670, 140707, 38,0, + 140708, 140714, 7,1, + 140715, 140749, 35,0, + 140750, 140759, 10,1, + 140760, 140795, 36,0, + 140796, 140804, 9,1, + 140805, 140836, 32,0, + 140837, 140849, 13,1, + 140850, 140876, 27,0, + 140877, 140894, 18,1, + 140895, 140935, 41,0, + 140936, 140939, 4,1, + 140940, 140978, 39,0, + 140979, 140984, 6,1, + 140985, 141018, 34,0, + 141019, 141029, 11,1, + 141030, 141051, 22,0, + 141052, 141299, 248,1, + 141300, 141307, 8,0, + 141308, 141344, 37,1, + 141345, 141356, 12,0, + 141357, 141389, 33,1, + 141390, 141401, 12,0, + 141402, 141434, 33,1, + 141435, 141448, 14,0, + 141449, 141479, 31,1, + 141480, 141487, 8,0, + 141488, 141524, 37,1, + 141525, 141543, 19,0, + 141544, 141569, 26,1, + 141570, 141585, 16,0, + 141586, 141614, 29,1, + 141615, 141641, 27,0, + 141642, 141659, 18,1, + 141660, 141690, 31,0, + 141691, 141704, 14,1, + 141705, 141742, 38,0, + 141743, 141749, 7,1, + 141750, 141766, 17,0, + 141767, 141794, 28,1, + 141795, 141811, 17,0, + 141812, 141839, 28,1, + 141840, 141856, 17,0, + 141857, 141884, 28,1, + 141885, 141901, 17,0, + 141902, 141929, 28,1, + 141930, 141965, 36,0, + 141966, 141974, 9,1, + 141975, 142013, 39,0, + 142014, 142019, 6,1, + 142020, 142060, 41,0, + 142061, 142064, 4,1, + 142065, 142106, 42,0, + 142107, 142109, 3,1, + 142110, 142149, 40,0, + 142150, 142154, 5,1, + 142155, 142192, 38,0, + 142193, 142199, 7,1, + 142200, 142235, 36,0, + 142236, 142244, 9,1, + 142245, 142282, 38,0, + 142283, 142289, 7,1, + 142290, 142327, 38,0, + 142328, 142334, 7,1, + 142335, 142372, 38,0, + 142373, 142379, 7,1, + 142380, 142416, 37,0, + 142417, 142424, 8,1, + 142425, 142463, 39,0, + 142464, 142469, 6,1, + 142470, 142508, 39,0, + 142509, 142514, 6,1, + 142515, 142553, 39,0, + 142554, 142559, 6,1, + 142560, 142600, 41,0, + 142601, 142604, 4,1, + 142605, 142645, 41,0, + 142646, 142649, 4,1, + 142650, 142688, 39,0, + 142689, 142694, 6,1, + 142695, 142732, 38,0, + 142733, 142739, 7,1, + 142740, 142775, 36,0, + 142776, 142784, 9,1, + 142785, 142820, 36,0, + 142821, 142829, 9,1, + 142830, 142864, 35,0, + 142865, 142874, 10,1, + 142875, 142910, 36,0, + 142911, 142919, 9,1, + 142920, 143002, 83,0, + 143003, 143009, 7,1, + 143010, 143037, 28,0, + 143038, 143054, 17,1, + 143055, 143076, 22,0, + 143077, 143099, 23,1, + 143100, 143116, 17,0, + 143117, 143279, 163,1, + 143280, 143281, 2,0, + 143282, 143324, 43,1, + 143325, 143332, 8,0, + 143333, 143369, 37,1, + 143370, 143379, 10,0, + 143380, 143414, 35,1, + 143415, 143427, 13,0, + 143428, 143459, 32,1, + 143460, 143475, 16,0, + 143476, 143504, 29,1, + 143505, 143510, 6,0, + 143511, 143549, 39,1, + 143550, 143569, 20,0, + 143570, 143594, 25,1, + 143595, 143609, 15,0, + 143610, 143639, 30,1, + 143640, 143666, 27,0, + 143667, 143684, 18,1, + 143685, 143715, 31,0, + 143716, 143729, 14,1, + 143730, 143767, 38,0, + 143768, 143774, 7,1, + 143775, 143791, 17,0, + 143792, 143819, 28,1, + 143820, 143836, 17,0, + 143837, 143864, 28,1, + 143865, 143881, 17,0, + 143882, 143909, 28,1, + 143910, 143924, 15,0, + 143925, 143954, 30,1, + 143955, 143990, 36,0, + 143991, 143999, 9,1, + 144000, 144036, 37,0, + 144037, 144044, 8,1, + 144045, 144084, 40,0, + 144085, 144089, 5,1, + 144090, 144130, 41,0, + 144131, 144134, 4,1, + 144135, 144172, 38,0, + 144173, 144179, 7,1, + 144180, 144216, 37,0, + 144217, 144224, 8,1, + 144225, 144260, 36,0, + 144261, 144269, 9,1, + 144270, 144307, 38,0, + 144308, 144314, 7,1, + 144315, 144353, 39,0, + 144354, 144359, 6,1, + 144360, 144399, 40,0, + 144400, 144404, 5,1, + 144405, 144443, 39,0, + 144444, 144449, 6,1, + 144450, 144488, 39,0, + 144489, 144494, 6,1, + 144495, 144535, 41,0, + 144536, 144539, 4,1, + 144540, 144580, 41,0, + 144581, 144584, 4,1, + 144585, 144625, 41,0, + 144626, 144629, 4,1, + 144630, 144655, 26,0, + 144656, 144764, 109,1, + 144765, 144792, 28,0, + 144793, 144809, 17,1, + 144810, 144845, 36,0, + 144846, 144854, 9,1, + 144855, 144889, 35,0, + 144890, 144899, 10,1, + 144900, 144936, 37,0, + 144937, 144944, 8,1, + 144945, 144987, 43,0, + 144988, 144989, 2,1, + 144990, 145029, 40,0, + 145030, 145034, 5,1, + 145035, 145076, 42,0, + 145077, 145079, 3,1, + 145080, 145121, 42,0, + 145122, 145124, 3,1, + 145125, 145164, 40,0, + 145165, 145169, 5,1, + 145170, 145201, 32,0, + 145202, 145214, 13,1, + 145215, 145220, 6,0, + 145221, 145349, 129,1, + 145350, 145356, 7,0, + 145357, 145394, 38,1, + 145395, 145402, 8,0, + 145403, 145439, 37,1, + 145440, 145454, 15,0, + 145455, 145484, 30,1, + 145485, 145495, 11,0, + 145496, 145529, 34,1, + 145530, 145537, 8,0, + 145538, 145574, 37,1, + 145575, 145595, 21,0, + 145596, 145619, 24,1, + 145620, 145636, 17,0, + 145637, 145664, 28,1, + 145665, 145689, 25,0, + 145690, 145709, 20,1, + 145710, 145740, 31,0, + 145741, 145754, 14,1, + 145755, 145792, 38,0, + 145793, 145799, 7,1, + 145800, 145816, 17,0, + 145817, 145844, 28,1, + 145845, 145861, 17,0, + 145862, 145889, 28,1, + 145890, 145906, 17,0, + 145907, 145934, 28,1, + 145935, 145936, 2,0, + 145937, 145979, 43,1, + 145980, 146000, 21,0, + 146001, 146024, 24,1, + 146025, 146060, 36,0, + 146061, 146069, 9,1, + 146070, 146108, 39,0, + 146109, 146114, 6,1, + 146115, 146153, 39,0, + 146154, 146159, 6,1, + 146160, 146197, 38,0, + 146198, 146204, 7,1, + 146205, 146211, 7,0, + 146212, 146249, 38,1, + 146250, 146251, 2,0, + 146252, 146294, 43,1, + 146295, 146309, 15,0, + 146310, 146339, 30,1, + 146340, 146377, 38,0, + 146378, 146384, 7,1, + 146385, 146425, 41,0, + 146426, 146429, 4,1, + 146430, 146473, 44,0, + 146474, 146474, 1,1, + 146475, 146609, 135,0, + 146610, 146879, 270,1, + 146880, 146909, 30,0, + 146910, 146924, 15,1, + 146925, 146962, 38,0, + 146963, 146969, 7,1, + 146970, 147007, 38,0, + 147008, 147014, 7,1, + 147015, 147056, 42,0, + 147057, 147059, 3,1, + 147060, 147101, 42,0, + 147102, 147104, 3,1, + 147105, 147146, 42,0, + 147147, 147149, 3,1, + 147150, 147191, 42,0, + 147192, 147194, 3,1, + 147195, 147232, 38,0, + 147233, 147239, 7,1, + 147240, 147255, 16,0, + 147256, 147284, 29,1, + 147285, 147286, 2,0, + 147287, 147419, 133,1, + 147420, 147421, 2,0, + 147422, 147464, 43,1, + 147465, 147479, 15,0, + 147480, 147509, 30,1, + 147510, 147517, 8,0, + 147518, 147554, 37,1, + 147555, 147582, 28,0, + 147583, 147599, 17,1, + 147600, 147627, 28,0, + 147628, 147644, 17,1, + 147645, 147663, 19,0, + 147664, 147689, 26,1, + 147690, 147708, 19,0, + 147709, 147734, 26,1, + 147735, 147765, 31,0, + 147766, 147779, 14,1, + 147780, 147817, 38,0, + 147818, 147824, 7,1, + 147825, 147841, 17,0, + 147842, 147869, 28,1, + 147870, 147886, 17,0, + 147887, 147914, 28,1, + 147915, 147931, 17,0, + 147932, 147959, 28,1, + 147960, 147961, 2,0, + 147962, 148004, 43,1, + 148005, 148025, 21,0, + 148026, 148049, 24,1, + 148050, 148083, 34,0, + 148084, 148094, 11,1, + 148095, 148132, 38,0, + 148133, 148139, 7,1, + 148140, 148177, 38,0, + 148178, 148184, 7,1, + 148185, 148212, 28,0, + 148213, 148229, 17,1, + 148230, 148238, 9,0, + 148239, 148274, 36,1, + 148275, 148282, 8,0, + 148283, 148904, 622,1, + 148905, 148932, 28,0, + 148933, 148949, 17,1, + 148950, 148990, 41,0, + 148991, 148994, 4,1, + 148995, 149127, 133,0, + 149128, 149129, 2,1, + 149130, 149171, 42,0, + 149172, 149174, 3,1, + 149175, 149216, 42,0, + 149217, 149219, 3,1, + 149220, 149260, 41,0, + 149261, 149264, 4,1, + 149265, 149300, 36,0, + 149301, 149309, 9,1, + 149310, 149321, 12,0, + 149322, 149354, 33,1, + 149355, 149368, 14,0, + 149369, 149444, 76,1, + 149445, 149457, 13,0, + 149458, 149489, 32,1, + 149490, 149508, 19,0, + 149509, 149534, 26,1, + 149535, 149555, 21,0, + 149556, 149579, 24,1, + 149580, 149608, 29,0, + 149609, 149624, 16,1, + 149625, 149654, 30,0, + 149655, 149669, 15,1, + 149670, 149686, 17,0, + 149687, 149714, 28,1, + 149715, 149731, 17,0, + 149732, 149759, 28,1, + 149760, 149789, 30,0, + 149790, 149804, 15,1, + 149805, 149842, 38,0, + 149843, 149849, 7,1, + 149850, 149866, 17,0, + 149867, 149894, 28,1, + 149895, 149911, 17,0, + 149912, 149939, 28,1, + 149940, 149956, 17,0, + 149957, 149984, 28,1, + 149985, 150001, 17,0, + 150002, 150029, 28,1, + 150030, 150038, 9,0, + 150039, 150074, 36,1, + 150075, 150093, 19,0, + 150094, 150119, 26,1, + 150120, 150157, 38,0, + 150158, 150164, 7,1, + 150165, 150202, 38,0, + 150203, 150209, 7,1, + 150210, 150248, 39,0, + 150249, 150254, 6,1, + 150255, 150267, 13,0, + 150268, 150299, 32,1, + 150300, 150308, 9,0, + 150309, 150344, 36,1, + 150345, 150353, 9,0, + 150354, 150389, 36,1, + 150390, 150391, 2,0, + 150392, 150929, 538,1, + 150930, 150965, 36,0, + 150966, 150974, 9,1, + 150975, 151014, 40,0, + 151015, 151019, 5,1, + 151020, 151153, 134,0, + 151154, 151154, 1,1, + 151155, 151196, 42,0, + 151197, 151199, 3,1, + 151200, 151240, 41,0, + 151241, 151244, 4,1, + 151245, 151285, 41,0, + 151286, 151289, 4,1, + 151290, 151329, 40,0, + 151330, 151334, 5,1, + 151335, 151346, 12,0, + 151347, 151379, 33,1, + 151380, 151393, 14,0, + 151394, 151469, 76,1, + 151470, 151482, 13,0, + 151483, 151514, 32,1, + 151515, 151533, 19,0, + 151534, 151559, 26,1, + 151560, 151586, 27,0, + 151587, 151604, 18,1, + 151605, 151634, 30,0, + 151635, 151649, 15,1, + 151650, 151679, 30,0, + 151680, 151694, 15,1, + 151695, 151710, 16,0, + 151711, 151739, 29,1, + 151740, 151758, 19,0, + 151759, 151784, 26,1, + 151785, 151813, 29,0, + 151814, 151829, 16,1, + 151830, 151867, 38,0, + 151868, 151874, 7,1, + 151875, 151891, 17,0, + 151892, 151919, 28,1, + 151920, 151936, 17,0, + 151937, 151964, 28,1, + 151965, 151981, 17,0, + 151982, 152009, 28,1, + 152010, 152027, 18,0, + 152028, 152054, 27,1, + 152055, 152072, 18,0, + 152073, 152099, 27,1, + 152100, 152117, 18,0, + 152118, 152144, 27,1, + 152145, 152184, 40,0, + 152185, 152189, 5,1, + 152190, 152228, 39,0, + 152229, 152234, 6,1, + 152235, 152273, 39,0, + 152274, 152279, 6,1, + 152280, 152310, 31,0, + 152311, 152324, 14,1, + 152325, 152359, 35,0, + 152360, 152369, 10,1, + 152370, 152400, 31,0, + 152401, 152414, 14,1, + 152415, 152421, 7,0, + 152422, 152459, 38,1, + 152460, 152461, 2,0, + 152462, 152909, 448,1, + 152910, 152917, 8,0, + 152918, 152954, 37,1, + 152955, 152987, 33,0, + 152988, 152999, 12,1, + 153000, 153042, 43,0, + 153043, 153044, 2,1, + 153045, 153223, 179,0, + 153224, 153224, 1,1, + 153225, 153266, 42,0, + 153267, 153269, 3,1, + 153270, 153310, 41,0, + 153311, 153314, 4,1, + 153315, 153355, 41,0, + 153356, 153359, 4,1, + 153360, 153387, 28,0, + 153388, 153404, 17,1, + 153405, 153420, 16,0, + 153421, 153449, 29,1, + 153450, 153465, 16,0, + 153466, 153494, 29,1, + 153495, 153526, 32,0, + 153527, 153539, 13,1, + 153540, 153571, 32,0, + 153572, 153584, 13,1, + 153585, 153611, 27,0, + 153612, 153629, 18,1, + 153630, 153658, 29,0, + 153659, 153674, 16,1, + 153675, 153703, 29,0, + 153704, 153719, 16,1, + 153720, 153735, 16,0, + 153736, 153764, 29,1, + 153765, 153783, 19,0, + 153784, 153809, 26,1, + 153810, 153836, 27,0, + 153837, 153854, 18,1, + 153855, 153892, 38,0, + 153893, 153899, 7,1, + 153900, 153916, 17,0, + 153917, 153944, 28,1, + 153945, 153961, 17,0, + 153962, 153989, 28,1, + 153990, 154006, 17,0, + 154007, 154034, 28,1, + 154035, 154056, 22,0, + 154057, 154079, 23,1, + 154080, 154102, 23,0, + 154103, 154124, 22,1, + 154125, 154152, 28,0, + 154153, 154169, 17,1, + 154170, 154209, 40,0, + 154210, 154214, 5,1, + 154215, 154254, 40,0, + 154255, 154259, 5,1, + 154260, 154299, 40,0, + 154300, 154304, 5,1, + 154305, 154348, 44,0, + 154349, 154349, 1,1, + 154350, 154437, 88,0, + 154438, 154439, 2,1, + 154440, 154477, 38,0, + 154478, 154484, 7,1, + 154485, 154490, 6,0, + 154491, 154934, 444,1, + 154935, 154963, 29,0, + 154964, 154979, 16,1, + 154980, 155019, 40,0, + 155020, 155024, 5,1, + 155025, 155067, 43,0, + 155068, 155069, 2,1, + 155070, 155113, 44,0, + 155114, 155114, 1,1, + 155115, 155291, 177,0, + 155292, 155294, 3,1, + 155295, 155336, 42,0, + 155337, 155339, 3,1, + 155340, 155380, 41,0, + 155381, 155384, 4,1, + 155385, 155418, 34,0, + 155419, 155429, 11,1, + 155430, 155443, 14,0, + 155444, 155474, 31,1, + 155475, 155507, 33,0, + 155508, 155519, 12,1, + 155520, 155553, 34,0, + 155554, 155564, 11,1, + 155565, 155598, 34,0, + 155599, 155609, 11,1, + 155610, 155632, 23,0, + 155633, 155654, 22,1, + 155655, 155672, 18,0, + 155673, 155699, 27,1, + 155700, 155718, 19,0, + 155719, 155789, 71,1, + 155790, 155806, 17,0, + 155807, 155834, 28,1, + 155835, 155863, 29,0, + 155864, 155879, 16,1, + 155880, 155917, 38,0, + 155918, 155924, 7,1, + 155925, 155940, 16,0, + 155941, 155969, 29,1, + 155970, 155985, 16,0, + 155986, 156014, 29,1, + 156015, 156030, 16,0, + 156031, 156059, 29,1, + 156060, 156087, 28,0, + 156088, 156104, 17,1, + 156105, 156138, 34,0, + 156139, 156149, 11,1, + 156150, 156184, 35,0, + 156185, 156194, 10,1, + 156195, 156231, 37,0, + 156232, 156239, 8,1, + 156240, 156280, 41,0, + 156281, 156284, 4,1, + 156285, 156324, 40,0, + 156325, 156329, 5,1, + 156330, 156463, 134,0, + 156464, 156464, 1,1, + 156465, 156506, 42,0, + 156507, 156509, 3,1, + 156510, 156547, 38,0, + 156548, 156554, 7,1, + 156555, 156566, 12,0, + 156567, 156869, 303,1, + 156870, 156871, 2,0, + 156872, 156914, 43,1, + 156915, 156918, 4,0, + 156919, 156959, 41,1, + 156960, 156997, 38,0, + 156998, 157004, 7,1, + 157005, 157045, 41,0, + 157046, 157049, 4,1, + 157050, 157091, 42,0, + 157092, 157094, 3,1, + 157095, 157137, 43,0, + 157138, 157139, 2,1, + 157140, 157273, 134,0, + 157274, 157274, 1,1, + 157275, 157317, 43,0, + 157318, 157319, 2,1, + 157320, 157361, 42,0, + 157362, 157364, 3,1, + 157365, 157406, 42,0, + 157407, 157409, 3,1, + 157410, 157441, 32,0, + 157442, 157454, 13,1, + 157455, 157485, 31,0, + 157486, 157499, 14,1, + 157500, 157534, 35,0, + 157535, 157544, 10,1, + 157545, 157579, 35,0, + 157580, 157589, 10,1, + 157590, 157623, 34,0, + 157624, 157634, 11,1, + 157635, 157655, 21,0, + 157656, 157679, 24,1, + 157680, 157696, 17,0, + 157697, 157724, 28,1, + 157725, 157726, 2,0, + 157727, 157814, 88,1, + 157815, 157831, 17,0, + 157832, 157859, 28,1, + 157860, 157890, 31,0, + 157891, 157904, 14,1, + 157905, 157942, 38,0, + 157943, 157949, 7,1, + 157950, 157965, 16,0, + 157966, 157994, 29,1, + 157995, 158010, 16,0, + 158011, 158039, 29,1, + 158040, 158055, 16,0, + 158056, 158084, 29,1, + 158085, 158112, 28,0, + 158113, 158129, 17,1, + 158130, 158165, 36,0, + 158166, 158174, 9,1, + 158175, 158213, 39,0, + 158214, 158219, 6,1, + 158220, 158258, 39,0, + 158259, 158264, 6,1, + 158265, 158304, 40,0, + 158305, 158309, 5,1, + 158310, 158350, 41,0, + 158351, 158354, 4,1, + 158355, 158488, 134,0, + 158489, 158489, 1,1, + 158490, 158531, 42,0, + 158532, 158534, 3,1, + 158535, 158574, 40,0, + 158575, 158579, 5,1, + 158580, 158615, 36,0, + 158616, 158624, 9,1, + 158625, 158654, 30,0, + 158655, 158669, 15,1, + 158670, 158671, 2,0, + 158672, 158894, 223,1, + 158895, 158900, 6,0, + 158901, 158939, 39,1, + 158940, 158974, 35,0, + 158975, 158984, 10,1, + 158985, 159022, 38,0, + 159023, 159029, 7,1, + 159030, 159070, 41,0, + 159071, 159074, 4,1, + 159075, 159115, 41,0, + 159116, 159119, 4,1, + 159120, 159159, 40,0, + 159160, 159164, 5,1, + 159165, 159204, 40,0, + 159205, 159209, 5,1, + 159210, 159249, 40,0, + 159250, 159254, 5,1, + 159255, 159296, 42,0, + 159297, 159299, 3,1, + 159300, 159342, 43,0, + 159343, 159344, 2,1, + 159345, 159386, 42,0, + 159387, 159389, 3,1, + 159390, 159431, 42,0, + 159432, 159434, 3,1, + 159435, 159471, 37,0, + 159472, 159479, 8,1, + 159480, 159516, 37,0, + 159517, 159524, 8,1, + 159525, 159561, 37,0, + 159562, 159569, 8,1, + 159570, 159605, 36,0, + 159606, 159614, 9,1, + 159615, 159647, 33,0, + 159648, 159659, 12,1, + 159660, 159661, 2,0, + 159662, 159839, 178,1, + 159840, 159855, 16,0, + 159856, 159884, 29,1, + 159885, 159917, 33,0, + 159918, 159929, 12,1, + 159930, 159967, 38,0, + 159968, 159974, 7,1, + 159975, 159993, 19,0, + 159994, 160019, 26,1, + 160020, 160038, 19,0, + 160039, 160064, 26,1, + 160065, 160083, 19,0, + 160084, 160109, 26,1, + 160110, 160142, 33,0, + 160143, 160154, 12,1, + 160155, 160191, 37,0, + 160192, 160199, 8,1, + 160200, 160238, 39,0, + 160239, 160244, 6,1, + 160245, 160285, 41,0, + 160286, 160289, 4,1, + 160290, 160330, 41,0, + 160331, 160334, 4,1, + 160335, 160373, 39,0, + 160374, 160379, 6,1, + 160380, 160510, 131,0, + 160511, 160514, 4,1, + 160515, 160555, 41,0, + 160556, 160559, 4,1, + 160560, 160600, 41,0, + 160601, 160604, 4,1, + 160605, 160641, 37,0, + 160642, 160649, 8,1, + 160650, 160683, 34,0, + 160684, 160694, 11,1, + 160695, 160717, 23,0, + 160718, 160919, 202,1, + 160920, 160955, 36,0, + 160956, 160964, 9,1, + 160965, 161002, 38,0, + 161003, 161009, 7,1, + 161010, 161049, 40,0, + 161050, 161054, 5,1, + 161055, 161095, 41,0, + 161096, 161099, 4,1, + 161100, 161139, 40,0, + 161140, 161144, 5,1, + 161145, 161185, 41,0, + 161186, 161189, 4,1, + 161190, 161229, 40,0, + 161230, 161234, 5,1, + 161235, 161274, 40,0, + 161275, 161279, 5,1, + 161280, 161318, 39,0, + 161319, 161324, 6,1, + 161325, 161365, 41,0, + 161366, 161369, 4,1, + 161370, 161410, 41,0, + 161411, 161414, 4,1, + 161415, 161455, 41,0, + 161456, 161459, 4,1, + 161460, 161499, 40,0, + 161500, 161504, 5,1, + 161505, 161542, 38,0, + 161543, 161549, 7,1, + 161550, 161586, 37,0, + 161587, 161594, 8,1, + 161595, 161629, 35,0, + 161630, 161639, 10,1, + 161640, 161663, 24,0, + 161664, 161864, 201,1, + 161865, 161880, 16,0, + 161881, 161909, 29,1, + 161910, 161942, 33,0, + 161943, 161954, 12,1, + 161955, 161992, 38,0, + 161993, 161999, 7,1, + 162000, 162023, 24,0, + 162024, 162044, 21,1, + 162045, 162068, 24,0, + 162069, 162089, 21,1, + 162090, 162113, 24,0, + 162114, 162134, 21,1, + 162135, 162171, 37,0, + 162172, 162179, 8,1, + 162180, 162217, 38,0, + 162218, 162224, 7,1, + 162225, 162264, 40,0, + 162265, 162269, 5,1, + 162270, 162309, 40,0, + 162310, 162314, 5,1, + 162315, 162351, 37,0, + 162352, 162359, 8,1, + 162360, 162395, 36,0, + 162396, 162404, 9,1, + 162405, 162536, 132,0, + 162537, 162539, 3,1, + 162540, 162580, 41,0, + 162581, 162584, 4,1, + 162585, 162624, 40,0, + 162625, 162629, 5,1, + 162630, 162668, 39,0, + 162669, 162674, 6,1, + 162675, 162712, 38,0, + 162713, 162719, 7,1, + 162720, 162754, 35,0, + 162755, 162764, 10,1, + 162765, 162796, 32,0, + 162797, 162809, 13,1, + 162810, 162843, 34,0, + 162844, 162944, 101,1, + 162945, 162982, 38,0, + 162983, 162989, 7,1, + 162990, 163028, 39,0, + 163029, 163034, 6,1, + 163035, 163074, 40,0, + 163075, 163079, 5,1, + 163080, 163120, 41,0, + 163121, 163124, 4,1, + 163125, 163167, 43,0, + 163168, 163169, 2,1, + 163170, 163213, 44,0, + 163214, 163214, 1,1, + 163215, 163258, 44,0, + 163259, 163259, 1,1, + 163260, 163302, 43,0, + 163303, 163304, 2,1, + 163305, 163344, 40,0, + 163345, 163349, 5,1, + 163350, 163386, 37,0, + 163387, 163394, 8,1, + 163395, 163435, 41,0, + 163436, 163439, 4,1, + 163440, 163480, 41,0, + 163481, 163484, 4,1, + 163485, 163524, 40,0, + 163525, 163529, 5,1, + 163530, 163568, 39,0, + 163569, 163574, 6,1, + 163575, 163611, 37,0, + 163612, 163619, 8,1, + 163620, 163654, 35,0, + 163655, 163664, 10,1, + 163665, 163697, 33,0, + 163698, 163709, 12,1, + 163710, 163727, 18,0, + 163728, 163889, 162,1, + 163890, 163905, 16,0, + 163906, 163934, 29,1, + 163935, 163968, 34,0, + 163969, 163979, 11,1, + 163980, 164017, 38,0, + 164018, 164024, 7,1, + 164025, 164046, 22,0, + 164047, 164069, 23,1, + 164070, 164091, 22,0, + 164092, 164114, 23,1, + 164115, 164136, 22,0, + 164137, 164159, 23,1, + 164160, 164195, 36,0, + 164196, 164204, 9,1, + 164205, 164242, 38,0, + 164243, 164249, 7,1, + 164250, 164289, 40,0, + 164290, 164294, 5,1, + 164295, 164334, 40,0, + 164335, 164339, 5,1, + 164340, 164374, 35,0, + 164375, 164384, 10,1, + 164385, 164422, 38,0, + 164423, 164429, 7,1, + 164430, 164473, 44,0, + 164474, 164474, 1,1, + 164475, 164518, 44,0, + 164519, 164519, 1,1, + 164520, 164561, 42,0, + 164562, 164564, 3,1, + 164565, 164605, 41,0, + 164606, 164609, 4,1, + 164610, 164649, 40,0, + 164650, 164654, 5,1, + 164655, 164692, 38,0, + 164693, 164699, 7,1, + 164700, 164738, 39,0, + 164739, 164744, 6,1, + 164745, 164784, 40,0, + 164785, 164789, 5,1, + 164790, 164828, 39,0, + 164829, 164834, 6,1, + 164835, 164873, 39,0, + 164874, 164879, 6,1, + 164880, 164919, 40,0, + 164920, 164924, 5,1, + 164925, 164961, 37,0, + 164962, 164969, 8,1, + 164970, 165008, 39,0, + 165009, 165014, 6,1, + 165015, 165053, 39,0, + 165054, 165059, 6,1, + 165060, 165098, 39,0, + 165099, 165104, 6,1, + 165105, 165148, 44,0, + 165149, 165149, 1,1, + 165150, 165283, 134,0, + 165284, 165284, 1,1, + 165285, 165370, 86,0, + 165371, 165374, 4,1, + 165375, 165410, 36,0, + 165411, 165419, 9,1, + 165420, 165458, 39,0, + 165459, 165464, 6,1, + 165465, 165503, 39,0, + 165504, 165509, 6,1, + 165510, 165548, 39,0, + 165549, 165554, 6,1, + 165555, 165593, 39,0, + 165594, 165599, 6,1, + 165600, 165634, 35,0, + 165635, 165644, 10,1, + 165645, 165677, 33,0, + 165678, 165689, 12,1, + 165690, 165722, 33,0, + 165723, 165734, 12,1, + 165735, 165763, 29,0, + 165764, 165914, 151,1, + 165915, 165930, 16,0, + 165931, 165959, 29,1, + 165960, 165994, 35,0, + 165995, 166004, 10,1, + 166005, 166042, 38,0, + 166043, 166049, 7,1, + 166050, 166070, 21,0, + 166071, 166094, 24,1, + 166095, 166115, 21,0, + 166116, 166139, 24,1, + 166140, 166160, 21,0, + 166161, 166184, 24,1, + 166185, 166220, 36,0, + 166221, 166229, 9,1, + 166230, 166268, 39,0, + 166269, 166274, 6,1, + 166275, 166314, 40,0, + 166315, 166319, 5,1, + 166320, 166359, 40,0, + 166360, 166364, 5,1, + 166365, 166403, 39,0, + 166404, 166409, 6,1, + 166410, 166496, 87,0, + 166497, 166499, 3,1, + 166500, 166541, 42,0, + 166542, 166544, 3,1, + 166545, 166586, 42,0, + 166587, 166589, 3,1, + 166590, 166630, 41,0, + 166631, 166634, 4,1, + 166635, 166673, 39,0, + 166674, 166679, 6,1, + 166680, 166718, 39,0, + 166719, 166724, 6,1, + 166725, 166766, 42,0, + 166767, 166769, 3,1, + 166770, 166811, 42,0, + 166812, 166814, 3,1, + 166815, 166854, 40,0, + 166855, 166859, 5,1, + 166860, 166901, 42,0, + 166902, 166904, 3,1, + 166905, 166946, 42,0, + 166947, 166949, 3,1, + 166950, 166991, 42,0, + 166992, 166994, 3,1, + 166995, 167034, 40,0, + 167035, 167039, 5,1, + 167040, 167078, 39,0, + 167079, 167084, 6,1, + 167085, 167124, 40,0, + 167125, 167129, 5,1, + 167130, 167262, 133,0, + 167263, 167264, 2,1, + 167265, 167395, 131,0, + 167396, 167399, 4,1, + 167400, 167436, 37,0, + 167437, 167444, 8,1, + 167445, 167479, 35,0, + 167480, 167489, 10,1, + 167490, 167526, 37,0, + 167527, 167534, 8,1, + 167535, 167572, 38,0, + 167573, 167579, 7,1, + 167580, 167617, 38,0, + 167618, 167624, 7,1, + 167625, 167661, 37,0, + 167662, 167669, 8,1, + 167670, 167701, 32,0, + 167702, 167714, 13,1, + 167715, 167747, 33,0, + 167748, 167759, 12,1, + 167760, 167790, 31,0, + 167791, 167804, 14,1, + 167805, 167815, 11,0, + 167816, 167939, 124,1, + 167940, 167954, 15,0, + 167955, 167984, 30,1, + 167985, 168019, 35,0, + 168020, 168029, 10,1, + 168030, 168067, 38,0, + 168068, 168074, 7,1, + 168075, 168090, 16,0, + 168091, 168119, 29,1, + 168120, 168135, 16,0, + 168136, 168164, 29,1, + 168165, 168180, 16,0, + 168181, 168209, 29,1, + 168210, 168246, 37,0, + 168247, 168254, 8,1, + 168255, 168293, 39,0, + 168294, 168299, 6,1, + 168300, 168339, 40,0, + 168340, 168344, 5,1, + 168345, 168388, 44,0, + 168389, 168389, 1,1, + 168390, 168520, 131,0, + 168521, 168524, 4,1, + 168525, 168565, 41,0, + 168566, 168569, 4,1, + 168570, 168609, 40,0, + 168610, 168614, 5,1, + 168615, 168653, 39,0, + 168654, 168659, 6,1, + 168660, 168698, 39,0, + 168699, 168704, 6,1, + 168705, 168745, 41,0, + 168746, 168749, 4,1, + 168750, 168792, 43,0, + 168793, 168794, 2,1, + 168795, 168837, 43,0, + 168838, 168839, 2,1, + 168840, 168882, 43,0, + 168883, 168884, 2,1, + 168885, 168927, 43,0, + 168928, 168929, 2,1, + 168930, 168972, 43,0, + 168973, 168974, 2,1, + 168975, 169017, 43,0, + 169018, 169019, 2,1, + 169020, 169062, 43,0, + 169063, 169064, 2,1, + 169065, 169102, 38,0, + 169103, 169109, 7,1, + 169110, 169149, 40,0, + 169150, 169154, 5,1, + 169155, 169198, 44,0, + 169199, 169199, 1,1, + 169200, 169243, 44,0, + 169244, 169244, 1,1, + 169245, 169285, 41,0, + 169286, 169289, 4,1, + 169290, 169332, 43,0, + 169333, 169334, 2,1, + 169335, 169378, 44,0, + 169379, 169379, 1,1, + 169380, 169421, 42,0, + 169422, 169424, 3,1, + 169425, 169465, 41,0, + 169466, 169469, 4,1, + 169470, 169505, 36,0, + 169506, 169514, 9,1, + 169515, 169547, 33,0, + 169548, 169559, 12,1, + 169560, 169594, 35,0, + 169595, 169604, 10,1, + 169605, 169640, 36,0, + 169641, 169649, 9,1, + 169650, 169685, 36,0, + 169686, 169694, 9,1, + 169695, 169728, 34,0, + 169729, 169739, 11,1, + 169740, 169768, 29,0, + 169769, 169784, 16,1, + 169785, 169813, 29,0, + 169814, 169829, 16,1, + 169830, 169845, 16,0, + 169846, 169874, 29,1, + 169875, 169876, 2,0, + 169877, 169964, 88,1, + 169965, 169981, 17,0, + 169982, 170009, 28,1, + 170010, 170045, 36,0, + 170046, 170054, 9,1, + 170055, 170092, 38,0, + 170093, 170099, 7,1, + 170100, 170106, 7,0, + 170107, 170144, 38,1, + 170145, 170151, 7,0, + 170152, 170189, 38,1, + 170190, 170196, 7,0, + 170197, 170234, 38,1, + 170235, 170271, 37,0, + 170272, 170279, 8,1, + 170280, 170319, 40,0, + 170320, 170324, 5,1, + 170325, 170365, 41,0, + 170366, 170369, 4,1, + 170370, 170544, 175,0, + 170545, 170549, 5,1, + 170550, 170590, 41,0, + 170591, 170594, 4,1, + 170595, 170634, 40,0, + 170635, 170639, 5,1, + 170640, 170677, 38,0, + 170678, 170684, 7,1, + 170685, 170724, 40,0, + 170725, 170729, 5,1, + 170730, 170770, 41,0, + 170771, 170774, 4,1, + 170775, 170817, 43,0, + 170818, 170819, 2,1, + 170820, 170863, 44,0, + 170864, 170864, 1,1, + 170865, 170907, 43,0, + 170908, 170909, 2,1, + 170910, 170952, 43,0, + 170953, 170954, 2,1, + 170955, 171042, 88,0, + 171043, 171044, 2,1, + 171045, 171088, 44,0, + 171089, 171089, 1,1, + 171090, 171129, 40,0, + 171130, 171134, 5,1, + 171135, 171174, 40,0, + 171175, 171179, 5,1, + 171180, 171222, 43,0, + 171223, 171224, 2,1, + 171225, 171266, 42,0, + 171267, 171269, 3,1, + 171270, 171308, 39,0, + 171309, 171314, 6,1, + 171315, 171356, 42,0, + 171357, 171359, 3,1, + 171360, 171402, 43,0, + 171403, 171404, 2,1, + 171405, 171446, 42,0, + 171447, 171449, 3,1, + 171450, 171491, 42,0, + 171492, 171494, 3,1, + 171495, 171533, 39,0, + 171534, 171539, 6,1, + 171540, 171577, 38,0, + 171578, 171584, 7,1, + 171585, 171622, 38,0, + 171623, 171629, 7,1, + 171630, 171667, 38,0, + 171668, 171674, 7,1, + 171675, 171711, 37,0, + 171712, 171719, 8,1, + 171720, 171753, 34,0, + 171754, 171764, 11,1, + 171765, 171795, 31,0, + 171796, 171809, 14,1, + 171810, 171835, 26,0, + 171836, 171854, 19,1, + 171855, 171880, 26,0, + 171881, 171899, 19,1, + 171900, 171915, 16,0, + 171916, 171944, 29,1, + 171945, 171946, 2,0, + 171947, 171989, 43,1, + 171990, 172017, 28,0, + 172018, 172034, 17,1, + 172035, 172071, 37,0, + 172072, 172079, 8,1, + 172080, 172117, 38,0, + 172118, 172259, 142,1, + 172260, 172296, 37,0, + 172297, 172304, 8,1, + 172305, 172344, 40,0, + 172345, 172349, 5,1, + 172350, 172390, 41,0, + 172391, 172394, 4,1, + 172395, 172435, 41,0, + 172436, 172439, 4,1, + 172440, 172480, 41,0, + 172481, 172484, 4,1, + 172485, 172525, 41,0, + 172526, 172529, 4,1, + 172530, 172569, 40,0, + 172570, 172574, 5,1, + 172575, 172613, 39,0, + 172614, 172619, 6,1, + 172620, 172657, 38,0, + 172658, 172664, 7,1, + 172665, 172701, 37,0, + 172702, 172709, 8,1, + 172710, 172746, 37,0, + 172747, 172754, 8,1, + 172755, 172793, 39,0, + 172794, 172799, 6,1, + 172800, 172841, 42,0, + 172842, 172844, 3,1, + 172845, 172887, 43,0, + 172888, 172889, 2,1, + 172890, 172932, 43,0, + 172933, 172934, 2,1, + 172935, 172977, 43,0, + 172978, 172979, 2,1, + 172980, 173067, 88,0, + 173068, 173069, 2,1, + 173070, 173113, 44,0, + 173114, 173114, 1,1, + 173115, 173155, 41,0, + 173156, 173159, 4,1, + 173160, 173199, 40,0, + 173200, 173204, 5,1, + 173205, 173245, 41,0, + 173246, 173249, 4,1, + 173250, 173289, 40,0, + 173290, 173294, 5,1, + 173295, 173330, 36,0, + 173331, 173339, 9,1, + 173340, 173378, 39,0, + 173379, 173384, 6,1, + 173385, 173424, 40,0, + 173425, 173429, 5,1, + 173430, 173470, 41,0, + 173471, 173474, 4,1, + 173475, 173516, 42,0, + 173517, 173519, 3,1, + 173520, 173563, 44,0, + 173564, 173564, 1,1, + 173565, 173607, 43,0, + 173608, 173609, 2,1, + 173610, 173649, 40,0, + 173650, 173654, 5,1, + 173655, 173694, 40,0, + 173695, 173699, 5,1, + 173700, 173738, 39,0, + 173739, 173744, 6,1, + 173745, 173777, 33,0, + 173778, 173789, 12,1, + 173790, 173821, 32,0, + 173822, 173834, 13,1, + 173835, 173856, 22,0, + 173857, 173879, 23,1, + 173880, 173906, 27,0, + 173907, 173924, 18,1, + 173925, 173947, 23,0, + 173948, 173969, 22,1, + 173970, 173981, 12,0, + 173982, 174014, 33,1, + 174015, 174049, 35,0, + 174050, 174059, 10,1, + 174060, 174096, 37,0, + 174097, 174104, 8,1, + 174105, 174142, 38,0, + 174143, 174284, 142,1, + 174285, 174316, 32,0, + 174317, 174329, 13,1, + 174330, 174369, 40,0, + 174370, 174374, 5,1, + 174375, 174415, 41,0, + 174416, 174419, 4,1, + 174420, 174460, 41,0, + 174461, 174464, 4,1, + 174465, 174505, 41,0, + 174506, 174509, 4,1, + 174510, 174550, 41,0, + 174551, 174554, 4,1, + 174555, 174592, 38,0, + 174593, 174599, 7,1, + 174600, 174636, 37,0, + 174637, 174644, 8,1, + 174645, 174679, 35,0, + 174680, 174689, 10,1, + 174690, 174724, 35,0, + 174725, 174734, 10,1, + 174735, 174770, 36,0, + 174771, 174779, 9,1, + 174780, 174816, 37,0, + 174817, 174824, 8,1, + 174825, 174863, 39,0, + 174864, 174869, 6,1, + 174870, 174908, 39,0, + 174909, 174914, 6,1, + 174915, 174953, 39,0, + 174954, 174959, 6,1, + 174960, 174998, 39,0, + 174999, 175004, 6,1, + 175005, 175043, 39,0, + 175044, 175049, 6,1, + 175050, 175088, 39,0, + 175089, 175094, 6,1, + 175095, 175134, 40,0, + 175135, 175139, 5,1, + 175140, 175181, 42,0, + 175182, 175184, 3,1, + 175185, 175224, 40,0, + 175225, 175229, 5,1, + 175230, 175268, 39,0, + 175269, 175274, 6,1, + 175275, 175308, 34,0, + 175309, 175319, 11,1, + 175320, 175351, 32,0, + 175352, 175364, 13,1, + 175365, 175395, 31,0, + 175396, 175409, 14,1, + 175410, 175445, 36,0, + 175446, 175454, 9,1, + 175455, 175493, 39,0, + 175494, 175499, 6,1, + 175500, 175540, 41,0, + 175541, 175544, 4,1, + 175545, 175586, 42,0, + 175587, 175589, 3,1, + 175590, 175631, 42,0, + 175632, 175634, 3,1, + 175635, 175676, 42,0, + 175677, 175679, 3,1, + 175680, 175719, 40,0, + 175720, 175724, 5,1, + 175725, 175763, 39,0, + 175764, 175769, 6,1, + 175770, 175800, 31,0, + 175801, 175814, 14,1, + 175815, 175845, 31,0, + 175846, 175859, 14,1, + 175860, 175885, 26,0, + 175886, 175904, 19,1, + 175905, 175931, 27,0, + 175932, 175949, 18,1, + 175950, 175979, 30,0, + 175980, 175994, 15,1, + 175995, 176007, 13,0, + 176008, 176039, 32,1, + 176040, 176076, 37,0, + 176077, 176084, 8,1, + 176085, 176121, 37,0, + 176122, 176129, 8,1, + 176130, 176167, 38,0, + 176168, 176309, 142,1, + 176310, 176324, 15,0, + 176325, 176354, 30,1, + 176355, 176394, 40,0, + 176395, 176399, 5,1, + 176400, 176440, 41,0, + 176441, 176444, 4,1, + 176445, 176486, 42,0, + 176487, 176489, 3,1, + 176490, 176530, 41,0, + 176531, 176534, 4,1, + 176535, 176573, 39,0, + 176574, 176579, 6,1, + 176580, 176616, 37,0, + 176617, 176624, 8,1, + 176625, 176661, 37,0, + 176662, 176669, 8,1, + 176670, 176708, 39,0, + 176709, 176714, 6,1, + 176715, 176751, 37,0, + 176752, 176759, 8,1, + 176760, 176796, 37,0, + 176797, 176804, 8,1, + 176805, 176841, 37,0, + 176842, 176849, 8,1, + 176850, 176886, 37,0, + 176887, 176894, 8,1, + 176895, 176933, 39,0, + 176934, 176939, 6,1, + 176940, 176976, 37,0, + 176977, 176984, 8,1, + 176985, 177021, 37,0, + 177022, 177029, 8,1, + 177030, 177065, 36,0, + 177066, 177074, 9,1, + 177075, 177110, 36,0, + 177111, 177119, 9,1, + 177120, 177159, 40,0, + 177160, 177164, 5,1, + 177165, 177205, 41,0, + 177206, 177209, 4,1, + 177210, 177249, 40,0, + 177250, 177254, 5,1, + 177255, 177257, 3,0, + 177258, 177434, 177,1, + 177435, 177462, 28,0, + 177463, 177479, 17,1, + 177480, 177516, 37,0, + 177517, 177524, 8,1, + 177525, 177564, 40,0, + 177565, 177569, 5,1, + 177570, 177611, 42,0, + 177612, 177614, 3,1, + 177615, 177656, 42,0, + 177657, 177659, 3,1, + 177660, 177700, 41,0, + 177701, 177704, 4,1, + 177705, 177743, 39,0, + 177744, 177749, 6,1, + 177750, 177781, 32,0, + 177782, 177794, 13,1, + 177795, 177825, 31,0, + 177826, 177839, 14,1, + 177840, 177867, 28,0, + 177868, 177884, 17,1, + 177885, 177912, 28,0, + 177913, 177929, 17,1, + 177930, 177959, 30,0, + 177960, 177974, 15,1, + 177975, 178007, 33,0, + 178008, 178019, 12,1, + 178020, 178036, 17,0, + 178037, 178064, 28,1, + 178065, 178101, 37,0, + 178102, 178109, 8,1, + 178110, 178147, 38,0, + 178148, 178154, 7,1, + 178155, 178192, 38,0, + 178193, 178379, 187,1, + 178380, 178419, 40,0, + 178420, 178424, 5,1, + 178425, 178465, 41,0, + 178466, 178469, 4,1, + 178470, 178511, 42,0, + 178512, 178514, 3,1, + 178515, 178555, 41,0, + 178556, 178559, 4,1, + 178560, 178596, 37,0, + 178597, 178604, 8,1, + 178605, 178641, 37,0, + 178642, 178649, 8,1, + 178650, 178686, 37,0, + 178687, 178694, 8,1, + 178695, 178733, 39,0, + 178734, 178739, 6,1, + 178740, 178777, 38,0, + 178778, 178784, 7,1, + 178785, 178822, 38,0, + 178823, 178829, 7,1, + 178830, 178868, 39,0, + 178869, 178874, 6,1, + 178875, 178915, 41,0, + 178916, 178919, 4,1, + 178920, 178960, 41,0, + 178961, 178964, 4,1, + 178965, 179005, 41,0, + 179006, 179009, 4,1, + 179010, 179048, 39,0, + 179049, 179054, 6,1, + 179055, 179094, 40,0, + 179095, 179099, 5,1, + 179100, 179139, 40,0, + 179140, 179144, 5,1, + 179145, 179185, 41,0, + 179186, 179189, 4,1, + 179190, 179230, 41,0, + 179231, 179234, 4,1, + 179235, 179270, 36,0, + 179271, 179504, 234,1, + 179505, 179525, 21,0, + 179526, 179549, 24,1, + 179550, 179587, 38,0, + 179588, 179594, 7,1, + 179595, 179632, 38,0, + 179633, 179639, 7,1, + 179640, 179680, 41,0, + 179681, 179684, 4,1, + 179685, 179725, 41,0, + 179726, 179729, 4,1, + 179730, 179761, 32,0, + 179762, 179774, 13,1, + 179775, 179803, 29,0, + 179804, 179819, 16,1, + 179820, 179848, 29,0, + 179849, 179864, 16,1, + 179865, 179898, 34,0, + 179899, 179909, 11,1, + 179910, 179943, 34,0, + 179944, 179954, 11,1, + 179955, 179987, 33,0, + 179988, 179999, 12,1, + 180000, 180034, 35,0, + 180035, 180044, 10,1, + 180045, 180076, 32,0, + 180077, 180089, 13,1, + 180090, 180125, 36,0, + 180126, 180134, 9,1, + 180135, 180172, 38,0, + 180173, 180179, 7,1, + 180180, 180217, 38,0, + 180218, 180404, 187,1, + 180405, 180443, 39,0, + 180444, 180449, 6,1, + 180450, 180490, 41,0, + 180491, 180494, 4,1, + 180495, 180536, 42,0, + 180537, 180539, 3,1, + 180540, 180580, 41,0, + 180581, 180584, 4,1, + 180585, 180620, 36,0, + 180621, 180629, 9,1, + 180630, 180666, 37,0, + 180667, 180674, 8,1, + 180675, 180713, 39,0, + 180714, 180719, 6,1, + 180720, 180759, 40,0, + 180760, 180764, 5,1, + 180765, 180805, 41,0, + 180806, 180809, 4,1, + 180810, 180849, 40,0, + 180850, 180854, 5,1, + 180855, 180894, 40,0, + 180895, 180899, 5,1, + 180900, 180942, 43,0, + 180943, 180944, 2,1, + 180945, 180987, 43,0, + 180988, 180989, 2,1, + 180990, 181031, 42,0, + 181032, 181034, 3,1, + 181035, 181077, 43,0, + 181078, 181079, 2,1, + 181080, 181122, 43,0, + 181123, 181124, 2,1, + 181125, 181167, 43,0, + 181168, 181169, 2,1, + 181170, 181210, 41,0, + 181211, 181214, 4,1, + 181215, 181255, 41,0, + 181256, 181259, 4,1, + 181260, 181294, 35,0, + 181295, 181574, 280,1, + 181575, 181602, 28,0, + 181603, 181619, 17,1, + 181620, 181647, 28,0, + 181648, 181664, 17,1, + 181665, 181700, 36,0, + 181701, 181709, 9,1, + 181710, 181749, 40,0, + 181750, 181754, 5,1, + 181755, 181763, 9,0, + 181764, 181799, 36,1, + 181800, 181807, 8,0, + 181808, 181844, 37,1, + 181845, 181865, 21,0, + 181866, 181889, 24,1, + 181890, 181923, 34,0, + 181924, 181934, 11,1, + 181935, 181969, 35,0, + 181970, 181979, 10,1, + 181980, 182014, 35,0, + 182015, 182024, 10,1, + 182025, 182059, 35,0, + 182060, 182069, 10,1, + 182070, 182104, 35,0, + 182105, 182114, 10,1, + 182115, 182150, 36,0, + 182151, 182159, 9,1, + 182160, 182197, 38,0, + 182198, 182204, 7,1, + 182205, 182242, 38,0, + 182243, 182429, 187,1, + 182430, 182468, 39,0, + 182469, 182474, 6,1, + 182475, 182515, 41,0, + 182516, 182519, 4,1, + 182520, 182561, 42,0, + 182562, 182564, 3,1, + 182565, 182607, 43,0, + 182608, 182609, 2,1, + 182610, 182647, 38,0, + 182648, 182654, 7,1, + 182655, 182691, 37,0, + 182692, 182699, 8,1, + 182700, 182739, 40,0, + 182740, 182744, 5,1, + 182745, 182785, 41,0, + 182786, 182789, 4,1, + 182790, 182830, 41,0, + 182831, 182834, 4,1, + 182835, 182875, 41,0, + 182876, 182879, 4,1, + 182880, 182919, 40,0, + 182920, 182924, 5,1, + 182925, 182967, 43,0, + 182968, 182969, 2,1, + 182970, 183012, 43,0, + 183013, 183014, 2,1, + 183015, 183057, 43,0, + 183058, 183059, 2,1, + 183060, 183103, 44,0, + 183104, 183104, 1,1, + 183105, 183147, 43,0, + 183148, 183149, 2,1, + 183150, 183193, 44,0, + 183194, 183194, 1,1, + 183195, 183235, 41,0, + 183236, 183239, 4,1, + 183240, 183280, 41,0, + 183281, 183284, 4,1, + 183285, 183323, 39,0, + 183324, 183599, 276,1, + 183600, 183629, 30,0, + 183630, 183644, 15,1, + 183645, 183676, 32,0, + 183677, 183689, 13,1, + 183690, 183717, 28,0, + 183718, 183734, 17,1, + 183735, 183746, 12,0, + 183747, 183779, 33,1, + 183780, 183785, 6,0, + 183786, 183824, 39,1, + 183825, 183831, 7,0, + 183832, 183869, 38,1, + 183870, 183879, 10,0, + 183880, 183914, 35,1, + 183915, 183946, 32,0, + 183947, 183959, 13,1, + 183960, 183994, 35,0, + 183995, 184004, 10,1, + 184005, 184039, 35,0, + 184040, 184049, 10,1, + 184050, 184084, 35,0, + 184085, 184094, 10,1, + 184095, 184129, 35,0, + 184130, 184139, 10,1, + 184140, 184175, 36,0, + 184176, 184184, 9,1, + 184185, 184222, 38,0, + 184223, 184229, 7,1, + 184230, 184267, 38,0, + 184268, 184275, 7,1, +}; +#endif diff --git a/TeosCpp/src/SaarDataHandler.cpp b/packages/gsw_cpp/teos-cpp/src/SaarDataHandler.cpp similarity index 99% rename from TeosCpp/src/SaarDataHandler.cpp rename to packages/gsw_cpp/teos-cpp/src/SaarDataHandler.cpp index 9715e7e..bc682be 100644 --- a/TeosCpp/src/SaarDataHandler.cpp +++ b/packages/gsw_cpp/teos-cpp/src/SaarDataHandler.cpp @@ -1,7 +1,7 @@ #include "SaarDataHandler.h" /****************************************** - SaarDataHandler.h Version 1.06 + SaarDataHandler.h Version 2.0 by Randall Kent Whited rkwhited@gmail.com -------------------------------- @@ -15,7 +15,7 @@ files listed below in #include lists --------------------------------------- All copyrights and all license issues - are the same as for prior versions + are the same as for prior C versions *******************************************/ /** "mapping" arrays & struct */ diff --git a/TeosCpp/src/TeosBase.cpp b/packages/gsw_cpp/teos-cpp/src/TeosBase.cpp similarity index 95% rename from TeosCpp/src/TeosBase.cpp rename to packages/gsw_cpp/teos-cpp/src/TeosBase.cpp index 364d5c8..d229a68 100644 --- a/TeosCpp/src/TeosBase.cpp +++ b/packages/gsw_cpp/teos-cpp/src/TeosBase.cpp @@ -1,17 +1,17 @@ /****************************************** - TeosBase.cpp Version 1.06 - Base class for TeosIce, TeosSea, and - Teos_Matlab classes + TeosBase.cpp Version 2.0 + Base class for TeosIce, and TeosSea --------------------------------------- by Randall Kent Whited rkwhited@gmail.com --------------------------------------- All copyrights and all license issues are the same as for previous versions -*******************************************/ +******************************************/ #include "TeosBase.h" #include "TeosCppSupp.h" +/** constructor */ TeosBase::TeosBase() : /** initialize the complex numbers */ t1(3.68017112855051e-2, 5.10878114959572e-2), @@ -49,6 +49,7 @@ TeosBase::TeosBase() } catch(bad_alloc &e) { + /** not enough memory */ throw badBaseAlloc; } } @@ -62,6 +63,7 @@ TeosBase::~TeosBase() { if (pSaarData) { + /** clean up */ delete pSaarData; pSaarData = NULL; } @@ -128,7 +130,7 @@ double TeosBase::gsw_alpha(double sa, double ct, double p) xs = sqrt(gtc.gsw_sfac*sa + gtc.offset); ys = ct*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; v_ct_part = gsw_get_v_ct_part(xs, ys, z); return 0.025*v_ct_part/gsw_specvol(sa,ct,p); @@ -196,7 +198,7 @@ double TeosBase::gsw_beta(double sa,double ct,double p) xs = sqrt(gtc.gsw_sfac*sa + gtc.offset); ys = ct*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; v_sa_part = gsw_gsvco_b(xs, ys, z); return -v_sa_part*0.5*gtc.gsw_sfac/(gsw_specvol(sa,ct,p)*xs); @@ -246,7 +248,7 @@ double TeosBase::gsw_chem_potential_water_t_exact(double sa,double t,double p) x2 = gtc.gsw_sfac*sa; x = sqrt(x2); y = t*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; g03g_plus_g08g = gsw_get_g03plusg08_h(z, y, x2, x); @@ -830,8 +832,8 @@ double TeosBase::gsw_ct_maxdensity(double sa, double p) int number_of_iterations; double alpha, ct, ct_mean, ct_old, dalpha_dct, dct = 0.001; - ct = 3.978 - 0.22072*sa; /**the initial guess of ct.*/ - dalpha_dct = 1.1e-5; /**the initial guess for dalpha_dct.*/ + ct = 3.978 - 0.22072*sa; /** the initial guess of ct */ + dalpha_dct = 1.1e-5; /** the initial guess for dalpha_dct */ for (number_of_iterations = 1; number_of_iterations <= 3; number_of_iterations++) @@ -849,7 +851,7 @@ double TeosBase::gsw_ct_maxdensity(double sa, double p) Wotherspoon, 2012) iteration, the error in CT_maxdensity is typically no larger than 1x10^-15 degress C. */ - return (ct); + return ct; } /*************************************************************************** @@ -915,124 +917,148 @@ double TeosBase::gsw_deltasa_atlas(double p,double lon,double lat) int nx=gsw_nx, ny=gsw_ny, nz=gsw_nz; int indx0, indy0, indz0, k, ndepth_index; double dsar[4], dsar_old[4], dlong, dlat; - double return_value, sa_upper, sa_lower; + double sa_upper, sa_lower; double r1, s1, t1, ndepth_max; + double return_value; - return_value = cppGSW_INVALID_VALUE; - if (isnan(lat) || isnan(lon) || isnan(p)) - { - return (return_value); - } - if (lat < -86.0 || lat > 90.0) - { - return (return_value); - } - if (lon < 0.0) - { - lon += 360.0; - } - dlong = pSaarData->get_longs_ref(1)-pSaarData->get_longs_ref(0); - dlat = pSaarData->get_lats_ref(1)-pSaarData->get_lats_ref(0); - /** these were set apart to resolve a C++ compiler problem calculating indx0 */ - double longsrefzero = pSaarData->get_longs_ref(0); - double nxminusone = (double)nx-1.0; - double longsrefnxminusone = pSaarData->get_longs_ref((unsigned)nxminusone); - double lonminuslongsrefzero = lon-longsrefzero; - indx0 = floor(nxminusone*(lonminuslongsrefzero/(longsrefnxminusone-longsrefzero))); - if (indx0 == nx-1) + if (isnan(lat) || lat < -86.0 || lat > 90.0 || isnan(lon) || isnan(p)) { - indx0 = nx-2; - } - /** these were set apart to resolve a C++ compiler problem calculating indy0 */ - double latsrefzero = pSaarData->get_lats_ref(0); - double nyminusone = (double)ny-1.0; - double latsrefnyminusone = pSaarData->get_lats_ref((unsigned)nyminusone); - double latminuslatsrefzero = lat-latsrefzero; - indy0 = floor(nyminusone*(latminuslatsrefzero/(latsrefnyminusone-latsrefzero))); - if (indy0 == ny-1) - { - indy0 = ny-2; + return_value = cppGSW_INVALID_VALUE; } - ndepth_max = -1; - for (k=0; k<4; k++) - { - ndepth_index = indy0+gsaar.delj[k]+(indx0+gsaar.deli[k])*ny; - if (pSaarData->get_ndepth_ref(ndepth_index) > 0.0) + else + { + if (lon < 0.0) + { + lon += 360.0; + } + + dlong = pSaarData->get_longs_ref(1)-pSaarData->get_longs_ref(0); + dlat = pSaarData->get_lats_ref(1)-pSaarData->get_lats_ref(0); + /** these were set apart to resolve a C++ compiler problem calculating indx0 */ + double longsrefzero = pSaarData->get_longs_ref(0); + double nxminusone = (double)nx-1.0; + double longsrefnxminusone = pSaarData->get_longs_ref((unsigned)nxminusone); + double lonminuslongsrefzero = lon-longsrefzero; + indx0 = floor(nxminusone*(lonminuslongsrefzero/(longsrefnxminusone-longsrefzero))); + + if (indx0 == nx-1) { - ndepth_max = gsw_max_d(ndepth_max, pSaarData->get_ndepth_ref(ndepth_index)); - if (ndepth_max < pSaarData->get_ndepth_ref(ndepth_index)) + indx0 = nx-2; + } + + /** these were set apart to resolve a C++ compiler problem calculating indy0 */ + double latsrefzero = pSaarData->get_lats_ref(0); + double nyminusone = (double)ny-1.0; + double latsrefnyminusone = pSaarData->get_lats_ref((unsigned)nyminusone); + double latminuslatsrefzero = lat-latsrefzero; + indy0 = floor(nyminusone*(latminuslatsrefzero/(latsrefnyminusone-latsrefzero))); + + if (indy0 == ny-1) + { + indy0 = ny-2; + } + + ndepth_max = -1; + + for (k=0; k<4; k++) + { + ndepth_index = indy0+gsaar.delj[k]+(indx0+gsaar.deli[k])*ny; + if (pSaarData->get_ndepth_ref(ndepth_index) > 0.0) { - ndepth_max = pSaarData->get_ndepth_ref(ndepth_index); + ndepth_max = gsw_max_d(ndepth_max, pSaarData->get_ndepth_ref(ndepth_index)); + if (ndepth_max < pSaarData->get_ndepth_ref(ndepth_index)) + { + ndepth_max = pSaarData->get_ndepth_ref(ndepth_index); + } } + } /** for */ + + if (ndepth_max == -1.0) + { + return_value = 0.0; } - } /** for */ - if (ndepth_max == -1.0) - { - return (0.0); - } - if (p > pSaarData->get_p_ref((int)(ndepth_max)-1)) - { - p = pSaarData->get_p_ref((int)(ndepth_max)-1); - } - /************************************************* - gsw_util_indxPref is relocated to TeosBase.cpp - for a more clear continuity with gsw_util_indx - *************************************************/ - indz0 = gsw_util_indxPref(nz,p); - r1 = (lon-pSaarData->get_longs_ref(indx0))/ - (pSaarData->get_longs_ref(indx0+1)-pSaarData->get_longs_ref(indx0)); - s1 = (lat-pSaarData->get_lats_ref(indy0))/ - (pSaarData->get_lats_ref(indy0+1)-pSaarData->get_lats_ref(indy0)); - t1 = (p-pSaarData->get_p_ref(indz0))/ - (pSaarData->get_p_ref(indz0+1)-pSaarData->get_p_ref(indz0)); - for (k=0; k < 4; k++) - { - dsar[k] = pSaarData->get_delta_sa_ref(indz0+nz*(indy0+gsaar.delj[k]+ - (indx0+gsaar.deli[k])*ny)); - } - if (gsaar.longs_pan[0] <= lon && lon <= gsaar.longs_pan[gsaar.npan-1]-0.001 && - gsaar.lats_pan[gsaar.npan-1] <= lat && lat <= gsaar.lats_pan[0]) - { - memmove(dsar_old,dsar,4*sizeof (double)); - gsw_add_barrier(dsar_old,lon,lat,pSaarData->get_longs_ref(indx0), - pSaarData->get_lats_ref(indy0),dlong,dlat,dsar); - } - else if (fabs(gsw_sum(dsar, sizeof (dsar)/sizeof (double))) >= cppGSW_ERROR_LIMIT) - { - memmove(dsar_old,dsar,4*sizeof (double)); - gsw_add_mean(dsar_old,dsar); - } - sa_upper = (1.0-s1)*(dsar[0] + r1*(dsar[1]-dsar[0])) + - s1*(dsar[3] + r1*(dsar[2]-dsar[3])); - for (k=0; k<4; k++) - { - dsar[k] = pSaarData->get_delta_sa_ref(indz0+1+nz*(indy0+gsaar.delj[k]+ - (indx0+gsaar.deli[k])*ny)); - } - if (gsaar.longs_pan[0] <= lon && lon <= gsaar.longs_pan[gsaar.npan-1] && - gsaar.lats_pan[gsaar.npan-1] <= lat && lat <= gsaar.lats_pan[0]) - { - memmove(dsar_old,dsar,4*sizeof (double)); - gsw_add_barrier(dsar_old,lon,lat,pSaarData->get_longs_ref(indx0), - pSaarData->get_lats_ref(indy0),dlong,dlat,dsar); - } - else if (fabs(gsw_sum(dsar, sizeof (dsar)/sizeof (double))) >= cppGSW_ERROR_LIMIT) - { - memmove(dsar_old,dsar,4*sizeof (double)); - gsw_add_mean(dsar_old,dsar); - } - sa_lower = (1.0-s1)*(dsar[0] + r1*(dsar[1]-dsar[0])) + - s1*(dsar[3] + r1*(dsar[2]-dsar[3])); - if (fabs(sa_lower) >= cppGSW_ERROR_LIMIT) - { - sa_lower = sa_upper; - } - return_value = sa_upper + t1*(sa_lower-sa_upper); - if (fabs(return_value) >= cppGSW_ERROR_LIMIT) - { - return (cppGSW_INVALID_VALUE); - } - return (return_value); + else + { + if (p > pSaarData->get_p_ref((int)(ndepth_max)-1)) + { + p = pSaarData->get_p_ref((int)(ndepth_max)-1); + } + + /************************************************* + gsw_util_indxPref is relocated to TeosBase.cpp + for a more clear continuity with gsw_util_indx + *************************************************/ + indz0 = gsw_util_indxPref(nz,p); + + r1 = (lon-pSaarData->get_longs_ref(indx0))/ + (pSaarData->get_longs_ref(indx0+1)-pSaarData->get_longs_ref(indx0)); + + s1 = (lat-pSaarData->get_lats_ref(indy0))/ + (pSaarData->get_lats_ref(indy0+1)-pSaarData->get_lats_ref(indy0)); + + t1 = (p-pSaarData->get_p_ref(indz0))/ + (pSaarData->get_p_ref(indz0+1)-pSaarData->get_p_ref(indz0)); + + for (k=0; k < 4; k++) + { + dsar[k] = pSaarData->get_delta_sa_ref(indz0+nz*(indy0+gsaar.delj[k]+ + (indx0+gsaar.deli[k])*ny)); + } + + if (gsaar.longs_pan[0] <= lon && lon <= gsaar.longs_pan[gsaar.npan-1]-0.001 && + gsaar.lats_pan[gsaar.npan-1] <= lat && lat <= gsaar.lats_pan[0]) + { + memmove(dsar_old,dsar,4*sizeof (double)); + gsw_add_barrier(dsar_old,lon,lat,pSaarData->get_longs_ref(indx0), + pSaarData->get_lats_ref(indy0),dlong,dlat,dsar); + } + else if (fabs(gsw_sum(dsar, sizeof (dsar)/sizeof (double))) >= cppGSW_ERROR_LIMIT) + { + memmove(dsar_old,dsar,4*sizeof (double)); + gsw_add_mean(dsar_old,dsar); + } + + sa_upper = (1.0-s1)*(dsar[0] + r1*(dsar[1]-dsar[0])) + + s1*(dsar[3] + r1*(dsar[2]-dsar[3])); + + for (k=0; k<4; k++) + { + dsar[k] = pSaarData->get_delta_sa_ref(indz0+1+nz*(indy0+gsaar.delj[k]+ + (indx0+gsaar.deli[k])*ny)); + } + + if (gsaar.longs_pan[0] <= lon && lon <= gsaar.longs_pan[gsaar.npan-1] && + gsaar.lats_pan[gsaar.npan-1] <= lat && lat <= gsaar.lats_pan[0]) + { + memmove(dsar_old,dsar,4*sizeof (double)); + + gsw_add_barrier(dsar_old,lon,lat,pSaarData->get_longs_ref(indx0), + pSaarData->get_lats_ref(indy0),dlong,dlat,dsar); + } + else if (fabs(gsw_sum(dsar, sizeof (dsar)/sizeof (double))) >= cppGSW_ERROR_LIMIT) + { + memmove(dsar_old,dsar,4*sizeof (double)); + gsw_add_mean(dsar_old,dsar); + } + + sa_lower = (1.0-s1)*(dsar[0] + r1*(dsar[1]-dsar[0])) + + s1*(dsar[3] + r1*(dsar[2]-dsar[3])); + + if (fabs(sa_lower) >= cppGSW_ERROR_LIMIT) + { + sa_lower = sa_upper; + } + + return_value = sa_upper + t1*(sa_lower-sa_upper); + + if (fabs(return_value) >= cppGSW_ERROR_LIMIT) + { + return_value = cppGSW_INVALID_VALUE; + } + } /** if (ndepth_max == -1.0) */ + } /** if (isnan(lat) ... */ + + return return_value; } /*************************************************************************** @@ -1080,8 +1106,9 @@ double TeosBase::gsw_dilution_coefficient_t_exact(double sa,double t,double p) x2 = gtc.gsw_sfac*sa; x = sqrt(x2); y = t*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; /**note. the input pressure (p) is sea pressure in units of dbar.*/ + g08 = gsw_g08_d(x2, z, y, x); return 0.25*gtc.gsw_sfac*g08; @@ -1162,11 +1189,11 @@ double TeosBase::gsw_dynamic_enthalpy(double sa, double ct, double p) xs = sqrt(gtc.gsw_sfac*sa + gtc.offset); ys = ct*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; dynamic_enthalpy_part = gsw_get_dyn_enth_prt(xs, ys, z); - return dynamic_enthalpy_part*gtc.db2pa*1e4; + return dynamic_enthalpy_part*gtc.db2pa*gtc.db2pa; } /*************************************************************************** @@ -1508,15 +1535,15 @@ void TeosBase::gsw_enthalpy_first_derivatives_ct_exact(double sa,double ct, { *h_ct = gtc.gsw_cp0*temp_ratio; } - if (h_sa == NULL) + + if (h_sa != NULL) { - return; - } - x = sqrt(gtc.gsw_sfac*sa); - y = 0.025*t; - z = gtc.rec_db2pa*p; - /**note.the input pressure (p) is sea pressure in units of dbar.*/ - g_sa_mod_t = 8645.36753595126 + x = sqrt(gtc.gsw_sfac*sa); + y = 0.025*t; + z = gtc.rec_db2pa*p; + /**note.the input pressure (p) is sea pressure in units of dbar.*/ + + g_sa_mod_t = 8645.36753595126 + z*(-6620.98308089678 + z*(769.588305957198 + z*(-193.0648640214916 + (31.6816345533648 - 5.24960313181984*z)*z))) + x*(-7296.43987145382 + x*(8103.20462414788 @@ -1541,9 +1568,10 @@ void TeosBase::gsw_enthalpy_first_derivatives_ct_exact(double sa,double ct, + z*(-1721.528607567954 + z*(674.819060538734 + z*(-356.629112415276 + (88.4080716616 - 15.84003094423364*z)*z))))); - g_sa_mod_t = 0.5*gtc.gsw_sfac*g_sa_mod_t; - y_pt = 0.025*pt0; - g_sa_mod_pt = 8645.36753595126 + g_sa_mod_t = 0.5*gtc.gsw_sfac*g_sa_mod_t; + y_pt = 0.025*pt0; + + g_sa_mod_pt = 8645.36753595126 + x*(-7296.43987145382 + x*(8103.20462414788 + y_pt*(2175.341332000392 + y_pt*(-274.2290036817964 + y_pt*(197.4670779425016 + y_pt*(-68.5590309679152 + 9.98788038278032*y_pt)))) @@ -1554,9 +1582,10 @@ void TeosBase::gsw_enthalpy_first_derivatives_ct_exact(double sa,double ct, + y_pt*(1187.3715515697959 + y_pt*(1760.062705994408 + y_pt*(-450.535298526802 + y_pt*(182.8520895502518 + y_pt*(-43.3206481750622 + 4.26033941694366*y_pt))))); - g_sa_mod_pt = 0.5*gtc.gsw_sfac*g_sa_mod_pt; + g_sa_mod_pt = 0.5*gtc.gsw_sfac*g_sa_mod_pt; - *h_sa = g_sa_mod_t - temp_ratio*g_sa_mod_pt; + *h_sa = g_sa_mod_t - temp_ratio*g_sa_mod_pt; + } /** if (h_sa != NULL) */ } /*************************************************************************** @@ -1635,6 +1664,7 @@ void TeosBase::gsw_enthalpy_second_derivatives_ct_exact(double sa,double ct,doub temp_ratio = (gtc.gsw_t0 + t)*rec_abs_pt0; rec_gtt_pt0 = 1.0/gsw_gibbs(0,2,0,sa,pt0,pr0); rec_gtt = 1.0/gsw_gibbs(0,2,0,sa,t,p); + /**h_ct_ct is naturally well-behaved as sa approaches zero.*/ h_ct_ct_val = gtc.gsw_cp0*gtc.gsw_cp0* (temp_ratio*rec_gtt_pt0 - rec_gtt)*(rec_abs_pt0*rec_abs_pt0); @@ -1672,10 +1702,13 @@ void TeosBase::gsw_enthalpy_second_derivatives_ct_exact(double sa,double ct,doub gsat_pt0 = gsw_gibbs(1,1,0,sa_small,pt0,pr0); gsat = gsw_gibbs(1,1,0,sa_small,t,p); gsa_pt0 = gsw_gibbs(1,0,0,sa_small,pt0,pr0); - part_b = (temp_ratio*gsat_pt0*rec_gtt_pt0 - - gsat*rec_gtt)*rec_abs_pt0; - factor = gsa_pt0/gtc.gsw_cp0; + + part_b = (temp_ratio*gsat_pt0*rec_gtt_pt0 -gsat*rec_gtt) + * rec_abs_pt0; + + factor = gsa_pt0 / gtc.gsw_cp0; } + h_sa_ct = gtc.gsw_cp0 * part_b - factor * h_ct_ct_val; } @@ -1702,17 +1735,17 @@ double TeosBase::gsw_enthalpy_sso_0(double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ - double dynamic_enthalpy_sso_0_p, z; - z = p*1.0e-4; + double dynamic_enthalpy_sso_0_p, z = p * gtc.rec_db2pa; + dynamic_enthalpy_sso_0_p = z*( 9.726613854843870e-4 + z*(-2.252956605630465e-5 + z*( 2.376909655387404e-6 + z*(-1.664294869986011e-7 + z*(-5.988108894465758e-9 - + z*(gsvco.h006 + gsvco.h007*z)))))); + + z*(gsvco.h006 + gsvco.h007 * z)))))); - return (dynamic_enthalpy_sso_0_p*gtc.db2pa*1.0e4); + return (dynamic_enthalpy_sso_0_p * gtc.db2pa*gtc.db2pa); } /*************************************************************************** @@ -1752,8 +1785,9 @@ double TeosBase::gsw_enthalpy_sso_0(double p) double TeosBase::gsw_enthalpy_t_exact(double sa, double t, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ + return (gsw_gibbs(0,0,0,sa,t,p) - - (t+gtc.gsw_t0)*gsw_gibbs(0,1,0,sa,t,p)); + (t + gtc.gsw_t0) * gsw_gibbs(0,1,0,sa,t,p)); } /*************************************************************************** @@ -1804,6 +1838,7 @@ void TeosBase::gsw_entropy_first_derivatives(double sa,double ct,double *eta_sa, double *eta_ct) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double pt, pr0 = 0.0; pt = gsw_pt_from_ct(sa,ct); @@ -1877,12 +1912,13 @@ double TeosBase::gsw_entropy_from_ct(double sa,double ct) double TeosBase::gsw_entropy_part(double sa, double t, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double x2, x, y, z; x2 = gtc.gsw_sfac*sa; x = sqrt(x2); y = t*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; return gsw_get_g03plusg08(z, y, x2, x); } @@ -1907,9 +1943,10 @@ double TeosBase::gsw_entropy_part(double sa, double t, double p) double TeosBase::gsw_entropy_part_zerop(double sa, double pt0) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double x2, x, y, g03, g08; - x2 = gtc.gsw_sfac*sa; + x2 = gtc.gsw_sfac * sa; x = sqrt(x2); y = pt0*0.025; @@ -1982,26 +2019,31 @@ void TeosBase::gsw_entropy_second_derivatives(double sa,double ct,double *eta_sa double *eta_sa_ct,double *eta_ct_ct) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double abs_pt, ct_pt, ct_sa, pt, ct_ct, pr0 = 0.0; pt = gsw_pt_from_ct(sa,ct); abs_pt = gtc.gsw_t0 + pt; ct_pt = -(abs_pt*gsw_gibbs(0,2,0,sa,pt,pr0))/gtc.gsw_cp0; ct_ct = -gtc.gsw_cp0/(ct_pt*abs_pt*abs_pt); + if ((eta_sa_ct != NULL) || (eta_sa_sa != NULL)) { ct_sa = (gsw_gibbs(1,0,0,sa,pt,pr0) - (abs_pt*gsw_gibbs(1,1,0,sa,pt,pr0)))/gtc.gsw_cp0; + if (eta_sa_ct != NULL) { *eta_sa_ct = -ct_sa*ct_ct; } + if (eta_sa_sa != NULL) { *eta_sa_sa = -gsw_gibbs(2,0,0,sa,pt,pr0)/abs_pt + - ct_sa*ct_sa*ct_ct; + ct_sa*ct_sa*ct_ct; } } + if (eta_ct_ct != NULL) { *eta_ct_ct = ct_ct; @@ -2076,7 +2118,7 @@ double TeosBase::gsw_fdelta(double p, double lon, double lat) sa = ((1.0 + 0.35)*saar)/(1.0 - 0.35*saar); } - return (sa); + return sa; } /*************************************************************************** @@ -2137,19 +2179,24 @@ double TeosBase::gsw_gibbs_ice(int nt,int np,double t,double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ /** for GSW_GIBBS_ICE_COEFFICIENTS use gic */ + double dzi, g0, g0p, g0pp, sqrec_pt; complex r2, r2p, r2pp, g, sqtau_t1, sqtau_t2, tau, tau_t1, tau_t2; double s0 = -3.32733756492168e3; + double return_value = cppGSW_INVALID_VALUE; tau = (t + gtc.gsw_t0)*gic.rec_tt; dzi = gtc.db2pa*p*gic.rec_pt; + if (nt == 0 && np == 0) { tau_t1 = tau/t1; sqtau_t1 = tau_t1*tau_t1; tau_t2 = tau/t2; sqtau_t2 = tau_t2*tau_t2; - g0 = gic.g00 + dzi*(gic.g01 + dzi*(gic.g02 + dzi*(gic.g03 + gic.g04*dzi))); + g0 = gic.g00 + dzi*(gic.g01 + dzi* + (gic.g02 + dzi*(gic.g03 + gic.g04*dzi))); + r2 = r20 + dzi*(r21 + r22*dzi); g = r1*(tau*log((1.0 + tau_t1)/(1.0 - tau_t1)) @@ -2157,40 +2204,49 @@ double TeosBase::gsw_gibbs_ice(int nt,int np,double t,double p) + r2*(tau*log((1.0 + tau_t2)/(1.0 - tau_t2)) + t2*(log(1.0 - sqtau_t2) - sqtau_t2)); - return real(g0 - gic.tt*(s0*tau - real(g))); // EF: bug in original. + return_value = real(g0 - gic.tt*(s0*tau - real(g))); // EF: bug in original. } else if (nt == 1 && np == 0) { tau_t1 = tau/t1; tau_t2 = tau/t2; r2 = r20 + dzi*(r21 + r22*dzi); + g = r1*(log((1.0 + tau_t1)/(1.0 - tau_t1)) - 2.0*tau_t1) + r2*(log((1.0 + tau_t2)/(1.0 - tau_t2)) - 2.0*tau_t2); - return (-s0 + real(g)); + + return_value = (-s0 + real(g)); } else if (nt == 0 && np == 1) { tau_t2 = tau/t2; sqtau_t2 = tau_t2*tau_t2; - g0p = gic.rec_pt*(gic.g01 + dzi*(2.0*gic.g02 + dzi*(3.0*gic.g03 + 4.0*gic.g04*dzi))); + g0p = gic.rec_pt*(gic.g01 + dzi + *(2.0*gic.g02 + dzi + *(3.0*gic.g03 + 4.0 + *gic.g04*dzi))); + r2p = gic.rec_pt*(r21 + 2.0*r22*dzi); g = r2p*(tau*log((1.0 + tau_t2)/(1.0 - tau_t2)) + t2*(log(1.0 - sqtau_t2) - sqtau_t2)); - return (g0p + gic.tt*real(g)); + + return_value = (g0p + gic.tt*real(g)); } else if (nt == 1 && np == 1) { tau_t2 = tau/t2; r2p = gic.rec_pt*(r21 + 2.0*r22*dzi) ; g = r2p*(log((1.0 + tau_t2)/(1.0 - tau_t2)) - 2.0*tau_t2); - return (real(g)); + + return_value = (real(g)); } else if (nt == 2 && np == 0) { r2 = r20 + dzi*(r21 + r22*dzi); g = r1*(1.0/(t1 - tau) + 1.0/(t1 + tau) - 2.0/t1) + r2*(1.0/(t2 - tau) + 1.0/(t2 + tau) - 2.0/t2); - return (gic.rec_tt*real(g)); + + return_value = (gic.rec_tt*real(g)); } else if (nt == 0 && np == 2) { @@ -2201,10 +2257,11 @@ double TeosBase::gsw_gibbs_ice(int nt,int np,double t,double p) r2pp = 2.0*r22*sqrec_pt; g = r2pp*(tau*log((1.0 + tau_t2)/(1.0 - tau_t2)) + t2*(log(1.0 - sqtau_t2) - sqtau_t2)); - return (g0pp + gic.tt*real(g)); + + return_value = (g0pp + gic.tt*real(g)); } - else - return (cppGSW_INVALID_VALUE); + + return return_value; } /*************************************************************************** @@ -2297,6 +2354,7 @@ double TeosBase::gsw_gibbs_ice(int nt,int np,double t,double p) double TeosBase::gsw_gibbs(int ns, int nt, int np, double sa, double t, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double x2, x, y, z, return_value = cppGSW_INVALID_VALUE; x2 = gtc.gsw_sfac * sa; @@ -2365,9 +2423,10 @@ double TeosBase::gsw_gibbs(int ns, int nt, int np, double sa, double t, double p double TeosBase::gsw_gibbs_pt0_pt0(double sa, double pt0) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double x2, x, y, g03, g08; - x2 = gtc.gsw_sfac*sa; + x2 = gtc.gsw_sfac * sa; x = sqrt(x2); y = pt0*0.025; @@ -2435,6 +2494,7 @@ double TeosBase::gsw_gibbs_pt0_pt0(double sa, double pt0) double TeosBase::gsw_grav(double lat, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double x, sin2, gs, z; x = sin(lat*gtc.deg2rad); /** convert to radians */ @@ -2497,6 +2557,7 @@ double TeosBase::gsw_grav(double lat, double p) double TeosBase::gsw_hill_ratio_at_sp2(double t) { /** for GSW_SP_COEFFICIENTS use gspc */ + double g0 = 2.641463563366498e-1, g1 = 2.007883247811176e-4, g2 = -4.107694432853053e-6, g3 = 8.401670882091225e-8, g4 = -1.711392021989210e-9, g5 = 3.374193893377380e-11, @@ -2537,6 +2598,7 @@ double TeosBase::gsw_hill_ratio_at_sp2(double t) rtx = rtx0 - (sp_est - sp2)/dsp_drtx; rtxm = 0.5*(rtx + rtx0); + dsp_drtx = gspc.a1 + (2*gspc.a2 + (3*gspc.a3 + (4*gspc.a4 + 5*gspc.a5*rtxm)*rtxm)*rtxm)*rtxm @@ -2673,11 +2735,12 @@ double TeosBase::gsw_internal_energy(double sa,double ct,double p) double TeosBase::gsw_kappa(double sa, double ct, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double v, v_p, xs, ys, z; xs = sqrt(gtc.gsw_sfac*sa + gtc.offset); ys = ct*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; v = gsw_gsvco_v(xs, ys, z); v_p = gsw_gsvco_c(xs, ys, z); @@ -2753,6 +2816,7 @@ void TeosBase::gsw_linear_interp_sa_ct(double *sa,double *ct,double *p,int np, min_p = max_p = p[0]; imin_p = imax_p = 0; + for (i=1; i 5) return cppGSW_INVALID_VALUE; + if (z > 5) + { + p = cppGSW_INVALID_VALUE; + } + else + { + sinlat = sin(lat*gtc.deg2rad); + sin2 = sinlat*sinlat; + gs = 9.780327*(1.0 + (5.2792e-3 + (2.32e-5*sin2))*sin2); - sinlat = sin(lat*gtc.deg2rad); - sin2 = sinlat*sinlat; - gs = 9.780327*(1.0 + (5.2792e-3 + (2.32e-5*sin2))*sin2); - /** get the first estimate of p from Saunders (1981) */ - c1 = 5.25e-3*sin2 + 5.92e-3; - p = -2.0*z/((1-c1) + sqrt((1-c1)*(1-c1) + 8.84e-6*z)) ; - /** end of the first estimate from Saunders (1981) */ - df_dp = gtc.db2pa*gsw_specvol_sso_0(p); /** initial value of the derivative of f */ - f = gsw_enthalpy_sso_0(p) + gs*(z - 0.5*gtc.gamma*(z*z)) - - (geo_strf_dyn_height + sea_surface_geopotential); - p_old = p; - p = p_old - f/df_dp; - p_mid = 0.5*(p + p_old); - df_dp = gtc.db2pa*gsw_specvol_sso_0(p_mid); - p = p_old - f/df_dp; + /** get the first estimate of p from Saunders (1981) */ + c1 = 5.25e-3*sin2 + 5.92e-3; + p = -2.0*z/((1-c1) + sqrt((1-c1)*(1-c1) + 8.84e-6*z)) ; + /** end of the first estimate from Saunders (1981) */ + + df_dp = gtc.db2pa*gsw_specvol_sso_0(p); /** initial value of the derivative of f */ + f = gsw_enthalpy_sso_0(p) + gs*(z - 0.5*gtc.gamma*(z*z)) + - (geo_strf_dyn_height + sea_surface_geopotential); + + p_old = p; + p = p_old - f/df_dp; + p_mid = 0.5*(p + p_old); + df_dp = gtc.db2pa*gsw_specvol_sso_0(p_mid); + + p = p_old - f/df_dp; + } return p; } @@ -3149,12 +3257,14 @@ double TeosBase::gsw_pot_enthalpy_from_pt_ice(double pt0_ice) { /** for GSW_TEOS10_CONSTANTS use gtc */ /** for GSW_GIBBS_ICE_COEFFICIENTS use gic */ + double tau; complex h0_part, sqtau_t1, sqtau_t2; tau = (pt0_ice + gtc.gsw_t0)*gic.rec_tt; sqtau_t1 = (tau/t1)*(tau/t1); sqtau_t2 = (tau/t2)*(tau/t2); + h0_part = r1*t1*(log(1.0 - sqtau_t1) + sqtau_t1) + r20*t2*(log(1.0 - sqtau_t2) + sqtau_t2); @@ -3216,6 +3326,8 @@ void TeosBase::gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(double sa,do double *pot_enthalpy_ice_freezing_sa, double *pot_enthalpy_ice_freezing_p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double p_r, sa_r, x, d1 = -1.249490228128056e4, d2 = 1.336783910789822e4, @@ -3236,6 +3348,7 @@ void TeosBase::gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(double sa,do d17 = -0.160245473297112e3, d18 = 4.029061696035465e2, d19 = -3.682950019675760e2, + f1 = -2.034535061416256e4, f2 = 0.315423710959628e3, f3 = -0.239518382138314e3, @@ -3253,9 +3366,9 @@ void TeosBase::gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(double sa,do f15 = 8.058123392070929e2, f16 = -5.524425029513641e2; - sa_r = sa*1e-2; + sa_r = sa*1.0e-2; x = sqrt(sa_r); - p_r = p*1e-4; + p_r = p*gtc.rec_db2pa; if (pot_enthalpy_ice_freezing_sa != NULL) { @@ -3263,7 +3376,7 @@ void TeosBase::gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(double sa,do + x*(d2 + x*(d3 + x*(d4 + x*(d5 + d6*x)))) + p_r*(d7 + x*(d8 + x*(d9 + x*(d10 + x*(d11 + d12*x)))) + p_r*(d13 + x*(d14 + x*(d15 + d16*x)) - + p_r*(d17 + x*(d18 + d19*x)))))*1e-2; + + p_r*(d17 + x*(d18 + d19*x)))))*1.0e-2; } if (pot_enthalpy_ice_freezing_p != NULL) @@ -3271,7 +3384,7 @@ void TeosBase::gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(double sa,do *pot_enthalpy_ice_freezing_p = (f1 + sa_r*(f2 + x*(f3 + x*(f4 + x*(f5 + x*(f6 + f7*x))))) + p_r*(f8 + sa_r*(f9 + x*(f10 + x*(f11 + f12*x))) - + p_r*(f13 + sa_r*(f14 + x*(f15 + f16*x)))))*1e-8; + + p_r*(f13 + sa_r*(f14 + x*(f15 + f16*x)))))*1.0e-8; } } @@ -3326,6 +3439,8 @@ void TeosBase::gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(double sa,do ***************************************************************************/ double TeosBase::gsw_pot_enthalpy_ice_freezing_poly(double sa,double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double p_r, sa_r, x, c0 = -3.333548730778702e5, c1 = -1.249490228128056e4, @@ -3351,9 +3466,9 @@ double TeosBase::gsw_pot_enthalpy_ice_freezing_poly(double sa,double p) c21 = -0.184147500983788e3, c22 = -0.263384562367307e3; - sa_r = sa*1e-2; + sa_r = sa*1.0e-2; x = sqrt(sa_r); - p_r = p*1e-4; + p_r = p*gtc.rec_db2pa; return (c0 + sa_r*(c1 + x*(c2 + x*(c3 + x*(c4 + x*(c5 + c6*x))))) + p_r*(c7 + p_r*(c8 + c9*p_r)) + sa_r*p_r*(c10 + p_r*(c12 @@ -3407,6 +3522,7 @@ double TeosBase::gsw_pot_enthalpy_ice_freezing_poly(double sa,double p) double TeosBase::gsw_pt_from_ct(double sa, double ct) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double a5ct, b3ct, ct_factor, pt_num, pt_recden, ct_diff; double pt, pt_old, ptm, dpt_dct, s1; double a0 = -1.446013646344788e-2, @@ -3428,6 +3544,7 @@ double TeosBase::gsw_pt_from_ct(double sa, double ct) pt_recden = 1.0/(b0 + b1*s1 + ct*(b2 + b3ct)); pt = pt_num*pt_recden; dpt_dct = pt_recden*(ct_factor + a5ct - (b2 + b3ct + b3ct)*pt); + /** Start the 1.5 iterations through the modified Newton-Raphson iterative method. @@ -3498,6 +3615,7 @@ double TeosBase::gsw_pt_from_ct(double sa, double ct) double TeosBase::gsw_pt_from_t(double sa, double t, double p, double p_ref) { /** for GSW_TEOS10_CONSTANTS use gtc */ + int no_iter; double s1, pt, ptm, pt_old, dentropy, dentropy_dt, true_entropy_part; @@ -3525,7 +3643,7 @@ double TeosBase::gsw_pt_from_t(double sa, double t, double p, double p_ref) pt = pt_old - dentropy/dentropy_dt; } - return (pt); + return pt; } /*************************************************************************** @@ -3579,12 +3697,13 @@ double TeosBase::gsw_pt_from_t(double sa, double t, double p, double p_ref) double TeosBase::gsw_pt0_from_t(double sa, double t, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ + int no_iter; double pt0, pt0_old, dentropy, dentropy_dt; double s1, true_entropy_part, pt0m; s1 = sa/gtc.gsw_ups; - pt0 = t+p + pt0 = t + p * (8.65483913395442e-6 - s1 * 1.41636299744881e-6 - p * 7.38286467135737e-9 + t @@ -3599,15 +3718,17 @@ double TeosBase::gsw_pt0_from_t(double sa, double t, double p) for (no_iter=1; no_iter <= 2; no_iter++) { pt0_old = pt0; + dentropy = gsw_entropy_part_zerop(sa,pt0_old) - true_entropy_part; + pt0 = pt0_old - dentropy/dentropy_dt; pt0m = 0.5*(pt0 + pt0_old); dentropy_dt = -gsw_gibbs_pt0_pt0(sa,pt0m); pt0 = pt0_old - dentropy/dentropy_dt; } - return (pt0); + return pt0; } /************************************************************************** @@ -3733,11 +3854,12 @@ void TeosBase::gsw_rho_alpha_beta(double sa,double ct,double p,double *rho, double *alpha,double *beta) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double v, v_ct_part, v_sa_part, xs, ys, z; xs = sqrt(gtc.gsw_sfac*sa + gtc.offset); ys = ct*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; v = gsw_gsvco_v(xs, ys, z); if (rho != NULL) @@ -3810,17 +3932,30 @@ void TeosBase::gsw_rho_alpha_beta(double sa,double ct,double p,double *rho, double TeosBase::gsw_sa_from_sp(double sp, double p, double lon, double lat) { /** for GSW_TEOS10_CONSTANTS use gtc */ - double saar, gsw_sa_baltic = gsw_sa_from_sp_baltic(sp,lon,lat); - if (gsw_sa_baltic < cppGSW_ERROR_LIMIT) - return (gsw_sa_baltic); + double return_value, saar, gsw_sa_baltic; - saar = gsw_saar(p,lon,lat); + gsw_sa_baltic = gsw_sa_from_sp_baltic(sp,lon,lat); - if (saar == cppGSW_INVALID_VALUE) - return (saar); + if (gsw_sa_baltic < cppGSW_ERROR_LIMIT) + { + return_value = gsw_sa_baltic; + } + else + { + saar = gsw_saar(p,lon,lat); - return (gtc.gsw_ups*sp*(1.e0 + saar)); + if (saar == cppGSW_INVALID_VALUE) + { + return_value = saar; + } + else + { + return_value = (gtc.gsw_ups*sp*(1.0 + saar)); + } + } + + return return_value; } /*************************************************************************** @@ -3874,6 +4009,7 @@ double TeosBase::gsw_sa_from_sp_baltic(double sp, double lon, double lat) { /** for GSW_TEOS10_CONSTANTS use gtc */ /** for GSW_BALTIC_DATA use gbalt */ + double xx_left, xx_right, return_value; if (gbalt.xb_left[1] < lon && lon < gbalt.xb_right[0] @@ -3881,15 +4017,22 @@ double TeosBase::gsw_sa_from_sp_baltic(double sp, double lon, double lat) { xx_left = gsw_util_xinterp1(gbalt.yb_left, gbalt.xb_left, 3, lat); xx_right = gsw_util_xinterp1(gbalt.yb_right, gbalt.xb_right, 2, lat); + if (xx_left <= lon && lon <= xx_right) - return_value = ((gtc.gsw_sso - 0.087)/35.0)*sp + 0.087; + { + return_value = ((gtc.gsw_sso - 0.087)/35.0)*sp + 0.087; + } else + { return_value = cppGSW_INVALID_VALUE; + } } else - return_value = cppGSW_INVALID_VALUE; + { + return_value = cppGSW_INVALID_VALUE; + } - return (return_value); + return return_value; } /*************************************************************************** @@ -3940,17 +4083,19 @@ double TeosBase::gsw_sa_from_sp_baltic(double sp, double lon, double lat) ***************************************************************************/ double TeosBase::gsw_sa_from_sstar(double sstar,double p,double lon,double lat) { - double saar = gsw_saar(p,lon,lat); + double return_value = cppGSW_INVALID_VALUE, saar = gsw_saar(p,lon,lat); - if (saar == cppGSW_INVALID_VALUE) + if (saar != cppGSW_INVALID_VALUE) { - return (saar); - } - /** - In the Baltic Sea, Sstar = SA, and note that gsw_saar returns zero - for SAAR in the Baltic. - */ - return (sstar*(1e0 + saar)/(1e0 - 0.35e0*saar)); + /** + In the Baltic Sea, Sstar = SA, + and note that gsw_saar returns zero + for SAAR in the Baltic. + */ + return_value = (sstar*(1.0 + saar)/(1.0 - 0.35e0*saar)); + } + + return return_value; } /*************************************************************************** @@ -4021,148 +4166,159 @@ double TeosBase::gsw_sa_from_sstar(double sstar,double p,double lon,double lat) double TeosBase::gsw_saar(double p, double lon, double lat) { /** for GSW_SAAR_DATA use gsaar */ + int nx=gsw_nx, ny=gsw_ny, nz=gsw_nz; int indx0, indy0, indz0, k, ndepth_index; double saar[4], saar_old[4]; double sa_upper, sa_lower, dlong, dlat; - double r1, s1, t1, ndepth_max, return_value = cppGSW_INVALID_VALUE; + double r1, s1, t1, ndepth_max, return_value; - if (isnan(lat) || isnan(lon) || isnan(p)) + if (isnan(lat) || isnan(lon) || isnan(p) || lat < -86.0 || lat > 90.0) { - return (return_value); + /** further down than -86 is not in the ocean (-86 to -90 is land) */ + return_value = cppGSW_INVALID_VALUE; } + else + { + if (lon < 0.0) + { + lon += 360.0; + } - /** further down than -86 is not in the ocean (-86 to -90 is land) */ - if (lat < -86.0 || lat > 90.0) - { - return (return_value); - } + dlong = pSaarData->get_longs_ref(1)-pSaarData->get_longs_ref(0); + dlat = pSaarData->get_lats_ref(1)-pSaarData->get_lats_ref(0); - if (lon < 0.0) - { - lon += 360.0; - } + indx0 = floor(0 + (nx-1)*(lon-pSaarData->get_longs_ref(0))/ + (pSaarData->get_longs_ref(nx-1)-pSaarData->get_longs_ref(0))); - dlong = pSaarData->get_longs_ref(1)-pSaarData->get_longs_ref(0); - dlat = pSaarData->get_lats_ref(1)-pSaarData->get_lats_ref(0); - indx0 = floor(0 + (nx-1)*(lon-pSaarData->get_longs_ref(0))/ - (pSaarData->get_longs_ref(nx-1)-pSaarData->get_longs_ref(0))); + if (indx0 == nx-1) + { + indx0 = nx-2; + } - if (indx0 == nx-1) - { - indx0 = nx-2; - } + indy0 = floor(0 + (ny-1)*(lat-pSaarData->get_lats_ref(0)) / + (pSaarData->get_lats_ref(ny-1)-pSaarData->get_lats_ref(0))); - indy0 = floor(0 + (ny-1)*(lat-pSaarData->get_lats_ref(0)) / - (pSaarData->get_lats_ref(ny-1)-pSaarData->get_lats_ref(0))); + if(indy0 == ny-1) + { + indy0 = ny-2; + } - if(indy0 == ny-1) - { - indy0 = ny-2; - } + /** + Look for the maximum valid "ndepth_ref" value around our point. + Note: invalid "ndepth_ref" values are NaNs (a hangover from the codes + Matlab origins), but we have replaced the NaNs with a value of "9e90", + hence we need an additional upper-limit check in the code below so they + will not be recognised as valid values. + */ + ndepth_max = -1.0; - /** - Look for the maximum valid "ndepth_ref" value around our point. - Note: invalid "ndepth_ref" values are NaNs (a hangover from the codes - Matlab origins), but we have replaced the NaNs with a value of "9e90", - hence we need an additional upper-limit check in the code below so they - will not be recognised as valid values. - */ - ndepth_max = -1.0; - for (k=0; k < 4; k++) - { - ndepth_index = indy0+gsaar.delj[k]+(indx0+gsaar.deli[k])*ny; - if (pSaarData->get_ndepth_ref(ndepth_index) > 0.0 && - pSaarData->get_ndepth_ref(ndepth_index) < 1e90) + for (k=0; k < 4; k++) { - ndepth_max = gsw_max_d(ndepth_max, pSaarData->get_ndepth_ref(ndepth_index)); + ndepth_index = indy0+gsaar.delj[k]+(indx0+gsaar.deli[k])*ny; + + if (pSaarData->get_ndepth_ref(ndepth_index) > 0.0 && + pSaarData->get_ndepth_ref(ndepth_index) < 1e90) + { + ndepth_max = gsw_max_d(ndepth_max, + pSaarData->get_ndepth_ref(ndepth_index)); + } } - } - /** - If we are a long way from the ocean then there will be no valid "ndepth_ref" - values near the point (ie. surrounded by NaNs) - so just return SAAR = 0.0 - */ - if (ndepth_max == -1.0) - { - return (0.0); - } - if (p > pSaarData->get_p_ref((int)(ndepth_max)-1)) - { - p = pSaarData->get_p_ref((int)(ndepth_max)-1); - } + /** + If we are a long way from the ocean then there will be no valid "ndepth_ref" + values near the point (ie. surrounded by NaNs) - so just return SAAR = 0.0 + */ + if (ndepth_max == -1.0) + { + return_value = 0.0; + } + else + { + if (p > pSaarData->get_p_ref((int)(ndepth_max)-1)) + { + p = pSaarData->get_p_ref((int)(ndepth_max)-1); + } - indz0 = gsw_util_indxPref(nz,p); + indz0 = gsw_util_indxPref(nz,p); - r1 = (lon-pSaarData->get_longs_ref(indx0))/ - (pSaarData->get_longs_ref(indx0+1)- - pSaarData->get_longs_ref(indx0)); + r1 = (lon-pSaarData->get_longs_ref(indx0))/ + (pSaarData->get_longs_ref(indx0+1)- + pSaarData->get_longs_ref(indx0)); - s1 = (lat-pSaarData->get_lats_ref(indy0))/ - (pSaarData->get_lats_ref(indy0+1)- - pSaarData->get_lats_ref(indy0)); + s1 = (lat-pSaarData->get_lats_ref(indy0))/ + (pSaarData->get_lats_ref(indy0+1)- + pSaarData->get_lats_ref(indy0)); - t1 = (p-pSaarData->get_p_ref(indz0))/ - (pSaarData->get_p_ref(indz0+1)- - pSaarData->get_p_ref(indz0)); + t1 = (p-pSaarData->get_p_ref(indz0))/ + (pSaarData->get_p_ref(indz0+1)- + pSaarData->get_p_ref(indz0)); + + for (k=0; k<4; k++) + { + unsigned kpos = indz0+nz*(indy0+gsaar.delj[k]+(indx0+gsaar.deli[k])*ny); + saar[k] = pSaarData->get_saar_ref(kpos); + } - for (k=0; k<4; k++) - { - unsigned kpos = indz0+nz*(indy0+gsaar.delj[k]+(indx0+gsaar.deli[k])*ny); - saar[k] = pSaarData->get_saar_ref(kpos); - } + if (gsaar.longs_pan[0] <= lon && lon <= gsaar.longs_pan[gsaar.npan-1]-0.001 && + gsaar.lats_pan[gsaar.npan-1] <= lat && lat <= gsaar.lats_pan[0]) + { + memmove(saar_old,saar,4*sizeof (double)); + gsw_add_barrier(saar_old,lon,lat,pSaarData->get_longs_ref(indx0), + pSaarData->get_lats_ref(indy0),dlong,dlat,saar); + } + else if (fabs(gsw_sum(saar, sizeof (saar)/sizeof (double))) + >= cppGSW_ERROR_LIMIT) + { + memmove(saar_old,saar,4*sizeof (double)); + gsw_add_mean(saar_old,saar); + } - if (gsaar.longs_pan[0] <= lon && lon <= gsaar.longs_pan[gsaar.npan-1]-0.001 && - gsaar.lats_pan[gsaar.npan-1] <= lat && lat <= gsaar.lats_pan[0]) - { - memmove(saar_old,saar,4*sizeof (double)); - gsw_add_barrier(saar_old,lon,lat,pSaarData->get_longs_ref(indx0), - pSaarData->get_lats_ref(indy0),dlong,dlat,saar); - } - else if (fabs(gsw_sum(saar, sizeof (saar)/sizeof (double))) >= cppGSW_ERROR_LIMIT) - { - memmove(saar_old,saar,4*sizeof (double)); - gsw_add_mean(saar_old,saar); - } + sa_upper = (1.0-s1)*(saar[0] + r1*(saar[1]-saar[0])) + + s1*(saar[3] + r1*(saar[2]-saar[3])); - sa_upper = (1.0-s1)*(saar[0] + r1*(saar[1]-saar[0])) + - s1*(saar[3] + r1*(saar[2]-saar[3])); + for (k=0; k<4; k++) + { + unsigned kpos = indz0+1+nz*(indy0+gsaar.delj[k] + +(indx0+gsaar.deli[k])*ny); - for (k=0; k<4; k++) - { - unsigned kpos = indz0+1+nz*(indy0+gsaar.delj[k]+(indx0+gsaar.deli[k])*ny); - saar[k] = pSaarData->get_saar_ref(kpos); - } + saar[k] = pSaarData->get_saar_ref(kpos); + } - if (gsaar.longs_pan[0] <= lon && lon <= gsaar.longs_pan[gsaar.npan-1]-0.001 && - gsaar.lats_pan[gsaar.npan-1] <= lat && lat <= gsaar.lats_pan[0]) - { - memmove(saar_old,saar,4*sizeof (double)); - gsw_add_barrier(saar_old,lon,lat,pSaarData->get_longs_ref(indx0), - pSaarData->get_lats_ref(indy0),dlong,dlat,saar); - } - else if (fabs(gsw_sum(saar, sizeof (saar)/sizeof (double))) >= cppGSW_ERROR_LIMIT) - { - memmove(saar_old,saar,4*sizeof (double)); - gsw_add_mean(saar_old,saar); - } + if (gsaar.longs_pan[0] <= lon && + lon <= gsaar.longs_pan[gsaar.npan-1]-0.001 && + gsaar.lats_pan[gsaar.npan-1] <= lat && + lat <= gsaar.lats_pan[0]) + { + memmove(saar_old,saar,4*sizeof (double)); + gsw_add_barrier(saar_old,lon,lat,pSaarData->get_longs_ref(indx0), + pSaarData->get_lats_ref(indy0),dlong,dlat,saar); + } + else if (fabs(gsw_sum(saar, sizeof (saar)/sizeof (double))) + >= cppGSW_ERROR_LIMIT) + { + memmove(saar_old,saar,4*sizeof (double)); + gsw_add_mean(saar_old,saar); + } - sa_lower = (1.0-s1)*(saar[0] + r1*(saar[1]-saar[0])) + - s1*(saar[3] + r1*(saar[2]-saar[3])); + sa_lower = (1.0-s1)*(saar[0] + r1*(saar[1]-saar[0])) + + s1*(saar[3] + r1*(saar[2]-saar[3])); - if (fabs(sa_lower) >= cppGSW_ERROR_LIMIT) - { - sa_lower = sa_upper; - } + if (fabs(sa_lower) >= cppGSW_ERROR_LIMIT) + { + sa_lower = sa_upper; + } - return_value = sa_upper + t1*(sa_lower-sa_upper); + return_value = sa_upper + t1*(sa_lower-sa_upper); - if (fabs(return_value) >= cppGSW_ERROR_LIMIT) - { - return_value = cppGSW_INVALID_VALUE; - } + if (fabs(return_value) >= cppGSW_ERROR_LIMIT) + { + return_value = cppGSW_INVALID_VALUE; + } + } /** if (ndepth_max == -1.0) ... else */ + } /** if (isnan(lat) ... else */ - return (return_value); + return return_value; } /*************************************************************************** @@ -4214,21 +4370,30 @@ double TeosBase::gsw_saar(double p, double lon, double lat) double TeosBase::gsw_sp_from_sa(double sa, double p, double lon, double lat) { /** for GSW_TEOS10_CONSTANTS use gtc */ - double saar, gsw_sp_baltic = gsw_sp_from_sa_baltic(sa,lon,lat); - if (gsw_sp_baltic < cppGSW_ERROR_LIMIT) - { - return (gsw_sp_baltic); - } + double return_value, saar, sp_baltic; - saar = gsw_saar(p,lon,lat); + sp_baltic = gsw_sp_from_sa_baltic(sa,lon,lat); - if (saar == cppGSW_INVALID_VALUE) + if (sp_baltic < cppGSW_ERROR_LIMIT) { - return (saar); + return_value = sp_baltic; } + else + { + saar = gsw_saar(p,lon,lat); + + if (saar == cppGSW_INVALID_VALUE) + { + return_value = saar; + } + else + { + return_value = (sa/gtc.gsw_ups) / (1.0 + saar); + } + } - return ((sa/gtc.gsw_ups)/(1e0 + saar)); + return return_value; } /*************************************************************************** @@ -4281,7 +4446,8 @@ double TeosBase::gsw_sp_from_sa_baltic(double sa, double lon, double lat) { /** for GSW_TEOS10_CONSTANTS use gtc */ /** for GSW_BALTIC_DATA use gbalt */ - double xx_left, xx_right, return_value=NAN; + + double xx_left, xx_right, return_value = cppGSW_INVALID_VALUE; if (gbalt.xb_left[1] < lon && lon < gbalt.xb_right[0] && gbalt.yb_left[0] < lat && lat < gbalt.yb_left[2]) @@ -4290,14 +4456,12 @@ double TeosBase::gsw_sp_from_sa_baltic(double sa, double lon, double lat) xx_right = gsw_util_xinterp1(gbalt.yb_right, gbalt.xb_right, 2, lat); if (xx_left <= lon && lon <= xx_right) - return_value = (35.0/(gtc.gsw_sso - 0.087))*(sa - 0.087); - else - return_value = cppGSW_INVALID_VALUE; + { + return_value = (35.0/(gtc.gsw_sso - 0.087))*(sa - 0.087); + } } - else - return_value = cppGSW_INVALID_VALUE; - return (return_value); + return return_value; } /*************************************************************************** @@ -4360,53 +4524,72 @@ double TeosBase::gsw_sp_from_c(double c, double t, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ /** for GSW_SP_COEFFICIENTS use gspc */ + double sp, t68, ft68, r, rt_lc, rp, rt, rtx, hill_ratio, x, sqrty, part1, part2, sp_hill_raw; - t68 = t*1.00024e0; - ft68 = (t68 - 15e0)/(1e0 + gspc.k*(t68 - 15e0)); + + t68 = t*1.00024; + ft68 = (t68 - 15.0)/(1.0 + gspc.k*(t68 - 15.0)); + /** The dimensionless conductivity ratio, R, is the conductivity input, C, divided by the present estimate of C(SP=35, t_68=15, p=0) which is 42.9140 mS/cm (=4.29140 S/m), (Culkin and Smith, 1980). */ r = c/gtc.gsw_c3515; /** 0.023302418791070513 = 1./42.9140 */ + /**rt_lc corresponds to rt as defined in the UNESCO 44 (1983) routines.*/ - rt_lc = gspc.c0 + (gspc.c1 + (gspc.c2 + (gspc.c3 + gspc.c4*t68)*t68)*t68)*t68; - rp = 1e0 + (p*(gspc.e1 + gspc.e2*p + gspc.e3*p*p))/(1e0 + gspc.d1*t68 + gspc.d2*t68*t68 + - (gspc.d3 + gspc.d4*t68)*r); + rt_lc = gspc.c0 + (gspc.c1 + + (gspc.c2 + (gspc.c3 + + gspc.c4*t68)*t68)*t68)*t68; + + rp = 1e0 + (p*(gspc.e1 + + gspc.e2*p + gspc.e3*p*p))/(1e0 + + gspc.d1*t68 + gspc.d2*t68*t68 + + (gspc.d3 + gspc.d4*t68)*r); + rt = r/(rp*rt_lc); + if (rt < 0.0) { - return (cppGSW_INVALID_VALUE); - } - rtx = sqrt(rt); - sp = gspc.a0 - + (gspc.a1 + (gspc.a2 + (gspc.a3 + (gspc.a4 - + gspc.a5*rtx)*rtx)*rtx)*rtx)*rtx - + ft68*(gspc.b0 + (gspc.b1 + (gspc.b2 + (gspc.b3 - + (gspc.b4 + gspc.b5*rtx)*rtx)*rtx)*rtx)*rtx); - /** - The following section of the code is designed for SP < 2 based on the - Hill et al. (1986) algorithm. This algorithm is adjusted so that it is - exactly equal to the PSS-78 algorithm at SP = 2. - */ - if (sp < 2) - { - hill_ratio = gsw_hill_ratio_at_sp2(t); - x = 400e0*rt; - sqrty = 10e0*rtx; - part1 = 1e0 + x*(1.5e0 + x); - part2 = 1e0 + sqrty*(1e0 + sqrty*(1e0 + sqrty)); - sp_hill_raw = sp - gspc.a0/part1 - gspc.b0*ft68/part2; - sp = hill_ratio*sp_hill_raw; + sp = cppGSW_INVALID_VALUE; } - /** This line ensures that SP is non-negative. */ - if (sp < 0.0) + else { - sp = cppGSW_INVALID_VALUE; + rtx = sqrt(rt); + sp = gspc.a0 + + (gspc.a1 + (gspc.a2 + (gspc.a3 + (gspc.a4 + + gspc.a5*rtx)*rtx)*rtx)*rtx)*rtx + + ft68*(gspc.b0 + (gspc.b1 + (gspc.b2 + (gspc.b3 + + (gspc.b4 + gspc.b5*rtx)*rtx)*rtx)*rtx)*rtx); + + /** + The following section of the code is designed for SP < 2 based on the + Hill et al. (1986) algorithm. This algorithm is adjusted so that it is + exactly equal to the PSS-78 algorithm at SP = 2. + */ + if (sp < 2) + { + hill_ratio = gsw_hill_ratio_at_sp2(t); + + x = 400.0*rt; + sqrty = 10.0*rtx; + part1 = 1.0 + x*(1.5 + x); + part2 = 1.0 + sqrty*(1.0 + sqrty*(1.0 + sqrty)); + sp_hill_raw = sp - gspc.a0/part1 - gspc.b0*ft68/part2; + + sp = hill_ratio*sp_hill_raw; + } + + /** This line ensures that SP is non-negative. */ + if (sp < 0.0) + { + sp = cppGSW_INVALID_VALUE; + } } - return (sp); + + return sp; } /*************************************************************************** @@ -4463,11 +4646,12 @@ double TeosBase::gsw_sp_from_c(double c, double t, double p) double TeosBase::gsw_specvol(double sa, double ct, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double xs, ys, z; xs = sqrt(gtc.gsw_sfac*sa + gtc.offset); ys = ct*0.025; - z = p*1e-4; + z = p*gtc.rec_db2pa; return gsw_gsvco_v(xs, ys, z); } @@ -4535,7 +4719,9 @@ double TeosBase::gsw_specvol_t_exact(double sa, double t, double p) double TeosBase::gsw_specvol_sso_0(double p) { /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ - double z = p*1.0e-4; + /** for GSW_TEOS10_CONSTANTS use gtc */ + + double z = p*gtc.rec_db2pa; return 9.726613854843870e-04 + z*(-4.505913211160929e-05 @@ -4593,17 +4779,19 @@ double TeosBase::gsw_specvol_sso_0(double p) ***************************************************************************/ double TeosBase::gsw_sstar_from_sa(double sa,double p,double lon,double lat) { - double saar = gsw_saar(p,lon,lat); + double return_value = cppGSW_INVALID_VALUE, saar = gsw_saar(p,lon,lat); + /** - In the Baltic Sea, Sstar = sa, and note that gsw_saar returns zero + In the Baltic Sea, Sstar = sa, + and note that gsw_saar returns zero for saar in the Baltic. */ - if (saar == cppGSW_INVALID_VALUE) + if (saar != cppGSW_INVALID_VALUE) { - return (saar); + return_value = sa*(1.0 - 0.35*saar) / 1.0 + saar; } - return (sa*(1e0 - 0.35e0*saar)/(1e0 + saar)); + return return_value; } /*************************************************************************** @@ -4658,23 +4846,33 @@ double TeosBase::gsw_sstar_from_sa(double sa,double p,double lon,double lat) double TeosBase::gsw_sstar_from_sp(double sp,double p,double lon,double lat) { /** for GSW_TEOS10_CONSTANTS use gtc */ - double saar, sstar_baltic = gsw_sa_from_sp_baltic(sp,lon,lat); + + double return_value, saar, sstar_baltic; + + sstar_baltic = gsw_sa_from_sp_baltic(sp,lon,lat); + /** In the Baltic Sea, Sstar = SA. */ if (sstar_baltic < cppGSW_ERROR_LIMIT) { - return (sstar_baltic); + return_value = sstar_baltic; } + else + { + saar = gsw_saar(p,lon,lat); - saar = gsw_saar(p,lon,lat); - - if (saar == cppGSW_INVALID_VALUE) - { - return (saar); + if (saar == cppGSW_INVALID_VALUE) + { + return_value = saar; + } + else + { + return_value = gtc.gsw_ups * sp * (1.0 - 0.35 * saar); + } } - return (gtc.gsw_ups*sp*(1 - 0.35e0*saar)); + return return_value; } /*************************************************************************** @@ -4717,7 +4915,8 @@ double TeosBase::gsw_sstar_from_sp(double sp,double p,double lon,double lat) double TeosBase::gsw_t_deriv_chem_potential_water_t_exact(double sa, double t, double p) { /** for GSW_TEOS10_CONSTANTS use gtc */ - double g03_t, g08_sa_t, x, x2, y, z, g08_t, kg2g = 1e-3; + + double g03_t, g08_sa_t, x, x2, y, z, g08_t, kg2g = 1.0e-3; /** Note. The kg2g, a factor of 1e-3, is needed to convert the output of this function into units of J/g. See section (2.9) of the TEOS-10 Manual. @@ -4824,20 +5023,23 @@ double TeosBase::gsw_t_freezing(double sa, double p, double saturation_fraction) { /** for GSW_TEOS10_CONSTANTS use gtc */ /** for GSW_FREEZING_POLY_COEFFICIENTS use gfpc */ + double sa_r, x, p_r; double df_dt, tf, tfm, tf_old, f; /** The initial value of t_freezing_exact (for air-free seawater) */ sa_r = sa*1e-2; x = sqrt(sa_r); - p_r = p*1e-4; + p_r = p*gtc.rec_db2pa; tf = gfpc.t0 - + sa_r*(gfpc.t1 + x*(gfpc.t2 + x*(gfpc.t3 + x*(gfpc.t4 + x*(gfpc.t5 + gfpc.t6*x))))) + + sa_r*(gfpc.t1 + x*(gfpc.t2 + x*(gfpc.t3 + + x*(gfpc.t4 + x*(gfpc.t5 + gfpc.t6*x))))) + p_r*(gfpc.t7 + p_r*(gfpc.t8 + gfpc.t9*p_r)) - + sa_r*p_r*(gfpc.t10 + p_r*(gfpc.t12 + p_r*(gfpc.t15 + gfpc.t21*sa_r)) + + sa_r*p_r*(gfpc.t10 + p_r*(gfpc.t12 + + p_r*(gfpc.t15 + gfpc.t21*sa_r)) + sa_r*(gfpc.t13 + gfpc.t17*p_r + gfpc.t19*sa_r) - + x*(gfpc.t11 + p_r*(gfpc.t14 + gfpc.t18*p_r) + sa_r*(gfpc.t16 + gfpc.t20*p_r - + gfpc.t22*sa_r))); + + x*(gfpc.t11 + p_r*(gfpc.t14 + gfpc.t18*p_r) + + sa_r*(gfpc.t16 + gfpc.t20*p_r + gfpc.t22*sa_r))); /** Adjust for the effects of dissolved air */ tf -= saturation_fraction*(1e-3)*(2.4 - sa/(2.0*gtc.gsw_sso)); @@ -4903,11 +5105,9 @@ double TeosBase::gsw_t_freezing(double sa, double p, double saturation_fraction) ***************************************************************************/ double TeosBase::gsw_t_from_ct(double sa, double ct, double p) { - double pt0, p0=0.0; + double pt0 = gsw_pt_from_ct(sa,ct); - pt0 = gsw_pt_from_ct(sa,ct); - - return (gsw_pt_from_t(sa,pt0,p0,p)); + return gsw_pt_from_t(sa,pt0,0.0,p); } /************************************************************************** @@ -4983,6 +5183,7 @@ double TeosBase::gsw_z_from_p(double p,double lat,double geo_strf_dyn_height, double sea_surface_geopotential) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double x, sin2, b, c, a; x = sin(lat*gtc.deg2rad); @@ -5096,9 +5297,11 @@ int TeosBase::gsw_linear_interp_sa_ct_for_dh(double *sa,double *ct,double *p, % %========================================================================== ***************************************************************************/ -double TeosBase::gsw_specvol_anom(double SA, double CT, double p, double SA_ref, - double CT_ref) +double TeosBase::gsw_specvol_anom(double SA, double CT, double p, + double SA_ref, double CT_ref) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double v010 = -1.5649734675e-5; double v011 = 1.8505765429e-5; double v012 = -1.1736386731e-6; @@ -5167,9 +5370,9 @@ double TeosBase::gsw_specvol_anom(double SA, double CT, double p, double SA_ref, double v501 = 3.0927427253e-6; double v510 = 1.3864594581e-6; double v600 = 3.1932457305e-5; - double x2_ref,x2,xy_part_4_diff, xs,ys,xy_part_0, xy_part_1, xy_part_2, xy_part_3; - double z, xs_ref, ys_ref, xy_part_0_ref, xy_part_1_ref, xy_part_2_ref, xy_part_3_ref; - double sa = 0.0; + double x2_ref,x2,xy_part_4_diff, xs,ys,xy_part_0, xy_part_1; + double z, xs_ref, ys_ref, xy_part_0_ref, xy_part_1_ref; + double sa = 0.0, xy_part_2, xy_part_3, xy_part_2_ref, xy_part_3_ref; if (SA > 0.0) sa = SA; @@ -5312,7 +5515,7 @@ double TeosBase::gsw_z_from_depth(double depth) % %========================================================================== ***************************************************************************/ -double TeosBase::gsw_internal_energy_CT_exact(double SA, double CT, double p) +double TeosBase::gsw_internal_energy_ct_exact(double SA, double CT, double p) { double t = gsw_t_from_ct(SA, CT, p); @@ -5364,7 +5567,7 @@ double TeosBase::gsw_internal_energy_CT_exact(double SA, double CT, double p) % %========================================================================== ***************************************************************************/ -double TeosBase::gsw_kappa_CT_exact(double SA, double CT, double p) +double TeosBase::gsw_kappa_ct_exact(double SA, double CT, double p) { double t = gsw_t_from_ct(SA, CT, p); @@ -5516,6 +5719,8 @@ double TeosBase::gsw_t90_from_t48(double t48) ***************************************************************************/ double TeosBase::gsw_dynamic_enthalpy_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double CT = gsw_ct_from_t(SA, t, p); return gsw_enthalpy_t_exact(SA, t, p) - gtc.gsw_cp0 * CT; @@ -5556,13 +5761,15 @@ double TeosBase::gsw_dynamic_enthalpy_t_exact(double SA, double t, double p) ***************************************************************************/ double TeosBase::gsw_pot_enthalpy_from_pt(double SA, double pt) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double pot_enthalpy, x2, x, y, sa = 0.0; if (SA > 0.0) sa = SA; x2 = gtc.gsw_sfac * sa; x = sqrt(x2); - y = pt * 0.025; // normalize for F03 and F08 + y = pt * 0.025; // normalize for F03 and F08 pot_enthalpy = 61.01362420681071 + y *(168776.46138048015 + y *(-2735.2785605119625 + y *(2574.2164453821433 + @@ -5643,6 +5850,8 @@ double TeosBase::gsw_pot_enthalpy_from_pt(double SA, double pt) ***************************************************************************/ double TeosBase::gsw_N2Osol_SP_pt(double SP, double pt) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double N2Osol_tmp, pt68, y_100; pt68 = pt * 1.00024; @@ -5772,7 +5981,7 @@ double TeosBase::gsw_Nsquared_lowerlimit(double p, double b_long, double lat) unnamed_idx_0 = rtNaN; } - return (0.75 * exp(-unnamed_idx_0 / 1000.0) + 0.25) * 1.0E-7; + return (0.75 * exp(-unnamed_idx_0 / 1000.0) + 0.25) * 1.0e-7; } /*************************************************************************** @@ -5819,6 +6028,8 @@ double TeosBase::gsw_Nsquared_lowerlimit(double p, double b_long, double lat) ***************************************************************************/ double TeosBase::gsw_Krsol_SP_pt(double SP, double pt) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double pt68, y_100; pt68 = pt * 1.00024; @@ -5870,22 +6081,24 @@ double TeosBase::gsw_Krsol_SP_pt(double SP, double pt) ***************************************************************************/ double TeosBase::gsw_osmotic_pressure_t_exact(double SA, double t, double pw) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double p_mean, f, p_old, rec_g2kg = 1e3, df_dp, p, gibbs_pure_water, sa = 0.0; if (SA > 0.0) sa = SA; gibbs_pure_water = gsw_gibbs(0, 0, 0, 0.0, t, pw); - p = pw + 235.4684; //% Initial guess of p, in dbar + p = pw + 235.4684; //Initial guess of p, in dbar df_dp = -gtc.db2pa * (gsw_gibbs(0, 0, 1, sa, t, p) - - sa * gsw_gibbs(1, 0, 1, sa, t, p)); //% Inital guess of df/dp + sa * gsw_gibbs(1, 0, 1, sa, t, p)); //Inital guess of df/dp for (unsigned iter = 0; iter < 2; iter++) { p_old = p; f = gibbs_pure_water - rec_g2kg * gsw_chem_potential_water_t_exact(sa, t, p_old); - p = p_old - f / df_dp; //% this is half way through the modified N-R method + p = p_old - f / df_dp; //this is half way through the modified N-R method p_mean = 0.5 * (p + p_old); df_dp = -gtc.db2pa * (gsw_gibbs(0, 0, 1, sa, t, p_mean) - @@ -5894,10 +6107,10 @@ double TeosBase::gsw_osmotic_pressure_t_exact(double SA, double t, double pw) p = p_old - f / df_dp; } - //% After two iterations though the modified Newton-Raphson technique - //% (McDougall and Wotherspoon, 2013) the maximum error is 6x10^-12 dbar. + //After two iterations though the modified Newton-Raphson technique + //(McDougall and Wotherspoon, 2013) the maximum error is 6x10^-12 dbar. - return p - pw; //% osmotic pressure of seawater, in dbar. + return p - pw; //osmotic pressure of seawater, in dbar. } /*************************************************************************** @@ -6031,6 +6244,8 @@ void TeosBase::gsw_specvol_second_derivatives_CT_exact(double SA, double &v_SA_P, double &v_CT_P) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double rec_gTT_pt0, rec_gTT2, rec_gTT, gamma, rec_cp0, cp0_div_abs_pt0, pt0; double gTTP,gTTT,gSAT,gSATP,gSATT,gSAT_pt0,gSA_pt0,gSASA_pt0,gSASAP,gSASAT,gSAPP,gTPP; double t, rec_abs_pt0, pr0=0.0, part_a, part_b, part_c, sa = 0.0; @@ -6066,7 +6281,8 @@ void TeosBase::gsw_specvol_second_derivatives_CT_exact(double SA, part_b = (gSATP + gamma * gSATT) * rec_gTT; part_c = (gTPP + gamma * (2.0 * gTTP + gamma * gTTT)) * rec_gTT; - v_CT_CT = (cp0_div_abs_pt0 * cp0_div_abs_pt0) * (gamma * rec_abs_pt0 * rec_gTT_pt0 + part_a); + v_CT_CT = (cp0_div_abs_pt0 * cp0_div_abs_pt0) * + (gamma * rec_abs_pt0 * rec_gTT_pt0 + part_a); v_SA_CT = cp0_div_abs_pt0 * (gamma * rec_abs_pt0 * gSAT_pt0 * @@ -6126,6 +6342,8 @@ void TeosBase::gsw_specvol_second_derivatives_CT_exact(double SA, ***************************************************************************/ double TeosBase::gsw_specvol_anom_standard_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double pr0 = 0.0, CT0 = pr0, t_zero, sa = 0.0; if (SA > 0.0) sa = SA; @@ -6207,6 +6425,7 @@ double TeosBase::gsw_specvol_anom_standard_t_exact(double SA, double t, double p ***************************************************************************/ double TeosBase::gsw_R_from_SP(double SP, double t, double p) { + /** for GSW_SP_COEFFICIENTS use gspc */ double p0 = 4.577801212923119e-3; double p1 = 1.924049429136640e-1; double p2 = 2.183871685127932e-5; @@ -6555,6 +6774,8 @@ double TeosBase::gsw_R_from_SP(double SP, double t, double p) ***************************************************************************/ double TeosBase::gsw_beta_const_ct_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double g_SA_mod, g_SA_T_mod, z, x2, x, y, y_pt, pt0, gp, factor, factora; pt0 = gsw_pt0_from_t(SA, t, p); @@ -6839,6 +7060,8 @@ void TeosBase::gsw_rho_alpha_beta_indexed(double SA, double CT, double p, double &alpha, double &beta) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ double v_SA_part, v_CT, z, v, ys, xs, x2, sa = 0.0; if (SA > 0.0) sa = SA; @@ -6953,6 +7176,8 @@ void TeosBase::gsw_rho_first_derivatives_CT_exact(double SA, double CT, double p double &rho_SA, double &rho_CT, double &rho_P) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double g_SA_mod_part, g_SA_T_mod, g_SA_T_mod_part; double x2, x, y, y_pt, z, pt0, t; double factor, factora, g_tp, g_psq_g_tt, g_p, g_SA_mod; @@ -7056,6 +7281,8 @@ void TeosBase::gsw_rho_first_derivatives_CT_exact(double SA, double CT, double p ***************************************************************************/ double TeosBase::gsw_Helmholtz_energy_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + return gsw_gibbs(0, 0, 0, SA, t, p) - (gtc.db2pa * p + gtc.gsw_p0) * gsw_gibbs(0, 0, 1, SA, t, p); @@ -7161,6 +7388,8 @@ double TeosBase::gsw_specvol_anom_standard_CT_exact(double SA, double CT, double ***************************************************************************/ double TeosBase::gsw_N2sol_SP_pt(double SP, double pt) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double y = log((298.15 - pt) / (pt + gtc.gsw_t0)); return exp((y * (y * (4.69149 * y + 4.32531) + 2.92704) + 6.42931) + @@ -7504,6 +7733,8 @@ void TeosBase::gsw_specvol_first_derivatives_CT_exact(double SA, double CT, double &v_CT, double &v_P) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double rec_gTT, gSAP, gTP, gSAT,gSA_pt0, gPP; double t, rec_abs_pt0, pt0, pr0 = 0.0, sa = 0.0; @@ -7787,6 +8018,8 @@ double TeosBase::gsw_pot_enthalpy_from_specvol_ice_poly(double specvol_ice, doub ***************************************************************************/ double TeosBase::gsw_specvol_anom_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double t_zero = gsw_t_from_ct(gtc.gsw_sso,0.0, p); return gsw_gibbs(0,0,1,SA,t,p) - @@ -7851,6 +8084,8 @@ double TeosBase::gsw_specvol_anom_t_exact(double SA, double t, double p) ***************************************************************************/ double TeosBase::gsw_dynamic_enthalpy_CT_exact(double SA, double CT, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double t = gsw_t_from_ct(SA,CT,p); return gsw_enthalpy_t_exact(SA,t,p) - gtc.gsw_cp0 * CT; @@ -7895,7 +8130,9 @@ double TeosBase::gsw_dynamic_enthalpy_CT_exact(double SA, double CT, double p) ***************************************************************************/ double TeosBase::gsw_atomic_weight(void) { - return 31.4038218; + /** for GSW_TEOS10_CONSTANTS use gtc */ + + return gtc.gsw_atomic_weight; } /*************************************************************************** @@ -7984,6 +8221,8 @@ double TeosBase::gsw_alpha_wrt_pt_t_exact(double SA, double t, double p) ***************************************************************************/ double TeosBase::gsw_alpha_wrt_CT_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double pt0 = gsw_pt0_from_t(SA,t,p); double factor = -gtc.gsw_cp0 / ((gtc.gsw_t0 + pt0) * gsw_gibbs(0,2,0,SA,t,p)); @@ -8096,6 +8335,7 @@ void TeosBase::gsw_specvol_first_derivatives_wrt_enthalpy_CT_exact(double SA, double TeosBase::gsw_sr_from_sp(double sp) { /** for GSW_TEOS10_CONSTANTS use gtc */ + return (sp*gtc.gsw_ups); } @@ -8133,6 +8373,8 @@ double TeosBase::gsw_sr_from_sp(double sp) ***************************************************************************/ double TeosBase::gsw_p_from_Abs_Pressure(double Absolute_Pressure) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + return (Absolute_Pressure - gtc.gsw_p0) * 0.0001; } @@ -8186,6 +8428,8 @@ double TeosBase::gsw_p_from_Abs_Pressure(double Absolute_Pressure) ***************************************************************************/ double TeosBase::gsw_SP_from_R(double R, double t, double p) { + /** for GSW_SP_COEFFICIENTS use gspc */ + double SP, Rtx, Rt, Rp, rt_lc, ft68, t68 = t * 1.00024; ft68 = (t68 - 15.0) / (1.0 + gspc.k * (t68 - 15.0)); @@ -8272,7 +8516,10 @@ double TeosBase::gsw_SP_from_R(double R, double t, double p) ***************************************************************************/ double TeosBase::gsw_isochoric_heat_cap_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double g_tt, g_tp, g_pp; + g_tt = gsw_gibbs(0,2,0,SA,t,p); g_tp = gsw_gibbs(0,1,1,SA,t,p); g_pp = gsw_gibbs(0,0,2,SA,t,p); @@ -8320,6 +8567,8 @@ double TeosBase::gsw_isochoric_heat_cap_t_exact(double SA, double t, double p) ***************************************************************************/ double TeosBase::gsw_beta_const_pt_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double factor,gp,g_SA_pt_mod,g_SA_T_mod,pt0,x2,x,y,y_pt,z; pt0 = gsw_pt0_from_t(SA,t,p); @@ -8458,6 +8707,8 @@ double TeosBase::gsw_adiabatic_lapse_rate_from_t(double SA, double t, double p) ***************************************************************************/ double TeosBase::gsw_osmotic_coefficient_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double sa = 0.0; double k = 3.777007343340624e-3; // k = M_S/R double part, x2, x, y, z, tl; @@ -8524,7 +8775,8 @@ double TeosBase::gsw_osmotic_coefficient_t_exact(double SA, double t, double p) + x *(oc03 + x *(oc04 + x *(oc05 + x *(oc06 + oc07*x))) + y *(oc08 + x *(oc09 + x *(oc10 + oc11*x)) + y *(oc12 + oc13*x + y *(oc14 + oc15*x + y *(oc16 + x *(oc17 + oc18*y))))) - + z *(oc19 + x *(oc20 + oc21*y + oc22*x) + y *(oc23 + y *(oc24 + y *(oc25 + oc26*y))) + + z *(oc19 + x *(oc20 + oc21*y + oc22*x) + y *(oc23 + + y *(oc24 + y *(oc25 + oc26*y))) + z *(oc27 + oc28*x + y *(oc29 + oc30*y) + z *(oc31 + oc32*x + y *(oc33 + oc34*y) + oc35*z)))); @@ -8576,6 +8828,8 @@ double TeosBase::gsw_osmotic_coefficient_t_exact(double SA, double t, double p) ***************************************************************************/ double TeosBase::gsw_Arsol_SP_pt(double SP, double pt) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double y = log((298.15 - pt) / (pt + gtc.gsw_t0)); return exp((y * (y * (4.90379 * y + 4.13116) + 3.17609) + 2.7915) + @@ -8686,15 +8940,17 @@ double TeosBase::gsw_molality_from_SA(double SA) ***************************************************************************/ double TeosBase::gsw_Abs_Pressure_from_p(double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + return p * gtc.db2pa; } /*************************************************************************** -% gsw_CT_maxdensity_exact Conservative Temperature of maximum +% gsw_ct_maxdensity_exact Conservative Temperature of maximum % density of seawater % ========================================================================= % -% USAGE: gsw_CT_maxdensity_exact(SA,p) +% USAGE: gsw_ct_maxdensity_exact(SA,p) % % DESCRIPTION: % Calculates the Conservative Temperature of maximum density of seawater. @@ -8737,7 +8993,7 @@ double TeosBase::gsw_Abs_Pressure_from_p(double p) % %========================================================================== ***************************************************************************/ -double TeosBase::gsw_CT_maxdensity_exact(double SA, double p) +double TeosBase::gsw_ct_maxdensity_exact(double SA, double p) { double t_maxdensity_exact = gsw_t_maxdensity_exact(SA,p); @@ -8780,6 +9036,8 @@ double TeosBase::gsw_CT_maxdensity_exact(double SA, double p) ***************************************************************************/ double TeosBase::gsw_internal_energy_t_exact(double SA, double t, double p) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + return gsw_gibbs(0,0,0,SA,t,p) - (t + gtc.gsw_t0) * gsw_gibbs(0,1,0,SA,t,p) - (gtc.db2pa * p + gtc.gsw_p0 ) * @@ -8833,6 +9091,8 @@ double TeosBase::gsw_internal_energy_t_exact(double SA, double t, double p) ***************************************************************************/ double TeosBase::gsw_Hesol_SP_pt(double SP, double pt) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double pt68, y_100; pt68 = pt * 1.00024; @@ -8910,9 +9170,12 @@ double TeosBase::gsw_Hesol_SP_pt(double SP, double pt) % ========================================================================== ***************************************************************************/ void TeosBase::gsw_specvol_p_parts(double SA, double CT, double &vp0, double &vp1, - double &vp2, double &vp3, double &vp4, double &vp5, - double &vp6) + double &vp2, double &vp3, double &vp4, + double &vp5, double &vp6) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double ys,xs,x2,sa = 0.0; if (SA > 0.0) sa = SA; @@ -9154,8 +9417,11 @@ void TeosBase::gsw_rho_second_derivatives_CT_exact(double SA, double CT, double if (SA > 0.0) sa = SA; rec_v = 1.0 / gsw_specvol_CT_exact(sa,CT,p); + gsw_specvol_first_derivatives_CT_exact(sa,CT,p,*v_SA, *v_CT, *v_P); - gsw_specvol_second_derivatives_CT_exact(sa,CT,p,*v_SA_SA, *v_SA_CT, *v_CT_CT, *v_SA_P, *v_CT_P); + + gsw_specvol_second_derivatives_CT_exact(sa,CT,p,*v_SA_SA, *v_SA_CT, + *v_CT_CT, *v_SA_P, *v_CT_P); rec_v2 = rec_v * rec_v; rec_v3 = rec_v2 * rec_v; @@ -9243,6 +9509,9 @@ void TeosBase::gsw_rho_second_derivatives_CT_exact(double SA, double CT, double double TeosBase::gsw_specvol_diff(double SA, double CT, double p_shallow, double p_deep) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double v011 = 1.8505765429e-5; double v012 = -1.1736386731e-6; double v013 = -3.6527006553e-7; @@ -9381,6 +9650,8 @@ double TeosBase::gsw_specvol_diff(double SA, double CT, double p_shallow, ***************************************************************************/ double TeosBase::gsw_N2sol(double SA,double CT,double p,double lon,double lat) { + /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + // The coefficents below are from Table 4 of Hamme and Emerson (2004) double a0 = 6.42931; double a1 = 2.92704; @@ -9455,6 +9726,8 @@ double TeosBase::gsw_N2sol(double SA,double CT,double p,double lon,double lat) ***************************************************************************/ double TeosBase::gsw_N2Osol(double SA,double CT,double p,double lon,double lat) { + /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double ph2odP,y_100,y,pt68,N2Osol,pt,SP = gsw_sp_from_sa(SA,p,lon,lat); // The coefficents below are from Table 2 of Weiss and Price (1980) @@ -9583,6 +9856,8 @@ double TeosBase::gsw_Gibbs_energy_t_exact(double SA,double t,double p) ***************************************************************************/ double TeosBase::gsw_Hesol(double SA,double CT,double p,double lon,double lat) { + /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double He_ml2umol, Hesol, y, y_100, pt68, pt, SP = gsw_sp_from_sa(SA,p,lon,lat); // Note that salinity argument is Practical Salinity, this is @@ -9612,8 +9887,9 @@ double TeosBase::gsw_Hesol(double SA,double CT,double p,double lon,double lat) He_ml2umol = 4.455817671505537e1;// mL/kg to umol/kg for He (1/22.44257e-3) // Molar volume at STP (Dymond and Smith, 1980). - Hesol = Hesol * He_ml2umol; - return Hesol; + //Hesol = Hesol * He_ml2umol; + + return Hesol * He_ml2umol; } /*************************************************************************** @@ -9665,6 +9941,8 @@ double TeosBase::gsw_Hesol(double SA,double CT,double p,double lon,double lat) ***************************************************************************/ double TeosBase::gsw_Krsol(double SA,double CT,double p,double lon,double lat) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double Kr_ml2umol,Krsol,pt,pt68,y,y_100,SP = gsw_sp_from_sa(SA,p,lon,lat); // Note that salinity argument is Practical Salinity, this is @@ -9695,9 +9973,9 @@ double TeosBase::gsw_Krsol(double SA,double CT,double p,double lon,double lat) Kr_ml2umol = 4.474052731185490e1; // mL/kg to umol/kg for Kr (1/22.3511e-3) // Molar volume at STP (Dymond and Smith, 1980). - Krsol = Krsol * Kr_ml2umol; + //Krsol = Krsol * Kr_ml2umol; - return Krsol; + return Krsol * Kr_ml2umol; } /*************************************************************************** @@ -9817,6 +10095,8 @@ double TeosBase::gsw_enthalpy_diff_CT_exact(double SA,double CT, ***************************************************************************/ double TeosBase::gsw_Arsol(double SA,double CT,double p,double lon,double lat) { + /** for GSW_TEOS10_CONSTANTS use gtc */ + double y,pt,SP = gsw_sp_from_sa(SA,p,lon,lat); /** @@ -9827,7 +10107,7 @@ double TeosBase::gsw_Arsol(double SA,double CT,double p,double lon,double lat) pt = gsw_pt_from_ct(SA,CT); //pt is potential temperature referenced to the sea surface. - y = log((298.15 - pt) / (273.15 + pt)); + y = log((298.15 - pt) / (gtc.gsw_t0 + pt)); // pt is the temperature in degress C on the 1990 International Temperature Scale ITS-90. /** The coefficents below are from Table 4 of Hamme and Emerson (2004) */ @@ -9851,7 +10131,7 @@ double TeosBase::gsw_Arsol(double SA,double CT,double p,double lon,double lat) **************************************/ bool TeosBase::gsw_rtIsNaN(double val) { - return val == rtNaN; + return (val == rtNaN); } /************************************************************************************************* @@ -9887,24 +10167,30 @@ int TeosBase::gsw_pchip_derivs(double *x,double *y,int n,double *d) int smm, smp; /** slope signs */ double w1, w2; int i; + if (n == 2) { d[0] = d[1] = (y[1] - y[0]) / (x[1] - x[0]); return 0; } + hm = x[1] - x[0]; hp = x[2] - x[1]; mm = (y[1] - y[0]) / hm; mp = (y[2] - y[1]) / hp; + d[0] = gsw_pchip_edge_case(hm, hp, mm, mp); + smm = gsw_sgn(mm); smp = gsw_sgn(mp); + for (i=1; i 3.0*fabs(m0)); + if (mask) { return 0.0; } + if (!mask && mask2) { return 3.0*m0; } + return d; } @@ -9979,30 +10274,37 @@ void TeosBase::gsw_add_barrier(double *input_data,double lon,double lat, double dlat_grid,double *output_data) { /** for GSW_SAAR_DATA use gsaar */ + int above_line[4], k, nmean, above_line0, kk; double r, lats_line, data_mean; k = gsw_util_indx(gsaar.longs_pan,gsaar.npan,lon); + /** the lon/lat point */ r = (lon-gsaar.longs_pan[k])/(gsaar.longs_pan[k+1]-gsaar.longs_pan[k]); lats_line = gsaar.lats_pan[k] + r*(gsaar.lats_pan[k+1]-gsaar.lats_pan[k]); above_line0 = (lats_line <= lat); k = gsw_util_indx(gsaar.longs_pan,gsaar.npan,long_grid); + /**the 1 & 4 lon/lat points*/ r = (long_grid-gsaar.longs_pan[k])/ (gsaar.longs_pan[k+1]-gsaar.longs_pan[k]); + lats_line = gsaar.lats_pan[k] + r*(gsaar.lats_pan[k+1]-gsaar.lats_pan[k]); above_line[0] = (lats_line <= lat_grid); above_line[3] = (lats_line <= lat_grid+dlat_grid); k = gsw_util_indx(gsaar.longs_pan,6,long_grid+dlong_grid); + /**the 2 & 3 lon/lat points */ r = (long_grid+dlong_grid-gsaar.longs_pan[k])/ (gsaar.longs_pan[k+1]-gsaar.longs_pan[k]); + lats_line = gsaar.lats_pan[k] + r*(gsaar.lats_pan[k+1]-gsaar.lats_pan[k]); above_line[1] = (lats_line <= lat_grid); above_line[2] = (lats_line <= lat_grid+dlat_grid); nmean = 0; data_mean = 0.0; + for (kk=0; kk<4; kk++) { if ((fabs(input_data[kk]) <= 100.0) && above_line0 == above_line[kk]) @@ -10011,10 +10313,16 @@ void TeosBase::gsw_add_barrier(double *input_data,double lon,double lat, data_mean = data_mean+input_data[kk]; } } + if (nmean == 0) - data_mean = 0.0; /**error return*/ + { + data_mean = 0.0; /**error return*/ + } else - data_mean = data_mean/nmean; + { + data_mean = data_mean/nmean; + } + for (kk=0; kk<4; kk++) { if ((fabs(input_data[kk]) >= 1.0e10) || above_line0 != above_line[kk]) @@ -10022,7 +10330,9 @@ void TeosBase::gsw_add_barrier(double *input_data,double lon,double lat, output_data[kk] = data_mean; } else - output_data[kk] = input_data[kk]; + { + output_data[kk] = input_data[kk]; + } } } @@ -10038,6 +10348,7 @@ void TeosBase::gsw_add_mean(double *data_in, double *data_out) { int k, nmean = 0; double data_mean = 0.0; + for (k=0; k<4; k++) { if (fabs(data_in[k]) <= 100.0) @@ -10046,10 +10357,16 @@ void TeosBase::gsw_add_mean(double *data_in, double *data_out) data_mean = data_mean+data_in[k]; } } + if (nmean == 0.0) - data_mean = 0.0; /**error return*/ + { + data_mean = 0.0; /**error return*/ + } else - data_mean = data_mean/nmean; + { + data_mean = data_mean/nmean; + } + for (k=0; k<4; k++) { if (fabs(data_in[k]) >= 100.0) @@ -10057,7 +10374,9 @@ void TeosBase::gsw_add_mean(double *data_in, double *data_out) data_out[k] = data_mean; } else - data_out[k] = data_in[k]; + { + data_out[k] = data_in[k]; + } } } @@ -10157,10 +10476,12 @@ void TeosBase::gsw_rr68_interp_section(int sectnum,double *sa,double *ct,double for (i=0; i x[0] && z < x[n-1]) { kl = 0; ku = n-1; + while (ku-kl > 1) { km = (ku+kl)>>1; if (z > x[km]) - kl = km; + { + kl = km; + } else - ku = km; + { + ku = km; + } } + k = kl; if (z == x[k+1]) - k++; + { + k++; + } } else if (z <= x[0]) - k = 0; + { + k = 0; + } else - k = n-2; + { + k = n-2; + } + return (k); } @@ -10432,6 +10772,7 @@ void TeosBase::gsw_util_sort_dbl(double *dArray,int nx,int *iArray,bool ASC) /** instantiate a C++ list object for containing "struct DI" objects */ list *pDI = new list; int i; + /** Transfer the values to the struct object "DI". Then place those "DI" objects into the "pDI" list object. @@ -10445,16 +10786,23 @@ void TeosBase::gsw_util_sort_dbl(double *dArray,int nx,int *iArray,bool ASC) /** place DI object into list object */ pDI->push_back(di); } + /** call the selected sort function */ if (ASC) - pDI->sort(orderByLargeToSmall); + { + pDI->sort(orderByLargeToSmall); + } else - pDI->sort(orderBySmallToLarge); + { + pDI->sort(orderBySmallToLarge); + } + /** Instantiate an iterator object for the list object and set the iterator position to "begin". */ list::const_iterator itr = pDI->begin(); + /** Transfer the sorted list of DI object values back into double & int arrays. @@ -10467,10 +10815,17 @@ void TeosBase::gsw_util_sort_dbl(double *dArray,int nx,int *iArray,bool ASC) ++i; ++itr; } + /** clean up */ if (pDI) { - pDI->empty(); + /** elements are not pointers, so ... */ + if (!pDI->empty()) + { + pDI->clear(); + } + + /** remove list object */ delete pDI; } } @@ -10514,6 +10869,7 @@ int TeosBase::gsw_util_indxPref(int n, double z) { kl = 0; ku = n-1; + while (ku-kl > 1) { km = (ku+kl)>>1; @@ -10526,7 +10882,9 @@ int TeosBase::gsw_util_indxPref(int n, double z) ku = km; } } + k = kl; + if (z == pSaarData->get_p_ref(k+1)) { k++; @@ -10543,6 +10901,7 @@ int TeosBase::gsw_util_indxPref(int n, double z) k = n-2; } } + return k; } @@ -10551,13 +10910,16 @@ int TeosBase::gsw_util_indxPref(int n, double z) method: gsw_gsvco_a(xs,ys,z) ======= The code in this method was repeated -in various places in the C code. -In the C++ code it is replaced with -a call to this method. +in various places in the C library +code. + +In the C++ library code it is +replaced with a call to this method. **************************************/ double TeosBase::gsw_gsvco_a(double xs, double ys, double z) { /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double rval = gsvco.a000 + xs*(gsvco.a100 + xs*(gsvco.a200 + xs*(gsvco.a300 + xs*(gsvco.a400 + gsvco.a500*xs)))) + ys*(gsvco.a010 + xs*(gsvco.a110 + xs*(gsvco.a210 + xs*(gsvco.a310 + gsvco.a410*xs))) @@ -10578,13 +10940,16 @@ double TeosBase::gsw_gsvco_a(double xs, double ys, double z) method: gsw_gsvco_b(xs,ys,z) ======= The code in this method was repeated -in various places in the C code. -In the C++ code it is replaced with -a call to this method. +in various places in the C library +code. + +In the C++ library code it is +replaced with a call to this method. **************************************/ double TeosBase::gsw_gsvco_b(double xs, double ys, double z) { /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double rval = gsvco.b000 + xs*(gsvco.b100 + xs*(gsvco.b200 + xs*(gsvco.b300 + xs*(gsvco.b400 + gsvco.b500*xs)))) + ys*(gsvco.b010 @@ -10612,13 +10977,16 @@ double TeosBase::gsw_gsvco_b(double xs, double ys, double z) method: gsw_gsvco_c(xs,ys,z) ======= The code in this method was repeated -in various places in the C code. -In the C++ code it is replaced with -a call to this method. +in various places in the C library +code. + +In the C++ library code it is +replaced with a call to this method. **************************************/ double TeosBase::gsw_gsvco_c(double xs, double ys, double z) { /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double rval = gsvco.c000 + xs*(gsvco.c100 + xs*(gsvco.c200 + xs*(gsvco.c300 + xs*(gsvco.c400 + gsvco.c500*xs)))) + ys*(gsvco.c010 @@ -10645,13 +11013,16 @@ double TeosBase::gsw_gsvco_c(double xs, double ys, double z) method: gsw_gsvco_v(xs,ys,z) ======= The code in this method was repeated -in various places in the C code. -In the C++ code it is replaced with -a call to this method. +in various places in the C library +code. + +In the C++ library code it is +replaced with a call to this method. **************************************/ double TeosBase::gsw_gsvco_v(double xs, double ys, double z) { /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double rval = gsvco.v000 + xs*(gsvco.v010 + xs*(gsvco.v020 + xs*(gsvco.v030 + xs*(gsvco.v040 + xs*(gsvco.v050 + gsvco.v060*xs))))) @@ -10684,7 +11055,7 @@ double TeosBase::gsw_gsvco_v(double xs, double ys, double z) /******************************************** method: gsw_max_d (double, double) - previously an inline function + it was previously an inline function *********************************************/ double TeosBase::gsw_max_d(double a,double b) { @@ -10704,7 +11075,7 @@ double TeosBase::gsw_max_d(double a,double b) /******************************************** method: gsw_min_d (double, double) - previously an inline function + it was previously an inline function *********************************************/ double TeosBase::gsw_min_d(double a,double b) { @@ -10724,7 +11095,7 @@ double TeosBase::gsw_min_d(double a,double b) /************************************************** method: gsw_max_u (unsigned, unsigned) - previously an inline function + it was previously an inline function ***************************************************/ unsigned TeosBase::gsw_max_u(unsigned a,unsigned b) { @@ -10744,7 +11115,7 @@ unsigned TeosBase::gsw_max_u(unsigned a,unsigned b) /*************************************************** method: gsw_min_u (unsigned, unsigned) - previously an inline function + it was previously an inline function ***************************************************/ unsigned TeosBase::gsw_min_u(unsigned a,unsigned b) { @@ -10762,10 +11133,10 @@ unsigned TeosBase::gsw_min_u(unsigned a,unsigned b) return _min; } -/************************************ +/************************************** method: gsw_max_i (int, int) - previously an inline function -************************************/ + it was previously an inline function +***************************************/ int TeosBase::gsw_max_i(int a,int b) { int _max; @@ -10782,10 +11153,10 @@ int TeosBase::gsw_max_i(int a,int b) return _max; } -/*********************************** +/************************************* method: gsw_min_i (int, int) - previously an inline function -************************************/ + it was previously an inline function +***************************************/ int TeosBase::gsw_min_i(int a,int b) { int _min; @@ -10851,6 +11222,7 @@ This method supplements method gsw_dynamic_enthalpy(sa,ct,p) double TeosBase::gsw_get_dyn_enth_prt(double xs, double ys, double z) { /** for GSW_SPECVOL_COEFFICIENTS use gsvco */ + double rval = z * (gsvco.h001 + xs*(gsvco.h101 + xs*(gsvco.h201 + xs*(gsvco.h301 + xs*(gsvco.h401 + xs*(gsvco.h501 + gsvco.h601*xs))))) + ys*(gsvco.h011 + xs*(gsvco.h111 @@ -11228,6 +11600,7 @@ This method supplements method gsw_gibbs(ns,nt,np,sa,t,p) for clarity. double TeosBase::gsw_gibbs_g03plusg08_f(double z, double y, double x2, double x) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double g08 = 2.0*(8103.20462414788 + y*(2175.341332000392 + y*(-274.2290036817964 + y*(197.4670779425016 + y*(-68.5590309679152 + 9.98788038278032*y))) - 90.6734234051316*z) @@ -11295,6 +11668,7 @@ This method supplements method gsw_gibbs(ns,nt,np,sa,t,p) for clarity. double TeosBase::gsw_gibbs_g08_a(double sa, double z, double y, double x) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double g08 = 8645.36753595126 + z*(-6620.98308089678 + z*(769.588305957198 + z*(-193.0648640214916 + (31.6816345533648 - 5.24960313181984*z)*z))) + x*(-7296.43987145382 + x*(8103.20462414788 + y*(2175.341332000392 @@ -11340,6 +11714,7 @@ This method supplements method gsw_gibbs(ns,nt,np,sa,t,p) for clarity. double TeosBase::gsw_gibbs_g08_b(double z,double y,double x) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double g08 = -6620.98308089678 + z*(1539.176611914396 + z*(-579.1945920644748 + (126.7265382134592 - 26.2480156590992*z)*z)) + x*(598.378809221703 + x*(-219.1676534131548 + 180.142097805543*x - 90.6734234051316*y @@ -11366,6 +11741,7 @@ This method supplements method gsw_gibbs(ns,nt,np,sa,t,p) for clarity. double TeosBase::gsw_gibbs_g08_c(double sa, double z, double y, double x) { /** for GSW_TEOS10_CONSTANTS use gtc */ + double g08 = 1187.3715515697959 + z*(1458.233059470092 + z*(-687.913805923122 + z*(249.375342232496 + z*(-63.313928772146 + 14.09317606630898*z)))) + x*(-1480.222530425046 + x*(2175.341332000392 + x*(-980.14153344888 diff --git a/TeosCpp/src/TeosIce.cpp b/packages/gsw_cpp/teos-cpp/src/TeosIce.cpp similarity index 99% rename from TeosCpp/src/TeosIce.cpp rename to packages/gsw_cpp/teos-cpp/src/TeosIce.cpp index ea7f0dd..7e599f8 100644 --- a/TeosCpp/src/TeosIce.cpp +++ b/packages/gsw_cpp/teos-cpp/src/TeosIce.cpp @@ -1,16 +1,18 @@ #include "TeosIce.h" /****************************************** - TeosIce.cpp Version 1.06 + TeosIce.cpp Version 2.0 + --------------------------------------- + Converted from C library source code + and/or Matlab .m files + --------------------------------------- by Randall Kent Whited rkwhited@gmail.com --------------------------------------- All copyrights and all license issues are the same as previous versions --------------------------------------- - OR converted from .m Matlab files in - the Teos-10 Matlab version at - http://www.teos-10.org + see http://www.teos-10.org *******************************************/ /** class constructor : base class constructor */ @@ -1757,8 +1759,6 @@ void TeosIce::gsw_ct_freezing_first_derivatives_poly(double sa,double p, % with the Conservative Temperature calculated from the exact in-situ % freezing temperature which is found by a Newton-Raphson iteration of the % equality of the chemical potentials of water in seawater and in ice. -% Note that the Conservative Temperature freezing temperature can be found -% by this exact method using the function gsw_CT_freezing. % % INPUT: % SA = Absolute Salinity [ g/kg ] diff --git a/TeosCpp/src/TeosSea.cpp b/packages/gsw_cpp/teos-cpp/src/TeosSea.cpp similarity index 99% rename from TeosCpp/src/TeosSea.cpp rename to packages/gsw_cpp/teos-cpp/src/TeosSea.cpp index 6c400bf..bc1ff04 100644 --- a/TeosCpp/src/TeosSea.cpp +++ b/packages/gsw_cpp/teos-cpp/src/TeosSea.cpp @@ -1,7 +1,7 @@ #include "TeosSea.h" /***************************************** - "TeosSea.cpp" Version 1.06 + "TeosSea.cpp" Version 2.0 by Randall Kent Whited rkwhited@gmail.com --------------------------------------- @@ -2093,7 +2093,7 @@ void TeosSea::gsw_specvol_second_derivatives(double sa,double ct,double p, + ys*(-gsvco.b012 + gsvco.b212*xs2 + ys*(-gsvco.b022 - gsvco.b032*ys)) + z*(-gsvco.b003 - gsvco.b013*ys - gsvco.b004*z))))/xs2; - *v_sa_sa = 0.25*gtc.gsw_sfac*gtc.gsw_sfac*v_sa_sa_part/xs; + *v_sa_sa = 0.25*gtc.gsw_sfac*gtc.gsw_sfac*v_sa_sa_part/xs; /** "/x2 added" */ } if (v_sa_ct != NULL) { @@ -2134,7 +2134,7 @@ void TeosSea::gsw_specvol_second_derivatives(double sa,double ct,double p, + gsvco.b212*xs) + ys*(gsvco.b022 + gsvco.b122*xs + gsvco.b032*ys))) + z*(3.0*(gsvco.b003 + gsvco.b103*xs + gsvco.b013*ys) + 4.0*gsvco.b004*z)); - *v_sa_p = 1e-8*0.5*gtc.gsw_sfac*v_sa_p_part; + *v_sa_p = 1e-8*0.5*gtc.gsw_sfac*v_sa_p_part/xs; } if (v_ct_p != NULL) { diff --git a/packages/gsw_cpp/teos-cpp/tests/CMakeLists.txt b/packages/gsw_cpp/teos-cpp/tests/CMakeLists.txt new file mode 100644 index 0000000..d26725c --- /dev/null +++ b/packages/gsw_cpp/teos-cpp/tests/CMakeLists.txt @@ -0,0 +1,28 @@ +Include(FetchContent) + +FetchContent_Declare( + Catch2 + GIT_REPOSITORY https://github.com/catchorg/Catch2.git + GIT_TAG v3.4.0 # or a later release +) + +FetchContent_MakeAvailable(Catch2) + +# Add a test excutable +add_executable(base src/base.cpp) +target_link_libraries(base PRIVATE teos-cpp) +target_link_libraries(base PRIVATE Catch2::Catch2WithMain) + +add_executable(sea src/sea.cpp) +target_link_libraries(sea PRIVATE teos-cpp) +target_link_libraries(sea PRIVATE Catch2::Catch2WithMain) + +add_executable(ice src/ice.cpp) +target_link_libraries(ice PRIVATE teos-cpp) +target_link_libraries(ice PRIVATE Catch2::Catch2WithMain) + +include(CTest) +include(Catch) +catch_discover_tests(base REPORTER xml) +catch_discover_tests(sea REPORTER xml) +catch_discover_tests(ice REPORTER xml) \ No newline at end of file diff --git a/packages/gsw_cpp/teos-cpp/tests/src/base.cpp b/packages/gsw_cpp/teos-cpp/tests/src/base.cpp new file mode 100644 index 0000000..adc1ce2 --- /dev/null +++ b/packages/gsw_cpp/teos-cpp/tests/src/base.cpp @@ -0,0 +1,27 @@ +// +// Created by blake on 12/19/24. +// +#include +#include +#include + +#include "TeosBase.h" + +TEST_CASE("gsw_z_from_p", "[TeosBase]") +{ + REQUIRE_THAT( + TeosBase().gsw_z_from_p(10, 4, 0, 0), + Catch::Matchers::WithinRel(-0.099445834469453 * 1.0e+002, 0.001) + ); + REQUIRE_THAT( + TeosBase().gsw_z_from_p(50, 4, 0, 0), + Catch::Matchers::WithinRel(-0.497180897012550 * 1.0e+002, 0.001) + ); +} +TEST_CASE("gsw_sp_from_c", "[TeosBase]") +{ + REQUIRE_THAT( + TeosBase().gsw_sp_from_c(34.5487, 28.7856, 10), + Catch::Matchers::WithinRel(20.009869599086951, 0.001) + ); +} \ No newline at end of file diff --git a/packages/gsw_cpp/teos-cpp/tests/src/ice.cpp b/packages/gsw_cpp/teos-cpp/tests/src/ice.cpp new file mode 100644 index 0000000..cf87163 --- /dev/null +++ b/packages/gsw_cpp/teos-cpp/tests/src/ice.cpp @@ -0,0 +1,20 @@ +// +// Created by blake on 12/19/24. +// +#include +#include +#include + +#include "TeosIce.h" + +TEST_CASE("gsw_cp_ice", "[TeosIce]") +{ + REQUIRE_THAT( + TeosIce().gsw_cp_ice(-10.7856, 10), + Catch::Matchers::WithinRel(2.017314262094657 * 1.0e+003, 0.001) + ); + REQUIRE_THAT( + TeosIce().gsw_cp_ice(-13.4329, 50), + Catch::Matchers::WithinRel(1.997830122682709 * 1.0e+003, 0.001) + ); +} \ No newline at end of file diff --git a/packages/gsw_cpp/teos-cpp/tests/src/sea.cpp b/packages/gsw_cpp/teos-cpp/tests/src/sea.cpp new file mode 100644 index 0000000..065aab7 --- /dev/null +++ b/packages/gsw_cpp/teos-cpp/tests/src/sea.cpp @@ -0,0 +1,20 @@ +// +// Created by blake on 12/19/24. +// +#include +#include +#include + +#include "TeosSea.h" + +TEST_CASE("gsw_c_from_sp", "[TeosSea]") +{ + REQUIRE_THAT( + TeosSea().gsw_c_from_sp(34.5487, 28.7856, 10), + Catch::Matchers::WithinRel(56.412599581571186, 0.001) + ); + REQUIRE_THAT( + TeosSea().gsw_c_from_sp(34.7275, 28.4329, 50), + Catch::Matchers::WithinRel(56.316185602699953, 0.001) + ); +} \ No newline at end of file diff --git a/packages/gsw_node/jest.config.js b/packages/gsw_node/jest.config.js new file mode 100644 index 0000000..6193f26 --- /dev/null +++ b/packages/gsw_node/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/packages/gsw_node/package.json b/packages/gsw_node/package.json new file mode 100644 index 0000000..aceaeb0 --- /dev/null +++ b/packages/gsw_node/package.json @@ -0,0 +1,69 @@ +{ + "name": "@greenroom-robotics/gsw_node", + "version": "2.0.0", + "description": "Nodejs interface to Gibbs-SeaWater (GSW) Oceanographic Toolbox in C++", + "repository": { + "type": "git", + "url": "git+https://github.com/Greenroom-Robotics/GSW-node.git", + "directory": "packages/gsw_node" + }, + "author": "Zac Pullen ", + "contributors": [ + "Blake Rogan " + ], + "bugs": { + "url": "https://github.com/Greenroom-Robotics/GSW-node/issues" + }, + "types": "dist/index.d.ts", + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/cjs/index.js", + "import": "./dist/esm/index.js" + } + }, + "scripts": { + "prebuild": "rimraf ./dist", + "build": "run-p build:types build:esm build:cjs", + "build:cjs": "tsc -p ./tsconfig.cjs.json", + "build:esm": "tsc -p ./tsconfig.esm.json", + "build:types": "tsc -p ./tsconfig.json --emitDeclarationOnly", + "test:jest": "jest", + "test": "run-s build test:jest", + "prepack": "pnpm run build", + "typecheck": "tsc --noEmit", + "release": "semantic-release --extends ./release.config.cjs" + }, + "binary": { + "napi_versions": [ + 9 + ] + }, + "peerDependencies": { + "@greenroom-robotics/gsw_cpp": "^2.0.0" + }, + "devDependencies": { + "@greenroom-robotics/gsw_cpp": "workspace:*", + "@jest/globals": "^29.7.0", + "@types/jest": "^29.5.14", + "@types/node": "^20.17.10", + "jest": "^29.7.0", + "node-addon-api": "^8.3.0", + "npm-run-all": "^4.1.5", + "rimraf": "^6.0.1", + "ts-jest": "^29.2.5", + "tslib": "^2.8.1", + "typescript": "^5.7.2" + }, + "engines": { + "node": ">=20", + "pnpm": ">=9.15" + }, + "files": [ + "build/Release", + "dist/", + "package.json" + ] +} diff --git a/packages/gsw_node/release.config.cjs b/packages/gsw_node/release.config.cjs new file mode 100644 index 0000000..1566cda --- /dev/null +++ b/packages/gsw_node/release.config.cjs @@ -0,0 +1,12 @@ +module.exports = { + branches: ['main'], + plugins: [ + ['@semantic-release/commit-analyzer', { preset: 'conventionalcommits' }], + [ + '@semantic-release/release-notes-generator', + { preset: 'conventionalcommits' }, + ], + '@semantic-release/changelog', + '@semantic-release/npm', + ], +}; diff --git a/packages/gsw_node/src/gsw-node-classes.ts b/packages/gsw_node/src/gsw-node-classes.ts new file mode 100644 index 0000000..e533ad3 --- /dev/null +++ b/packages/gsw_node/src/gsw-node-classes.ts @@ -0,0 +1,27 @@ +export declare class TeosBase { + public constructor(); + + public gsw_z_from_p(p: number, lat: number, geo_strf_dyn_height: number, sea_surface_geopotential: number): number; + + public gsw_sp_from_c(c: number, t: number, p: number): number; + + public gsw_sa_from_sp(sp: number, p: number, lon: number, lat: number): number; + + public gsw_ct_from_t(sa: number, t: number, p: number): number; + + public gsw_depth_from_z(z: number): number; +} + +export declare class TeosIce extends TeosBase { + public constructor(); + + public gsw_cp_ice(t: number, p: number): number; +} + +export declare class TeosSea extends TeosBase { + public constructor(); + + public gsw_c_from_sp(sp: number, t: number, p: number): number; + + public gsw_sound_speed(sa: number, ct: number, p: number): number; +} \ No newline at end of file diff --git a/packages/gsw_node/src/gsw-node.node.d.ts b/packages/gsw_node/src/gsw-node.node.d.ts new file mode 100644 index 0000000..7e4cdc5 --- /dev/null +++ b/packages/gsw_node/src/gsw-node.node.d.ts @@ -0,0 +1,30 @@ +declare module '@greenroom-robotics/gsw_cpp/build/Release/gsw-node.node' { + export class TeosBase { + public constructor(); + + public gsw_z_from_p(p: number, lat: number, geo_strf_dyn_height: number, sea_surface_geopotential: number): number; + + public gsw_sp_from_c(c: number, t: number, p: number): number; + + public gsw_sa_from_sp(sp: number, p: number, lon: number, lat: number): number; + + public gsw_ct_from_t(sa: number, t: number, p: number): number; + + public gsw_depth_from_z(z: number): number; + } + + + export class TeosIce extends TeosBase { + public constructor(); + + public gsw_cp_ice(t: number, p: number): number; + } + + export class TeosSea extends TeosBase { + public constructor(); + + public gsw_c_from_sp(sp: number, t: number, p: number): number; + + public gsw_sound_speed(sa: number, ct: number, p: number): number; + } +} diff --git a/packages/gsw_node/src/index.ts b/packages/gsw_node/src/index.ts new file mode 100644 index 0000000..e15c42c --- /dev/null +++ b/packages/gsw_node/src/index.ts @@ -0,0 +1,3 @@ +export {TeosSea} from './teosSea' +export {TeosIce} from './teosIce' +export {TeosBase} from './teosBase' diff --git a/packages/gsw_node/src/teosBase.ts b/packages/gsw_node/src/teosBase.ts new file mode 100644 index 0000000..b3a1c08 --- /dev/null +++ b/packages/gsw_node/src/teosBase.ts @@ -0,0 +1,4 @@ +import addon from '@greenroom-robotics/gsw_cpp/build/Release/gsw-node.node' +import {TeosBase as TeosBaseClass} from './gsw-node-classes' + +export const TeosBase: typeof TeosBaseClass = addon.TeosBase \ No newline at end of file diff --git a/packages/gsw_node/src/teosIce.ts b/packages/gsw_node/src/teosIce.ts new file mode 100644 index 0000000..8fe76ab --- /dev/null +++ b/packages/gsw_node/src/teosIce.ts @@ -0,0 +1,4 @@ +import addon from '@greenroom-robotics/gsw_cpp/build/Release/gsw-node.node' +import {TeosIce as TeosIceClass} from './gsw-node-classes' + +export const TeosIce: typeof TeosIceClass = addon.TeosIce \ No newline at end of file diff --git a/packages/gsw_node/src/teosSea.ts b/packages/gsw_node/src/teosSea.ts new file mode 100644 index 0000000..029bd38 --- /dev/null +++ b/packages/gsw_node/src/teosSea.ts @@ -0,0 +1,4 @@ +import addon from '@greenroom-robotics/gsw_cpp/build/Release/gsw-node.node' +import {TeosSea as TeosSeaClass} from './gsw-node-classes' + +export const TeosSea: typeof TeosSeaClass = addon.TeosSea \ No newline at end of file diff --git a/packages/gsw_node/test/TeosBase.test.ts b/packages/gsw_node/test/TeosBase.test.ts new file mode 100644 index 0000000..bac315b --- /dev/null +++ b/packages/gsw_node/test/TeosBase.test.ts @@ -0,0 +1,32 @@ +import {TeosBase} from '../src' +import {describe, expect, test} from '@jest/globals'; + +describe("TeosBase", () => { + const teosBase = new TeosBase() + describe("gsw_z_from_p", () => { + it("matches demo value 1", () => { + const p = 10 + const lat = 4 + const expectedResult = -0.099445834469453 * 1.0e+002 + const result = teosBase.gsw_z_from_p(p, lat, 0, 0) + expect(result).toBeCloseTo(expectedResult) + }) + it("matches demo value 2", () => { + const p = 50 + const lat = 4 + const expectedResult = -0.497180897012550 * 1.0e+002 + const result = teosBase.gsw_z_from_p(p, lat, 0.0, 0.0) + expect(result).toBeCloseTo(expectedResult) + }) + }) + describe("Calculate salinity", () => { + it("matches demo value 1", () => { + const C = 34.5487; + const t = 28.7856; + const p = 10; + const expectedResult = 20.009869599086951; + const result = teosBase.gsw_sp_from_c(C, t, p); + expect(result).toBeCloseTo(expectedResult); + }) + }) +}) diff --git a/packages/gsw_node/test/TeosIce.test.ts b/packages/gsw_node/test/TeosIce.test.ts new file mode 100644 index 0000000..5609cd3 --- /dev/null +++ b/packages/gsw_node/test/TeosIce.test.ts @@ -0,0 +1,22 @@ +import {TeosIce} from '../src' +import {describe, expect} from '@jest/globals'; + +describe("TeosIce", () => { + const teosIce = new TeosIce() + describe("gsw_cp_ice", () => { + it("matches demo value 1", () => { + const t = -10.7856 + const p = 10 + const expectedResult = 2.017314262094657 * 1.0e+003 + const result = teosIce.gsw_cp_ice(t, p) + expect(result).toBeCloseTo(expectedResult) + }) + it("matches demo value 2", () => { + const t = -13.4329 + const p = 50 + const expectedResult = 1.997830122682709 * 1.0e+003 + const result = teosIce.gsw_cp_ice(t, p) + expect(result).toBeCloseTo(expectedResult) + }) + }) +}) diff --git a/packages/gsw_node/test/TeosSea.test.ts b/packages/gsw_node/test/TeosSea.test.ts new file mode 100644 index 0000000..4b9e6de --- /dev/null +++ b/packages/gsw_node/test/TeosSea.test.ts @@ -0,0 +1,24 @@ +import {TeosSea} from '../src' +import {describe, expect} from '@jest/globals'; + +describe("TeosSea", () => { + const teosSea = new TeosSea() + describe("gsw_C_from_SP", () => { + it("matches demo value 1", () => { + const SP = 34.5487 + const t = 28.7856 + const p = 10 + const expectedResult = 56.412599581571186 + const result = teosSea.gsw_c_from_sp(SP, t, p) + expect(result).toBeCloseTo(expectedResult) + }) + it("matches demo value 2", () => { + const SP = 34.7275 + const t = 28.4329 + const p = 50 + const expectedResult = 56.316185602699953 + const result = teosSea.gsw_c_from_sp(SP, t, p) + expect(result).toBeCloseTo(expectedResult) + }) + }) +}) diff --git a/packages/gsw_node/tsconfig.cjs.json b/packages/gsw_node/tsconfig.cjs.json new file mode 100644 index 0000000..87a0cd0 --- /dev/null +++ b/packages/gsw_node/tsconfig.cjs.json @@ -0,0 +1,9 @@ +{ + "extends": [ + "./tsconfig.json" + ], + "compilerOptions": { + "module": "CommonJS", + "outDir": "./dist/cjs" + } +} diff --git a/packages/gsw_node/tsconfig.esm.json b/packages/gsw_node/tsconfig.esm.json new file mode 100644 index 0000000..2ce8274 --- /dev/null +++ b/packages/gsw_node/tsconfig.esm.json @@ -0,0 +1,9 @@ +{ + "extends": [ + "./tsconfig.json" + ], + "compilerOptions": { + "module": "ESNext", + "outDir": "./dist/esm" + } +} diff --git a/packages/gsw_node/tsconfig.json b/packages/gsw_node/tsconfig.json new file mode 100644 index 0000000..377459c --- /dev/null +++ b/packages/gsw_node/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "declarationDir": "dist", + "declaration": true, + "target": "ESNext", + "moduleResolution": "Node", + "lib": [ + "ESNext", + "DOM", + "DOM.Iterable" + ], + "types": [ + "@types/jest" + ] + }, + "include": [ + "src" + ] +} diff --git a/jest.config.js b/packages/gsw_test/jest.config.js similarity index 100% rename from jest.config.js rename to packages/gsw_test/jest.config.js diff --git a/packages/gsw_test/package.json b/packages/gsw_test/package.json new file mode 100644 index 0000000..867959a --- /dev/null +++ b/packages/gsw_test/package.json @@ -0,0 +1,35 @@ +{ + "name": "@greenroom-robotics/gsw_test", + "version": "2.0.0", + "private": true, + "repository": { + "type": "git", + "url": "git+https://github.com/Greenroom-Robotics/GSW-node.git", + "directory": "packages/gsw_test" + }, + "author": "Blake Rogan ", + "bugs": { + "url": "https://github.com/Greenroom-Robotics/GSW-node/issues" + }, + "scripts": { + "test:jest": "jest", + "typecheck": "tsc --noEmit" + }, + "peerDependencies": { + "@greenroom-robotics/gsw_node": "^2.0.0" + }, + "devDependencies": { + "@greenroom-robotics/gsw_node": "workspace:*", + "@jest/globals": "^29.7.0", + "@types/jest": "^29.5.14", + "@types/node": "^20.17.10", + "jest": "^29.7.0", + "ts-jest": "^29.2.5", + "tslib": "^2.8.1", + "typescript": "^5.7.2" + }, + "engines": { + "node": ">=20", + "pnpm": ">=9.15" + } +} diff --git a/packages/gsw_test/test/TeosBase.test.ts b/packages/gsw_test/test/TeosBase.test.ts new file mode 100644 index 0000000..18158fc --- /dev/null +++ b/packages/gsw_test/test/TeosBase.test.ts @@ -0,0 +1,32 @@ +import {TeosBase} from '@greenroom-robotics/gsw_node' +import {describe, expect, test} from '@jest/globals'; + +describe("TeosBase", () => { + const teosBase = new TeosBase() + describe("gsw_z_from_p", () => { + it("matches demo value 1", () => { + const p = 10 + const lat = 4 + const expectedResult = -0.099445834469453 * 1.0e+002 + const result = teosBase.gsw_z_from_p(p, lat, 0, 0) + expect(result).toBeCloseTo(expectedResult) + }) + it("matches demo value 2", () => { + const p = 50 + const lat = 4 + const expectedResult = -0.497180897012550 * 1.0e+002 + const result = teosBase.gsw_z_from_p(p, lat, 0.0, 0.0) + expect(result).toBeCloseTo(expectedResult) + }) + }) + describe("Calculate salinity", () => { + it("matches demo value 1", () => { + const C = 34.5487; + const t = 28.7856; + const p = 10; + const expectedResult = 20.009869599086951; + const result = teosBase.gsw_sp_from_c(C, t, p); + expect(result).toBeCloseTo(expectedResult); + }) + }) +}) diff --git a/packages/gsw_test/test/TeosIce.test.ts b/packages/gsw_test/test/TeosIce.test.ts new file mode 100644 index 0000000..22caa33 --- /dev/null +++ b/packages/gsw_test/test/TeosIce.test.ts @@ -0,0 +1,22 @@ +import {TeosIce} from '@greenroom-robotics/gsw_node' +import {describe, expect} from '@jest/globals'; + +describe("TeosIce", () => { + const teosIce = new TeosIce() + describe("gsw_cp_ice", () => { + it("matches demo value 1", () => { + const t = -10.7856 + const p = 10 + const expectedResult = 2.017314262094657 * 1.0e+003 + const result = teosIce.gsw_cp_ice(t, p) + expect(result).toBeCloseTo(expectedResult) + }) + it("matches demo value 2", () => { + const t = -13.4329 + const p = 50 + const expectedResult = 1.997830122682709 * 1.0e+003 + const result = teosIce.gsw_cp_ice(t, p) + expect(result).toBeCloseTo(expectedResult) + }) + }) +}) diff --git a/packages/gsw_test/test/TeosSea.test.ts b/packages/gsw_test/test/TeosSea.test.ts new file mode 100644 index 0000000..299b839 --- /dev/null +++ b/packages/gsw_test/test/TeosSea.test.ts @@ -0,0 +1,24 @@ +import {TeosSea} from '@greenroom-robotics/gsw_node' +import {describe, expect} from '@jest/globals'; + +describe("TeosSea", () => { + const teosSea = new TeosSea() + describe("gsw_C_from_SP", () => { + it("matches demo value 1", () => { + const SP = 34.5487 + const t = 28.7856 + const p = 10 + const expectedResult = 56.412599581571186 + const result = teosSea.gsw_c_from_sp(SP, t, p) + expect(result).toBeCloseTo(expectedResult) + }) + it("matches demo value 2", () => { + const SP = 34.7275 + const t = 28.4329 + const p = 50 + const expectedResult = 56.316185602699953 + const result = teosSea.gsw_c_from_sp(SP, t, p) + expect(result).toBeCloseTo(expectedResult) + }) + }) +}) diff --git a/packages/gsw_test/tsconfig.json b/packages/gsw_test/tsconfig.json new file mode 100644 index 0000000..430cd1c --- /dev/null +++ b/packages/gsw_test/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "declarationDir": "dist", + "declaration": true, + "target": "ESNext", + "moduleResolution": "Node", + "lib": [ + "ESNext", + "DOM", + "DOM.Iterable" + ], + "types": [ + "@types/jest", + "@greenroom-robotics/gsw_node" + ] + }, + "include": [ + "test" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..a23d386 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,5810 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@semantic-release/changelog': + specifier: ^6.0.3 + version: 6.0.3(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/commit-analyzer': + specifier: ^13.0.0 + version: 13.0.0(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/exec': + specifier: ^6.0.3 + version: 6.0.3(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/git': + specifier: ^10.0.1 + version: 10.0.1(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/github': + specifier: ^11.0.1 + version: 11.0.1(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/npm': + specifier: ^12.0.1 + version: 12.0.1(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/release-notes-generator': + specifier: ^14.0.2 + version: 14.0.2(semantic-release@24.2.0(typescript@5.7.2)) + conventional-changelog-conventionalcommits: + specifier: ^8.0.0 + version: 8.0.0 + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + semantic-release: + specifier: ^24.2.0 + version: 24.2.0(typescript@5.7.2) + + packages/gsw_cpp: + devDependencies: + cmake-js: + specifier: ^7.3.0 + version: 7.3.0 + node-addon-api: + specifier: ^8.3.0 + version: 8.3.0 + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + + packages/gsw_node: + devDependencies: + '@greenroom-robotics/gsw_cpp': + specifier: workspace:* + version: link:../gsw_cpp + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 + '@types/jest': + specifier: ^29.5.14 + version: 29.5.14 + '@types/node': + specifier: ^20.17.10 + version: 20.17.10 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@20.17.10) + node-addon-api: + specifier: ^8.3.0 + version: 8.3.0 + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + rimraf: + specifier: ^6.0.1 + version: 6.0.1 + ts-jest: + specifier: ^29.2.5 + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.17.10))(typescript@5.7.2) + tslib: + specifier: ^2.8.1 + version: 2.8.1 + typescript: + specifier: ^5.7.2 + version: 5.7.2 + + packages/gsw_test: + devDependencies: + '@greenroom-robotics/gsw_node': + specifier: workspace:* + version: link:../gsw_node + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 + '@types/jest': + specifier: ^29.5.14 + version: 29.5.14 + '@types/node': + specifier: ^20.17.10 + version: 20.17.10 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@20.17.10) + ts-jest: + specifier: ^29.2.5 + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.17.10))(typescript@5.7.2) + tslib: + specifier: ^2.8.1 + version: 2.8.1 + typescript: + specifier: ^5.7.2 + version: 5.7.2 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.25.6': + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.4': + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@octokit/auth-token@5.1.1': + resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} + engines: {node: '>= 18'} + + '@octokit/core@6.1.2': + resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} + engines: {node: '>= 18'} + + '@octokit/endpoint@10.1.1': + resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==} + engines: {node: '>= 18'} + + '@octokit/graphql@8.1.1': + resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==} + engines: {node: '>= 18'} + + '@octokit/openapi-types@22.2.0': + resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} + + '@octokit/plugin-paginate-rest@11.3.6': + resolution: {integrity: sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-retry@7.1.2': + resolution: {integrity: sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-throttling@9.3.2': + resolution: {integrity: sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': ^6.0.0 + + '@octokit/request-error@6.1.5': + resolution: {integrity: sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==} + engines: {node: '>= 18'} + + '@octokit/request@9.1.3': + resolution: {integrity: sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==} + engines: {node: '>= 18'} + + '@octokit/types@13.6.2': + resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@semantic-release/changelog@6.0.3': + resolution: {integrity: sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + + '@semantic-release/commit-analyzer@13.0.0': + resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==} + engines: {node: '>=20.8.1'} + peerDependencies: + semantic-release: '>=20.1.0' + + '@semantic-release/error@3.0.0': + resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==} + engines: {node: '>=14.17'} + + '@semantic-release/error@4.0.0': + resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} + engines: {node: '>=18'} + + '@semantic-release/exec@6.0.3': + resolution: {integrity: sha512-bxAq8vLOw76aV89vxxICecEa8jfaWwYITw6X74zzlO0mc/Bgieqx9kBRz9z96pHectiTAtsCwsQcUyLYWnp3VQ==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + + '@semantic-release/git@10.0.1': + resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + + '@semantic-release/github@11.0.1': + resolution: {integrity: sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==} + engines: {node: '>=20.8.1'} + peerDependencies: + semantic-release: '>=24.1.0' + + '@semantic-release/npm@12.0.1': + resolution: {integrity: sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==} + engines: {node: '>=20.8.1'} + peerDependencies: + semantic-release: '>=20.1.0' + + '@semantic-release/release-notes-generator@14.0.2': + resolution: {integrity: sha512-ur2l2tVLBfX3fSEO2rCy2X6Kzg5S7BHGqdwTHvJrpWp4mOEN7W4K/2kWAjvfAlwMenEKjMnDIhBbxxjnP0S9hw==} + engines: {node: '>=20.8.1'} + peerDependencies: + semantic-release: '>=20.1.0' + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} + + '@types/node@20.17.10': + resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + aggregate-error@5.0.0: + resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==} + engines: {node: '>=18'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + argv-formatter@1.0.0: + resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-preset-current-node-syntax@1.1.0: + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + before-after-hook@3.0.2: + resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + + bottleneck@2.19.5: + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.0: + resolution: {integrity: sha512-ZkD35Mx92acjB2yNJgziGqT9oKHEOxjTBTDRpOsRWtdecL/0jM3z5kM/CTzHWvHIen1GvkM85p6TuFfDGfc8/Q==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + clean-stack@5.2.0: + resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} + engines: {node: '>=14.16'} + + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + cmake-js@7.3.0: + resolution: {integrity: sha512-dXs2zq9WxrV87bpJ+WbnGKv8WUBXDw8blNiwNHoRe/it+ptscxhQHKB1SJXa1w+kocLMeP28Tk4/eTCezg4o+w==} + engines: {node: '>= 14.15.0'} + hasBin: true + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + conventional-changelog-angular@8.0.0: + resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} + engines: {node: '>=18'} + + conventional-changelog-conventionalcommits@8.0.0: + resolution: {integrity: sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA==} + engines: {node: '>=18'} + + conventional-changelog-writer@8.0.0: + resolution: {integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==} + engines: {node: '>=18'} + hasBin: true + + conventional-commits-filter@5.0.0: + resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} + engines: {node: '>=18'} + + conventional-commits-parser@6.0.0: + resolution: {integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==} + engines: {node: '>=18'} + hasBin: true + + convert-hrtime@5.0.0: + resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} + engines: {node: '>=12'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + + duplexer2@0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + + electron-to-chromium@1.5.28: + resolution: {integrity: sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + env-ci@11.1.0: + resolution: {integrity: sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==} + engines: {node: ^18.17 || >=20.6.1} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + execa@9.5.2: + resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} + engines: {node: ^18.19.0 || >=20.5.0} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + figures@2.0.0: + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} + + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up-simple@1.0.0: + resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + engines: {node: '>=18'} + + find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-versions@6.0.0: + resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} + engines: {node: '>=18'} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + from2@2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function-timeout@1.0.2: + resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} + engines: {node: '>=18'} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@7.0.1: + resolution: {integrity: sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==} + engines: {node: '>=16'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + git-log-parser@1.2.1: + resolution: {integrity: sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + engines: {node: '>=18'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + hook-std@3.0.0: + resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + + hosted-git-info@8.0.2: + resolution: {integrity: sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==} + engines: {node: ^18.17.0 || >=20.5.0} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + human-signals@8.0.0: + resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + engines: {node: '>=18.18.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-from-esm@1.3.4: + resolution: {integrity: sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==} + engines: {node: '>=16.20'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + + index-to-position@0.1.2: + resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} + engines: {node: '>=18'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + into-stream@7.0.0: + resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} + engines: {node: '>=12'} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + issue-parser@7.0.1: + resolution: {integrity: sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==} + engines: {node: ^18.17 || >=20.6.1} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + jackspeak@4.0.2: + resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} + engines: {node: 20 || >=22} + + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + engines: {node: '>=10'} + hasBin: true + + java-properties@1.0.2: + resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} + engines: {node: '>= 0.6.0'} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + + locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.capitalize@4.2.1: + resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} + + lodash.escaperegexp@4.1.2: + resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniqby@4.7.0: + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + marked-terminal@7.2.1: + resolution: {integrity: sha512-rQ1MoMFXZICWNsKMiiHwP/Z+92PLKskTPXj+e7uwXmuMPkNn7iTqC+IvDekVm1MPeC9wYQeLxeFaOvudRR/XbQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + marked: '>=1 <15' + + marked@12.0.2: + resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + engines: {node: '>= 18'} + hasBin: true + + memory-stream@1.0.0: + resolution: {integrity: sha512-Wm13VcsPIMdG96dzILfij09PvuS3APtcKNh7M28FsCA/w6+1mjR7hhPmfFNoilX9xU7wTdhsH5lJAm6XNzdtww==} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@4.0.6: + resolution: {integrity: sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==} + engines: {node: '>=16'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nerf-dart@1.0.0: + resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + node-addon-api@8.3.0: + resolution: {integrity: sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==} + engines: {node: ^18 || ^20 || >= 21} + + node-api-headers@1.3.0: + resolution: {integrity: sha512-8Bviwtw4jNhv0B2qDjj4M5e6GyAuGtxsmZTrFJu3S3Z0+oHwIgSUdIKkKJmZd+EbMo7g3v4PLBbrjxwmZOqMBg==} + + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@6.0.2: + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + + npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + + npm@10.9.2: + resolution: {integrity: sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/map-workspaces' + - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/redact' + - '@npmcli/run-script' + - '@sigstore/tuf' + - abbrev + - archy + - cacache + - chalk + - ci-info + - cli-columns + - fastest-levenshtein + - fs-minipass + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmhook + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minimatch + - minipass + - minipass-pipeline + - ms + - node-gyp + - nopt + - normalize-package-data + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - p-map + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - semver + - spdx-expression-parse + - ssri + - supports-color + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which + - write-file-atomic + + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + p-each-series@3.0.0: + resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} + engines: {node: '>=12'} + + p-filter@4.1.0: + resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} + engines: {node: '>=18'} + + p-is-promise@3.0.0: + resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} + engines: {node: '>=8'} + + p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-map@7.0.3: + resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + engines: {node: '>=18'} + + p-reduce@2.1.0: + resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} + engines: {node: '>=8'} + + p-reduce@3.0.0: + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} + + p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-json@8.1.0: + resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} + engines: {node: '>=18'} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + + path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-conf@2.1.0: + resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} + engines: {node: '>=4'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + read-package-up@11.0.0: + resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} + engines: {node: '>=18'} + + read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + + read-pkg@9.0.1: + resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} + engines: {node: '>=18'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + registry-auth-token@5.0.3: + resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} + engines: {node: '>=14'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@6.0.1: + resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + engines: {node: 20 || >=22} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + semantic-release@24.2.0: + resolution: {integrity: sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==} + engines: {node: '>=20.8.1'} + hasBin: true + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver-regex@4.0.5: + resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} + engines: {node: '>=12'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + signale@1.4.0: + resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} + engines: {node: '>=6'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + spawn-error-forwarder@1.0.0: + resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + + split2@1.0.0: + resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stream-combiner2@1.1.1: + resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + super-regex@1.0.0: + resolution: {integrity: sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==} + engines: {node: '>=18'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@3.1.0: + resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} + engines: {node: '>=14.18'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + temp-dir@3.0.0: + resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} + engines: {node: '>=14.16'} + + tempy@3.1.0: + resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} + engines: {node: '>=14.16'} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + time-span@5.1.0: + resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} + engines: {node: '>=12'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + traverse@0.6.8: + resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} + engines: {node: '>= 0.4'} + + ts-jest@29.2.5: + resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-fest@4.30.2: + resolution: {integrity: sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==} + engines: {node: '>=16'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + universal-user-agent@7.0.2: + resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + url-join@4.0.1: + resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + + url-join@5.0.0: + resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.6': + dependencies: + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.24.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helpers@7.25.6': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@babel/parser@7.25.6': + dependencies: + '@babel/types': 7.25.6 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@babel/traverse@7.25.6': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.6': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@bcoe/v8-coverage@0.2.3': {} + + '@colors/colors@1.5.0': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.17.10) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.17.10 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 20.17.10 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.25.2 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.17.10 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@octokit/auth-token@5.1.1': {} + + '@octokit/core@6.1.2': + dependencies: + '@octokit/auth-token': 5.1.1 + '@octokit/graphql': 8.1.1 + '@octokit/request': 9.1.3 + '@octokit/request-error': 6.1.5 + '@octokit/types': 13.6.2 + before-after-hook: 3.0.2 + universal-user-agent: 7.0.2 + + '@octokit/endpoint@10.1.1': + dependencies: + '@octokit/types': 13.6.2 + universal-user-agent: 7.0.2 + + '@octokit/graphql@8.1.1': + dependencies: + '@octokit/request': 9.1.3 + '@octokit/types': 13.6.2 + universal-user-agent: 7.0.2 + + '@octokit/openapi-types@22.2.0': {} + + '@octokit/plugin-paginate-rest@11.3.6(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/types': 13.6.2 + + '@octokit/plugin-retry@7.1.2(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/request-error': 6.1.5 + '@octokit/types': 13.6.2 + bottleneck: 2.19.5 + + '@octokit/plugin-throttling@9.3.2(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/types': 13.6.2 + bottleneck: 2.19.5 + + '@octokit/request-error@6.1.5': + dependencies: + '@octokit/types': 13.6.2 + + '@octokit/request@9.1.3': + dependencies: + '@octokit/endpoint': 10.1.1 + '@octokit/request-error': 6.1.5 + '@octokit/types': 13.6.2 + universal-user-agent: 7.0.2 + + '@octokit/types@13.6.2': + dependencies: + '@octokit/openapi-types': 22.2.0 + + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.3.1': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + + '@sec-ant/readable-stream@0.4.1': {} + + '@semantic-release/changelog@6.0.3(semantic-release@24.2.0(typescript@5.7.2))': + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + fs-extra: 11.2.0 + lodash: 4.17.21 + semantic-release: 24.2.0(typescript@5.7.2) + + '@semantic-release/commit-analyzer@13.0.0(semantic-release@24.2.0(typescript@5.7.2))': + dependencies: + conventional-changelog-angular: 8.0.0 + conventional-changelog-writer: 8.0.0 + conventional-commits-filter: 5.0.0 + conventional-commits-parser: 6.0.0 + debug: 4.3.7 + import-from-esm: 1.3.4 + lodash-es: 4.17.21 + micromatch: 4.0.8 + semantic-release: 24.2.0(typescript@5.7.2) + transitivePeerDependencies: + - supports-color + + '@semantic-release/error@3.0.0': {} + + '@semantic-release/error@4.0.0': {} + + '@semantic-release/exec@6.0.3(semantic-release@24.2.0(typescript@5.7.2))': + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + debug: 4.3.7 + execa: 5.1.1 + lodash: 4.17.21 + parse-json: 5.2.0 + semantic-release: 24.2.0(typescript@5.7.2) + transitivePeerDependencies: + - supports-color + + '@semantic-release/git@10.0.1(semantic-release@24.2.0(typescript@5.7.2))': + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + debug: 4.3.7 + dir-glob: 3.0.1 + execa: 5.1.1 + lodash: 4.17.21 + micromatch: 4.0.8 + p-reduce: 2.1.0 + semantic-release: 24.2.0(typescript@5.7.2) + transitivePeerDependencies: + - supports-color + + '@semantic-release/github@11.0.1(semantic-release@24.2.0(typescript@5.7.2))': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2) + '@octokit/plugin-retry': 7.1.2(@octokit/core@6.1.2) + '@octokit/plugin-throttling': 9.3.2(@octokit/core@6.1.2) + '@semantic-release/error': 4.0.0 + aggregate-error: 5.0.0 + debug: 4.3.7 + dir-glob: 3.0.1 + globby: 14.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + issue-parser: 7.0.1 + lodash-es: 4.17.21 + mime: 4.0.6 + p-filter: 4.1.0 + semantic-release: 24.2.0(typescript@5.7.2) + url-join: 5.0.0 + transitivePeerDependencies: + - supports-color + + '@semantic-release/npm@12.0.1(semantic-release@24.2.0(typescript@5.7.2))': + dependencies: + '@semantic-release/error': 4.0.0 + aggregate-error: 5.0.0 + execa: 9.5.2 + fs-extra: 11.2.0 + lodash-es: 4.17.21 + nerf-dart: 1.0.0 + normalize-url: 8.0.1 + npm: 10.9.2 + rc: 1.2.8 + read-pkg: 9.0.1 + registry-auth-token: 5.0.3 + semantic-release: 24.2.0(typescript@5.7.2) + semver: 7.6.3 + tempy: 3.1.0 + + '@semantic-release/release-notes-generator@14.0.2(semantic-release@24.2.0(typescript@5.7.2))': + dependencies: + conventional-changelog-angular: 8.0.0 + conventional-changelog-writer: 8.0.0 + conventional-commits-filter: 5.0.0 + conventional-commits-parser: 6.0.0 + debug: 4.3.7 + get-stream: 7.0.1 + import-from-esm: 1.3.4 + into-stream: 7.0.0 + lodash-es: 4.17.21 + read-package-up: 11.0.0 + semantic-release: 24.2.0(typescript@5.7.2) + transitivePeerDependencies: + - supports-color + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/merge-streams@2.3.0': {} + + '@sindresorhus/merge-streams@4.0.0': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.25.6 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.25.6 + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 20.17.10 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@20.17.10': + dependencies: + undici-types: 6.19.8 + + '@types/normalize-package-data@2.4.4': {} + + '@types/semver@7.5.8': {} + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + agent-base@7.1.3: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + aggregate-error@5.0.0: + dependencies: + clean-stack: 5.2.0 + indent-string: 5.0.0 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + aproba@2.0.0: {} + + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + argv-formatter@1.0.0: {} + + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + + array-ify@1.0.0: {} + + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + + async@3.2.6: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + axios@1.7.7(debug@4.3.7): + dependencies: + follow-redirects: 1.15.9(debug@4.3.7) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + babel-jest@29.7.0(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.25.2) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.24.8 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + + babel-preset-jest@29.6.3(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + + balanced-match@1.0.2: {} + + before-after-hook@3.0.2: {} + + bottleneck@2.19.5: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.24.0: + dependencies: + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.28 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.24.0) + + bs-logger@0.2.6: + dependencies: + fast-json-stable-stringify: 2.1.0 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001663: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.0: {} + + char-regex@1.0.2: {} + + chownr@2.0.0: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.1: {} + + clean-stack@2.2.0: {} + + clean-stack@5.2.0: + dependencies: + escape-string-regexp: 5.0.0 + + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + cmake-js@7.3.0: + dependencies: + axios: 1.7.7(debug@4.3.7) + debug: 4.3.7 + fs-extra: 11.2.0 + lodash.isplainobject: 4.0.6 + memory-stream: 1.0.0 + node-api-headers: 1.3.0 + npmlog: 6.0.2 + rc: 1.2.8 + semver: 7.6.3 + tar: 6.2.1 + url-join: 4.0.1 + which: 2.0.2 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-support@1.1.3: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + compare-func@2.0.0: + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + console-control-strings@1.1.0: {} + + conventional-changelog-angular@8.0.0: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-conventionalcommits@8.0.0: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-writer@8.0.0: + dependencies: + '@types/semver': 7.5.8 + conventional-commits-filter: 5.0.0 + handlebars: 4.7.8 + meow: 13.2.0 + semver: 7.6.3 + + conventional-commits-filter@5.0.0: {} + + conventional-commits-parser@6.0.0: + dependencies: + meow: 13.2.0 + + convert-hrtime@5.0.0: {} + + convert-source-map@2.0.0: {} + + core-util-is@1.0.3: {} + + cosmiconfig@9.0.0(typescript@5.7.2): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.7.2 + + create-jest@29.7.0(@types/node@20.17.10): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.17.10) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + cross-spawn@6.0.5: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + dedent@1.5.3: {} + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delayed-stream@1.0.0: {} + + delegates@1.0.0: {} + + detect-newline@3.1.0: {} + + diff-sequences@29.6.3: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dot-prop@5.3.0: + dependencies: + is-obj: 2.0.0 + + duplexer2@0.1.4: + dependencies: + readable-stream: 2.3.8 + + eastasianwidth@0.2.0: {} + + ejs@3.1.10: + dependencies: + jake: 10.9.2 + + electron-to-chromium@1.5.28: {} + + emittery@0.13.1: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + env-ci@11.1.0: + dependencies: + execa: 8.0.1 + java-properties: 1.0.2 + + env-paths@2.2.1: {} + + environment@1.1.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.2 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@5.0.0: {} + + esprima@4.0.1: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + execa@9.5.2: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.3 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.2.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + figures@2.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + + filelist@1.0.4: + dependencies: + minimatch: 5.1.6 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up-simple@1.0.0: {} + + find-up@2.1.0: + dependencies: + locate-path: 2.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-versions@6.0.0: + dependencies: + semver-regex: 4.0.5 + super-regex: 1.0.0 + + follow-redirects@1.15.9(debug@4.3.7): + optionalDependencies: + debug: 4.3.7 + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + from2@2.3.0: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function-timeout@1.0.2: {} + + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + gauge@4.0.4: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-package-type@0.1.0: {} + + get-stream@6.0.1: {} + + get-stream@7.0.1: {} + + get-stream@8.0.1: {} + + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + git-log-parser@1.2.1: + dependencies: + argv-formatter: 1.0.0 + spawn-error-forwarder: 1.0.0 + split2: 1.0.0 + stream-combiner2: 1.1.1 + through2: 2.0.5 + traverse: 0.6.8 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob@11.0.0: + dependencies: + foreground-child: 3.3.0 + jackspeak: 4.0.2 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + + globby@14.0.2: + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.2 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + has-bigints@1.0.2: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + has-unicode@2.0.1: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + highlight.js@10.7.3: {} + + hook-std@3.0.0: {} + + hosted-git-info@2.8.9: {} + + hosted-git-info@7.0.2: + dependencies: + lru-cache: 10.4.3 + + hosted-git-info@8.0.2: + dependencies: + lru-cache: 10.4.3 + + html-escaper@2.0.2: {} + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.3 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + human-signals@5.0.0: {} + + human-signals@8.0.0: {} + + ignore@5.3.2: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-from-esm@1.3.4: + dependencies: + debug: 4.3.7 + import-meta-resolve: 4.1.0 + transitivePeerDependencies: + - supports-color + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + import-meta-resolve@4.1.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + indent-string@5.0.0: {} + + index-to-position@0.1.2: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + into-stream@7.0.0: + dependencies: + from2: 2.3.0 + p-is-promise: 3.0.0 + + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + is-arrayish@0.2.1: {} + + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-negative-zero@2.0.3: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-obj@2.0.0: {} + + is-plain-obj@4.1.0: {} + + is-regex@1.1.4: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-stream@4.0.1: {} + + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + + is-unicode-supported@2.1.0: {} + + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.7 + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + issue-parser@7.0.1: + dependencies: + lodash.capitalize: 4.2.1 + lodash.escaperegexp: 4.1.2 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.uniqby: 4.7.0 + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.3.7 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jackspeak@4.0.2: + dependencies: + '@isaacs/cliui': 8.0.2 + + jake@10.9.2: + dependencies: + async: 3.2.6 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + + java-properties@1.0.2: {} + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@20.17.10): + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.17.10) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@20.17.10) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@20.17.10): + dependencies: + '@babel/core': 7.25.2 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.25.2) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.17.10 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 20.17.10 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + chalk: 4.1.2 + cjs-module-lexer: 1.4.1 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/types': 7.25.6 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.17.10 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@29.7.0: + dependencies: + '@types/node': 20.17.10 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@20.17.10): + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@20.17.10) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@2.5.2: {} + + json-parse-better-errors@1.0.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + kleur@3.0.3: {} + + leven@3.1.0: {} + + lines-and-columns@1.2.4: {} + + load-json-file@4.0.0: + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + + locate-path@2.0.0: + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lodash-es@4.17.21: {} + + lodash.capitalize@4.2.1: {} + + lodash.escaperegexp@4.1.2: {} + + lodash.isplainobject@4.0.6: {} + + lodash.isstring@4.0.1: {} + + lodash.memoize@4.1.2: {} + + lodash.uniqby@4.7.0: {} + + lodash@4.17.21: {} + + lru-cache@10.4.3: {} + + lru-cache@11.0.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@4.0.0: + dependencies: + semver: 7.6.3 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + marked-terminal@7.2.1(marked@12.0.2): + dependencies: + ansi-escapes: 7.0.0 + ansi-regex: 6.1.0 + chalk: 5.4.0 + cli-highlight: 2.1.11 + cli-table3: 0.6.5 + marked: 12.0.2 + node-emoji: 2.2.0 + supports-hyperlinks: 3.1.0 + + marked@12.0.2: {} + + memory-stream@1.0.0: + dependencies: + readable-stream: 3.6.2 + + memorystream@0.3.1: {} + + meow@13.2.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@4.0.6: {} + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minipass@7.1.2: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@1.0.4: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + natural-compare@1.4.0: {} + + neo-async@2.6.2: {} + + nerf-dart@1.0.0: {} + + nice-try@1.0.5: {} + + node-addon-api@8.3.0: {} + + node-api-headers@1.3.0: {} + + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-int64@0.4.0: {} + + node-releases@2.0.18: {} + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + normalize-package-data@6.0.2: + dependencies: + hosted-git-info: 7.0.2 + semver: 7.6.3 + validate-npm-package-license: 3.0.4 + + normalize-path@3.0.0: {} + + normalize-url@8.0.1: {} + + npm-run-all@4.1.5: + dependencies: + ansi-styles: 3.2.1 + chalk: 2.4.2 + cross-spawn: 6.0.5 + memorystream: 0.3.1 + minimatch: 3.1.2 + pidtree: 0.3.1 + read-pkg: 3.0.0 + shell-quote: 1.8.1 + string.prototype.padend: 3.1.6 + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + + npm@10.9.2: {} + + npmlog@6.0.2: + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + + object-assign@4.1.1: {} + + object-inspect@1.13.2: {} + + object-keys@1.1.1: {} + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + p-each-series@3.0.0: {} + + p-filter@4.1.0: + dependencies: + p-map: 7.0.3 + + p-is-promise@3.0.0: {} + + p-limit@1.3.0: + dependencies: + p-try: 1.0.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@2.0.0: + dependencies: + p-limit: 1.3.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-map@7.0.3: {} + + p-reduce@2.1.0: {} + + p-reduce@3.0.0: {} + + p-try@1.0.0: {} + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@4.0.0: + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-json@8.1.0: + dependencies: + '@babel/code-frame': 7.24.7 + index-to-position: 0.1.2 + type-fest: 4.30.2 + + parse-ms@4.0.0: {} + + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5@5.1.1: {} + + parse5@6.0.1: {} + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@2.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@2.0.0: + dependencies: + lru-cache: 11.0.2 + minipass: 7.1.2 + + path-type@3.0.0: + dependencies: + pify: 3.0.0 + + path-type@4.0.0: {} + + path-type@5.0.0: {} + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pidtree@0.3.1: {} + + pify@3.0.0: {} + + pirates@4.0.6: {} + + pkg-conf@2.1.0: + dependencies: + find-up: 2.1.0 + load-json-file: 4.0.0 + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + possible-typed-array-names@1.0.0: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + + process-nextick-args@2.0.1: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + proto-list@1.2.4: {} + + proxy-from-env@1.1.0: {} + + pure-rand@6.1.0: {} + + queue-microtask@1.2.3: {} + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-is@18.3.1: {} + + read-package-up@11.0.0: + dependencies: + find-up-simple: 1.0.0 + read-pkg: 9.0.1 + type-fest: 4.30.2 + + read-pkg@3.0.0: + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + + read-pkg@9.0.1: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 6.0.2 + parse-json: 8.1.0 + type-fest: 4.30.2 + unicorn-magic: 0.1.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + regexp.prototype.flags@1.5.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + + registry-auth-token@5.0.3: + dependencies: + '@pnpm/npm-conf': 2.3.1 + + require-directory@2.1.1: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve.exports@2.0.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.0.4: {} + + rimraf@6.0.1: + dependencies: + glob: 11.0.0 + package-json-from-dist: 1.0.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + + semantic-release@24.2.0(typescript@5.7.2): + dependencies: + '@semantic-release/commit-analyzer': 13.0.0(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/error': 4.0.0 + '@semantic-release/github': 11.0.1(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/npm': 12.0.1(semantic-release@24.2.0(typescript@5.7.2)) + '@semantic-release/release-notes-generator': 14.0.2(semantic-release@24.2.0(typescript@5.7.2)) + aggregate-error: 5.0.0 + cosmiconfig: 9.0.0(typescript@5.7.2) + debug: 4.3.7 + env-ci: 11.1.0 + execa: 9.5.2 + figures: 6.1.0 + find-versions: 6.0.0 + get-stream: 6.0.1 + git-log-parser: 1.2.1 + hook-std: 3.0.0 + hosted-git-info: 8.0.2 + import-from-esm: 1.3.4 + lodash-es: 4.17.21 + marked: 12.0.2 + marked-terminal: 7.2.1(marked@12.0.2) + micromatch: 4.0.8 + p-each-series: 3.0.0 + p-reduce: 3.0.0 + read-package-up: 11.0.0 + resolve-from: 5.0.0 + semver: 7.6.3 + semver-diff: 4.0.0 + signale: 1.4.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + - typescript + + semver-diff@4.0.0: + dependencies: + semver: 7.6.3 + + semver-regex@4.0.5: {} + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.6.3: {} + + set-blocking@2.0.0: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@1.0.0: {} + + shebang-regex@3.0.0: {} + + shell-quote@1.8.1: {} + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + signale@1.4.0: + dependencies: + chalk: 2.4.2 + figures: 2.0.0 + pkg-conf: 2.1.0 + + sisteransi@1.0.5: {} + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@5.1.0: {} + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + spawn-error-forwarder@1.0.0: {} + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.20 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 + + spdx-license-ids@3.0.20: {} + + split2@1.0.0: + dependencies: + through2: 2.0.5 + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stream-combiner2@1.1.1: + dependencies: + duplexer2: 0.1.4 + readable-stream: 2.3.8 + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.padend@3.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-final-newline@3.0.0: {} + + strip-final-newline@4.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + super-regex@1.0.0: + dependencies: + function-timeout: 1.0.2 + time-span: 5.1.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@3.1.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + temp-dir@3.0.0: {} + + tempy@3.1.0: + dependencies: + is-stream: 3.0.0 + temp-dir: 3.0.0 + type-fest: 2.19.0 + unique-string: 3.0.0 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + through2@2.0.5: + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + + time-span@5.1.0: + dependencies: + convert-hrtime: 5.0.0 + + tmpl@1.0.5: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + traverse@0.6.8: {} + + ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.17.10))(typescript@5.7.2): + dependencies: + bs-logger: 0.2.6 + ejs: 3.1.10 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0(@types/node@20.17.10) + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.6.3 + typescript: 5.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.25.2 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.25.2) + + tslib@2.8.1: {} + + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-fest@4.30.2: {} + + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typescript@5.7.2: {} + + uglify-js@3.19.3: + optional: true + + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + undici-types@6.19.8: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicorn-magic@0.1.0: {} + + unicorn-magic@0.3.0: {} + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + universal-user-agent@7.0.2: {} + + universalify@2.0.1: {} + + update-browserslist-db@1.1.0(browserslist@4.24.0): + dependencies: + browserslist: 4.24.0 + escalade: 3.2.0 + picocolors: 1.1.0 + + url-join@4.0.1: {} + + url-join@5.0.0: {} + + util-deprecate@1.0.2: {} + + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + which-boxed-primitive@1.0.2: + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + + wordwrap@1.0.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + xtend@4.0.2: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yargs-parser@20.2.9: {} + + yargs-parser@21.1.1: {} + + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + + yoctocolors@2.1.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..5f6aaf9 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +packages: + - packages/gsw_cpp + - packages/gsw_node + - packages/gsw_test diff --git a/release.config.cjs b/release.config.cjs new file mode 100644 index 0000000..cd99481 --- /dev/null +++ b/release.config.cjs @@ -0,0 +1,13 @@ +module.exports = { + branches: ['main'], + plugins: [ + ['@semantic-release/commit-analyzer', {preset: 'conventionalcommits'}], + [ + '@semantic-release/release-notes-generator', + {preset: 'conventionalcommits'}, + ], + '@semantic-release/changelog', + '@semantic-release/github', + '@semantic-release/git', + ], +}; diff --git a/scripts/fix_ndts_imports.py b/scripts/fix_ndts_imports.py deleted file mode 100644 index 2d10e67..0000000 --- a/scripts/fix_ndts_imports.py +++ /dev/null @@ -1,22 +0,0 @@ -# This script is used to fix an import error in the generated bindings. -# Do not run this script manually, it is used during the install process. -# This is the outcome of using a forked version of nbind to allow use with -# a newer version of node. - -print("Fixing nbind import in lib-types.d.ts") - -file_name = "./lib-types.d.ts" -file_content = "" - -with open(file_name, "r") as f: - first_row = f.readline() - replaced_import = first_row.replace("nbind", "@mcesystems/nbind") - - file_content += replaced_import - for line in f: - file_content += line - -with open(file_name, "w") as f: - f.write(file_content) - - diff --git a/scripts/get_methods.py b/scripts/get_methods.py deleted file mode 100644 index d538ad9..0000000 --- a/scripts/get_methods.py +++ /dev/null @@ -1,26 +0,0 @@ -# A script to read the methods from the c++ header files. - -import readline - -def input_with_prefill(prompt, text): - def hook(): - readline.insert_text(text) - readline.redisplay() - readline.set_pre_input_hook(hook) - result = input(prompt) - readline.set_pre_input_hook() - return result - -file_input = input_with_prefill("File path:", "/home/zacpullen/Documents/GSW-node/TeosCpp/include/TeosIce.h") - -# Get a list of methods from a header file for use in the bindings -_keyword = "gsw_" - -print(file_input) -with open(file_input) as fp: - for line in fp: - if _keyword in line: - start_index = line.index(_keyword) - remove_before = line[start_index:len(line)] - method = remove_before.split("(")[0] - print(method) diff --git a/test/TeosBase.test.ts b/test/TeosBase.test.ts deleted file mode 100644 index 788842d..0000000 --- a/test/TeosBase.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { TeosBase } from '../lib' - -describe("TeosBase", () => { - const teosBase = new TeosBase() - describe("gsw_z_from_p", () => { - it("matches demo value 1", () => { - const p = 10 - const lat = 4 - const expectedResult = -0.099445834469453 * 1.0e+002 - const result = teosBase.gsw_z_from_p(p, lat, 0, 0) - expect(result).toBeCloseTo(expectedResult) - }) - it("matches demo value 2", () => { - const p = 50 - const lat = 4 - const expectedResult = -0.497180897012550 * 1.0e+002 - const result = teosBase.gsw_z_from_p(p, lat, 0.0, 0.0) - expect(result).toBeCloseTo(expectedResult) - }) - }) - describe("Calculate salinity", () => { - it("matches demo value 1", () => { - const C = 34.5487; - const t = 28.7856; - const p = 10; - const expectedResult = 20.009869599086951; - const result = teosBase.gsw_sp_from_c(C, t, p); - expect(result).toBeCloseTo(expectedResult); - }) - }) -}) diff --git a/test/TeosIce.test.ts b/test/TeosIce.test.ts deleted file mode 100644 index 7c3f1c2..0000000 --- a/test/TeosIce.test.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { TeosIce } from '../lib' - -describe("TeosIce", () => { - const teosIce = new TeosIce() - describe("gsw_cp_ice", () => { - it("matches demo value 1", () => { - const t = -10.7856 - const p = 10 - const expectedResult = 2.017314262094657 * 1.0e+003 - const result = teosIce.gsw_cp_ice(t, p) - expect(result).toBeCloseTo(expectedResult) - }) - it("matches demo value 2", () => { - const t = -13.4329 - const p = 50 - const expectedResult = 1.997830122682709 * 1.0e+003 - const result = teosIce.gsw_cp_ice(t, p) - expect(result).toBeCloseTo(expectedResult) - }) - }) -}) diff --git a/test/TeosSea.test.ts b/test/TeosSea.test.ts deleted file mode 100644 index 596148f..0000000 --- a/test/TeosSea.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { TeosSea } from '../lib' - -describe("TeosSea", () => { - const teosSea = new TeosSea() - describe("gsw_C_from_SP", () => { - it("matches demo value 1", () => { - const SP = 34.5487 - const t = 28.7856 - const p = 10 - const expectedResult = 56.412599581571186 - const result = teosSea.gsw_c_from_sp(SP, t, p) - expect(result).toBeCloseTo(expectedResult) - }) - it("matches demo value 2", () => { - const SP = 34.7275 - const t = 28.4329 - const p = 50 - const expectedResult = 56.316185602699953 - const result = teosSea.gsw_c_from_sp(SP, t, p) - expect(result).toBeCloseTo(expectedResult) - }) - }) -}) diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index af30605..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "strict": true, - "module": "commonjs", - "declaration": true, - "removeComments": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "target": "es2017", - "sourceMap": true, - "outDir": "./dist", - "baseUrl": "./", - "incremental": true, - "types": ["jest", "node"] - }, - "include": [ - "lib-types.d.ts", - "lib.ts", - ] -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 298e66c..0000000 --- a/yarn.lock +++ /dev/null @@ -1,5376 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.15.8": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503" - integrity sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg== - dependencies: - "@babel/highlight" "^7.14.5" - -"@babel/compat-data@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" - integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== - -"@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.8.tgz#195b9f2bffe995d2c6c159e72fe525b4114e8c10" - integrity sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og== - dependencies: - "@babel/code-frame" "^7.15.8" - "@babel/generator" "^7.15.8" - "@babel/helper-compilation-targets" "^7.15.4" - "@babel/helper-module-transforms" "^7.15.8" - "@babel/helpers" "^7.15.4" - "@babel/parser" "^7.15.8" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.6" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.15.4", "@babel/generator@^7.15.8", "@babel/generator@^7.7.2": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.8.tgz#fa56be6b596952ceb231048cf84ee499a19c0cd1" - integrity sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g== - dependencies: - "@babel/types" "^7.15.6" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-compilation-targets@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" - integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== - dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" - semver "^6.3.0" - -"@babel/helper-function-name@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" - integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== - dependencies: - "@babel/helper-get-function-arity" "^7.15.4" - "@babel/template" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-get-function-arity@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" - integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-hoist-variables@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" - integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-member-expression-to-functions@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" - integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-module-imports@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" - integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-module-transforms@^7.15.8": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz#d8c0e75a87a52e374a8f25f855174786a09498b2" - integrity sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg== - dependencies: - "@babel/helper-module-imports" "^7.15.4" - "@babel/helper-replace-supers" "^7.15.4" - "@babel/helper-simple-access" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.6" - -"@babel/helper-optimise-call-expression@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" - integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-replace-supers@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" - integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.15.4" - "@babel/helper-optimise-call-expression" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-simple-access@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" - integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-split-export-declaration@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" - integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helpers@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" - integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== - dependencies: - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.15.4", "@babel/parser@^7.15.8", "@babel/parser@^7.7.2": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.8.tgz#7bacdcbe71bdc3ff936d510c15dcea7cf0b99016" - integrity sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" - integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/template@^7.15.4", "@babel/template@^7.3.3": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" - integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.7.2": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" - integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.4" - "@babel/helper-function-name" "^7.15.4" - "@babel/helper-hoist-variables" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - "@babel/parser" "^7.15.4" - "@babel/types" "^7.15.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.15.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" - integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== - dependencies: - "@babel/helper-validator-identifier" "^7.14.9" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.2.5.tgz#bddbf8d41c191f17b52bf0c9e6c0d18605e35d6e" - integrity sha512-smtlRF9vNKorRMCUtJ+yllIoiY8oFmfFG7xlzsAE76nKEwXNhjPOJIsc7Dv+AUitVt76t+KjIpUP9m98Crn2LQ== - dependencies: - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.2.5" - jest-util "^27.2.5" - slash "^3.0.0" - -"@jest/core@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.2.5.tgz#854c314708cee0d892ac4f531b9129f00a21ee69" - integrity sha512-VR7mQ+jykHN4WO3OvusRJMk4xCa2MFLipMS+43fpcRGaYrN1KwMATfVEXif7ccgFKYGy5D1TVXTNE4mGq/KMMA== - dependencies: - "@jest/console" "^27.2.5" - "@jest/reporters" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^27.2.5" - jest-config "^27.2.5" - jest-haste-map "^27.2.5" - jest-message-util "^27.2.5" - jest-regex-util "^27.0.6" - jest-resolve "^27.2.5" - jest-resolve-dependencies "^27.2.5" - jest-runner "^27.2.5" - jest-runtime "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" - jest-watcher "^27.2.5" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.2.5.tgz#b85517ccfcec55690c82c56f5a01a3b30c5e3c84" - integrity sha512-XvUW3q6OUF+54SYFCgbbfCd/BKTwm5b2MGLoc2jINXQLKQDTCS2P2IrpPOtQ08WWZDGzbhAzVhOYta3J2arubg== - dependencies: - "@jest/fake-timers" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - jest-mock "^27.2.5" - -"@jest/fake-timers@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.2.5.tgz#0c7e5762d7bfe6e269e7b49279b097a52a42f0a0" - integrity sha512-ZGUb6jg7BgwY+nmO0TW10bc7z7Hl2G/UTAvmxEyZ/GgNFoa31tY9/cgXmqcxnnZ7o5Xs7RAOz3G1SKIj8IVDlg== - dependencies: - "@jest/types" "^27.2.5" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.2.5" - jest-mock "^27.2.5" - jest-util "^27.2.5" - -"@jest/globals@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.2.5.tgz#4115538f98ed6cee4051a90fdbd0854062902099" - integrity sha512-naRI537GM+enFVJQs6DcwGYPn/0vgJNb06zGVbzXfDfe/epDPV73hP1vqO37PqSKDeOXM2KInr6ymYbL1HTP7g== - dependencies: - "@jest/environment" "^27.2.5" - "@jest/types" "^27.2.5" - expect "^27.2.5" - -"@jest/reporters@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.2.5.tgz#65198ed1f3f4449e3f656129764dc6c5bb27ebe3" - integrity sha512-zYuR9fap3Q3mxQ454VWF8I6jYHErh368NwcKHWO2uy2fwByqBzRHkf9j2ekMDM7PaSTWcLBSZyd7NNxR1iHxzQ== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^27.2.5" - jest-resolve "^27.2.5" - jest-util "^27.2.5" - jest-worker "^27.2.5" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - -"@jest/source-map@^27.0.6": - version "27.0.6" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f" - integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.2.5.tgz#e9f73cf6cd5e2cc6eb3105339248dea211f9320e" - integrity sha512-ub7j3BrddxZ0BdSnM5JCF6cRZJ/7j3wgdX0+Dtwhw2Po+HKsELCiXUTvh+mgS4/89mpnU1CPhZxe2mTvuLPJJg== - dependencies: - "@jest/console" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.2.5.tgz#ed5ae91c00e623fb719111d58e380395e16cefbb" - integrity sha512-8j8fHZRfnjbbdMitMAGFKaBZ6YqvFRFJlMJzcy3v75edTOqc7RY65S9JpMY6wT260zAcL2sTQRga/P4PglCu3Q== - dependencies: - "@jest/test-result" "^27.2.5" - graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" - jest-runtime "^27.2.5" - -"@jest/transform@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.2.5.tgz#02b08862a56dbedddf0ba3c2eae41e049a250e29" - integrity sha512-29lRtAHHYGALbZOx343v0zKmdOg4Sb0rsA1uSv0818bvwRhs3TyElOmTVXlrw0v1ZTqXJCAH/cmoDXimBhQOJQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.2.5" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" - jest-regex-util "^27.0.6" - jest-util "^27.2.5" - micromatch "^4.0.4" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" - integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@mcesystems/nbind@^0.3.18": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@mcesystems/nbind/-/nbind-0.3.18.tgz#22aaa80268f08112147d6371284e401390a3162a" - integrity sha512-gZFv881rT/nTNNl92K97DqbFVECiniEHg4ABle7WFKklQSCge7ILY58otnKvCgoqrrS/9Mv//mTf+2k3MPSGXA== - dependencies: - emscripten-library-decorator "~0.2.2" - mkdirp "~0.5.1" - nan "^2.9.2" - -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.0.1.tgz#1c1c9a91419f804e59ae8df316a07dd1c3a76b94" - integrity sha512-AU7kwFxreVd6OAXcAFlKSmZquiRUU0FvYm44k1Y1QbK7Co4m0aqfGMhjykIeQp/H6rcl+nFmj0zfdUcGVs9Dew== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.16" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" - integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/glob@^7.1.1": - version "7.1.4" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" - integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^27.0.2": - version "27.0.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" - integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== - dependencies: - jest-diff "^27.0.0" - pretty-format "^27.0.0" - -"@types/minimatch@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - -"@types/node@*": - version "16.10.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.4.tgz#592f12b0b5f357533ddc3310b0176d42ea3e45d1" - integrity sha512-EITwVTX5B4nDjXjGeQAfXOrm+Jn+qNjDmyDRtWoD+wZsl/RDPRTFRKivs4Mt74iOFlLOrE5+Kf+p5yjyhm3+cA== - -"@types/node@^16.10.9": - version "16.10.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.9.tgz#8f1cdd517972f76a3b928298f4c0747cd6fef25a" - integrity sha512-H9ReOt+yqIJPCutkTYjFjlyK6WEMQYT9hLZMlWtOjFQY2ItppsWZ6RJf8Aw+jz5qTYceuHvFgPIaKOHtLAEWBw== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/prettier@^2.1.5": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.1.tgz#e1303048d5389563e130f5bdd89d37a99acb75eb" - integrity sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -JSONStream@^1.0.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4: - version "8.5.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" - integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi@^0.3.0, ansi@~0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" - integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -are-we-there-yet@~1.0.0: - version "1.0.6" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz#a2d28c93102aa6cc96245a26cb954de06ec53f0c" - integrity sha1-otKMkxAqpsyWJFomy5VN4G7FPww= - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= - -array-union@^1.0.1, array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async@^2.6.1: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autogypi@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/autogypi/-/autogypi-0.2.2.tgz#258bab5f7857755b09beac6a641fea130ff4622d" - integrity sha1-JYurX3hXdVsJvqxqZB/qEw/0Yi0= - dependencies: - bluebird "^3.4.0" - commander "~2.9.0" - resolve "~1.1.7" - -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -babel-jest@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.2.5.tgz#6bbbc1bb4200fe0bfd1b1fbcbe02fc62ebed16aa" - integrity sha512-GC9pWCcitBhSuF7H3zl0mftoKizlswaF0E3qi+rPL417wKkCB0d+Sjjb0OfXvxj7gWiBf497ldgRMii68Xz+2g== - dependencies: - "@jest/transform" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^27.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^27.2.0: - version "27.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz#79f37d43f7e5c4fdc4b2ca3e10cc6cf545626277" - integrity sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^27.2.0: - version "27.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz#556bbbf340608fed5670ab0ea0c8ef2449fba885" - integrity sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg== - dependencies: - babel-plugin-jest-hoist "^27.2.0" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -big-integer@^1.6.17: - version "1.6.50" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.50.tgz#299a4be8bd441c73dcc492ed46b7169c34e92e70" - integrity sha512-+O2uoQWFRo8ysZNo/rjtri2jIwjr3XfeAgRjAUADRqGG+ZITvyn8J1kvXLTaKVr3hhGXk+f23tKfdzmklVM9vQ== - -binary@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" - integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= - dependencies: - buffers "~0.1.1" - chainsaw "~0.1.0" - -bluebird@^3.4.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bluebird@~3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.16.6: - version "4.17.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" - integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== - dependencies: - caniuse-lite "^1.0.30001264" - electron-to-chromium "^1.3.857" - escalade "^3.1.1" - node-releases "^1.1.77" - picocolors "^0.2.1" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-indexof-polyfill@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" - integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== - -buffer-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E= - -buffers@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" - integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30001264: - version "1.0.30001265" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" - integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw== - -chainsaw@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" - integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= - dependencies: - traverse ">=0.3.0 <0.4" - -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -ci-info@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cliui@^3.0.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cmake-js@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/cmake-js/-/cmake-js-6.2.1.tgz#3791b4a25c009be6368480afbbc657762f9deca1" - integrity sha512-wEpg0Z8SY6ihXTe+xosadh4PbASdWSM/locbLacWRYJCZfAjWLyOrd4RoVIeirLkfPxmG8GdNQA9tW/Rz5SfJA== - dependencies: - axios "^0.21.1" - debug "^4" - fs-extra "^5.0.0" - is-iojs "^1.0.1" - lodash "^4" - memory-stream "0" - npmlog "^1.2.0" - rc "^1.2.7" - semver "^5.0.3" - splitargs "0" - tar "^4" - unzipper "^0.8.13" - url-join "0" - which "^1.0.9" - yargs "^3.6.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.18.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@~2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= - dependencies: - graceful-readlink ">= 1.0.0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -conventional-changelog-angular@^5.0.12: - version "5.0.13" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" - integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-atom@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" - integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== - dependencies: - q "^1.5.1" - -conventional-changelog-codemirror@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" - integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== - dependencies: - q "^1.5.1" - -conventional-changelog-config-spec@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d" - integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== - -conventional-changelog-conventionalcommits@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz#a02e0b06d11d342fdc0f00c91d78265ed0bc0a62" - integrity sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-conventionalcommits@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz#f4c0921937050674e578dc7875f908351ccf4014" - integrity sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-core@^4.2.1: - version "4.2.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" - integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^5.0.0" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^4.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^4.0.0" - -conventional-changelog-ember@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" - integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" - integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== - dependencies: - q "^1.5.1" - -conventional-changelog-express@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" - integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^3.0.11: - version "3.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" - integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== - dependencies: - q "^1.5.1" - -conventional-changelog-jshint@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" - integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" - integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== - -conventional-changelog-writer@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz#c4042f3f1542f2f41d7d2e0d6cad23aba8df8eec" - integrity sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g== - dependencies: - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.6" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-changelog@3.1.24: - version "3.1.24" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.24.tgz#ebd180b0fd1b2e1f0095c4b04fd088698348a464" - integrity sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg== - dependencies: - conventional-changelog-angular "^5.0.12" - conventional-changelog-atom "^2.0.8" - conventional-changelog-codemirror "^2.0.8" - conventional-changelog-conventionalcommits "^4.5.0" - conventional-changelog-core "^4.2.1" - conventional-changelog-ember "^2.0.9" - conventional-changelog-eslint "^3.0.9" - conventional-changelog-express "^2.0.6" - conventional-changelog-jquery "^3.0.11" - conventional-changelog-jshint "^2.0.9" - conventional-changelog-preset-loader "^2.3.4" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" - integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-parser@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz#190fb9900c6e02be0c0bca9b03d57e24982639fd" - integrity sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g== - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -conventional-recommended-bump@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" - integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.7" - conventional-commits-parser "^3.2.0" - git-raw-commits "^2.0.8" - git-semver-tags "^4.1.1" - meow "^8.0.0" - q "^1.5.1" - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copyfiles@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.4.1.tgz#d2dcff60aaad1015f09d0b66e7f0f1c5cd3c5da5" - integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== - dependencies: - glob "^7.0.5" - minimatch "^3.0.3" - mkdirp "^1.0.4" - noms "0.0.0" - through2 "^2.0.1" - untildify "^4.0.0" - yargs "^16.1.0" - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cp-file@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-7.0.0.tgz#b9454cfd07fe3b974ab9ea0e5f29655791a9b8cd" - integrity sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw== - dependencies: - graceful-fs "^4.1.2" - make-dir "^3.0.0" - nested-error-stacks "^2.0.0" - p-event "^4.1.0" - -cpy-cli@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/cpy-cli/-/cpy-cli-3.1.1.tgz#2adb06544102c948ce098e522d5b8ddcf4f7c0b4" - integrity sha512-HCpNdBkQy3rw+uARLuIf0YurqsMXYzBa9ihhSAuxYJcNIrqrSq3BstPfr0cQN38AdMrQiO9Dp4hYy7GtGJsLPg== - dependencies: - cpy "^8.0.0" - meow "^6.1.1" - -cpy@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/cpy/-/cpy-8.1.2.tgz#e339ea54797ad23f8e3919a5cffd37bfc3f25935" - integrity sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg== - dependencies: - arrify "^2.0.1" - cp-file "^7.0.0" - globby "^9.2.0" - has-glob "^1.0.0" - junk "^3.1.0" - nested-error-stacks "^2.1.0" - p-all "^2.1.0" - p-filter "^2.1.0" - p-map "^3.0.0" - -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debug@4, debug@^4, debug@^4.1.0, debug@^4.1.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -detect-newline@^3.0.0, detect-newline@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" - integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== - -dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -dot-prop@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotgitignore@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" - integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== - dependencies: - find-up "^3.0.0" - minimatch "^3.0.4" - -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= - dependencies: - readable-stream "^2.0.2" - -electron-to-chromium@^1.3.857: - version "1.3.867" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz#7cb484db4b57c28da0b65c51e434c3a1f3f9aa0d" - integrity sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw== - -email-addresses@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.1.0.tgz#cabf7e085cbdb63008a70319a74e6136188812fb" - integrity sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg== - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emscripten-library-decorator@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/emscripten-library-decorator/-/emscripten-library-decorator-0.2.2.tgz#d035f023e2a84c68305cc842cdeea38e67683c40" - integrity sha1-0DXwI+KoTGgwXMhCze6jjmdoPEA= - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.2.5.tgz#16154aaa60b4d9a5b0adacfea3e4d6178f4b93fd" - integrity sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA== - dependencies: - "@jest/types" "^27.2.5" - ansi-styles "^5.0.0" - jest-get-type "^27.0.6" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-regex-util "^27.0.6" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -figures@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= - -filenamify@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.3.0.tgz#62391cb58f02b09971c9d4f9d63b3cf9aba03106" - integrity sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.1" - trim-repeated "^1.0.0" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -follow-redirects@^1.14.0: - version "1.14.4" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" - integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs-access@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - integrity sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o= - dependencies: - null-check "^1.0.0" - -fs-extra@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" - integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -fstream@~1.0.10: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gauge@~1.2.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" - integrity sha1-6c7FSD09TuDvRLYKfZnkk14TbZM= - dependencies: - ansi "^0.3.0" - has-unicode "^2.0.0" - lodash.pad "^4.1.0" - lodash.padend "^4.1.0" - lodash.padstart "^4.1.0" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-pkg-repo@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" - integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - through2 "^2.0.0" - yargs "^16.2.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -gh-pages@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-3.2.3.tgz#897e5f15e111f42af57d21d430b83e5cdf29472c" - integrity sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg== - dependencies: - async "^2.6.1" - commander "^2.18.0" - email-addresses "^3.0.1" - filenamify "^4.3.0" - find-cache-dir "^3.3.1" - fs-extra "^8.1.0" - globby "^6.1.0" - -git-raw-commits@^2.0.8: - version "2.0.10" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" - integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" - integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= - dependencies: - ini "^1.3.2" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= - -handlebars@^4.7.6: - version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-1.0.0.tgz#9aaa9eedbffb1ba3990a7b0010fb678ee0081207" - integrity sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc= - dependencies: - is-glob "^3.0.0" - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -highlight.js@^10.2.0: - version "10.7.3" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore@^4.0.3: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -import-local@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" - integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.2, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" - integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== - dependencies: - ci-info "^3.1.1" - -is-core-module@^2.2.0, is-core-module@^2.5.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3" - integrity sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^3.0.0, is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-iojs@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-iojs/-/is-iojs-1.1.0.tgz#4c11033b5d5d94d6eab3775dedc9be7d008325f1" - integrity sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE= - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= - dependencies: - text-extensions "^1.0.0" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-weakref@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" - integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== - dependencies: - call-bind "^1.0.0" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -istanbul-lib-coverage@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz#36786d4d82aad2ea5911007e255e2da6b5f80d86" - integrity sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.4.tgz#5c38ce8136edf484c0fcfbf7514aafb0363ed1db" - integrity sha512-bFjUnc95rHjdCR63WMHUS7yfJJh8T9IPSWavvR02hhjVwezWALZ5axF9EqjmwZHpXqkzbgAMP8DmAtiyNxrdrQ== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.2.5.tgz#9dfd550d158260bcb6fa80aff491f5647f7daeca" - integrity sha512-jfnNJzF89csUKRPKJ4MwZ1SH27wTmX2xiAIHUHrsb/OYd9Jbo4/SXxJ17/nnx6RIifpthk3Y+LEeOk+/dDeGdw== - dependencies: - "@jest/types" "^27.2.5" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.2.5.tgz#573256a6fb6e447ac2fc7e0ade9375013309037f" - integrity sha512-eyL9IcrAxm3Saq3rmajFCwpaxaRMGJ1KJs+7hlTDinXpJmeR3P02bheM3CYohE7UfwOBmrFMJHjgo/WPcLTM+Q== - dependencies: - "@jest/environment" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.2.5" - is-generator-fn "^2.0.0" - jest-each "^27.2.5" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-runtime "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - pretty-format "^27.2.5" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.2.5.tgz#88718c8f05f1c0f209152952ecd61afe4c3311bb" - integrity sha512-XzfcOXi5WQrXqFYsDxq5RDOKY4FNIgBgvgf3ZBz4e/j5/aWep5KnsAYH5OFPMdX/TP/LFsYQMRH7kzJUMh6JKg== - dependencies: - "@jest/core" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/types" "^27.2.5" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - jest-config "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.2.5.tgz#c2e4ec6ea2bf4ffd2cae3d927999fe6159cba207" - integrity sha512-QdENtn9b5rIIYGlbDNEcgY9LDL5kcokJnXrp7x8AGjHob/XFqw1Z6p+gjfna2sUulQsQ3ce2Fvntnv+7fKYDhQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^27.2.5" - "@jest/types" "^27.2.5" - babel-jest "^27.2.5" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - is-ci "^3.0.0" - jest-circus "^27.2.5" - jest-environment-jsdom "^27.2.5" - jest-environment-node "^27.2.5" - jest-get-type "^27.0.6" - jest-jasmine2 "^27.2.5" - jest-regex-util "^27.0.6" - jest-resolve "^27.2.5" - jest-runner "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" - micromatch "^4.0.4" - pretty-format "^27.2.5" - -jest-diff@^27.0.0, jest-diff@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.2.5.tgz#908f7a6aca5653824516ad30e0a9fd9767e53623" - integrity sha512-7gfwwyYkeslOOVQY4tVq5TaQa92mWfC9COsVYMNVYyJTOYAqbIkoD3twi5A+h+tAPtAelRxkqY6/xu+jwTr0dA== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.0.6" - jest-get-type "^27.0.6" - pretty-format "^27.2.5" - -jest-docblock@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3" - integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.2.5.tgz#378118d516db730b92096a9607b8711165946353" - integrity sha512-HUPWIbJT0bXarRwKu/m7lYzqxR4GM5EhKOsu0z3t0SKtbFN6skQhpAUADM4qFShBXb9zoOuag5lcrR1x/WM+Ag== - dependencies: - "@jest/types" "^27.2.5" - chalk "^4.0.0" - jest-get-type "^27.0.6" - jest-util "^27.2.5" - pretty-format "^27.2.5" - -jest-environment-jsdom@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.2.5.tgz#21de3ad0e89441d961b592ba7561b16241279208" - integrity sha512-QtRpOh/RQKuXniaWcoFE2ElwP6tQcyxHu0hlk32880g0KczdonCs5P1sk5+weu/OVzh5V4Bt1rXuQthI01mBLg== - dependencies: - "@jest/environment" "^27.2.5" - "@jest/fake-timers" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - jest-mock "^27.2.5" - jest-util "^27.2.5" - jsdom "^16.6.0" - -jest-environment-node@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.2.5.tgz#ffa1afb3604c640ec841f044d526c65912e02cef" - integrity sha512-0o1LT4grm7iwrS8fIoLtwJxb/hoa3GsH7pP10P02Jpj7Mi4BXy65u46m89vEM2WfD1uFJQ2+dfDiWZNA2e6bJg== - dependencies: - "@jest/environment" "^27.2.5" - "@jest/fake-timers" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - jest-mock "^27.2.5" - jest-util "^27.2.5" - -jest-get-type@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" - integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== - -jest-haste-map@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.2.5.tgz#0247b7299250643472bbcf5b4ad85c72d5178e2e" - integrity sha512-pzO+Gw2WLponaSi0ilpzYBE0kuVJstoXBX8YWyUebR8VaXuX4tzzn0Zp23c/WaETo7XYTGv2e8KdnpiskAFMhQ== - dependencies: - "@jest/types" "^27.2.5" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.0.6" - jest-serializer "^27.0.6" - jest-util "^27.2.5" - jest-worker "^27.2.5" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.2.5.tgz#baaf96c69913c52bce0100000cf0721027c0fd66" - integrity sha512-hdxY9Cm/CjLqu2tXeAoQHPgA4vcqlweVXYOg1+S9FeFdznB9Rti+eEBKDDkmOy9iqr4Xfbq95OkC4NFbXXPCAQ== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^27.2.5" - "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.2.5" - is-generator-fn "^2.0.0" - jest-each "^27.2.5" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-runtime "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - pretty-format "^27.2.5" - throat "^6.0.1" - -jest-leak-detector@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.2.5.tgz#e2edc3b37d38e8d9a527e10e456b403c3151b206" - integrity sha512-HYsi3GUR72bYhOGB5C5saF9sPdxGzSjX7soSQS+BqDRysc7sPeBwPbhbuT8DnOpijnKjgwWQ8JqvbmReYnt3aQ== - dependencies: - jest-get-type "^27.0.6" - pretty-format "^27.2.5" - -jest-matcher-utils@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz#4684faaa8eb32bf15e6edaead6834031897e2980" - integrity sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg== - dependencies: - chalk "^4.0.0" - jest-diff "^27.2.5" - jest-get-type "^27.0.6" - pretty-format "^27.2.5" - -jest-message-util@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.2.5.tgz#ed8b7b0965247bb875a49c1f9b9ab2d1d0820028" - integrity sha512-ggXSLoPfIYcbmZ8glgEJZ8b+e0Msw/iddRmgkoO7lDAr9SmI65IIfv7VnvTnV4FGnIIUIjzM+fHRHO5RBvyAbQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.2.5" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.2.5" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.2.5.tgz#0ec38d5ff1e49c4802e7a4a8179e8d7a2fd84de0" - integrity sha512-HiMB3LqE9RzmeMzZARi2Bz3NoymxyP0gCid4y42ca1djffNtYFKgI220aC1VP1mUZ8rbpqZbHZOJ15093bZV/Q== - dependencies: - "@jest/types" "^27.2.5" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" - integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== - -jest-resolve-dependencies@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.5.tgz#fcd8eca005b3d11ba32da443045c028164b83be1" - integrity sha512-BSjefped31bcvvCh++/pN9ueqqN1n0+p8/58yScuWfklLm2tbPbS9d251vJhAy0ZI2pL/0IaGhOTJrs9Y4FJlg== - dependencies: - "@jest/types" "^27.2.5" - jest-regex-util "^27.0.6" - jest-snapshot "^27.2.5" - -jest-resolve@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.2.5.tgz#04dadbfc1312a2541f5c199c5011945e9cfe5cef" - integrity sha512-q5irwS3oS73SKy3+FM/HL2T7WJftrk9BRzrXF92f7net5HMlS7lJMg/ZwxLB4YohKqjSsdksEw7n/jvMxV7EKg== - dependencies: - "@jest/types" "^27.2.5" - chalk "^4.0.0" - escalade "^3.1.1" - graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" - jest-pnp-resolver "^1.2.2" - jest-util "^27.2.5" - jest-validate "^27.2.5" - resolve "^1.20.0" - slash "^3.0.0" - -jest-runner@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.2.5.tgz#3d9d0626f351480bb2cffcfbbfac240c0097ebd4" - integrity sha512-n41vw9RLg5TKAnEeJK9d6pGOsBOpwE89XBniK+AD1k26oIIy3V7ogM1scbDjSheji8MUPC9pNgCrZ/FHLVDNgg== - dependencies: - "@jest/console" "^27.2.5" - "@jest/environment" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-docblock "^27.0.6" - jest-environment-jsdom "^27.2.5" - jest-environment-node "^27.2.5" - jest-haste-map "^27.2.5" - jest-leak-detector "^27.2.5" - jest-message-util "^27.2.5" - jest-resolve "^27.2.5" - jest-runtime "^27.2.5" - jest-util "^27.2.5" - jest-worker "^27.2.5" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.2.5.tgz#d144c3f6889b927aae1e695b63a41a3323b7016b" - integrity sha512-N0WRZ3QszKyZ3Dm27HTBbBuestsSd3Ud5ooVho47XZJ8aSKO/X1Ag8M1dNx9XzfGVRNdB/xCA3lz8MJwIzPLLA== - dependencies: - "@jest/console" "^27.2.5" - "@jest/environment" "^27.2.5" - "@jest/fake-timers" "^27.2.5" - "@jest/globals" "^27.2.5" - "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" - jest-message-util "^27.2.5" - jest-mock "^27.2.5" - jest-regex-util "^27.0.6" - jest-resolve "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^16.2.0" - -jest-serializer@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" - integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.2.5.tgz#8a612fe31e2967f58ad364542198dff61f92ef32" - integrity sha512-2/Jkn+VN6Abwz0llBltZaiJMnL8b1j5Bp/gRIxe9YR3FCEh9qp0TXVV0dcpTGZ8AcJV1SZGQkczewkI9LP5yGw== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/parser" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.2.5" - graceful-fs "^4.2.4" - jest-diff "^27.2.5" - jest-get-type "^27.0.6" - jest-haste-map "^27.2.5" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-resolve "^27.2.5" - jest-util "^27.2.5" - natural-compare "^1.4.0" - pretty-format "^27.2.5" - semver "^7.3.2" - -jest-util@^27.0.0, jest-util@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.2.5.tgz#88740c4024d223634a82ce7c2263e8bc6df3b3ba" - integrity sha512-QRhDC6XxISntMzFRd/OQ6TGsjbzA5ONO0tlAj2ElHs155x1aEr0rkYJBEysG6H/gZVH3oGFzCdAB/GA8leh8NQ== - dependencies: - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^3.0.0" - picomatch "^2.2.3" - -jest-validate@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.2.5.tgz#2d59bf1627d180f395ba58f24599b0ee0efcfbdf" - integrity sha512-XgYtjS89nhVe+UfkbLgcm+GgXKWgL80t9nTcNeejyO3t0Sj/yHE8BtIJqjZu9NXQksYbGImoQRXmQ1gP+Guffw== - dependencies: - "@jest/types" "^27.2.5" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.0.6" - leven "^3.1.0" - pretty-format "^27.2.5" - -jest-watcher@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.2.5.tgz#41cd3e64dc5bea8a4327083d71ba7667be400567" - integrity sha512-umV4qGozg2Dn6DTTtqAh9puPw+DGLK9AQas7+mWjiK8t0fWMpxKg8ZXReZw7L4C88DqorsGUiDgwHNZ+jkVrkQ== - dependencies: - "@jest/test-result" "^27.2.5" - "@jest/types" "^27.2.5" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.2.5" - string-length "^4.0.1" - -jest-worker@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.2.5.tgz#ed42865661959488aa020e8a325df010597c36d4" - integrity sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.2.5.tgz#7d8a5c8781a160f693beeb7c68e46c16ef948148" - integrity sha512-vDMzXcpQN4Ycaqu+vO7LX8pZwNNoKMhc+gSp6q1D8S6ftRk8gNW8cni3YFxknP95jxzQo23Lul0BI2FrWgnwYQ== - dependencies: - "@jest/core" "^27.2.5" - import-local "^3.0.2" - jest-cli "^27.2.5" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -junk@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" - integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -listenercount@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" - integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= - -lodash.pad@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" - integrity sha1-QzCUmoM6fI2iLMIPaibE1Z3runA= - -lodash.padend@^4.1.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" - integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= - -lodash.padstart@^4.1.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" - integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs= - -lodash@4.x, lodash@^4, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lunr@^2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -marked@^1.1.1: - version "1.2.9" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" - integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== - -memory-stream@0: - version "0.0.3" - resolved "https://registry.yarnpkg.com/memory-stream/-/memory-stream-0.0.3.tgz#ebe8dd1c3b8bc38c0e7941e9ddd5aebe6b4de83f" - integrity sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8= - dependencies: - readable-stream "~1.0.26-2" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= - -meow@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" - integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "^4.0.2" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.50.0: - version "1.50.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" - integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== - -mime-types@^2.1.12: - version "2.1.33" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" - integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== - dependencies: - mime-db "1.50.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimatch@^3.0.0, minimatch@^3.0.3, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0, minimist-options@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -"mkdirp@>=0.5 0", mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nan@^2.9.2: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -neo-async@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nested-error-stacks@^2.0.0, nested-error-stacks@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" - integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-releases@^1.1.77: - version "1.1.77" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" - integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== - -noms@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" - integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk= - dependencies: - inherits "^2.0.1" - readable-stream "~1.0.31" - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-all@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-1.2.1.tgz#28e7be619609b53f7ad1dd300a10d64d716268b6" - integrity sha1-KOe+YZYJtT960d0wChDWTXFiaLY= - dependencies: - ansi "~0.3.0" - are-we-there-yet "~1.0.0" - gauge "~1.2.0" - -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - -p-all@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-all/-/p-all-2.1.0.tgz#91419be56b7dee8fe4c5db875d55e0da084244a0" - integrity sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA== - dependencies: - p-map "^2.0.0" - -p-event@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - -p-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" - integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== - dependencies: - p-map "^2.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picomatch@^2.0.4, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -pretty-format@^27.0.0, pretty-format@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.2.5.tgz#7cfe2a8e8f01a5b5b29296a0b70f4140df0830c5" - integrity sha512-+nYn2z9GgicO9JiqmY25Xtq8SYfZ/5VCpEU3pppHHNAhd1y+ZXxmNPd1evmNcAd6Hz4iBV2kf0UpGth5A/VJ7g== - dependencies: - "@jest/types" "^27.2.5" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -q@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@~1.0.26-2, readable-stream@~1.0.31: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@~2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA= - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@~1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@~1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shelljs@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.5" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" - integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - version "0.5.20" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" - integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -splitargs@0: - version "0.0.7" - resolved "https://registry.yarnpkg.com/splitargs/-/splitargs-0.0.7.tgz#fe9f7ae657371b33b10cb80da143cf8249cf6b3b" - integrity sha1-/p965lc3GzOxDLgNoUPPgknPazs= - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -standard-version@^9.0.0: - version "9.3.1" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.3.1.tgz#786c16c318847f58a31a2434f97e8db33a635853" - integrity sha512-5qMxXw/FxLouC5nANyx/5RY1kiorJx9BppUso8gN07MG64q2uLRmrPb4KfXp3Ql4s/gxjZwZ89e0FwxeLubGww== - dependencies: - chalk "^2.4.2" - conventional-changelog "3.1.24" - conventional-changelog-config-spec "2.1.0" - conventional-changelog-conventionalcommits "4.5.0" - conventional-recommended-bump "6.1.0" - detect-indent "^6.0.0" - detect-newline "^3.1.0" - dotgitignore "^2.1.0" - figures "^3.1.0" - find-up "^5.0.0" - fs-access "^1.0.1" - git-semver-tags "^4.0.0" - semver "^7.1.1" - stringify-package "^1.0.1" - yargs "^16.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.padend@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" - integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-package@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" - integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -strip-outer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" - integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== - dependencies: - escape-string-regexp "^1.0.2" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tar@^4: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - -throat@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== - -through2@^2.0.0, through2@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -through@2, "through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmpl@1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= - dependencies: - escape-string-regexp "^1.0.2" - -ts-jest@^27.0.5: - version "27.0.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.0.5.tgz#0b0604e2271167ec43c12a69770f0bb65ad1b750" - integrity sha512-lIJApzfTaSSbtlksfFNHkWOzLJuuSm4faFAfo5kvzOiRAuoN4/eKxVJ2zEAho8aecE04qX6K1pAzfH5QHL1/8w== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^27.0.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - semver "7.x" - yargs-parser "20.x" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typedoc-default-themes@^0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.11.4.tgz#1bc55b7c8d1132844616ff6f570e1e2cd0eb7343" - integrity sha512-Y4Lf+qIb9NTydrexlazAM46SSLrmrQRqWiD52593g53SsmUFioAsMWt8m834J6qsp+7wHRjxCXSZeiiW5cMUdw== - -typedoc@^0.19.0: - version "0.19.2" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.19.2.tgz#842a63a581f4920f76b0346bb80eb2a49afc2c28" - integrity sha512-oDEg1BLEzi1qvgdQXc658EYgJ5qJLVSeZ0hQ57Eq4JXy6Vj2VX4RVo18qYxRWz75ifAaYuYNBUCnbhjd37TfOg== - dependencies: - fs-extra "^9.0.1" - handlebars "^4.7.6" - highlight.js "^10.2.0" - lodash "^4.17.20" - lunr "^2.3.9" - marked "^1.1.1" - minimatch "^3.0.0" - progress "^2.0.3" - semver "^7.3.2" - shelljs "^0.8.4" - typedoc-default-themes "^0.11.4" - -typescript@^4.4.3: - version "4.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" - integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== - -uglify-js@^3.1.4: - version "3.14.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" - integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.0, universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -unzipper@^0.8.13: - version "0.8.14" - resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.8.14.tgz#ade0524cd2fc14d11b8de258be22f9d247d3f79b" - integrity sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w== - dependencies: - big-integer "^1.6.17" - binary "~0.3.0" - bluebird "~3.4.1" - buffer-indexof-polyfill "~1.0.0" - duplexer2 "~0.1.4" - fstream "~1.0.10" - listenercount "~1.0.1" - readable-stream "~2.1.5" - setimmediate "~1.0.4" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-join@0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" - integrity sha1-HbSK1CLTQCRpqH99l73r/k+x48g= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -v8-to-istanbul@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz#0aeb763894f1a0a1676adf8a8b7612a38902446c" - integrity sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which@^1.0.9, which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -window-size@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY= - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" - integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" - integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.0, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^16.0.0, yargs@^16.1.0, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^3.6.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= - dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==