From 1d6abbaee639c8ad3a2bd37434c063ea432bd886 Mon Sep 17 00:00:00 2001 From: Don Boyd Date: Thu, 19 Mar 2026 09:32:17 -0400 Subject: [PATCH] Remove old R/Quarto CD pipeline, weight examination, and stale recipes Clears out legacy R infrastructure to simplify review of upcoming Python area weighting PRs. Also tracks CD crosswalk files that were previously untracked (to prevent accidental loss). Removed: - prepare_cds/ R/Quarto code (35 files): notebooks, R scripts, project infrastructure, images - weights/examine/ (20 files): R/Quarto weight quality examination - target_file_library/ (3 gitignore placeholders) - 10 stale/development recipe files (phase6_*, aka, cds_*, etc.) - xx_params.yaml, xx_targets.csv (test fixtures) Retained: - prepare_cds/data/: CD SOI source data (congressional2021.zip, documentation) needed for future CD target preparation PR Added (force-tracked despite .gitignore): - cd_crosswalk/geocorr2022_2607106953.csv: raw Geocorr 117th-to-118th Congress crosswalk download - prepare/data/geocorr2022_cd117_to_cd118.csv: processed crosswalk for CD target preparation CD target preparation and weight examination will be rebuilt in Python in future PRs. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../cd_crosswalk/geocorr2022_2607106953.csv | 1449 ++ .../data/geocorr2022_cd117_to_cd118.csv | 1449 ++ .../targets/prepare/prepare_cds/.Rprofile | 1 - .../targets/prepare/prepare_cds/.gitignore | 37 - tmd/areas/targets/prepare/prepare_cds/.here | 0 .../targets/prepare/prepare_cds/.renvignore | 7 - .../targets/prepare/prepare_cds/R/constants.R | 16 - .../targets/prepare/prepare_cds/R/functions.R | 11 - .../targets/prepare/prepare_cds/R/libraries.R | 82 - .../targets/prepare/prepare_cds/README.md | 6 - .../targets/prepare/prepare_cds/_quarto.yml | 83 - .../prepare_cds/cd_IRS_documentation.qmd | 100 - ...cd_combine_base_and_additional_targets.qmd | 65 - ...compare_us_totals_tmd_vs_irs_published.qmd | 338 - .../cd_construct_long_soi_data_file.qmd | 194 - ...d_construct_soi_variable_documentation.qmd | 166 - .../cd_create_additional_cd_targets.qmd | 203 - ...sefile_for_117Congress_cd_target_files.qmd | 145 - ...d_117_118_crosswalk_and_cdbasefile_118.qmd | 219 - ...e_final_enhanced_multisession_basefile.qmd | 60 - .../cd_create_variable_mapping.qmd | 63 - ...nload_and_clean_census_population_data.qmd | 100 - .../prepare_cds/cd_download_soi_data.qmd | 51 - .../Image 2024-10-20 at 5.23.32 PM.jpeg | Bin 60906 -> 0 bytes .../images/clipboard-719051713.png | Bin 3560 -> 0 bytes .../prepare/prepare_cds/images/raw_data.jpeg | Bin 16820 -> 0 bytes .../targets/prepare/prepare_cds/index.qmd | 13 - .../prepare/prepare_cds/package-lock.json | 14967 ---------------- .../targets/prepare/prepare_cds/package.json | 5 - .../prepare/prepare_cds/prepare_cds.Rproj | 16 - .../targets/prepare/prepare_cds/renv.lock | 1991 -- .../prepare/prepare_cds/renv/.gitignore | 7 - .../prepare/prepare_cds/renv/activate.R | 1305 -- .../prepare/prepare_cds/renv/settings.json | 19 - .../prepare/prepare_cds/tools/renv_notes.R | 14 - .../targets/prepare/prepare_cds/usage.qmd | 52 - .../target_file_library/cds/.gitignore | 1 - .../cds/targets_128/.gitignore | 1 - .../target_file_library/states/.gitignore | 1 - .../targets/prepare/target_recipes/aka.json | 109 - .../target_recipes/cd_variable_mapping.csv | 14 - .../prepare/target_recipes/cds_final.json | 116 - .../prepare/target_recipes/cds_p5salt.json | 79 - .../prepare/target_recipes/cds_test.json | 115 - .../prepare/target_recipes/phase6_states.json | 115 - .../target_recipes/phase6_states_bak.json | 100 - .../prepare/target_recipes/phase6_test.json | 100 - .../prepare/target_recipes/states_final.json | 115 - .../target_recipes/test_variable_mapping.csv | 14 - tmd/areas/targets/xx_params.yaml | 2 - tmd/areas/targets/xx_targets.csv | 17 - tmd/areas/weights/examine/.Rprofile | 1 - tmd/areas/weights/examine/.gitignore | 29 - tmd/areas/weights/examine/.here | 0 tmd/areas/weights/examine/R/functions.R | 245 - .../weights/examine/R/functions_constants.R | 67 - .../R/issue279_comment_onPR267_chisquare.R | 297 - tmd/areas/weights/examine/R/libraries.R | 81 - tmd/areas/weights/examine/R/pick_best_cd.R | 166 - tmd/areas/weights/examine/R/render_all.R | 63 - .../examine/R/system_specific_constants.R | 2 - tmd/areas/weights/examine/R/test_read.R | 380 - tmd/areas/weights/examine/README.md | 33 - .../weights/examine/_area-template_dt.qmd | 32 - tmd/areas/weights/examine/_quarto.yml | 30 - .../weights/examine/_quarto_template.yml | 30 - .../weights/examine/data_preparation.qmd | 78 - tmd/areas/weights/examine/examine.Rproj | 14 - tmd/areas/weights/examine/index.qmd | 38 - .../weights/examine/individual_reports.qmd | 86 - tmd/areas/weights/examine/renv.lock | 2066 --- tmd/areas/weights/examine/renv/.gitignore | 7 - tmd/areas/weights/examine/renv/activate.R | 1305 -- tmd/areas/weights/examine/renv/settings.json | 19 - .../weights/examine/summary_analysis.qmd | 336 - .../weights/examine/variables_analyzed.qmd | 83 - 76 files changed, 2898 insertions(+), 26723 deletions(-) create mode 100644 tmd/areas/cd_crosswalk/geocorr2022_2607106953.csv create mode 100644 tmd/areas/prepare/data/geocorr2022_cd117_to_cd118.csv delete mode 100644 tmd/areas/targets/prepare/prepare_cds/.Rprofile delete mode 100644 tmd/areas/targets/prepare/prepare_cds/.gitignore delete mode 100644 tmd/areas/targets/prepare/prepare_cds/.here delete mode 100644 tmd/areas/targets/prepare/prepare_cds/.renvignore delete mode 100644 tmd/areas/targets/prepare/prepare_cds/R/constants.R delete mode 100644 tmd/areas/targets/prepare/prepare_cds/R/functions.R delete mode 100644 tmd/areas/targets/prepare/prepare_cds/R/libraries.R delete mode 100644 tmd/areas/targets/prepare/prepare_cds/README.md delete mode 100644 tmd/areas/targets/prepare/prepare_cds/_quarto.yml delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_IRS_documentation.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_combine_base_and_additional_targets.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_compare_us_totals_tmd_vs_irs_published.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_construct_long_soi_data_file.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_construct_soi_variable_documentation.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_create_additional_cd_targets.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_create_basefile_for_117Congress_cd_target_files.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_create_cd_117_118_crosswalk_and_cdbasefile_118.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_create_final_enhanced_multisession_basefile.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_create_variable_mapping.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_download_and_clean_census_population_data.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/cd_download_soi_data.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/images/Image 2024-10-20 at 5.23.32 PM.jpeg delete mode 100644 tmd/areas/targets/prepare/prepare_cds/images/clipboard-719051713.png delete mode 100644 tmd/areas/targets/prepare/prepare_cds/images/raw_data.jpeg delete mode 100644 tmd/areas/targets/prepare/prepare_cds/index.qmd delete mode 100644 tmd/areas/targets/prepare/prepare_cds/package-lock.json delete mode 100644 tmd/areas/targets/prepare/prepare_cds/package.json delete mode 100644 tmd/areas/targets/prepare/prepare_cds/prepare_cds.Rproj delete mode 100644 tmd/areas/targets/prepare/prepare_cds/renv.lock delete mode 100644 tmd/areas/targets/prepare/prepare_cds/renv/.gitignore delete mode 100644 tmd/areas/targets/prepare/prepare_cds/renv/activate.R delete mode 100644 tmd/areas/targets/prepare/prepare_cds/renv/settings.json delete mode 100644 tmd/areas/targets/prepare/prepare_cds/tools/renv_notes.R delete mode 100644 tmd/areas/targets/prepare/prepare_cds/usage.qmd delete mode 100644 tmd/areas/targets/prepare/target_file_library/cds/.gitignore delete mode 100644 tmd/areas/targets/prepare/target_file_library/cds/targets_128/.gitignore delete mode 100644 tmd/areas/targets/prepare/target_file_library/states/.gitignore delete mode 100644 tmd/areas/targets/prepare/target_recipes/aka.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/cd_variable_mapping.csv delete mode 100644 tmd/areas/targets/prepare/target_recipes/cds_final.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/cds_p5salt.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/cds_test.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/phase6_states.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/phase6_states_bak.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/phase6_test.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/states_final.json delete mode 100644 tmd/areas/targets/prepare/target_recipes/test_variable_mapping.csv delete mode 100644 tmd/areas/targets/xx_params.yaml delete mode 100644 tmd/areas/targets/xx_targets.csv delete mode 100644 tmd/areas/weights/examine/.Rprofile delete mode 100644 tmd/areas/weights/examine/.gitignore delete mode 100644 tmd/areas/weights/examine/.here delete mode 100644 tmd/areas/weights/examine/R/functions.R delete mode 100644 tmd/areas/weights/examine/R/functions_constants.R delete mode 100644 tmd/areas/weights/examine/R/issue279_comment_onPR267_chisquare.R delete mode 100644 tmd/areas/weights/examine/R/libraries.R delete mode 100644 tmd/areas/weights/examine/R/pick_best_cd.R delete mode 100644 tmd/areas/weights/examine/R/render_all.R delete mode 100644 tmd/areas/weights/examine/R/system_specific_constants.R delete mode 100644 tmd/areas/weights/examine/R/test_read.R delete mode 100644 tmd/areas/weights/examine/README.md delete mode 100644 tmd/areas/weights/examine/_area-template_dt.qmd delete mode 100644 tmd/areas/weights/examine/_quarto.yml delete mode 100644 tmd/areas/weights/examine/_quarto_template.yml delete mode 100644 tmd/areas/weights/examine/data_preparation.qmd delete mode 100644 tmd/areas/weights/examine/examine.Rproj delete mode 100644 tmd/areas/weights/examine/index.qmd delete mode 100644 tmd/areas/weights/examine/individual_reports.qmd delete mode 100644 tmd/areas/weights/examine/renv.lock delete mode 100644 tmd/areas/weights/examine/renv/.gitignore delete mode 100644 tmd/areas/weights/examine/renv/activate.R delete mode 100644 tmd/areas/weights/examine/renv/settings.json delete mode 100644 tmd/areas/weights/examine/summary_analysis.qmd delete mode 100644 tmd/areas/weights/examine/variables_analyzed.qmd diff --git a/tmd/areas/cd_crosswalk/geocorr2022_2607106953.csv b/tmd/areas/cd_crosswalk/geocorr2022_2607106953.csv new file mode 100644 index 00000000..330110c7 --- /dev/null +++ b/tmd/areas/cd_crosswalk/geocorr2022_2607106953.csv @@ -0,0 +1,1449 @@ +"state","cd118","cd117","stab","pop20","afact2","afact" +"State code","Congressional district code (118th Congress)","Congressional district code (117th Congress)","State abbr.","Total population (2020 Census)","cd117-to-cd118 allocation factor","cd118-to-cd117 allocation factor" +"01","01","01","AL",717754,0.9883,1 +"01","02","01","AL",739,0.001,0.001 +"01","02","02","AL",674947,0.9733,0.9404 +"01","02","03","AL",41867,0.057,0.0583 +"01","02","07","AL",202,0.0003,0.0003 +"01","03","03","AL",693265,0.943,0.9659 +"01","03","04","AL",1697,0.0024,0.0024 +"01","03","06","AL",22792,0.0308,0.0318 +"01","04","04","AL",674218,0.9591,0.9393 +"01","04","05","AL",43533,0.0572,0.0607 +"01","04","07","AL",3,0,0 +"01","05","04","AL",185,0.0003,0.0003 +"01","05","05","AL",717569,0.9428,0.9997 +"01","06","04","AL",5012,0.0071,0.007 +"01","06","06","AL",650382,0.8781,0.9061 +"01","06","07","AL",62360,0.0938,0.0869 +"01","07","01","AL",7783,0.0107,0.0108 +"01","07","02","AL",18519,0.0267,0.0258 +"01","07","04","AL",21870,0.0311,0.0305 +"01","07","06","AL",67536,0.0912,0.0941 +"01","07","07","AL",602046,0.9059,0.8388 +"02","00","00","AK",733391,1,1 +"04","01","04","AZ",1193,0.0015,0.0015 +"04","01","05","AZ",4713,0.0053,0.0059 +"04","01","06","AZ",596142,0.7586,0.7502 +"04","01","07","AZ",26850,0.0341,0.0338 +"04","01","09","AZ",165713,0.2147,0.2085 +"04","02","01","AZ",511992,0.6729,0.6443 +"04","02","04","AZ",282620,0.3514,0.3557 +"04","03","03","AZ",78345,0.1008,0.0986 +"04","03","07","AZ",680516,0.8632,0.8564 +"04","03","09","AZ",35751,0.0463,0.045 +"04","04","05","AZ",239565,0.2719,0.3015 +"04","04","06","AZ",18,0,0 +"04","04","07","AZ",1112,0.0014,0.0014 +"04","04","09","AZ",553916,0.7177,0.6971 +"04","05","04","AZ",157865,0.1963,0.1987 +"04","05","05","AZ",636747,0.7227,0.8013 +"04","06","01","AZ",243055,0.3195,0.3059 +"04","06","02","AZ",545263,0.7324,0.6862 +"04","06","03","AZ",6293,0.0081,0.0079 +"04","07","01","AZ",5803,0.0076,0.0073 +"04","07","02","AZ",199215,0.2676,0.2507 +"04","07","03","AZ",581040,0.7473,0.7312 +"04","07","04","AZ",1337,0.0017,0.0017 +"04","07","07","AZ",7216,0.0092,0.0091 +"04","08","04","AZ",7392,0.0092,0.0093 +"04","08","06","AZ",189698,0.2414,0.2387 +"04","08","07","AZ",30245,0.0384,0.0381 +"04","08","08","AZ",550823,0.6579,0.6932 +"04","08","09","AZ",16452,0.0213,0.0207 +"04","09","03","AZ",111876,0.1439,0.1408 +"04","09","04","AZ",353916,0.44,0.4454 +"04","09","07","AZ",42393,0.0538,0.0534 +"04","09","08","AZ",286427,0.3421,0.3605 +"05","01","01","AR",689147,0.962,0.9158 +"05","01","02","AR",8612,0.0112,0.0114 +"05","01","03","AR",54750,0.0652,0.0728 +"05","02","01","AR",24711,0.0345,0.0328 +"05","02","02","AR",727999,0.9462,0.9672 +"05","03","03","AR",713443,0.8502,0.9472 +"05","03","04","AR",39776,0.0579,0.0528 +"05","04","01","AR",2530,0.0035,0.0034 +"05","04","02","AR",32780,0.0426,0.0435 +"05","04","03","AR",70954,0.0846,0.0942 +"05","04","04","AR",646822,0.9421,0.8589 +"06","01","01","CA",547266,0.7796,0.7158 +"06","01","03","CA",217312,0.2851,0.2842 +"06","02","02","CA",718556,0.9995,0.9384 +"06","02","05","CA",47182,0.0648,0.0616 +"06","03","01","CA",154689,0.2204,0.2023 +"06","03","03","CA",12508,0.0164,0.0164 +"06","03","04","CA",440698,0.5736,0.5764 +"06","03","07","CA",124524,0.1584,0.1629 +"06","03","08","CA",32211,0.0426,0.0421 +"06","04","02","CA",383,0.0005,0.0005 +"06","04","03","CA",337929,0.4434,0.4417 +"06","04","05","CA",426825,0.5864,0.5578 +"06","05","04","CA",317530,0.4133,0.4151 +"06","05","10","CA",326749,0.4255,0.4271 +"06","05","16","CA",3242,0.0043,0.0042 +"06","05","22","CA",117489,0.1491,0.1536 +"06","06","03","CA",28811,0.0378,0.0381 +"06","06","06","CA",358729,0.4553,0.4741 +"06","06","07","CA",369190,0.4696,0.4879 +"06","07","03","CA",8500,0.0112,0.0112 +"06","07","06","CA",429219,0.5447,0.5662 +"06","07","07","CA",292441,0.372,0.3857 +"06","07","09","CA",27960,0.0348,0.0369 +"06","08","03","CA",157154,0.2062,0.2073 +"06","08","05","CA",230991,0.3173,0.3047 +"06","08","09","CA",28775,0.0358,0.038 +"06","08","11","CA",341129,0.4442,0.45 +"06","09","09","CA",553116,0.6879,0.7258 +"06","09","10","CA",208913,0.2721,0.2742 +"06","10","05","CA",22928,0.0315,0.0302 +"06","10","09","CA",165475,0.2058,0.2177 +"06","10","11","CA",426748,0.5558,0.5613 +"06","10","15","CA",145115,0.1821,0.1909 +"06","11","12","CA",710176,0.9211,0.9354 +"06","11","14","CA",49016,0.0657,0.0646 +"06","12","13","CA",758548,0.972,1 +"06","13","09","CA",28692,0.0357,0.0374 +"06","13","10","CA",232257,0.3024,0.3024 +"06","13","16","CA",409466,0.5449,0.5331 +"06","13","21","CA",97657,0.1371,0.1271 +"06","14","13","CA",21834,0.028,0.0288 +"06","14","15","CA",651596,0.8179,0.858 +"06","14","17","CA",85986,0.1098,0.1132 +"06","15","12","CA",60834,0.0789,0.0801 +"06","15","14","CA",632172,0.8467,0.8328 +"06","15","18","CA",66052,0.0881,0.087 +"06","16","14","CA",65433,0.0876,0.0862 +"06","16","17","CA",4862,0.0062,0.0064 +"06","16","18","CA",533744,0.712,0.7034 +"06","16","19","CA",154784,0.207,0.204 +"06","17","17","CA",691844,0.8834,0.9116 +"06","17","18","CA",50943,0.068,0.0671 +"06","17","19","CA",16150,0.0216,0.0213 +"06","18","17","CA",459,0.0006,0.0006 +"06","18","18","CA",7478,0.01,0.0098 +"06","18","19","CA",330564,0.442,0.433 +"06","18","20","CA",424902,0.5705,0.5566 +"06","19","18","CA",91404,0.1219,0.1205 +"06","19","19","CA",246379,0.3294,0.3248 +"06","19","20","CA",319945,0.4295,0.4218 +"06","19","24","CA",100817,0.1362,0.1329 +"06","20","04","CA",10105,0.0132,0.0132 +"06","20","16","CA",2117,0.0028,0.0028 +"06","20","21","CA",63392,0.089,0.0831 +"06","20","22","CA",289166,0.3671,0.3789 +"06","20","23","CA",398434,0.513,0.522 +"06","21","16","CA",336607,0.448,0.4451 +"06","21","21","CA",108907,0.1529,0.144 +"06","21","22","CA",307434,0.3902,0.4065 +"06","21","23","CA",3380,0.0044,0.0045 +"06","22","21","CA",442181,0.6209,0.5653 +"06","22","22","CA",73704,0.0936,0.0942 +"06","22","23","CA",266362,0.3429,0.3405 +"06","23","08","CA",653103,0.8633,0.8555 +"06","23","23","CA",19301,0.0248,0.0253 +"06","23","25","CA",16710,0.0222,0.0219 +"06","23","31","CA",74287,0.0982,0.0973 +"06","24","24","CA",638990,0.8632,0.8356 +"06","24","26","CA",125739,0.1743,0.1644 +"06","25","08","CA",6979,0.0092,0.0091 +"06","25","36","CA",579560,0.7578,0.7533 +"06","25","42","CA",3119,0.0038,0.0041 +"06","25","51","CA",179702,0.2529,0.2336 +"06","26","24","CA",466,0.0006,0.0006 +"06","26","25","CA",119019,0.1579,0.1569 +"06","26","26","CA",595548,0.8257,0.7849 +"06","26","33","CA",43685,0.0603,0.0576 +"06","27","23","CA",89256,0.1149,0.1174 +"06","27","25","CA",617493,0.8192,0.8122 +"06","27","27","CA",176,0.0002,0.0002 +"06","27","28","CA",2,0,0 +"06","27","29","CA",10742,0.0151,0.0141 +"06","27","30","CA",42558,0.0569,0.056 +"06","28","08","CA",6610,0.0087,0.0087 +"06","28","25","CA",4,0,0 +"06","28","27","CA",663597,0.9363,0.8756 +"06","28","28","CA",49400,0.0693,0.0652 +"06","28","31","CA",38126,0.0504,0.0503 +"06","28","34","CA",154,0.0002,0.0002 +"06","29","28","CA",1088,0.0015,0.0014 +"06","29","29","CA",669383,0.9413,0.8837 +"06","29","30","CA",86980,0.1163,0.1148 +"06","30","25","CA",9,0,0 +"06","30","27","CA",5731,0.0081,0.0076 +"06","30","28","CA",647927,0.9088,0.8547 +"06","30","29","CA",2267,0.0032,0.003 +"06","30","30","CA",25584,0.0342,0.0337 +"06","30","33","CA",52024,0.0719,0.0686 +"06","30","34","CA",11379,0.0162,0.015 +"06","30","37","CA",13196,0.0183,0.0174 +"06","31","27","CA",32664,0.0461,0.0431 +"06","31","32","CA",705027,1,0.931 +"06","31","38","CA",19567,0.0277,0.0258 +"06","31","39","CA",4,0,0 +"06","32","25","CA",509,0.0007,0.0007 +"06","32","28","CA",6568,0.0092,0.0087 +"06","32","29","CA",28730,0.0404,0.0379 +"06","32","30","CA",592573,0.7925,0.7814 +"06","32","33","CA",109065,0.1506,0.1438 +"06","32","37","CA",20877,0.0289,0.0275 +"06","33","08","CA",57644,0.0762,0.0761 +"06","33","31","CA",558954,0.7389,0.7382 +"06","33","35","CA",140620,0.1901,0.1857 +"06","34","28","CA",7979,0.0112,0.0105 +"06","34","34","CA",650028,0.9241,0.8579 +"06","34","37","CA",4189,0.0058,0.0055 +"06","34","40","CA",95498,0.1384,0.126 +"06","35","27","CA",6564,0.0093,0.0086 +"06","35","31","CA",85099,0.1125,0.1116 +"06","35","35","CA",596658,0.8068,0.7827 +"06","35","39","CA",24501,0.0334,0.0321 +"06","35","41","CA",20,0,0 +"06","35","42","CA",49497,0.061,0.0649 +"06","36","33","CA",491593,0.679,0.6483 +"06","36","37","CA",162472,0.225,0.2143 +"06","36","43","CA",104159,0.1432,0.1374 +"06","37","34","CA",41856,0.0595,0.0554 +"06","37","37","CA",520271,0.7204,0.6888 +"06","37","40","CA",159596,0.2312,0.2113 +"06","37","43","CA",33594,0.0462,0.0445 +"06","38","35","CA",2298,0.0031,0.003 +"06","38","38","CA",484308,0.6856,0.6392 +"06","38","39","CA",255421,0.3487,0.3371 +"06","38","40","CA",15696,0.0227,0.0207 +"06","39","41","CA",739507,0.9818,0.9775 +"06","39","42","CA",17004,0.0209,0.0225 +"06","40","39","CA",153061,0.2089,0.2016 +"06","40","42","CA",10910,0.0134,0.0144 +"06","40","45","CA",500242,0.6146,0.659 +"06","40","46","CA",39702,0.0565,0.0523 +"06","40","48","CA",52176,0.0724,0.0687 +"06","40","49","CA",2953,0.0039,0.0039 +"06","41","36","CA",182850,0.2391,0.24 +"06","41","41","CA",13711,0.0182,0.018 +"06","41","42","CA",565226,0.6964,0.742 +"06","42","38","CA",65446,0.0926,0.0865 +"06","42","40","CA",365251,0.5292,0.4826 +"06","42","44","CA",35826,0.0504,0.0473 +"06","42","47","CA",290361,0.4063,0.3836 +"06","43","33","CA",112,0.0002,0.0001 +"06","43","37","CA",1172,0.0016,0.0016 +"06","43","43","CA",544210,0.748,0.7209 +"06","43","44","CA",209381,0.2948,0.2774 +"06","44","33","CA",27562,0.0381,0.0364 +"06","44","38","CA",38467,0.0545,0.0508 +"06","44","40","CA",54170,0.0785,0.0715 +"06","44","43","CA",45570,0.0626,0.0601 +"06","44","44","CA",465151,0.6548,0.6137 +"06","44","47","CA",127031,0.1777,0.1676 +"06","45","38","CA",98655,0.1397,0.1301 +"06","45","39","CA",237050,0.3236,0.3125 +"06","45","46","CA",47095,0.067,0.0621 +"06","45","47","CA",256435,0.3588,0.3381 +"06","45","48","CA",119316,0.1656,0.1573 +"06","46","39","CA",62532,0.0854,0.0825 +"06","46","46","CA",615999,0.8765,0.813 +"06","46","47","CA",40844,0.0572,0.0539 +"06","46","48","CA",38268,0.0531,0.0505 +"06","47","45","CA",313743,0.3854,0.4133 +"06","47","48","CA",445318,0.6182,0.5867 +"06","48","36","CA",2343,0.0031,0.0031 +"06","48","42","CA",165899,0.2044,0.2187 +"06","48","49","CA",188,0.0003,0.0002 +"06","48","50","CA",504993,0.667,0.6657 +"06","48","51","CA",15434,0.0217,0.0203 +"06","48","52","CA",49768,0.0652,0.0656 +"06","48","53","CA",19992,0.0262,0.0264 +"06","49","45","CA",10,0,0 +"06","49","48","CA",65255,0.0906,0.086 +"06","49","49","CA",691856,0.9224,0.9121 +"06","49","50","CA",1395,0.0018,0.0018 +"06","50","49","CA",55052,0.0734,0.0725 +"06","50","50","CA",195173,0.2578,0.257 +"06","50","51","CA",70,0.0001,0.0001 +"06","50","52","CA",407741,0.5344,0.537 +"06","50","53","CA",101296,0.1325,0.1334 +"06","51","50","CA",55549,0.0734,0.0733 +"06","51","51","CA",195,0.0003,0.0003 +"06","51","52","CA",305462,0.4004,0.4029 +"06","51","53","CA",396995,0.5194,0.5236 +"06","52","51","CA",515191,0.725,0.6768 +"06","52","53","CA",245996,0.3219,0.3232 +"08","01","01","CO",721638,0.8583,0.9999 +"08","01","06","CO",76,0.0001,0.0001 +"08","02","02","CO",543012,0.6549,0.7524 +"08","02","03","CO",57632,0.076,0.0799 +"08","02","04","CO",120888,0.1389,0.1675 +"08","02","07","CO",188,0.0002,0.0003 +"08","03","03","CO",688485,0.908,0.9539 +"08","03","04","CO",33245,0.0382,0.0461 +"08","04","02","CO",107329,0.1294,0.1487 +"08","04","04","CO",468238,0.5379,0.6487 +"08","04","05","CO",8059,0.0097,0.0112 +"08","04","06","CO",138168,0.1654,0.1914 +"08","05","05","CO",721714,0.8671,1 +"08","06","01","CO",107475,0.1278,0.1489 +"08","06","02","CO",854,0.001,0.0012 +"08","06","04","CO",131,0.0002,0.0002 +"08","06","06","CO",613221,0.7339,0.8497 +"08","07","01","CO",11618,0.0138,0.0161 +"08","07","02","CO",160777,0.1939,0.2228 +"08","07","03","CO",12140,0.016,0.0168 +"08","07","05","CO",102604,0.1233,0.1422 +"08","07","07","CO",434558,0.5384,0.6021 +"08","08","02","CO",17151,0.0207,0.0238 +"08","08","04","CO",248035,0.2849,0.3437 +"08","08","06","CO",84129,0.1007,0.1166 +"08","08","07","CO",372349,0.4613,0.516 +"09","01","01","CT",696479,0.9703,0.9656 +"09","01","03","CT",19798,0.0276,0.0274 +"09","01","05","CT",5024,0.0069,0.007 +"09","02","01","CT",21287,0.0297,0.0295 +"09","02","02","CT",700451,1,0.9705 +"09","03","03","CT",696677,0.9724,0.9645 +"09","03","04","CT",25627,0.0343,0.0355 +"09","04","04","CT",721189,0.9657,1 +"09","05","05","CT",723730,0.9931,1 +"10","00","00","DE",989948,1,1 +"11","98","98","DC",689545,1,1 +"12","01","01","FL",769221,0.9521,1 +"12","02","01","FL",38660,0.0479,0.0503 +"12","02","02","FL",488934,0.6717,0.6356 +"12","02","05","FL",241627,0.3226,0.3141 +"12","03","02","FL",238922,0.3283,0.3106 +"12","03","03","FL",428678,0.5595,0.5573 +"12","03","05","FL",53916,0.072,0.0701 +"12","03","11","FL",47705,0.0581,0.062 +"12","04","03","FL",218245,0.2849,0.2837 +"12","04","04","FL",203219,0.2331,0.2642 +"12","04","05","FL",347757,0.4644,0.4521 +"12","05","04","FL",663376,0.7609,0.8624 +"12","05","05","FL",105610,0.141,0.1373 +"12","05","06","FL",235,0.0003,0.0003 +"12","06","03","FL",119210,0.1556,0.155 +"12","06","04","FL",5289,0.0061,0.0069 +"12","06","06","FL",490500,0.616,0.6377 +"12","06","11","FL",154222,0.1879,0.2005 +"12","07","06","FL",298365,0.3747,0.3879 +"12","07","07","FL",470856,0.5971,0.6121 +"12","08","08","FL",769221,0.9815,1 +"12","09","07","FL",12183,0.0155,0.0158 +"12","09","08","FL",27,0,0 +"12","09","09","FL",549522,0.5751,0.7144 +"12","09","10","FL",198732,0.2274,0.2584 +"12","09","15","FL",8757,0.0107,0.0114 +"12","10","07","FL",305479,0.3874,0.3971 +"12","10","08","FL",14505,0.0185,0.0189 +"12","10","09","FL",105336,0.1102,0.1369 +"12","10","10","FL",343901,0.3936,0.4471 +"12","11","06","FL",7154,0.009,0.0093 +"12","11","09","FL",3252,0.0034,0.0042 +"12","11","10","FL",331171,0.379,0.4305 +"12","11","11","FL",270550,0.3296,0.3517 +"12","11","15","FL",157094,0.1916,0.2042 +"12","12","11","FL",348358,0.4244,0.4529 +"12","12","12","FL",420863,0.5214,0.5471 +"12","13","12","FL",231642,0.287,0.3011 +"12","13","13","FL",537579,0.739,0.6989 +"12","14","12","FL",4567,0.0057,0.0059 +"12","14","13","FL",189886,0.261,0.2469 +"12","14","14","FL",514836,0.6538,0.6693 +"12","14","15","FL",38219,0.0466,0.0497 +"12","14","16","FL",21713,0.0246,0.0282 +"12","15","12","FL",150065,0.1859,0.1951 +"12","15","14","FL",272611,0.3462,0.3544 +"12","15","15","FL",346545,0.4227,0.4505 +"12","16","15","FL",141252,0.1723,0.1836 +"12","16","16","FL",627969,0.7103,0.8164 +"12","17","16","FL",234365,0.2651,0.3047 +"12","17","17","FL",480692,0.6163,0.6249 +"12","17","19","FL",54164,0.0649,0.0704 +"12","18","09","FL",297492,0.3113,0.3867 +"12","18","15","FL",127986,0.1561,0.1664 +"12","18","17","FL",299263,0.3837,0.389 +"12","18","25","FL",44480,0.0577,0.0578 +"12","19","19","FL",754646,0.9038,0.9811 +"12","19","25","FL",14575,0.0189,0.0189 +"12","20","18","FL",40419,0.0509,0.0525 +"12","20","20","FL",563334,0.7257,0.7323 +"12","20","21","FL",467,0.0006,0.0006 +"12","20","22","FL",68781,0.0875,0.0894 +"12","20","23","FL",96220,0.1251,0.1251 +"12","21","18","FL",754305,0.9491,0.9806 +"12","21","20","FL",13586,0.0175,0.0177 +"12","21","21","FL",1330,0.0017,0.0017 +"12","22","20","FL",49857,0.0642,0.0648 +"12","22","21","FL",714573,0.9068,0.929 +"12","22","22","FL",4790,0.0061,0.0062 +"12","23","20","FL",13813,0.0178,0.018 +"12","23","21","FL",71637,0.0909,0.0931 +"12","23","22","FL",683771,0.8702,0.8889 +"12","24","20","FL",56729,0.0731,0.0737 +"12","24","23","FL",78350,0.1018,0.1019 +"12","24","24","FL",542531,0.7306,0.7053 +"12","24","27","FL",91611,0.1238,0.1191 +"12","25","20","FL",78964,0.1017,0.1027 +"12","25","22","FL",28414,0.0362,0.0369 +"12","25","23","FL",594786,0.7731,0.7732 +"12","25","24","FL",67057,0.0903,0.0872 +"12","26","19","FL",26202,0.0314,0.0341 +"12","26","24","FL",117061,0.1576,0.1522 +"12","26","25","FL",604826,0.784,0.7863 +"12","26","27","FL",21132,0.0286,0.0275 +"12","27","24","FL",15893,0.0214,0.0207 +"12","27","25","FL",54337,0.0704,0.0706 +"12","27","26","FL",71909,0.0913,0.0935 +"12","27","27","FL",627082,0.8476,0.8152 +"12","28","25","FL",53216,0.069,0.0692 +"12","28","26","FL",716005,0.9087,0.9308 +"13","01","01","GA",739028,0.9778,0.9659 +"13","01","12","GA",26109,0.0353,0.0341 +"13","02","02","GA",647722,0.9624,0.8465 +"13","02","03","GA",20569,0.027,0.0269 +"13","02","08","GA",96846,0.1345,0.1266 +"13","03","02","GA",1666,0.0025,0.0022 +"13","03","03","GA",677309,0.8876,0.8852 +"13","03","13","GA",56242,0.0709,0.0735 +"13","03","14","GA",29919,0.0411,0.0391 +"13","04","04","GA",540040,0.6979,0.7058 +"13","04","05","GA",28730,0.0365,0.0375 +"13","04","06","GA",196280,0.2563,0.2565 +"13","04","10","GA",85,0.0001,0.0001 +"13","05","04","GA",16869,0.0218,0.022 +"13","05","05","GA",663383,0.8417,0.867 +"13","05","06","GA",37711,0.0492,0.0493 +"13","05","11","GA",47174,0.0588,0.0617 +"13","06","06","GA",404452,0.5281,0.5286 +"13","06","07","GA",218071,0.2537,0.285 +"13","06","09","GA",94765,0.1222,0.1239 +"13","06","11","GA",47848,0.0596,0.0625 +"13","07","04","GA",197348,0.2551,0.2579 +"13","07","06","GA",92558,0.1209,0.121 +"13","07","07","GA",435932,0.5072,0.5697 +"13","07","10","GA",39299,0.0507,0.0514 +"13","08","01","GA",16753,0.0222,0.0219 +"13","08","02","GA",23640,0.0351,0.0309 +"13","08","08","GA",623073,0.8655,0.8143 +"13","08","10","GA",43799,0.0565,0.0572 +"13","08","12","GA",57871,0.0783,0.0756 +"13","09","07","GA",205437,0.239,0.2685 +"13","09","09","GA",515409,0.6647,0.6736 +"13","09","10","GA",44291,0.0571,0.0579 +"13","10","03","GA",65197,0.0854,0.0852 +"13","10","04","GA",19504,0.0252,0.0255 +"13","10","09","GA",143388,0.1849,0.1874 +"13","10","10","GA",537046,0.693,0.7019 +"13","11","06","GA",34792,0.0454,0.0455 +"13","11","09","GA",21805,0.0281,0.0285 +"13","11","11","GA",678876,0.8459,0.8873 +"13","11","13","GA",18253,0.023,0.0239 +"13","11","14","GA",11411,0.0157,0.0149 +"13","12","10","GA",110492,0.1426,0.1444 +"13","12","12","GA",654644,0.8863,0.8556 +"13","13","05","GA",96013,0.1218,0.1255 +"13","13","11","GA",10809,0.0135,0.0141 +"13","13","13","GA",658315,0.8302,0.8604 +"13","14","11","GA",17808,0.0222,0.0233 +"13","14","13","GA",60106,0.0758,0.0786 +"13","14","14","GA",687221,0.9433,0.8982 +"15","01","01","HI",726395,0.9953,1 +"15","02","01","HI",3436,0.0047,0.0047 +"15","02","02","HI",725440,1,0.9953 +"16","01","01","ID",919553,0.963,1 +"16","02","01","ID",35338,0.037,0.0384 +"16","02","02","ID",884215,1,0.9616 +"17","01","01","IL",515524,0.7303,0.684 +"17","01","02","IL",97181,0.143,0.1289 +"17","01","03","IL",73753,0.1016,0.0979 +"17","01","07","IL",19955,0.0261,0.0265 +"17","01","11","IL",19494,0.0276,0.0259 +"17","01","14","IL",16,0,0 +"17","01","16","IL",27754,0.0401,0.0368 +"17","02","01","IL",20064,0.0284,0.0266 +"17","02","02","IL",582447,0.857,0.7728 +"17","02","07","IL",3936,0.0051,0.0052 +"17","02","15","IL",88029,0.1294,0.1168 +"17","02","16","IL",59201,0.0855,0.0785 +"17","03","04","IL",326427,0.4673,0.4331 +"17","03","05","IL",149957,0.2017,0.199 +"17","03","06","IL",114188,0.1558,0.1515 +"17","03","07","IL",27479,0.0359,0.0365 +"17","03","08","IL",120167,0.1676,0.1594 +"17","03","14","IL",15459,0.0205,0.0205 +"17","04","01","IL",9923,0.0141,0.0132 +"17","04","03","IL",261049,0.3598,0.3464 +"17","04","04","IL",357271,0.5114,0.474 +"17","04","05","IL",72145,0.097,0.0957 +"17","04","06","IL",13822,0.0189,0.0183 +"17","04","07","IL",39467,0.0516,0.0524 +"17","05","04","IL",579,0.0008,0.0008 +"17","05","05","IL",435151,0.5853,0.5774 +"17","05","06","IL",103909,0.1418,0.1379 +"17","05","07","IL",30785,0.0403,0.0408 +"17","05","08","IL",10967,0.0153,0.0146 +"17","05","09","IL",128469,0.1731,0.1705 +"17","05","10","IL",43817,0.0604,0.0581 +"17","06","01","IL",122634,0.1737,0.1627 +"17","06","03","IL",311181,0.4288,0.4129 +"17","06","05","IL",28651,0.0385,0.038 +"17","06","06","IL",176737,0.2412,0.2345 +"17","06","08","IL",64714,0.0903,0.0859 +"17","06","11","IL",49760,0.0704,0.066 +"17","07","01","IL",34536,0.0489,0.0458 +"17","07","03","IL",23395,0.0322,0.031 +"17","07","04","IL",14293,0.0205,0.019 +"17","07","05","IL",38412,0.0517,0.051 +"17","07","07","IL",643041,0.8409,0.8532 +"17","08","05","IL",6176,0.0083,0.0082 +"17","08","06","IL",170700,0.233,0.2265 +"17","08","08","IL",500129,0.6975,0.6636 +"17","08","09","IL",48279,0.0651,0.0641 +"17","08","10","IL",4338,0.006,0.0058 +"17","08","14","IL",24055,0.0319,0.0319 +"17","09","05","IL",12957,0.0174,0.0172 +"17","09","06","IL",109138,0.1489,0.1448 +"17","09","08","IL",15890,0.0222,0.0211 +"17","09","09","IL",530785,0.7152,0.7043 +"17","09","10","IL",74767,0.1031,0.0992 +"17","09","14","IL",10140,0.0135,0.0135 +"17","10","08","IL",5123,0.0071,0.0068 +"17","10","09","IL",34623,0.0467,0.0459 +"17","10","10","IL",599085,0.8264,0.7949 +"17","10","14","IL",114846,0.1525,0.1524 +"17","11","03","IL",11927,0.0164,0.0158 +"17","11","06","IL",44251,0.0604,0.0587 +"17","11","10","IL",2939,0.0041,0.0039 +"17","11","11","IL",336300,0.4761,0.4462 +"17","11","14","IL",322394,0.428,0.4278 +"17","11","16","IL",35866,0.0518,0.0476 +"17","12","12","IL",401915,0.5955,0.5333 +"17","12","15","IL",351762,0.5171,0.4667 +"17","13","12","IL",270999,0.4016,0.3596 +"17","13","13","IL",422282,0.6071,0.5603 +"17","13","15","IL",4427,0.0065,0.0059 +"17","13","18","IL",55969,0.0798,0.0743 +"17","14","01","IL",3268,0.0046,0.0043 +"17","14","03","IL",44320,0.0611,0.0588 +"17","14","11","IL",300822,0.4259,0.3991 +"17","14","14","IL",251782,0.3343,0.3341 +"17","14","16","IL",153485,0.2216,0.2036 +"17","15","12","IL",1956,0.0029,0.0026 +"17","15","13","IL",213969,0.3076,0.2839 +"17","15","15","IL",236075,0.347,0.3132 +"17","15","17","IL",27070,0.0402,0.0359 +"17","15","18","IL",274607,0.3917,0.3644 +"17","16","13","IL",11593,0.0167,0.0154 +"17","16","14","IL",14503,0.0193,0.0192 +"17","16","16","IL",352741,0.5093,0.468 +"17","16","17","IL",106460,0.158,0.1413 +"17","16","18","IL",268380,0.3828,0.3561 +"17","17","13","IL",47739,0.0686,0.0633 +"17","17","16","IL",63505,0.0917,0.0843 +"17","17","17","IL",540240,0.8018,0.7168 +"17","17","18","IL",102192,0.1457,0.1356 +"18","01","01","IN",726991,0.9929,0.9642 +"18","01","02","IN",26956,0.0368,0.0358 +"18","02","01","IN",5211,0.0071,0.0069 +"18","02","02","IN",696266,0.9513,0.9235 +"18","02","03","IN",40231,0.053,0.0534 +"18","02","04","IN",12239,0.016,0.0162 +"18","03","02","IN",8659,0.0118,0.0115 +"18","03","03","IN",718683,0.947,0.9532 +"18","03","05","IN",9377,0.0117,0.0124 +"18","03","06","IN",17228,0.0238,0.0229 +"18","04","04","IN",670054,0.876,0.8887 +"18","04","05","IN",36298,0.0451,0.0481 +"18","04","09","IN",47595,0.0621,0.0631 +"18","05","04","IN",72787,0.0952,0.0965 +"18","05","05","IN",569257,0.7073,0.755 +"18","05","06","IN",111903,0.1547,0.1484 +"18","06","06","IN",368930,0.5099,0.4893 +"18","06","07","IN",223254,0.2836,0.2961 +"18","06","09","IN",161765,0.211,0.2146 +"18","07","05","IN",189937,0.236,0.2519 +"18","07","07","IN",564012,0.7164,0.7481 +"18","08","04","IN",9790,0.0128,0.013 +"18","08","08","IN",715369,1,0.9488 +"18","08","09","IN",28788,0.0376,0.0382 +"18","09","06","IN",225479,0.3116,0.2991 +"18","09","09","IN",528469,0.6894,0.7009 +"19","01","01","IA",56793,0.0728,0.0712 +"19","01","02","IA",688388,0.8765,0.8631 +"19","01","03","IA",52403,0.061,0.0657 +"19","02","01","IA",683282,0.8758,0.8567 +"19","02","04","IA",114307,0.1493,0.1433 +"19","03","02","IA",96965,0.1235,0.1216 +"19","03","03","IA",691815,0.8054,0.8674 +"19","03","04","IA",8771,0.0115,0.011 +"19","04","01","IA",40105,0.0514,0.0503 +"19","04","03","IA",114756,0.1336,0.1439 +"19","04","04","IA",642784,0.8393,0.8059 +"20","01","01","KS",602521,0.8598,0.8203 +"20","01","02","KS",131929,0.185,0.1796 +"20","01","04","KS",20,0,0 +"20","02","01","KS",95576,0.1364,0.1301 +"20","02","02","KS",526233,0.738,0.7165 +"20","02","03","KS",112661,0.1422,0.1534 +"20","03","02","KS",54845,0.0769,0.0747 +"20","03","03","KS",679625,0.8578,0.9253 +"20","04","01","KS",2676,0.0038,0.0036 +"20","04","04","KS",731794,1,0.9964 +"21","01","01","KY",652882,0.9079,0.8694 +"21","01","02","KY",42208,0.0542,0.0562 +"21","01","06","KY",55883,0.0713,0.0744 +"21","02","01","KY",66257,0.0921,0.0882 +"21","02","02","KY",652719,0.8383,0.8692 +"21","02","03","KY",8760,0.0116,0.0117 +"21","02","04","KY",23236,0.03,0.0309 +"21","03","03","KY",748092,0.9884,0.9962 +"21","03","04","KY",2881,0.0037,0.0038 +"21","04","02","KY",30667,0.0394,0.0408 +"21","04","04","KY",708185,0.9155,0.943 +"21","04","05","KY",2743,0.004,0.0037 +"21","04","06","KY",9378,0.012,0.0125 +"21","05","04","KY",39241,0.0507,0.0523 +"21","05","05","KY",690638,0.996,0.9197 +"21","05","06","KY",21094,0.0269,0.0281 +"21","06","02","KY",53054,0.0681,0.0706 +"21","06","06","KY",697918,0.8899,0.9294 +"22","01","01","LA",760432,0.9358,0.9796 +"22","01","02","LA",6641,0.0086,0.0086 +"22","01","05","LA",2658,0.0036,0.0034 +"22","01","06","LA",6537,0.008,0.0084 +"22","02","01","LA",1429,0.0018,0.0018 +"22","02","02","LA",767478,0.9899,0.9886 +"22","02","06","LA",7410,0.0091,0.0095 +"22","03","03","LA",776275,0.9878,1 +"22","04","03","LA",3382,0.0043,0.0044 +"22","04","04","LA",728346,1,0.9382 +"22","04","05","LA",44605,0.0603,0.0575 +"22","05","01","LA",46442,0.0572,0.0598 +"22","05","05","LA",691981,0.9361,0.8914 +"22","05","06","LA",37854,0.0464,0.0488 +"22","06","01","LA",4282,0.0053,0.0055 +"22","06","02","LA",1173,0.0015,0.0015 +"22","06","03","LA",6167,0.0078,0.0079 +"22","06","06","LA",764665,0.9366,0.985 +"23","01","01","ME",665795,0.9454,0.9774 +"23","01","02","ME",15384,0.0234,0.0226 +"23","02","01","ME",38416,0.0546,0.0564 +"23","02","02","ME",642764,0.9766,0.9436 +"24","01","01","MD",649234,0.8731,0.8402 +"24","01","02","MD",107967,0.1375,0.1397 +"24","01","07","MD",15547,0.0221,0.0201 +"24","02","01","MD",94377,0.1269,0.1224 +"24","02","02","MD",343288,0.4371,0.4453 +"24","02","03","MD",151718,0.196,0.1968 +"24","02","07","MD",94600,0.1344,0.1227 +"24","02","08","MD",86923,0.1108,0.1128 +"24","03","02","MD",123427,0.1572,0.1599 +"24","03","03","MD",307032,0.3966,0.3978 +"24","03","04","MD",147318,0.1844,0.1909 +"24","03","07","MD",173984,0.2472,0.2254 +"24","03","08","MD",19972,0.0255,0.0259 +"24","04","03","MD",36041,0.0466,0.0468 +"24","04","04","MD",511263,0.6399,0.6635 +"24","04","05","MD",223273,0.2807,0.2897 +"24","05","02","MD",28400,0.0362,0.0367 +"24","05","03","MD",33809,0.0437,0.0436 +"24","05","04","MD",140326,0.1756,0.1811 +"24","05","05","MD",572106,0.7193,0.7385 +"24","06","06","MD",636874,0.8045,0.8188 +"24","06","08","MD",140971,0.1797,0.1812 +"24","07","02","MD",182249,0.2321,0.2375 +"24","07","03","MD",165377,0.2136,0.2155 +"24","07","07","MD",419621,0.5963,0.5469 +"24","08","03","MD",80188,0.1036,0.1039 +"24","08","04","MD",18,0,0 +"24","08","06","MD",154745,0.1955,0.2006 +"24","08","08","MD",536576,0.684,0.6955 +"25","01","01","MA",711874,0.9745,0.9114 +"25","01","02","MA",69229,0.0887,0.0886 +"25","02","01","MA",18593,0.0255,0.0238 +"25","02","02","MA",685697,0.879,0.8779 +"25","02","03","MA",660,0.0008,0.0008 +"25","02","04","MA",31873,0.041,0.0408 +"25","02","05","MA",44278,0.0557,0.0567 +"25","03","02","MA",2554,0.0033,0.0033 +"25","03","03","MA",754773,0.9474,0.9663 +"25","03","06","MA",23775,0.0306,0.0304 +"25","04","02","MA",22574,0.0289,0.0289 +"25","04","04","MA",697329,0.8973,0.8927 +"25","04","05","MA",4401,0.0055,0.0056 +"25","04","08","MA",1082,0.0014,0.0014 +"25","04","09","MA",55717,0.0719,0.0713 +"25","05","03","MA",13491,0.0169,0.0173 +"25","05","04","MA",22187,0.0285,0.0284 +"25","05","05","MA",741227,0.9324,0.949 +"25","05","06","MA",696,0.0009,0.0009 +"25","05","07","MA",3500,0.0044,0.0045 +"25","06","03","MA",27740,0.0348,0.0355 +"25","06","06","MA",753361,0.9685,0.9645 +"25","07","05","MA",5060,0.0064,0.0065 +"25","07","07","MA",771009,0.964,0.9871 +"25","07","08","MA",5033,0.0063,0.0064 +"25","08","04","MA",25058,0.0322,0.0321 +"25","08","07","MA",25307,0.0316,0.0324 +"25","08","08","MA",730737,0.9152,0.9355 +"25","09","04","MA",690,0.0009,0.0009 +"25","09","08","MA",61606,0.0772,0.0789 +"25","09","09","MA",718806,0.9281,0.9202 +"26","01","01","MI",671739,0.9537,0.8663 +"26","01","04","MI",63397,0.0908,0.0818 +"26","01","05","MI",40239,0.06,0.0519 +"26","02","01","MI",32611,0.0463,0.0421 +"26","02","02","MI",178717,0.236,0.2306 +"26","02","03","MI",232313,0.3083,0.2998 +"26","02","04","MI",326570,0.468,0.4214 +"26","02","07","MI",4786,0.0067,0.0062 +"26","03","02","MI",388414,0.5129,0.5009 +"26","03","03","MI",387000,0.5135,0.4991 +"26","04","02","MI",190190,0.2511,0.2455 +"26","04","03","MI",87736,0.1164,0.1133 +"26","04","06","MI",496674,0.6882,0.6412 +"26","05","03","MI",46574,0.0618,0.0601 +"26","05","06","MI",224980,0.3118,0.2905 +"26","05","07","MI",502990,0.7032,0.6494 +"26","06","07","MI",103140,0.1442,0.133 +"26","06","11","MI",233077,0.3076,0.3006 +"26","06","12","MI",439056,0.5876,0.5663 +"26","07","04","MI",147222,0.211,0.1899 +"26","07","05","MI",203,0.0003,0.0003 +"26","07","07","MI",104389,0.1459,0.1347 +"26","07","08","MI",478766,0.6471,0.6176 +"26","07","11","MI",44658,0.0589,0.0576 +"26","08","04","MI",160665,0.2302,0.2072 +"26","08","05","MI",614564,0.9163,0.7928 +"26","09","05","MI",15697,0.0234,0.0203 +"26","09","08","MI",178791,0.2416,0.2307 +"26","09","10","MI",552582,0.762,0.713 +"26","09","11","MI",27892,0.0368,0.036 +"26","10","08","MI",82324,0.1113,0.1062 +"26","10","09","MI",513288,0.7125,0.6621 +"26","10","10","MI",172595,0.238,0.2226 +"26","10","11","MI",7011,0.0093,0.009 +"26","11","09","MI",192254,0.2669,0.2479 +"26","11","11","MI",349638,0.4614,0.4508 +"26","11","14","MI",233676,0.3379,0.3013 +"26","12","09","MI",14886,0.0207,0.0192 +"26","12","11","MI",95535,0.1261,0.1232 +"26","12","12","MI",109976,0.1472,0.1419 +"26","12","13","MI",412890,0.6121,0.5326 +"26","12","14","MI",141960,0.2053,0.1831 +"26","13","12","MI",198124,0.2652,0.2554 +"26","13","13","MI",261676,0.3879,0.3374 +"26","13","14","MI",315866,0.4568,0.4072 +"27","01","01","MN",642930,0.9308,0.9013 +"27","01","02","MN",70381,0.0962,0.0987 +"27","02","01","MN",40258,0.0583,0.0564 +"27","02","02","MN",661577,0.9038,0.9275 +"27","02","04","MN",11477,0.0158,0.0161 +"27","03","03","MN",671145,0.9095,0.9409 +"27","03","05","MN",22730,0.0309,0.0319 +"27","03","06","MN",19436,0.0265,0.0272 +"27","04","04","MN",713312,0.9819,1 +"27","05","03","MN",6,0,0 +"27","05","05","MN",713306,0.9691,1 +"27","06","03","MN",66747,0.0905,0.0936 +"27","06","06","MN",646565,0.8809,0.9064 +"27","07","01","MN",7538,0.0109,0.0106 +"27","07","06","MN",24252,0.033,0.034 +"27","07","07","MN",621075,0.9221,0.8707 +"27","07","08","MN",60447,0.0894,0.0847 +"27","08","04","MN",1687,0.0023,0.0024 +"27","08","06","MN",43704,0.0595,0.0613 +"27","08","07","MN",52439,0.0779,0.0735 +"27","08","08","MN",615482,0.9106,0.8629 +"28","01","01","MS",739345,0.9751,0.9987 +"28","01","03","MS",974,0.0013,0.0013 +"28","02","02","MS",673948,0.9992,0.9103 +"28","02","03","MS",66371,0.0884,0.0897 +"28","03","01","MS",18888,0.0249,0.0255 +"28","03","02","MS",543,0.0008,0.0007 +"28","03","03","MS",683694,0.9103,0.9235 +"28","03","04","MS",37195,0.0478,0.0502 +"28","04","04","MS",740321,0.9522,1 +"29","01","01","MO",692318,0.9686,0.8999 +"29","01","02","MO",77046,0.0991,0.1001 +"29","02","01","MO",22428,0.0314,0.0292 +"29","02","02","MO",548515,0.7053,0.7129 +"29","02","03","MO",198421,0.2466,0.2579 +"29","03","02","MO",107241,0.1379,0.1394 +"29","03","03","MO",447420,0.5562,0.5815 +"29","03","04","MO",136120,0.1751,0.1769 +"29","03","08","MO",78583,0.1093,0.1021 +"29","04","03","MO",15057,0.0187,0.0196 +"29","04","04","MO",588808,0.7576,0.7653 +"29","04","05","MO",107139,0.1359,0.1393 +"29","04","06","MO",26841,0.0344,0.0349 +"29","04","07","MO",31519,0.0398,0.041 +"29","05","05","MO",651788,0.8268,0.8472 +"29","05","06","MO",117576,0.1505,0.1528 +"29","06","03","MO",59574,0.0741,0.0774 +"29","06","04","MO",43824,0.0564,0.057 +"29","06","05","MO",29378,0.0373,0.0382 +"29","06","06","MO",636588,0.8151,0.8274 +"29","07","04","MO",8465,0.0109,0.011 +"29","07","07","MO",760900,0.9602,0.989 +"29","08","02","MO",44891,0.0577,0.0583 +"29","08","03","MO",84013,0.1044,0.1092 +"29","08","08","MO",640460,0.8907,0.8325 +"30","01","00","MT",542112,0.5,1 +"30","02","00","MT",542113,0.5,1 +"31","01","01","NE",584386,0.8857,0.8938 +"31","01","02","NE",69436,0.0991,0.1062 +"31","02","01","NE",22278,0.0338,0.0341 +"31","02","02","NE",631569,0.9009,0.9659 +"31","03","01","NE",53152,0.0806,0.0813 +"31","03","03","NE",600683,1,0.9187 +"32","01","01","NV",399260,0.5681,0.516 +"32","01","03","NV",343896,0.402,0.4444 +"32","01","04","NV",30602,0.0389,0.0395 +"32","02","02","NV",758819,1,0.9761 +"32","02","04","NV",18598,0.0236,0.0239 +"32","03","01","NV",179222,0.255,0.2312 +"32","03","03","NV",508079,0.5939,0.6553 +"32","03","04","NV",87998,0.1118,0.1135 +"32","04","01","NV",124340,0.1769,0.1598 +"32","04","02","NV",1,0,0 +"32","04","03","NV",3553,0.0042,0.0046 +"32","04","04","NV",650246,0.8258,0.8356 +"33","01","01","NH",688764,0.9871,1 +"33","02","01","NH",8973,0.0129,0.013 +"33","02","02","NH",679792,1,0.987 +"34","01","01","NJ",737308,0.9791,0.9554 +"34","01","02","NJ",34436,0.047,0.0446 +"34","02","01","NJ",15751,0.0209,0.0202 +"34","02","02","NJ",695993,0.9502,0.8934 +"34","02","03","NJ",67312,0.0891,0.0864 +"34","03","02","NJ",2048,0.0028,0.0026 +"34","03","03","NJ",432394,0.572,0.5558 +"34","03","04","NJ",233058,0.2922,0.2996 +"34","03","06","NJ",41502,0.0542,0.0533 +"34","03","12","NJ",69022,0.0878,0.0887 +"34","04","03","NJ",256167,0.3389,0.3314 +"34","04","04","NJ",494902,0.6205,0.6403 +"34","04","06","NJ",21900,0.0286,0.0283 +"34","05","05","NJ",603593,0.8078,0.7806 +"34","05","09","NJ",150486,0.1899,0.1946 +"34","05","11","NJ",19139,0.0251,0.0248 +"34","06","04","NJ",69648,0.0873,0.09 +"34","06","06","NJ",692791,0.9056,0.8953 +"34","06","12","NJ",11329,0.0144,0.0146 +"34","07","05","NJ",80562,0.1078,0.104 +"34","07","07","NJ",558490,0.7348,0.7213 +"34","07","10","NJ",45696,0.056,0.059 +"34","07","11","NJ",57901,0.076,0.0748 +"34","07","12","NJ",31645,0.0403,0.0409 +"34","08","08","NJ",724806,0.8824,0.9384 +"34","08","10","NJ",47560,0.0583,0.0616 +"34","09","05","NJ",63042,0.0844,0.0817 +"34","09","08","NJ",34464,0.042,0.0446 +"34","09","09","NJ",641835,0.8101,0.8313 +"34","09","11","NJ",32719,0.0429,0.0424 +"34","10","07","NJ",69666,0.0917,0.0901 +"34","10","08","NJ",23905,0.0291,0.0309 +"34","10","10","NJ",624660,0.7655,0.8075 +"34","10","11","NJ",55305,0.0726,0.0715 +"34","11","07","NJ",40170,0.0529,0.0519 +"34","11","08","NJ",38222,0.0465,0.0494 +"34","11","10","NJ",98092,0.1202,0.1269 +"34","11","11","NJ",596779,0.7833,0.7718 +"34","12","06","NJ",8831,0.0115,0.0114 +"34","12","07","NJ",91732,0.1207,0.1184 +"34","12","12","NJ",674133,0.8575,0.8702 +"35","01","01","NM",528092,0.7603,0.7482 +"35","01","02","NM",55518,0.0778,0.0787 +"35","01","03","NM",122222,0.1724,0.1732 +"35","02","01","NM",166485,0.2397,0.2359 +"35","02","02","NM",518069,0.7256,0.734 +"35","02","03","NM",21292,0.03,0.0302 +"35","03","02","NM",140435,0.1967,0.199 +"35","03","03","NM",565409,0.7976,0.801 +"36","01","01","NY",536234,0.7243,0.6902 +"36","01","03","NY",240737,0.3257,0.3098 +"36","02","01","NY",204085,0.2757,0.2627 +"36","02","02","NY",572886,0.7868,0.7373 +"36","03","02","NY",124236,0.1706,0.1599 +"36","03","03","NY",498460,0.6743,0.6415 +"36","03","04","NY",94052,0.1252,0.121 +"36","03","05","NY",19865,0.0255,0.0256 +"36","03","06","NY",40358,0.0525,0.0519 +"36","04","02","NY",31034,0.0426,0.0399 +"36","04","04","NY",657380,0.8748,0.8461 +"36","04","05","NY",88557,0.1137,0.114 +"36","05","05","NY",670310,0.8607,0.8627 +"36","05","06","NY",48054,0.0625,0.0618 +"36","05","07","NY",14528,0.019,0.0187 +"36","05","08","NY",44079,0.0548,0.0567 +"36","06","05","NY",48,0.0001,0.0001 +"36","06","06","NY",626822,0.8149,0.8068 +"36","06","14","NY",150101,0.2001,0.1932 +"36","07","06","NY",54013,0.0702,0.0695 +"36","07","07","NY",376808,0.494,0.485 +"36","07","08","NY",121610,0.1512,0.1565 +"36","07","12","NY",158389,0.1951,0.2039 +"36","07","14","NY",66151,0.0882,0.0851 +"36","08","07","NY",17238,0.0226,0.0222 +"36","08","08","NY",576030,0.7161,0.7414 +"36","08","09","NY",117631,0.1556,0.1514 +"36","08","11","NY",66073,0.0862,0.085 +"36","09","08","NY",46411,0.0577,0.0597 +"36","09","09","NY",557672,0.7378,0.7178 +"36","09","10","NY",144350,0.1796,0.1858 +"36","09","11","NY",28539,0.0372,0.0367 +"36","10","07","NY",353686,0.4636,0.4552 +"36","10","08","NY",16270,0.0202,0.0209 +"36","10","09","NY",80539,0.1066,0.1037 +"36","10","10","NY",219089,0.2726,0.282 +"36","10","12","NY",107387,0.1323,0.1382 +"36","11","07","NY",573,0.0008,0.0007 +"36","11","10","NY",104774,0.1303,0.1348 +"36","11","11","NY",671624,0.8765,0.8644 +"36","12","10","NY",305013,0.3795,0.3926 +"36","12","12","NY",471772,0.5812,0.6072 +"36","12","13","NY",186,0.0003,0.0002 +"36","13","10","NY",30577,0.038,0.0394 +"36","13","12","NY",1302,0.0016,0.0017 +"36","13","13","NY",683108,0.9277,0.8792 +"36","13","15","NY",60809,0.0792,0.0783 +"36","13","16","NY",1175,0.0015,0.0015 +"36","14","12","NY",72838,0.0897,0.0937 +"36","14","14","NY",447681,0.5969,0.5762 +"36","14","15","NY",212243,0.2766,0.2732 +"36","14","16","NY",44210,0.0574,0.0569 +"36","15","13","NY",53054,0.0721,0.0683 +"36","15","14","NY",86092,0.1148,0.1108 +"36","15","15","NY",494283,0.6442,0.6362 +"36","15","16","NY",143542,0.1863,0.1847 +"36","16","16","NY",581474,0.7548,0.7484 +"36","16","17","NY",195497,0.256,0.2516 +"36","17","17","NY",568254,0.744,0.7314 +"36","17","18","NY",196241,0.2622,0.2526 +"36","17","19","NY",12476,0.0179,0.0161 +"36","18","18","NY",552201,0.7378,0.7107 +"36","18","19","NY",224770,0.3217,0.2893 +"36","19","19","NY",332191,0.4755,0.4275 +"36","19","22","NY",300959,0.432,0.3873 +"36","19","23","NY",143821,0.2074,0.1851 +"36","20","20","NY",682881,0.915,0.8789 +"36","20","21","NY",94090,0.1335,0.1211 +"36","21","19","NY",129236,0.185,0.1663 +"36","21","20","NY",63409,0.085,0.0816 +"36","21","21","NY",533081,0.7561,0.6861 +"36","21","22","NY",51245,0.0736,0.066 +"36","22","22","NY",300455,0.4313,0.3867 +"36","22","24","NY",476516,0.6643,0.6133 +"36","23","23","NY",446785,0.6442,0.575 +"36","23","26","NY",48374,0.0652,0.0623 +"36","23","27","NY",281812,0.3914,0.3627 +"36","24","21","NY",77870,0.1104,0.1002 +"36","24","22","NY",43951,0.0631,0.0566 +"36","24","23","NY",102903,0.1484,0.1324 +"36","24","24","NY",240791,0.3357,0.3099 +"36","24","27","NY",311456,0.4325,0.4009 +"36","25","25","NY",733041,1,0.9435 +"36","25","27","NY",43930,0.061,0.0565 +"36","26","26","NY",694077,0.9348,0.8933 +"36","26","27","NY",82894,0.1151,0.1067 +"37","01","1","NC",570168,0.8294,0.7646 +"37","01","3","NC",105850,0.1419,0.142 +"37","01","4","NC",69652,0.0794,0.0934 +"37","02","2","NC",528439,0.579,0.7087 +"37","02","4","NC",217232,0.2476,0.2913 +"37","03","1","NC",46668,0.0679,0.0626 +"37","03","3","NC",639990,0.858,0.8583 +"37","03","7","NC",59012,0.0716,0.0791 +"37","04","13","NC",210960,0.2734,0.2829 +"37","04","2","NC",453,0.0005,0.0006 +"37","04","4","NC",534257,0.6089,0.7165 +"37","05","10","NC",253945,0.3274,0.3406 +"37","05","11","NC",32704,0.0418,0.0439 +"37","05","13","NC",42743,0.0554,0.0573 +"37","05","5","NC",225828,0.302,0.3029 +"37","05","6","NC",190450,0.2359,0.2554 +"37","06","10","NC",106778,0.1377,0.1432 +"37","06","13","NC",22105,0.0286,0.0296 +"37","06","6","NC",616787,0.764,0.8272 +"37","07","3","NC",9,0,0 +"37","07","7","NC",502805,0.6104,0.6743 +"37","07","8","NC",126169,0.1537,0.1692 +"37","07","9","NC",116688,0.1484,0.1565 +"37","08","10","NC",52,0.0001,0.0001 +"37","08","13","NC",315573,0.4089,0.4232 +"37","08","6","NC",69,0.0001,0.0001 +"37","08","8","NC",135929,0.1656,0.1823 +"37","08","9","NC",294048,0.3739,0.3943 +"37","09","13","NC",177722,0.2303,0.2383 +"37","09","4","NC",56296,0.0642,0.0755 +"37","09","6","NC",19,0,0 +"37","09","8","NC",351547,0.4282,0.4714 +"37","09","9","NC",160088,0.2036,0.2147 +"37","10","10","NC",414848,0.5349,0.5563 +"37","10","11","NC",3874,0.005,0.0052 +"37","10","13","NC",2587,0.0034,0.0035 +"37","10","5","NC",324361,0.4337,0.435 +"37","11","11","NC",745639,0.9532,1 +"37","11","5","NC",32,0,0 +"37","12","12","NC",567420,0.6305,0.761 +"37","12","8","NC",178168,0.217,0.2389 +"37","12","9","NC",83,0.0001,0.0001 +"37","13","1","NC",70630,0.1027,0.0947 +"37","13","2","NC",383860,0.4206,0.5148 +"37","13","3","NC",22,0,0 +"37","13","4","NC",13,0,0 +"37","13","7","NC",261936,0.318,0.3513 +"37","13","8","NC",29209,0.0356,0.0392 +"37","14","-","NC",13,1,0 +"37","14","12","NC",332499,0.3695,0.4459 +"37","14","5","NC",197619,0.2643,0.265 +"37","14","9","NC",215540,0.2741,0.2891 +"38","00","00","ND",779094,1,1 +"39","01","01","OH",546669,0.7113,0.695 +"39","01","02","OH",239961,0.3266,0.305 +"39","02","02","OH",430367,0.5857,0.5471 +"39","02","06","OH",177720,0.2586,0.2259 +"39","02","15","OH",178542,0.233,0.227 +"39","03","03","OH",539259,0.666,0.6855 +"39","03","12","OH",159655,0.1974,0.203 +"39","03","15","OH",87716,0.1145,0.1115 +"39","04","04","OH",369753,0.5163,0.47 +"39","04","05","OH",31767,0.0435,0.0404 +"39","04","07","OH",102547,0.1391,0.1304 +"39","04","12","OH",282563,0.3493,0.3592 +"39","05","04","OH",244059,0.3408,0.3103 +"39","05","05","OH",297047,0.4063,0.3776 +"39","05","07","OH",120549,0.1635,0.1532 +"39","05","08","OH",17724,0.0238,0.0225 +"39","05","09","OH",107251,0.1523,0.1363 +"39","06","06","OH",428682,0.6239,0.545 +"39","06","07","OH",144800,0.1964,0.1841 +"39","06","13","OH",203489,0.2913,0.2587 +"39","06","16","OH",9659,0.0131,0.0123 +"39","07","07","OH",73679,0.0999,0.0937 +"39","07","09","OH",113384,0.161,0.1441 +"39","07","11","OH",37741,0.0545,0.048 +"39","07","14","OH",51046,0.0699,0.0649 +"39","07","16","OH",510780,0.6911,0.6493 +"39","08","01","OH",221881,0.2887,0.2821 +"39","08","02","OH",64465,0.0877,0.082 +"39","08","08","OH",500283,0.6709,0.636 +"39","09","04","OH",70422,0.0983,0.0895 +"39","09","05","OH",402238,0.5502,0.5113 +"39","09","09","OH",313970,0.4459,0.3991 +"39","10","08","OH",81355,0.1091,0.1034 +"39","10","10","OH",705275,0.9669,0.8966 +"39","11","09","OH",169446,0.2407,0.2154 +"39","11","11","OH",560772,0.8097,0.7129 +"39","11","14","OH",56412,0.0773,0.0717 +"39","12","06","OH",80716,0.1175,0.1026 +"39","12","07","OH",152802,0.2072,0.1942 +"39","12","12","OH",286499,0.3542,0.3642 +"39","12","15","OH",266613,0.3479,0.3389 +"39","13","07","OH",142963,0.1939,0.1817 +"39","13","11","OH",94076,0.1358,0.1196 +"39","13","13","OH",222859,0.3191,0.2833 +"39","13","14","OH",138217,0.1893,0.1757 +"39","13","16","OH",188515,0.2551,0.2396 +"39","14","13","OH",272093,0.3896,0.3459 +"39","14","14","OH",484381,0.6635,0.6158 +"39","14","16","OH",30156,0.0408,0.0383 +"39","15","03","OH",270490,0.334,0.3439 +"39","15","04","OH",31943,0.0446,0.0406 +"39","15","08","OH",146374,0.1963,0.1861 +"39","15","10","OH",24130,0.0331,0.0307 +"39","15","12","OH",80227,0.0992,0.102 +"39","15","15","OH",233466,0.3047,0.2968 +"40","01","01","OK",758164,0.9149,0.9574 +"40","01","02","OK",690,0.001,0.0009 +"40","01","03","OK",33017,0.042,0.0417 +"40","02","01","OK",70483,0.0851,0.089 +"40","02","02","OK",721388,0.999,0.911 +"40","03","01","OK",30,0,0 +"40","03","03","OK",589538,0.7508,0.7445 +"40","03","04","OK",21541,0.027,0.0272 +"40","03","05","OK",180762,0.2191,0.2283 +"40","04","04","OK",761773,0.9539,0.962 +"40","04","05","OK",30097,0.0365,0.038 +"40","05","03","OK",162636,0.2071,0.2054 +"40","05","04","OK",15238,0.0191,0.0192 +"40","05","05","OK",613996,0.7444,0.7754 +"41","01","01","OR",578179,0.6691,0.8187 +"41","01","03","OR",100640,0.1183,0.1425 +"41","01","05","OR",27390,0.0323,0.0388 +"41","02","02","OR",653012,0.7674,0.9247 +"41","02","04","OR",53197,0.0646,0.0753 +"41","03","02","OR",23977,0.0282,0.034 +"41","03","03","OR",676128,0.7944,0.9574 +"41","03","05","OR",6104,0.0072,0.0086 +"41","04","04","OR",642858,0.7805,0.9103 +"41","04","05","OR",63350,0.0747,0.0897 +"41","05","01","OR",30,0,0 +"41","05","02","OR",173982,0.2045,0.2464 +"41","05","03","OR",74310,0.0873,0.1052 +"41","05","04","OR",127553,0.1549,0.1806 +"41","05","05","OR",330334,0.3898,0.4678 +"41","06","01","OR",285843,0.3308,0.4048 +"41","06","05","OR",420369,0.496,0.5952 +"42","01","01","PA",713282,0.9736,0.9326 +"42","01","04","PA",51584,0.0684,0.0674 +"42","02","02","PA",733054,1,0.9584 +"42","02","03","PA",31811,0.0423,0.0416 +"42","03","03","PA",720246,0.9577,0.9417 +"42","03","04","PA",19,0,0 +"42","03","05","PA",44599,0.061,0.0583 +"42","04","01","PA",19364,0.0264,0.0253 +"42","04","04","PA",624540,0.8276,0.8165 +"42","04","09","PA",120961,0.1713,0.1581 +"42","05","04","PA",78453,0.104,0.1026 +"42","05","05","PA",686413,0.939,0.8974 +"42","06","06","PA",752938,1,0.9844 +"42","06","09","PA",11926,0.0169,0.0156 +"42","07","07","PA",692643,0.9287,0.9056 +"42","07","08","PA",7473,0.0105,0.0098 +"42","07","09","PA",64749,0.0917,0.0847 +"42","08","07","PA",53139,0.0713,0.0695 +"42","08","08","PA",704423,0.9879,0.921 +"42","08","09","PA",7304,0.0103,0.0095 +"42","09","08","PA",1190,0.0017,0.0016 +"42","09","09","PA",501306,0.7098,0.6554 +"42","09","12","PA",262368,0.382,0.343 +"42","10","10","PA",735826,0.9688,0.962 +"42","10","11","PA",7387,0.0099,0.0097 +"42","10","13","PA",21651,0.0312,0.0283 +"42","11","10","PA",23660,0.0312,0.0309 +"42","11","11","PA",741204,0.9901,0.9691 +"42","12","14","PA",110935,0.1609,0.145 +"42","12","18","PA",653929,0.9307,0.855 +"42","13","12","PA",115494,0.1682,0.151 +"42","13","13","PA",561355,0.8079,0.7339 +"42","13","15","PA",88015,0.1305,0.1151 +"42","14","13","PA",111807,0.1609,0.1462 +"42","14","14","PA",578654,0.8391,0.7565 +"42","14","15","PA",74405,0.1103,0.0973 +"42","15","12","PA",308920,0.4498,0.4039 +"42","15","15","PA",455944,0.6761,0.5961 +"42","16","15","PA",55961,0.083,0.0732 +"42","16","16","PA",688028,1,0.8995 +"42","16","17","PA",20876,0.0283,0.0273 +"42","17","17","PA",716180,0.9717,0.9363 +"42","17","18","PA",48684,0.0693,0.0637 +"44","01","01","RI",546128,0.9852,0.9964 +"44","01","02","RI",1950,0.0036,0.0036 +"44","02","01","RI",8179,0.0148,0.0149 +"44","02","02","RI",541122,0.9964,0.9851 +"45","01","01","SC",678404,0.8284,0.9278 +"45","01","06","SC",52799,0.0817,0.0722 +"45","02","02","SC",707432,0.9801,0.9675 +"45","02","06","SC",23771,0.0368,0.0325 +"45","03","03","SC",692784,0.9802,0.9475 +"45","03","04","SC",7111,0.0094,0.0097 +"45","03","05","SC",31309,0.0425,0.0428 +"45","04","03","SC",14001,0.0198,0.0191 +"45","04","04","SC",717203,0.9434,0.9809 +"45","05","04","SC",35919,0.0472,0.0491 +"45","05","05","SC",694939,0.9438,0.9504 +"45","05","06","SC",346,0.0005,0.0005 +"45","06","01","SC",140489,0.1716,0.1921 +"45","06","02","SC",14397,0.0199,0.0197 +"45","06","05","SC",10038,0.0136,0.0137 +"45","06","06","SC",565994,0.8755,0.7741 +"45","06","07","SC",286,0.0004,0.0004 +"45","07","06","SC",3553,0.0055,0.0049 +"45","07","07","SC",727650,0.9996,0.9951 +"46","00","00","SD",886667,1,1 +"47","01","01","TN",726822,1,0.9465 +"47","01","02","TN",41049,0.053,0.0535 +"47","02","02","TN",732785,0.947,0.9543 +"47","02","03","TN",35086,0.0475,0.0457 +"47","03","03","TN",687471,0.9309,0.8953 +"47","03","04","TN",80400,0.0968,0.1047 +"47","04","04","TN",635478,0.7649,0.8276 +"47","04","06","TN",57889,0.0714,0.0754 +"47","04","07","TN",74505,0.0906,0.097 +"47","05","04","TN",108811,0.131,0.1417 +"47","05","05","TN",346457,0.4329,0.4512 +"47","05","06","TN",112307,0.1385,0.1463 +"47","05","07","TN",200296,0.2436,0.2608 +"47","06","03","TN",15969,0.0216,0.0208 +"47","06","04","TN",6158,0.0074,0.008 +"47","06","05","TN",188668,0.2358,0.2457 +"47","06","06","TN",557076,0.6868,0.7255 +"47","07","05","TN",265122,0.3313,0.3453 +"47","07","06","TN",83827,0.1033,0.1092 +"47","07","07","TN",418834,0.5093,0.5454 +"47","07","08","TN",88,0.0001,0.0001 +"47","08","07","TN",128734,0.1565,0.1677 +"47","08","08","TN",637367,0.8897,0.83 +"47","08","09","TN",1770,0.0026,0.0023 +"47","09","08","TN",78892,0.1101,0.1027 +"47","09","09","TN",688979,0.9974,0.8973 +"48","01","01","TX",555174,0.7686,0.7238 +"48","01","04","TX",211813,0.2691,0.2762 +"48","02","02","TX",264821,0.3251,0.3453 +"48","02","08","TX",382026,0.4169,0.4981 +"48","02","18","TX",41090,0.0516,0.0536 +"48","02","36","TX",79050,0.1014,0.1031 +"48","03","03","TX",561979,0.6023,0.7327 +"48","03","04","TX",140042,0.1779,0.1826 +"48","03","32","TX",64966,0.0823,0.0847 +"48","04","03","TX",294509,0.3157,0.384 +"48","04","04","TX",421285,0.5351,0.5493 +"48","04","26","TX",51193,0.0543,0.0667 +"48","05","01","TX",16141,0.0223,0.021 +"48","05","04","TX",14116,0.0179,0.0184 +"48","05","05","TX",479400,0.6122,0.625 +"48","05","32","TX",257330,0.3259,0.3355 +"48","06","05","TX",108334,0.1383,0.1412 +"48","06","06","TX",356841,0.4325,0.4653 +"48","06","17","TX",12511,0.0155,0.0163 +"48","06","24","TX",65772,0.0799,0.0858 +"48","06","25","TX",83797,0.099,0.1093 +"48","06","33","TX",139732,0.1939,0.1822 +"48","07","02","TX",96982,0.119,0.1264 +"48","07","07","TX",262847,0.3282,0.3427 +"48","07","09","TX",257829,0.3345,0.3362 +"48","07","18","TX",8898,0.0112,0.0116 +"48","07","22","TX",140431,0.1444,0.1831 +"48","08","02","TX",14344,0.0176,0.0187 +"48","08","07","TX",231116,0.2886,0.3013 +"48","08","08","TX",325528,0.3552,0.4244 +"48","08","10","TX",145876,0.1555,0.1902 +"48","08","36","TX",50123,0.0643,0.0654 +"48","09","02","TX",4379,0.0054,0.0057 +"48","09","07","TX",50584,0.0632,0.066 +"48","09","09","TX",505685,0.6561,0.6593 +"48","09","14","TX",6806,0.0088,0.0089 +"48","09","18","TX",29562,0.0371,0.0385 +"48","09","22","TX",133151,0.1369,0.1736 +"48","09","29","TX",36820,0.0513,0.048 +"48","10","08","TX",42723,0.0466,0.0557 +"48","10","10","TX",279373,0.2978,0.3642 +"48","10","17","TX",277843,0.3449,0.3623 +"48","10","21","TX",601,0.0007,0.0008 +"48","10","25","TX",117248,0.1385,0.1529 +"48","10","31","TX",49199,0.0527,0.0641 +"48","11","11","TX",570685,0.7319,0.7441 +"48","11","25","TX",67519,0.0798,0.088 +"48","11","31","TX",128783,0.1379,0.1679 +"48","12","06","TX",34722,0.0421,0.0453 +"48","12","12","TX",718405,0.831,0.9367 +"48","12","24","TX",9198,0.0112,0.012 +"48","12","26","TX",71,0.0001,0.0001 +"48","12","33","TX",4591,0.0064,0.006 +"48","13","12","TX",680,0.0008,0.0009 +"48","13","13","TX",629009,0.8891,0.8201 +"48","13","26","TX",137298,0.1456,0.179 +"48","14","14","TX",681614,0.8799,0.8887 +"48","14","22","TX",565,0.0006,0.0007 +"48","14","36","TX",84808,0.1088,0.1106 +"48","15","15","TX",527191,0.6527,0.6874 +"48","15","28","TX",186725,0.239,0.2435 +"48","15","34","TX",53071,0.0746,0.0692 +"48","16","16","TX",720471,0.9513,0.9394 +"48","16","23","TX",46515,0.0557,0.0606 +"48","17","01","TX",151048,0.2091,0.1969 +"48","17","08","TX",102253,0.1116,0.1333 +"48","17","10","TX",7403,0.0079,0.0097 +"48","17","17","TX",419449,0.5207,0.5469 +"48","17","31","TX",86834,0.093,0.1132 +"48","18","02","TX",153179,0.188,0.1997 +"48","18","18","TX",607268,0.762,0.7918 +"48","18","29","TX",6540,0.0091,0.0085 +"48","19","11","TX",46849,0.0601,0.0611 +"48","19","13","TX",9090,0.0128,0.0119 +"48","19","19","TX",711048,0.9721,0.9271 +"48","20","20","TX",635137,0.8226,0.8281 +"48","20","21","TX",20470,0.0241,0.0267 +"48","20","23","TX",104457,0.1252,0.1362 +"48","20","35","TX",6923,0.0083,0.009 +"48","21","20","TX",12096,0.0157,0.0158 +"48","21","21","TX",602532,0.7105,0.7856 +"48","21","23","TX",4466,0.0054,0.0058 +"48","21","25","TX",63798,0.0754,0.0832 +"48","21","28","TX",9476,0.0121,0.0124 +"48","21","35","TX",74619,0.0896,0.0973 +"48","22","07","TX",27610,0.0345,0.036 +"48","22","09","TX",7284,0.0094,0.0095 +"48","22","10","TX",54111,0.0577,0.0706 +"48","22","14","TX",14686,0.019,0.0191 +"48","22","22","TX",585471,0.6021,0.7633 +"48","22","27","TX",77825,0.1052,0.1015 +"48","23","16","TX",36891,0.0487,0.0481 +"48","23","20","TX",92900,0.1203,0.1211 +"48","23","21","TX",2134,0.0025,0.0028 +"48","23","23","TX",633614,0.7591,0.8261 +"48","23","28","TX",1448,0.0019,0.0019 +"48","24","05","TX",19766,0.0252,0.0258 +"48","24","12","TX",65587,0.0759,0.0855 +"48","24","24","TX",372695,0.453,0.4859 +"48","24","26","TX",176455,0.1871,0.2301 +"48","24","32","TX",132452,0.1677,0.1727 +"48","24","33","TX",32,0,0 +"48","25","06","TX",346164,0.4196,0.4513 +"48","25","11","TX",162160,0.208,0.2114 +"48","25","12","TX",50048,0.0579,0.0653 +"48","25","13","TX",8472,0.012,0.011 +"48","25","19","TX",20376,0.0279,0.0266 +"48","25","25","TX",170312,0.2012,0.2221 +"48","25","33","TX",9455,0.0131,0.0123 +"48","26","12","TX",26779,0.031,0.0349 +"48","26","13","TX",60899,0.0861,0.0794 +"48","26","24","TX",101220,0.123,0.132 +"48","26","26","TX",578089,0.613,0.7537 +"48","27","10","TX",2264,0.0024,0.003 +"48","27","27","TX",661872,0.8948,0.863 +"48","27","34","TX",83678,0.1175,0.1091 +"48","27","35","TX",19173,0.023,0.025 +"48","28","15","TX",88626,0.1097,0.1156 +"48","28","20","TX",11216,0.0145,0.0146 +"48","28","23","TX",45597,0.0546,0.0594 +"48","28","28","TX",478191,0.6121,0.6235 +"48","28","35","TX",143357,0.1722,0.1869 +"48","29","18","TX",110090,0.1381,0.1435 +"48","29","22","TX",9046,0.0093,0.0118 +"48","29","29","TX",647837,0.9032,0.8447 +"48","29","36","TX",14,0,0 +"48","30","05","TX",14977,0.0191,0.0195 +"48","30","06","TX",52650,0.0638,0.0686 +"48","30","30","TX",654868,0.8364,0.8538 +"48","30","32","TX",44492,0.0563,0.058 +"48","31","25","TX",158680,0.1875,0.2069 +"48","31","31","TX",608307,0.6515,0.7931 +"48","32","03","TX",76520,0.082,0.0998 +"48","32","05","TX",160639,0.2051,0.2094 +"48","32","24","TX",113363,0.1378,0.1478 +"48","32","30","TX",126039,0.161,0.1643 +"48","32","32","TX",290426,0.3678,0.3787 +"48","33","06","TX",34601,0.0419,0.0451 +"48","33","12","TX",3025,0.0035,0.0039 +"48","33","24","TX",160458,0.195,0.2092 +"48","33","30","TX",2069,0.0026,0.0027 +"48","33","33","TX",566834,0.7866,0.739 +"48","34","15","TX",191885,0.2376,0.2502 +"48","34","34","TX",575102,0.8079,0.7498 +"48","35","10","TX",58265,0.0621,0.076 +"48","35","20","TX",20754,0.0269,0.0271 +"48","35","21","TX",41202,0.0486,0.0537 +"48","35","25","TX",35895,0.0424,0.0468 +"48","35","28","TX",105436,0.135,0.1375 +"48","35","35","TX",505435,0.6072,0.659 +"48","36","14","TX",71580,0.0924,0.0933 +"48","36","22","TX",103645,0.1066,0.1351 +"48","36","29","TX",26058,0.0363,0.034 +"48","36","36","TX",565704,0.7255,0.7376 +"48","37","10","TX",197312,0.2104,0.2573 +"48","37","17","TX",95803,0.1189,0.1249 +"48","37","21","TX",181131,0.2136,0.2362 +"48","37","25","TX",149203,0.1763,0.1945 +"48","37","31","TX",60649,0.065,0.0791 +"48","37","35","TX",82889,0.0996,0.1081 +"48","38","02","TX",280999,0.3449,0.3664 +"48","38","07","TX",228754,0.2856,0.2982 +"48","38","08","TX",63856,0.0697,0.0833 +"48","38","10","TX",193378,0.2062,0.2521 +"49","01","01","UT",727350,0.9091,0.8893 +"49","01","02","UT",71517,0.0892,0.0874 +"49","01","04","UT",19037,0.0216,0.0233 +"49","02","02","UT",713118,0.8896,0.8719 +"49","02","04","UT",104786,0.1186,0.1281 +"49","03","01","UT",72747,0.0909,0.0889 +"49","03","03","UT",671181,0.8531,0.8206 +"49","03","04","UT",73976,0.0838,0.0904 +"49","04","02","UT",17001,0.0212,0.0208 +"49","04","03","UT",115533,0.1469,0.1413 +"49","04","04","UT",685370,0.776,0.838 +"50","00","00","VT",643077,1,1 +"51","01","01","VA",319599,0.3862,0.4075 +"51","01","02","VA",115713,0.1541,0.1475 +"51","01","04","VA",3428,0.0043,0.0044 +"51","01","07","VA",345516,0.4227,0.4406 +"51","02","02","VA",505165,0.6728,0.6432 +"51","02","03","VA",120802,0.1596,0.1538 +"51","02","04","VA",159471,0.2019,0.203 +"51","03","02","VA",129952,0.1731,0.1667 +"51","03","03","VA",635959,0.8404,0.8158 +"51","03","04","VA",13676,0.0173,0.0175 +"51","04","04","VA",613240,0.7764,0.7788 +"51","04","05","VA",15849,0.0214,0.0201 +"51","04","07","VA",158284,0.1936,0.201 +"51","05","01","VA",16840,0.0203,0.0214 +"51","05","05","VA",512004,0.6926,0.6492 +"51","05","06","VA",138207,0.181,0.1753 +"51","05","07","VA",121563,0.1487,0.1541 +"51","06","06","VA",583681,0.7646,0.7453 +"51","06","09","VA",65177,0.0935,0.0832 +"51","06","10","VA",134322,0.1517,0.1715 +"51","07","01","VA",346606,0.4188,0.4423 +"51","07","05","VA",34499,0.0467,0.044 +"51","07","07","VA",192056,0.235,0.2451 +"51","07","11","VA",210527,0.2612,0.2686 +"51","08","08","VA",715090,0.8958,0.912 +"51","08","10","VA",13711,0.0155,0.0175 +"51","08","11","VA",55292,0.0686,0.0705 +"51","09","05","VA",113301,0.1533,0.1441 +"51","09","06","VA",41513,0.0544,0.0528 +"51","09","09","VA",631578,0.9065,0.8031 +"51","10","01","VA",144561,0.1747,0.1843 +"51","10","05","VA",63558,0.086,0.081 +"51","10","10","VA",573487,0.6477,0.7312 +"51","10","11","VA",2669,0.0033,0.0034 +"51","11","08","VA",83167,0.1042,0.106 +"51","11","10","VA",163902,0.1851,0.2089 +"51","11","11","VA",537428,0.6669,0.6851 +"53","01","01","WA",488664,0.6188,0.633 +"53","01","02","WA",214508,0.2806,0.2778 +"53","01","09","WA",68859,0.089,0.0892 +"53","02","01","WA",173179,0.2193,0.2252 +"53","02","02","WA",547748,0.7166,0.7122 +"53","02","07","WA",48178,0.0603,0.0626 +"53","03","03","WA",750015,0.9706,0.9749 +"53","03","10","WA",19293,0.0246,0.0251 +"53","04","03","WA",22735,0.0294,0.0296 +"53","04","04","WA",728180,0.9685,0.9473 +"53","04","08","WA",17795,0.0228,0.0231 +"53","05","04","WA",23663,0.0315,0.0305 +"53","05","05","WA",751208,1,0.9695 +"53","06","06","WA",712370,0.9668,0.9212 +"53","06","08","WA",6636,0.0085,0.0086 +"53","06","09","WA",23797,0.0308,0.0308 +"53","06","10","WA",30475,0.0388,0.0394 +"53","07","07","WA",750157,0.9384,0.9747 +"53","07","09","WA",19506,0.0252,0.0253 +"53","08","01","WA",127897,0.1619,0.1661 +"53","08","02","WA",2110,0.0028,0.0027 +"53","08","08","WA",613090,0.7855,0.7964 +"53","08","09","WA",9768,0.0126,0.0127 +"53","08","10","WA",16982,0.0216,0.0221 +"53","09","07","WA",1055,0.0013,0.0014 +"53","09","08","WA",116294,0.149,0.1513 +"53","09","09","WA",651489,0.8423,0.8474 +"53","10","06","WA",24428,0.0332,0.0317 +"53","10","08","WA",26679,0.0342,0.0347 +"53","10","10","WA",718523,0.915,0.9336 +"54","01","01","WV",7408,0.0123,0.0083 +"54","01","02","WV",318068,0.5121,0.355 +"54","01","03","WV",570591,1,0.6368 +"54","02","01","WV",594636,0.9877,0.6624 +"54","02","02","WV",303013,0.4879,0.3376 +"55","01","01","WI",631331,0.8679,0.857 +"55","01","02","WI",45413,0.0575,0.0616 +"55","01","04","WI",48160,0.0693,0.0654 +"55","01","05","WI",11811,0.0161,0.016 +"55","02","02","WI",736715,0.9333,1 +"55","03","02","WI",7265,0.0092,0.0099 +"55","03","03","WI",729448,0.9944,0.9901 +"55","03","07","WI",3,0,0 +"55","04","04","WI",647235,0.9307,0.8785 +"55","04","05","WI",87787,0.1193,0.1192 +"55","04","06","WI",1692,0.0023,0.0023 +"55","05","01","WI",96121,0.1321,0.1305 +"55","05","05","WI",635923,0.8645,0.8632 +"55","05","06","WI",4671,0.0064,0.0063 +"55","06","05","WI",50,0.0001,0.0001 +"55","06","06","WI",721411,0.9913,0.9792 +"55","06","08","WI",15253,0.0203,0.0207 +"55","07","03","WI",4136,0.0056,0.0056 +"55","07","07","WI",732579,1,0.9944 +"55","08","08","WI",736714,0.9797,1 +"56","00","00","WY",576851,1,1 +"72","98","98","PR",3285874,1,1 diff --git a/tmd/areas/prepare/data/geocorr2022_cd117_to_cd118.csv b/tmd/areas/prepare/data/geocorr2022_cd117_to_cd118.csv new file mode 100644 index 00000000..330110c7 --- /dev/null +++ b/tmd/areas/prepare/data/geocorr2022_cd117_to_cd118.csv @@ -0,0 +1,1449 @@ +"state","cd118","cd117","stab","pop20","afact2","afact" +"State code","Congressional district code (118th Congress)","Congressional district code (117th Congress)","State abbr.","Total population (2020 Census)","cd117-to-cd118 allocation factor","cd118-to-cd117 allocation factor" +"01","01","01","AL",717754,0.9883,1 +"01","02","01","AL",739,0.001,0.001 +"01","02","02","AL",674947,0.9733,0.9404 +"01","02","03","AL",41867,0.057,0.0583 +"01","02","07","AL",202,0.0003,0.0003 +"01","03","03","AL",693265,0.943,0.9659 +"01","03","04","AL",1697,0.0024,0.0024 +"01","03","06","AL",22792,0.0308,0.0318 +"01","04","04","AL",674218,0.9591,0.9393 +"01","04","05","AL",43533,0.0572,0.0607 +"01","04","07","AL",3,0,0 +"01","05","04","AL",185,0.0003,0.0003 +"01","05","05","AL",717569,0.9428,0.9997 +"01","06","04","AL",5012,0.0071,0.007 +"01","06","06","AL",650382,0.8781,0.9061 +"01","06","07","AL",62360,0.0938,0.0869 +"01","07","01","AL",7783,0.0107,0.0108 +"01","07","02","AL",18519,0.0267,0.0258 +"01","07","04","AL",21870,0.0311,0.0305 +"01","07","06","AL",67536,0.0912,0.0941 +"01","07","07","AL",602046,0.9059,0.8388 +"02","00","00","AK",733391,1,1 +"04","01","04","AZ",1193,0.0015,0.0015 +"04","01","05","AZ",4713,0.0053,0.0059 +"04","01","06","AZ",596142,0.7586,0.7502 +"04","01","07","AZ",26850,0.0341,0.0338 +"04","01","09","AZ",165713,0.2147,0.2085 +"04","02","01","AZ",511992,0.6729,0.6443 +"04","02","04","AZ",282620,0.3514,0.3557 +"04","03","03","AZ",78345,0.1008,0.0986 +"04","03","07","AZ",680516,0.8632,0.8564 +"04","03","09","AZ",35751,0.0463,0.045 +"04","04","05","AZ",239565,0.2719,0.3015 +"04","04","06","AZ",18,0,0 +"04","04","07","AZ",1112,0.0014,0.0014 +"04","04","09","AZ",553916,0.7177,0.6971 +"04","05","04","AZ",157865,0.1963,0.1987 +"04","05","05","AZ",636747,0.7227,0.8013 +"04","06","01","AZ",243055,0.3195,0.3059 +"04","06","02","AZ",545263,0.7324,0.6862 +"04","06","03","AZ",6293,0.0081,0.0079 +"04","07","01","AZ",5803,0.0076,0.0073 +"04","07","02","AZ",199215,0.2676,0.2507 +"04","07","03","AZ",581040,0.7473,0.7312 +"04","07","04","AZ",1337,0.0017,0.0017 +"04","07","07","AZ",7216,0.0092,0.0091 +"04","08","04","AZ",7392,0.0092,0.0093 +"04","08","06","AZ",189698,0.2414,0.2387 +"04","08","07","AZ",30245,0.0384,0.0381 +"04","08","08","AZ",550823,0.6579,0.6932 +"04","08","09","AZ",16452,0.0213,0.0207 +"04","09","03","AZ",111876,0.1439,0.1408 +"04","09","04","AZ",353916,0.44,0.4454 +"04","09","07","AZ",42393,0.0538,0.0534 +"04","09","08","AZ",286427,0.3421,0.3605 +"05","01","01","AR",689147,0.962,0.9158 +"05","01","02","AR",8612,0.0112,0.0114 +"05","01","03","AR",54750,0.0652,0.0728 +"05","02","01","AR",24711,0.0345,0.0328 +"05","02","02","AR",727999,0.9462,0.9672 +"05","03","03","AR",713443,0.8502,0.9472 +"05","03","04","AR",39776,0.0579,0.0528 +"05","04","01","AR",2530,0.0035,0.0034 +"05","04","02","AR",32780,0.0426,0.0435 +"05","04","03","AR",70954,0.0846,0.0942 +"05","04","04","AR",646822,0.9421,0.8589 +"06","01","01","CA",547266,0.7796,0.7158 +"06","01","03","CA",217312,0.2851,0.2842 +"06","02","02","CA",718556,0.9995,0.9384 +"06","02","05","CA",47182,0.0648,0.0616 +"06","03","01","CA",154689,0.2204,0.2023 +"06","03","03","CA",12508,0.0164,0.0164 +"06","03","04","CA",440698,0.5736,0.5764 +"06","03","07","CA",124524,0.1584,0.1629 +"06","03","08","CA",32211,0.0426,0.0421 +"06","04","02","CA",383,0.0005,0.0005 +"06","04","03","CA",337929,0.4434,0.4417 +"06","04","05","CA",426825,0.5864,0.5578 +"06","05","04","CA",317530,0.4133,0.4151 +"06","05","10","CA",326749,0.4255,0.4271 +"06","05","16","CA",3242,0.0043,0.0042 +"06","05","22","CA",117489,0.1491,0.1536 +"06","06","03","CA",28811,0.0378,0.0381 +"06","06","06","CA",358729,0.4553,0.4741 +"06","06","07","CA",369190,0.4696,0.4879 +"06","07","03","CA",8500,0.0112,0.0112 +"06","07","06","CA",429219,0.5447,0.5662 +"06","07","07","CA",292441,0.372,0.3857 +"06","07","09","CA",27960,0.0348,0.0369 +"06","08","03","CA",157154,0.2062,0.2073 +"06","08","05","CA",230991,0.3173,0.3047 +"06","08","09","CA",28775,0.0358,0.038 +"06","08","11","CA",341129,0.4442,0.45 +"06","09","09","CA",553116,0.6879,0.7258 +"06","09","10","CA",208913,0.2721,0.2742 +"06","10","05","CA",22928,0.0315,0.0302 +"06","10","09","CA",165475,0.2058,0.2177 +"06","10","11","CA",426748,0.5558,0.5613 +"06","10","15","CA",145115,0.1821,0.1909 +"06","11","12","CA",710176,0.9211,0.9354 +"06","11","14","CA",49016,0.0657,0.0646 +"06","12","13","CA",758548,0.972,1 +"06","13","09","CA",28692,0.0357,0.0374 +"06","13","10","CA",232257,0.3024,0.3024 +"06","13","16","CA",409466,0.5449,0.5331 +"06","13","21","CA",97657,0.1371,0.1271 +"06","14","13","CA",21834,0.028,0.0288 +"06","14","15","CA",651596,0.8179,0.858 +"06","14","17","CA",85986,0.1098,0.1132 +"06","15","12","CA",60834,0.0789,0.0801 +"06","15","14","CA",632172,0.8467,0.8328 +"06","15","18","CA",66052,0.0881,0.087 +"06","16","14","CA",65433,0.0876,0.0862 +"06","16","17","CA",4862,0.0062,0.0064 +"06","16","18","CA",533744,0.712,0.7034 +"06","16","19","CA",154784,0.207,0.204 +"06","17","17","CA",691844,0.8834,0.9116 +"06","17","18","CA",50943,0.068,0.0671 +"06","17","19","CA",16150,0.0216,0.0213 +"06","18","17","CA",459,0.0006,0.0006 +"06","18","18","CA",7478,0.01,0.0098 +"06","18","19","CA",330564,0.442,0.433 +"06","18","20","CA",424902,0.5705,0.5566 +"06","19","18","CA",91404,0.1219,0.1205 +"06","19","19","CA",246379,0.3294,0.3248 +"06","19","20","CA",319945,0.4295,0.4218 +"06","19","24","CA",100817,0.1362,0.1329 +"06","20","04","CA",10105,0.0132,0.0132 +"06","20","16","CA",2117,0.0028,0.0028 +"06","20","21","CA",63392,0.089,0.0831 +"06","20","22","CA",289166,0.3671,0.3789 +"06","20","23","CA",398434,0.513,0.522 +"06","21","16","CA",336607,0.448,0.4451 +"06","21","21","CA",108907,0.1529,0.144 +"06","21","22","CA",307434,0.3902,0.4065 +"06","21","23","CA",3380,0.0044,0.0045 +"06","22","21","CA",442181,0.6209,0.5653 +"06","22","22","CA",73704,0.0936,0.0942 +"06","22","23","CA",266362,0.3429,0.3405 +"06","23","08","CA",653103,0.8633,0.8555 +"06","23","23","CA",19301,0.0248,0.0253 +"06","23","25","CA",16710,0.0222,0.0219 +"06","23","31","CA",74287,0.0982,0.0973 +"06","24","24","CA",638990,0.8632,0.8356 +"06","24","26","CA",125739,0.1743,0.1644 +"06","25","08","CA",6979,0.0092,0.0091 +"06","25","36","CA",579560,0.7578,0.7533 +"06","25","42","CA",3119,0.0038,0.0041 +"06","25","51","CA",179702,0.2529,0.2336 +"06","26","24","CA",466,0.0006,0.0006 +"06","26","25","CA",119019,0.1579,0.1569 +"06","26","26","CA",595548,0.8257,0.7849 +"06","26","33","CA",43685,0.0603,0.0576 +"06","27","23","CA",89256,0.1149,0.1174 +"06","27","25","CA",617493,0.8192,0.8122 +"06","27","27","CA",176,0.0002,0.0002 +"06","27","28","CA",2,0,0 +"06","27","29","CA",10742,0.0151,0.0141 +"06","27","30","CA",42558,0.0569,0.056 +"06","28","08","CA",6610,0.0087,0.0087 +"06","28","25","CA",4,0,0 +"06","28","27","CA",663597,0.9363,0.8756 +"06","28","28","CA",49400,0.0693,0.0652 +"06","28","31","CA",38126,0.0504,0.0503 +"06","28","34","CA",154,0.0002,0.0002 +"06","29","28","CA",1088,0.0015,0.0014 +"06","29","29","CA",669383,0.9413,0.8837 +"06","29","30","CA",86980,0.1163,0.1148 +"06","30","25","CA",9,0,0 +"06","30","27","CA",5731,0.0081,0.0076 +"06","30","28","CA",647927,0.9088,0.8547 +"06","30","29","CA",2267,0.0032,0.003 +"06","30","30","CA",25584,0.0342,0.0337 +"06","30","33","CA",52024,0.0719,0.0686 +"06","30","34","CA",11379,0.0162,0.015 +"06","30","37","CA",13196,0.0183,0.0174 +"06","31","27","CA",32664,0.0461,0.0431 +"06","31","32","CA",705027,1,0.931 +"06","31","38","CA",19567,0.0277,0.0258 +"06","31","39","CA",4,0,0 +"06","32","25","CA",509,0.0007,0.0007 +"06","32","28","CA",6568,0.0092,0.0087 +"06","32","29","CA",28730,0.0404,0.0379 +"06","32","30","CA",592573,0.7925,0.7814 +"06","32","33","CA",109065,0.1506,0.1438 +"06","32","37","CA",20877,0.0289,0.0275 +"06","33","08","CA",57644,0.0762,0.0761 +"06","33","31","CA",558954,0.7389,0.7382 +"06","33","35","CA",140620,0.1901,0.1857 +"06","34","28","CA",7979,0.0112,0.0105 +"06","34","34","CA",650028,0.9241,0.8579 +"06","34","37","CA",4189,0.0058,0.0055 +"06","34","40","CA",95498,0.1384,0.126 +"06","35","27","CA",6564,0.0093,0.0086 +"06","35","31","CA",85099,0.1125,0.1116 +"06","35","35","CA",596658,0.8068,0.7827 +"06","35","39","CA",24501,0.0334,0.0321 +"06","35","41","CA",20,0,0 +"06","35","42","CA",49497,0.061,0.0649 +"06","36","33","CA",491593,0.679,0.6483 +"06","36","37","CA",162472,0.225,0.2143 +"06","36","43","CA",104159,0.1432,0.1374 +"06","37","34","CA",41856,0.0595,0.0554 +"06","37","37","CA",520271,0.7204,0.6888 +"06","37","40","CA",159596,0.2312,0.2113 +"06","37","43","CA",33594,0.0462,0.0445 +"06","38","35","CA",2298,0.0031,0.003 +"06","38","38","CA",484308,0.6856,0.6392 +"06","38","39","CA",255421,0.3487,0.3371 +"06","38","40","CA",15696,0.0227,0.0207 +"06","39","41","CA",739507,0.9818,0.9775 +"06","39","42","CA",17004,0.0209,0.0225 +"06","40","39","CA",153061,0.2089,0.2016 +"06","40","42","CA",10910,0.0134,0.0144 +"06","40","45","CA",500242,0.6146,0.659 +"06","40","46","CA",39702,0.0565,0.0523 +"06","40","48","CA",52176,0.0724,0.0687 +"06","40","49","CA",2953,0.0039,0.0039 +"06","41","36","CA",182850,0.2391,0.24 +"06","41","41","CA",13711,0.0182,0.018 +"06","41","42","CA",565226,0.6964,0.742 +"06","42","38","CA",65446,0.0926,0.0865 +"06","42","40","CA",365251,0.5292,0.4826 +"06","42","44","CA",35826,0.0504,0.0473 +"06","42","47","CA",290361,0.4063,0.3836 +"06","43","33","CA",112,0.0002,0.0001 +"06","43","37","CA",1172,0.0016,0.0016 +"06","43","43","CA",544210,0.748,0.7209 +"06","43","44","CA",209381,0.2948,0.2774 +"06","44","33","CA",27562,0.0381,0.0364 +"06","44","38","CA",38467,0.0545,0.0508 +"06","44","40","CA",54170,0.0785,0.0715 +"06","44","43","CA",45570,0.0626,0.0601 +"06","44","44","CA",465151,0.6548,0.6137 +"06","44","47","CA",127031,0.1777,0.1676 +"06","45","38","CA",98655,0.1397,0.1301 +"06","45","39","CA",237050,0.3236,0.3125 +"06","45","46","CA",47095,0.067,0.0621 +"06","45","47","CA",256435,0.3588,0.3381 +"06","45","48","CA",119316,0.1656,0.1573 +"06","46","39","CA",62532,0.0854,0.0825 +"06","46","46","CA",615999,0.8765,0.813 +"06","46","47","CA",40844,0.0572,0.0539 +"06","46","48","CA",38268,0.0531,0.0505 +"06","47","45","CA",313743,0.3854,0.4133 +"06","47","48","CA",445318,0.6182,0.5867 +"06","48","36","CA",2343,0.0031,0.0031 +"06","48","42","CA",165899,0.2044,0.2187 +"06","48","49","CA",188,0.0003,0.0002 +"06","48","50","CA",504993,0.667,0.6657 +"06","48","51","CA",15434,0.0217,0.0203 +"06","48","52","CA",49768,0.0652,0.0656 +"06","48","53","CA",19992,0.0262,0.0264 +"06","49","45","CA",10,0,0 +"06","49","48","CA",65255,0.0906,0.086 +"06","49","49","CA",691856,0.9224,0.9121 +"06","49","50","CA",1395,0.0018,0.0018 +"06","50","49","CA",55052,0.0734,0.0725 +"06","50","50","CA",195173,0.2578,0.257 +"06","50","51","CA",70,0.0001,0.0001 +"06","50","52","CA",407741,0.5344,0.537 +"06","50","53","CA",101296,0.1325,0.1334 +"06","51","50","CA",55549,0.0734,0.0733 +"06","51","51","CA",195,0.0003,0.0003 +"06","51","52","CA",305462,0.4004,0.4029 +"06","51","53","CA",396995,0.5194,0.5236 +"06","52","51","CA",515191,0.725,0.6768 +"06","52","53","CA",245996,0.3219,0.3232 +"08","01","01","CO",721638,0.8583,0.9999 +"08","01","06","CO",76,0.0001,0.0001 +"08","02","02","CO",543012,0.6549,0.7524 +"08","02","03","CO",57632,0.076,0.0799 +"08","02","04","CO",120888,0.1389,0.1675 +"08","02","07","CO",188,0.0002,0.0003 +"08","03","03","CO",688485,0.908,0.9539 +"08","03","04","CO",33245,0.0382,0.0461 +"08","04","02","CO",107329,0.1294,0.1487 +"08","04","04","CO",468238,0.5379,0.6487 +"08","04","05","CO",8059,0.0097,0.0112 +"08","04","06","CO",138168,0.1654,0.1914 +"08","05","05","CO",721714,0.8671,1 +"08","06","01","CO",107475,0.1278,0.1489 +"08","06","02","CO",854,0.001,0.0012 +"08","06","04","CO",131,0.0002,0.0002 +"08","06","06","CO",613221,0.7339,0.8497 +"08","07","01","CO",11618,0.0138,0.0161 +"08","07","02","CO",160777,0.1939,0.2228 +"08","07","03","CO",12140,0.016,0.0168 +"08","07","05","CO",102604,0.1233,0.1422 +"08","07","07","CO",434558,0.5384,0.6021 +"08","08","02","CO",17151,0.0207,0.0238 +"08","08","04","CO",248035,0.2849,0.3437 +"08","08","06","CO",84129,0.1007,0.1166 +"08","08","07","CO",372349,0.4613,0.516 +"09","01","01","CT",696479,0.9703,0.9656 +"09","01","03","CT",19798,0.0276,0.0274 +"09","01","05","CT",5024,0.0069,0.007 +"09","02","01","CT",21287,0.0297,0.0295 +"09","02","02","CT",700451,1,0.9705 +"09","03","03","CT",696677,0.9724,0.9645 +"09","03","04","CT",25627,0.0343,0.0355 +"09","04","04","CT",721189,0.9657,1 +"09","05","05","CT",723730,0.9931,1 +"10","00","00","DE",989948,1,1 +"11","98","98","DC",689545,1,1 +"12","01","01","FL",769221,0.9521,1 +"12","02","01","FL",38660,0.0479,0.0503 +"12","02","02","FL",488934,0.6717,0.6356 +"12","02","05","FL",241627,0.3226,0.3141 +"12","03","02","FL",238922,0.3283,0.3106 +"12","03","03","FL",428678,0.5595,0.5573 +"12","03","05","FL",53916,0.072,0.0701 +"12","03","11","FL",47705,0.0581,0.062 +"12","04","03","FL",218245,0.2849,0.2837 +"12","04","04","FL",203219,0.2331,0.2642 +"12","04","05","FL",347757,0.4644,0.4521 +"12","05","04","FL",663376,0.7609,0.8624 +"12","05","05","FL",105610,0.141,0.1373 +"12","05","06","FL",235,0.0003,0.0003 +"12","06","03","FL",119210,0.1556,0.155 +"12","06","04","FL",5289,0.0061,0.0069 +"12","06","06","FL",490500,0.616,0.6377 +"12","06","11","FL",154222,0.1879,0.2005 +"12","07","06","FL",298365,0.3747,0.3879 +"12","07","07","FL",470856,0.5971,0.6121 +"12","08","08","FL",769221,0.9815,1 +"12","09","07","FL",12183,0.0155,0.0158 +"12","09","08","FL",27,0,0 +"12","09","09","FL",549522,0.5751,0.7144 +"12","09","10","FL",198732,0.2274,0.2584 +"12","09","15","FL",8757,0.0107,0.0114 +"12","10","07","FL",305479,0.3874,0.3971 +"12","10","08","FL",14505,0.0185,0.0189 +"12","10","09","FL",105336,0.1102,0.1369 +"12","10","10","FL",343901,0.3936,0.4471 +"12","11","06","FL",7154,0.009,0.0093 +"12","11","09","FL",3252,0.0034,0.0042 +"12","11","10","FL",331171,0.379,0.4305 +"12","11","11","FL",270550,0.3296,0.3517 +"12","11","15","FL",157094,0.1916,0.2042 +"12","12","11","FL",348358,0.4244,0.4529 +"12","12","12","FL",420863,0.5214,0.5471 +"12","13","12","FL",231642,0.287,0.3011 +"12","13","13","FL",537579,0.739,0.6989 +"12","14","12","FL",4567,0.0057,0.0059 +"12","14","13","FL",189886,0.261,0.2469 +"12","14","14","FL",514836,0.6538,0.6693 +"12","14","15","FL",38219,0.0466,0.0497 +"12","14","16","FL",21713,0.0246,0.0282 +"12","15","12","FL",150065,0.1859,0.1951 +"12","15","14","FL",272611,0.3462,0.3544 +"12","15","15","FL",346545,0.4227,0.4505 +"12","16","15","FL",141252,0.1723,0.1836 +"12","16","16","FL",627969,0.7103,0.8164 +"12","17","16","FL",234365,0.2651,0.3047 +"12","17","17","FL",480692,0.6163,0.6249 +"12","17","19","FL",54164,0.0649,0.0704 +"12","18","09","FL",297492,0.3113,0.3867 +"12","18","15","FL",127986,0.1561,0.1664 +"12","18","17","FL",299263,0.3837,0.389 +"12","18","25","FL",44480,0.0577,0.0578 +"12","19","19","FL",754646,0.9038,0.9811 +"12","19","25","FL",14575,0.0189,0.0189 +"12","20","18","FL",40419,0.0509,0.0525 +"12","20","20","FL",563334,0.7257,0.7323 +"12","20","21","FL",467,0.0006,0.0006 +"12","20","22","FL",68781,0.0875,0.0894 +"12","20","23","FL",96220,0.1251,0.1251 +"12","21","18","FL",754305,0.9491,0.9806 +"12","21","20","FL",13586,0.0175,0.0177 +"12","21","21","FL",1330,0.0017,0.0017 +"12","22","20","FL",49857,0.0642,0.0648 +"12","22","21","FL",714573,0.9068,0.929 +"12","22","22","FL",4790,0.0061,0.0062 +"12","23","20","FL",13813,0.0178,0.018 +"12","23","21","FL",71637,0.0909,0.0931 +"12","23","22","FL",683771,0.8702,0.8889 +"12","24","20","FL",56729,0.0731,0.0737 +"12","24","23","FL",78350,0.1018,0.1019 +"12","24","24","FL",542531,0.7306,0.7053 +"12","24","27","FL",91611,0.1238,0.1191 +"12","25","20","FL",78964,0.1017,0.1027 +"12","25","22","FL",28414,0.0362,0.0369 +"12","25","23","FL",594786,0.7731,0.7732 +"12","25","24","FL",67057,0.0903,0.0872 +"12","26","19","FL",26202,0.0314,0.0341 +"12","26","24","FL",117061,0.1576,0.1522 +"12","26","25","FL",604826,0.784,0.7863 +"12","26","27","FL",21132,0.0286,0.0275 +"12","27","24","FL",15893,0.0214,0.0207 +"12","27","25","FL",54337,0.0704,0.0706 +"12","27","26","FL",71909,0.0913,0.0935 +"12","27","27","FL",627082,0.8476,0.8152 +"12","28","25","FL",53216,0.069,0.0692 +"12","28","26","FL",716005,0.9087,0.9308 +"13","01","01","GA",739028,0.9778,0.9659 +"13","01","12","GA",26109,0.0353,0.0341 +"13","02","02","GA",647722,0.9624,0.8465 +"13","02","03","GA",20569,0.027,0.0269 +"13","02","08","GA",96846,0.1345,0.1266 +"13","03","02","GA",1666,0.0025,0.0022 +"13","03","03","GA",677309,0.8876,0.8852 +"13","03","13","GA",56242,0.0709,0.0735 +"13","03","14","GA",29919,0.0411,0.0391 +"13","04","04","GA",540040,0.6979,0.7058 +"13","04","05","GA",28730,0.0365,0.0375 +"13","04","06","GA",196280,0.2563,0.2565 +"13","04","10","GA",85,0.0001,0.0001 +"13","05","04","GA",16869,0.0218,0.022 +"13","05","05","GA",663383,0.8417,0.867 +"13","05","06","GA",37711,0.0492,0.0493 +"13","05","11","GA",47174,0.0588,0.0617 +"13","06","06","GA",404452,0.5281,0.5286 +"13","06","07","GA",218071,0.2537,0.285 +"13","06","09","GA",94765,0.1222,0.1239 +"13","06","11","GA",47848,0.0596,0.0625 +"13","07","04","GA",197348,0.2551,0.2579 +"13","07","06","GA",92558,0.1209,0.121 +"13","07","07","GA",435932,0.5072,0.5697 +"13","07","10","GA",39299,0.0507,0.0514 +"13","08","01","GA",16753,0.0222,0.0219 +"13","08","02","GA",23640,0.0351,0.0309 +"13","08","08","GA",623073,0.8655,0.8143 +"13","08","10","GA",43799,0.0565,0.0572 +"13","08","12","GA",57871,0.0783,0.0756 +"13","09","07","GA",205437,0.239,0.2685 +"13","09","09","GA",515409,0.6647,0.6736 +"13","09","10","GA",44291,0.0571,0.0579 +"13","10","03","GA",65197,0.0854,0.0852 +"13","10","04","GA",19504,0.0252,0.0255 +"13","10","09","GA",143388,0.1849,0.1874 +"13","10","10","GA",537046,0.693,0.7019 +"13","11","06","GA",34792,0.0454,0.0455 +"13","11","09","GA",21805,0.0281,0.0285 +"13","11","11","GA",678876,0.8459,0.8873 +"13","11","13","GA",18253,0.023,0.0239 +"13","11","14","GA",11411,0.0157,0.0149 +"13","12","10","GA",110492,0.1426,0.1444 +"13","12","12","GA",654644,0.8863,0.8556 +"13","13","05","GA",96013,0.1218,0.1255 +"13","13","11","GA",10809,0.0135,0.0141 +"13","13","13","GA",658315,0.8302,0.8604 +"13","14","11","GA",17808,0.0222,0.0233 +"13","14","13","GA",60106,0.0758,0.0786 +"13","14","14","GA",687221,0.9433,0.8982 +"15","01","01","HI",726395,0.9953,1 +"15","02","01","HI",3436,0.0047,0.0047 +"15","02","02","HI",725440,1,0.9953 +"16","01","01","ID",919553,0.963,1 +"16","02","01","ID",35338,0.037,0.0384 +"16","02","02","ID",884215,1,0.9616 +"17","01","01","IL",515524,0.7303,0.684 +"17","01","02","IL",97181,0.143,0.1289 +"17","01","03","IL",73753,0.1016,0.0979 +"17","01","07","IL",19955,0.0261,0.0265 +"17","01","11","IL",19494,0.0276,0.0259 +"17","01","14","IL",16,0,0 +"17","01","16","IL",27754,0.0401,0.0368 +"17","02","01","IL",20064,0.0284,0.0266 +"17","02","02","IL",582447,0.857,0.7728 +"17","02","07","IL",3936,0.0051,0.0052 +"17","02","15","IL",88029,0.1294,0.1168 +"17","02","16","IL",59201,0.0855,0.0785 +"17","03","04","IL",326427,0.4673,0.4331 +"17","03","05","IL",149957,0.2017,0.199 +"17","03","06","IL",114188,0.1558,0.1515 +"17","03","07","IL",27479,0.0359,0.0365 +"17","03","08","IL",120167,0.1676,0.1594 +"17","03","14","IL",15459,0.0205,0.0205 +"17","04","01","IL",9923,0.0141,0.0132 +"17","04","03","IL",261049,0.3598,0.3464 +"17","04","04","IL",357271,0.5114,0.474 +"17","04","05","IL",72145,0.097,0.0957 +"17","04","06","IL",13822,0.0189,0.0183 +"17","04","07","IL",39467,0.0516,0.0524 +"17","05","04","IL",579,0.0008,0.0008 +"17","05","05","IL",435151,0.5853,0.5774 +"17","05","06","IL",103909,0.1418,0.1379 +"17","05","07","IL",30785,0.0403,0.0408 +"17","05","08","IL",10967,0.0153,0.0146 +"17","05","09","IL",128469,0.1731,0.1705 +"17","05","10","IL",43817,0.0604,0.0581 +"17","06","01","IL",122634,0.1737,0.1627 +"17","06","03","IL",311181,0.4288,0.4129 +"17","06","05","IL",28651,0.0385,0.038 +"17","06","06","IL",176737,0.2412,0.2345 +"17","06","08","IL",64714,0.0903,0.0859 +"17","06","11","IL",49760,0.0704,0.066 +"17","07","01","IL",34536,0.0489,0.0458 +"17","07","03","IL",23395,0.0322,0.031 +"17","07","04","IL",14293,0.0205,0.019 +"17","07","05","IL",38412,0.0517,0.051 +"17","07","07","IL",643041,0.8409,0.8532 +"17","08","05","IL",6176,0.0083,0.0082 +"17","08","06","IL",170700,0.233,0.2265 +"17","08","08","IL",500129,0.6975,0.6636 +"17","08","09","IL",48279,0.0651,0.0641 +"17","08","10","IL",4338,0.006,0.0058 +"17","08","14","IL",24055,0.0319,0.0319 +"17","09","05","IL",12957,0.0174,0.0172 +"17","09","06","IL",109138,0.1489,0.1448 +"17","09","08","IL",15890,0.0222,0.0211 +"17","09","09","IL",530785,0.7152,0.7043 +"17","09","10","IL",74767,0.1031,0.0992 +"17","09","14","IL",10140,0.0135,0.0135 +"17","10","08","IL",5123,0.0071,0.0068 +"17","10","09","IL",34623,0.0467,0.0459 +"17","10","10","IL",599085,0.8264,0.7949 +"17","10","14","IL",114846,0.1525,0.1524 +"17","11","03","IL",11927,0.0164,0.0158 +"17","11","06","IL",44251,0.0604,0.0587 +"17","11","10","IL",2939,0.0041,0.0039 +"17","11","11","IL",336300,0.4761,0.4462 +"17","11","14","IL",322394,0.428,0.4278 +"17","11","16","IL",35866,0.0518,0.0476 +"17","12","12","IL",401915,0.5955,0.5333 +"17","12","15","IL",351762,0.5171,0.4667 +"17","13","12","IL",270999,0.4016,0.3596 +"17","13","13","IL",422282,0.6071,0.5603 +"17","13","15","IL",4427,0.0065,0.0059 +"17","13","18","IL",55969,0.0798,0.0743 +"17","14","01","IL",3268,0.0046,0.0043 +"17","14","03","IL",44320,0.0611,0.0588 +"17","14","11","IL",300822,0.4259,0.3991 +"17","14","14","IL",251782,0.3343,0.3341 +"17","14","16","IL",153485,0.2216,0.2036 +"17","15","12","IL",1956,0.0029,0.0026 +"17","15","13","IL",213969,0.3076,0.2839 +"17","15","15","IL",236075,0.347,0.3132 +"17","15","17","IL",27070,0.0402,0.0359 +"17","15","18","IL",274607,0.3917,0.3644 +"17","16","13","IL",11593,0.0167,0.0154 +"17","16","14","IL",14503,0.0193,0.0192 +"17","16","16","IL",352741,0.5093,0.468 +"17","16","17","IL",106460,0.158,0.1413 +"17","16","18","IL",268380,0.3828,0.3561 +"17","17","13","IL",47739,0.0686,0.0633 +"17","17","16","IL",63505,0.0917,0.0843 +"17","17","17","IL",540240,0.8018,0.7168 +"17","17","18","IL",102192,0.1457,0.1356 +"18","01","01","IN",726991,0.9929,0.9642 +"18","01","02","IN",26956,0.0368,0.0358 +"18","02","01","IN",5211,0.0071,0.0069 +"18","02","02","IN",696266,0.9513,0.9235 +"18","02","03","IN",40231,0.053,0.0534 +"18","02","04","IN",12239,0.016,0.0162 +"18","03","02","IN",8659,0.0118,0.0115 +"18","03","03","IN",718683,0.947,0.9532 +"18","03","05","IN",9377,0.0117,0.0124 +"18","03","06","IN",17228,0.0238,0.0229 +"18","04","04","IN",670054,0.876,0.8887 +"18","04","05","IN",36298,0.0451,0.0481 +"18","04","09","IN",47595,0.0621,0.0631 +"18","05","04","IN",72787,0.0952,0.0965 +"18","05","05","IN",569257,0.7073,0.755 +"18","05","06","IN",111903,0.1547,0.1484 +"18","06","06","IN",368930,0.5099,0.4893 +"18","06","07","IN",223254,0.2836,0.2961 +"18","06","09","IN",161765,0.211,0.2146 +"18","07","05","IN",189937,0.236,0.2519 +"18","07","07","IN",564012,0.7164,0.7481 +"18","08","04","IN",9790,0.0128,0.013 +"18","08","08","IN",715369,1,0.9488 +"18","08","09","IN",28788,0.0376,0.0382 +"18","09","06","IN",225479,0.3116,0.2991 +"18","09","09","IN",528469,0.6894,0.7009 +"19","01","01","IA",56793,0.0728,0.0712 +"19","01","02","IA",688388,0.8765,0.8631 +"19","01","03","IA",52403,0.061,0.0657 +"19","02","01","IA",683282,0.8758,0.8567 +"19","02","04","IA",114307,0.1493,0.1433 +"19","03","02","IA",96965,0.1235,0.1216 +"19","03","03","IA",691815,0.8054,0.8674 +"19","03","04","IA",8771,0.0115,0.011 +"19","04","01","IA",40105,0.0514,0.0503 +"19","04","03","IA",114756,0.1336,0.1439 +"19","04","04","IA",642784,0.8393,0.8059 +"20","01","01","KS",602521,0.8598,0.8203 +"20","01","02","KS",131929,0.185,0.1796 +"20","01","04","KS",20,0,0 +"20","02","01","KS",95576,0.1364,0.1301 +"20","02","02","KS",526233,0.738,0.7165 +"20","02","03","KS",112661,0.1422,0.1534 +"20","03","02","KS",54845,0.0769,0.0747 +"20","03","03","KS",679625,0.8578,0.9253 +"20","04","01","KS",2676,0.0038,0.0036 +"20","04","04","KS",731794,1,0.9964 +"21","01","01","KY",652882,0.9079,0.8694 +"21","01","02","KY",42208,0.0542,0.0562 +"21","01","06","KY",55883,0.0713,0.0744 +"21","02","01","KY",66257,0.0921,0.0882 +"21","02","02","KY",652719,0.8383,0.8692 +"21","02","03","KY",8760,0.0116,0.0117 +"21","02","04","KY",23236,0.03,0.0309 +"21","03","03","KY",748092,0.9884,0.9962 +"21","03","04","KY",2881,0.0037,0.0038 +"21","04","02","KY",30667,0.0394,0.0408 +"21","04","04","KY",708185,0.9155,0.943 +"21","04","05","KY",2743,0.004,0.0037 +"21","04","06","KY",9378,0.012,0.0125 +"21","05","04","KY",39241,0.0507,0.0523 +"21","05","05","KY",690638,0.996,0.9197 +"21","05","06","KY",21094,0.0269,0.0281 +"21","06","02","KY",53054,0.0681,0.0706 +"21","06","06","KY",697918,0.8899,0.9294 +"22","01","01","LA",760432,0.9358,0.9796 +"22","01","02","LA",6641,0.0086,0.0086 +"22","01","05","LA",2658,0.0036,0.0034 +"22","01","06","LA",6537,0.008,0.0084 +"22","02","01","LA",1429,0.0018,0.0018 +"22","02","02","LA",767478,0.9899,0.9886 +"22","02","06","LA",7410,0.0091,0.0095 +"22","03","03","LA",776275,0.9878,1 +"22","04","03","LA",3382,0.0043,0.0044 +"22","04","04","LA",728346,1,0.9382 +"22","04","05","LA",44605,0.0603,0.0575 +"22","05","01","LA",46442,0.0572,0.0598 +"22","05","05","LA",691981,0.9361,0.8914 +"22","05","06","LA",37854,0.0464,0.0488 +"22","06","01","LA",4282,0.0053,0.0055 +"22","06","02","LA",1173,0.0015,0.0015 +"22","06","03","LA",6167,0.0078,0.0079 +"22","06","06","LA",764665,0.9366,0.985 +"23","01","01","ME",665795,0.9454,0.9774 +"23","01","02","ME",15384,0.0234,0.0226 +"23","02","01","ME",38416,0.0546,0.0564 +"23","02","02","ME",642764,0.9766,0.9436 +"24","01","01","MD",649234,0.8731,0.8402 +"24","01","02","MD",107967,0.1375,0.1397 +"24","01","07","MD",15547,0.0221,0.0201 +"24","02","01","MD",94377,0.1269,0.1224 +"24","02","02","MD",343288,0.4371,0.4453 +"24","02","03","MD",151718,0.196,0.1968 +"24","02","07","MD",94600,0.1344,0.1227 +"24","02","08","MD",86923,0.1108,0.1128 +"24","03","02","MD",123427,0.1572,0.1599 +"24","03","03","MD",307032,0.3966,0.3978 +"24","03","04","MD",147318,0.1844,0.1909 +"24","03","07","MD",173984,0.2472,0.2254 +"24","03","08","MD",19972,0.0255,0.0259 +"24","04","03","MD",36041,0.0466,0.0468 +"24","04","04","MD",511263,0.6399,0.6635 +"24","04","05","MD",223273,0.2807,0.2897 +"24","05","02","MD",28400,0.0362,0.0367 +"24","05","03","MD",33809,0.0437,0.0436 +"24","05","04","MD",140326,0.1756,0.1811 +"24","05","05","MD",572106,0.7193,0.7385 +"24","06","06","MD",636874,0.8045,0.8188 +"24","06","08","MD",140971,0.1797,0.1812 +"24","07","02","MD",182249,0.2321,0.2375 +"24","07","03","MD",165377,0.2136,0.2155 +"24","07","07","MD",419621,0.5963,0.5469 +"24","08","03","MD",80188,0.1036,0.1039 +"24","08","04","MD",18,0,0 +"24","08","06","MD",154745,0.1955,0.2006 +"24","08","08","MD",536576,0.684,0.6955 +"25","01","01","MA",711874,0.9745,0.9114 +"25","01","02","MA",69229,0.0887,0.0886 +"25","02","01","MA",18593,0.0255,0.0238 +"25","02","02","MA",685697,0.879,0.8779 +"25","02","03","MA",660,0.0008,0.0008 +"25","02","04","MA",31873,0.041,0.0408 +"25","02","05","MA",44278,0.0557,0.0567 +"25","03","02","MA",2554,0.0033,0.0033 +"25","03","03","MA",754773,0.9474,0.9663 +"25","03","06","MA",23775,0.0306,0.0304 +"25","04","02","MA",22574,0.0289,0.0289 +"25","04","04","MA",697329,0.8973,0.8927 +"25","04","05","MA",4401,0.0055,0.0056 +"25","04","08","MA",1082,0.0014,0.0014 +"25","04","09","MA",55717,0.0719,0.0713 +"25","05","03","MA",13491,0.0169,0.0173 +"25","05","04","MA",22187,0.0285,0.0284 +"25","05","05","MA",741227,0.9324,0.949 +"25","05","06","MA",696,0.0009,0.0009 +"25","05","07","MA",3500,0.0044,0.0045 +"25","06","03","MA",27740,0.0348,0.0355 +"25","06","06","MA",753361,0.9685,0.9645 +"25","07","05","MA",5060,0.0064,0.0065 +"25","07","07","MA",771009,0.964,0.9871 +"25","07","08","MA",5033,0.0063,0.0064 +"25","08","04","MA",25058,0.0322,0.0321 +"25","08","07","MA",25307,0.0316,0.0324 +"25","08","08","MA",730737,0.9152,0.9355 +"25","09","04","MA",690,0.0009,0.0009 +"25","09","08","MA",61606,0.0772,0.0789 +"25","09","09","MA",718806,0.9281,0.9202 +"26","01","01","MI",671739,0.9537,0.8663 +"26","01","04","MI",63397,0.0908,0.0818 +"26","01","05","MI",40239,0.06,0.0519 +"26","02","01","MI",32611,0.0463,0.0421 +"26","02","02","MI",178717,0.236,0.2306 +"26","02","03","MI",232313,0.3083,0.2998 +"26","02","04","MI",326570,0.468,0.4214 +"26","02","07","MI",4786,0.0067,0.0062 +"26","03","02","MI",388414,0.5129,0.5009 +"26","03","03","MI",387000,0.5135,0.4991 +"26","04","02","MI",190190,0.2511,0.2455 +"26","04","03","MI",87736,0.1164,0.1133 +"26","04","06","MI",496674,0.6882,0.6412 +"26","05","03","MI",46574,0.0618,0.0601 +"26","05","06","MI",224980,0.3118,0.2905 +"26","05","07","MI",502990,0.7032,0.6494 +"26","06","07","MI",103140,0.1442,0.133 +"26","06","11","MI",233077,0.3076,0.3006 +"26","06","12","MI",439056,0.5876,0.5663 +"26","07","04","MI",147222,0.211,0.1899 +"26","07","05","MI",203,0.0003,0.0003 +"26","07","07","MI",104389,0.1459,0.1347 +"26","07","08","MI",478766,0.6471,0.6176 +"26","07","11","MI",44658,0.0589,0.0576 +"26","08","04","MI",160665,0.2302,0.2072 +"26","08","05","MI",614564,0.9163,0.7928 +"26","09","05","MI",15697,0.0234,0.0203 +"26","09","08","MI",178791,0.2416,0.2307 +"26","09","10","MI",552582,0.762,0.713 +"26","09","11","MI",27892,0.0368,0.036 +"26","10","08","MI",82324,0.1113,0.1062 +"26","10","09","MI",513288,0.7125,0.6621 +"26","10","10","MI",172595,0.238,0.2226 +"26","10","11","MI",7011,0.0093,0.009 +"26","11","09","MI",192254,0.2669,0.2479 +"26","11","11","MI",349638,0.4614,0.4508 +"26","11","14","MI",233676,0.3379,0.3013 +"26","12","09","MI",14886,0.0207,0.0192 +"26","12","11","MI",95535,0.1261,0.1232 +"26","12","12","MI",109976,0.1472,0.1419 +"26","12","13","MI",412890,0.6121,0.5326 +"26","12","14","MI",141960,0.2053,0.1831 +"26","13","12","MI",198124,0.2652,0.2554 +"26","13","13","MI",261676,0.3879,0.3374 +"26","13","14","MI",315866,0.4568,0.4072 +"27","01","01","MN",642930,0.9308,0.9013 +"27","01","02","MN",70381,0.0962,0.0987 +"27","02","01","MN",40258,0.0583,0.0564 +"27","02","02","MN",661577,0.9038,0.9275 +"27","02","04","MN",11477,0.0158,0.0161 +"27","03","03","MN",671145,0.9095,0.9409 +"27","03","05","MN",22730,0.0309,0.0319 +"27","03","06","MN",19436,0.0265,0.0272 +"27","04","04","MN",713312,0.9819,1 +"27","05","03","MN",6,0,0 +"27","05","05","MN",713306,0.9691,1 +"27","06","03","MN",66747,0.0905,0.0936 +"27","06","06","MN",646565,0.8809,0.9064 +"27","07","01","MN",7538,0.0109,0.0106 +"27","07","06","MN",24252,0.033,0.034 +"27","07","07","MN",621075,0.9221,0.8707 +"27","07","08","MN",60447,0.0894,0.0847 +"27","08","04","MN",1687,0.0023,0.0024 +"27","08","06","MN",43704,0.0595,0.0613 +"27","08","07","MN",52439,0.0779,0.0735 +"27","08","08","MN",615482,0.9106,0.8629 +"28","01","01","MS",739345,0.9751,0.9987 +"28","01","03","MS",974,0.0013,0.0013 +"28","02","02","MS",673948,0.9992,0.9103 +"28","02","03","MS",66371,0.0884,0.0897 +"28","03","01","MS",18888,0.0249,0.0255 +"28","03","02","MS",543,0.0008,0.0007 +"28","03","03","MS",683694,0.9103,0.9235 +"28","03","04","MS",37195,0.0478,0.0502 +"28","04","04","MS",740321,0.9522,1 +"29","01","01","MO",692318,0.9686,0.8999 +"29","01","02","MO",77046,0.0991,0.1001 +"29","02","01","MO",22428,0.0314,0.0292 +"29","02","02","MO",548515,0.7053,0.7129 +"29","02","03","MO",198421,0.2466,0.2579 +"29","03","02","MO",107241,0.1379,0.1394 +"29","03","03","MO",447420,0.5562,0.5815 +"29","03","04","MO",136120,0.1751,0.1769 +"29","03","08","MO",78583,0.1093,0.1021 +"29","04","03","MO",15057,0.0187,0.0196 +"29","04","04","MO",588808,0.7576,0.7653 +"29","04","05","MO",107139,0.1359,0.1393 +"29","04","06","MO",26841,0.0344,0.0349 +"29","04","07","MO",31519,0.0398,0.041 +"29","05","05","MO",651788,0.8268,0.8472 +"29","05","06","MO",117576,0.1505,0.1528 +"29","06","03","MO",59574,0.0741,0.0774 +"29","06","04","MO",43824,0.0564,0.057 +"29","06","05","MO",29378,0.0373,0.0382 +"29","06","06","MO",636588,0.8151,0.8274 +"29","07","04","MO",8465,0.0109,0.011 +"29","07","07","MO",760900,0.9602,0.989 +"29","08","02","MO",44891,0.0577,0.0583 +"29","08","03","MO",84013,0.1044,0.1092 +"29","08","08","MO",640460,0.8907,0.8325 +"30","01","00","MT",542112,0.5,1 +"30","02","00","MT",542113,0.5,1 +"31","01","01","NE",584386,0.8857,0.8938 +"31","01","02","NE",69436,0.0991,0.1062 +"31","02","01","NE",22278,0.0338,0.0341 +"31","02","02","NE",631569,0.9009,0.9659 +"31","03","01","NE",53152,0.0806,0.0813 +"31","03","03","NE",600683,1,0.9187 +"32","01","01","NV",399260,0.5681,0.516 +"32","01","03","NV",343896,0.402,0.4444 +"32","01","04","NV",30602,0.0389,0.0395 +"32","02","02","NV",758819,1,0.9761 +"32","02","04","NV",18598,0.0236,0.0239 +"32","03","01","NV",179222,0.255,0.2312 +"32","03","03","NV",508079,0.5939,0.6553 +"32","03","04","NV",87998,0.1118,0.1135 +"32","04","01","NV",124340,0.1769,0.1598 +"32","04","02","NV",1,0,0 +"32","04","03","NV",3553,0.0042,0.0046 +"32","04","04","NV",650246,0.8258,0.8356 +"33","01","01","NH",688764,0.9871,1 +"33","02","01","NH",8973,0.0129,0.013 +"33","02","02","NH",679792,1,0.987 +"34","01","01","NJ",737308,0.9791,0.9554 +"34","01","02","NJ",34436,0.047,0.0446 +"34","02","01","NJ",15751,0.0209,0.0202 +"34","02","02","NJ",695993,0.9502,0.8934 +"34","02","03","NJ",67312,0.0891,0.0864 +"34","03","02","NJ",2048,0.0028,0.0026 +"34","03","03","NJ",432394,0.572,0.5558 +"34","03","04","NJ",233058,0.2922,0.2996 +"34","03","06","NJ",41502,0.0542,0.0533 +"34","03","12","NJ",69022,0.0878,0.0887 +"34","04","03","NJ",256167,0.3389,0.3314 +"34","04","04","NJ",494902,0.6205,0.6403 +"34","04","06","NJ",21900,0.0286,0.0283 +"34","05","05","NJ",603593,0.8078,0.7806 +"34","05","09","NJ",150486,0.1899,0.1946 +"34","05","11","NJ",19139,0.0251,0.0248 +"34","06","04","NJ",69648,0.0873,0.09 +"34","06","06","NJ",692791,0.9056,0.8953 +"34","06","12","NJ",11329,0.0144,0.0146 +"34","07","05","NJ",80562,0.1078,0.104 +"34","07","07","NJ",558490,0.7348,0.7213 +"34","07","10","NJ",45696,0.056,0.059 +"34","07","11","NJ",57901,0.076,0.0748 +"34","07","12","NJ",31645,0.0403,0.0409 +"34","08","08","NJ",724806,0.8824,0.9384 +"34","08","10","NJ",47560,0.0583,0.0616 +"34","09","05","NJ",63042,0.0844,0.0817 +"34","09","08","NJ",34464,0.042,0.0446 +"34","09","09","NJ",641835,0.8101,0.8313 +"34","09","11","NJ",32719,0.0429,0.0424 +"34","10","07","NJ",69666,0.0917,0.0901 +"34","10","08","NJ",23905,0.0291,0.0309 +"34","10","10","NJ",624660,0.7655,0.8075 +"34","10","11","NJ",55305,0.0726,0.0715 +"34","11","07","NJ",40170,0.0529,0.0519 +"34","11","08","NJ",38222,0.0465,0.0494 +"34","11","10","NJ",98092,0.1202,0.1269 +"34","11","11","NJ",596779,0.7833,0.7718 +"34","12","06","NJ",8831,0.0115,0.0114 +"34","12","07","NJ",91732,0.1207,0.1184 +"34","12","12","NJ",674133,0.8575,0.8702 +"35","01","01","NM",528092,0.7603,0.7482 +"35","01","02","NM",55518,0.0778,0.0787 +"35","01","03","NM",122222,0.1724,0.1732 +"35","02","01","NM",166485,0.2397,0.2359 +"35","02","02","NM",518069,0.7256,0.734 +"35","02","03","NM",21292,0.03,0.0302 +"35","03","02","NM",140435,0.1967,0.199 +"35","03","03","NM",565409,0.7976,0.801 +"36","01","01","NY",536234,0.7243,0.6902 +"36","01","03","NY",240737,0.3257,0.3098 +"36","02","01","NY",204085,0.2757,0.2627 +"36","02","02","NY",572886,0.7868,0.7373 +"36","03","02","NY",124236,0.1706,0.1599 +"36","03","03","NY",498460,0.6743,0.6415 +"36","03","04","NY",94052,0.1252,0.121 +"36","03","05","NY",19865,0.0255,0.0256 +"36","03","06","NY",40358,0.0525,0.0519 +"36","04","02","NY",31034,0.0426,0.0399 +"36","04","04","NY",657380,0.8748,0.8461 +"36","04","05","NY",88557,0.1137,0.114 +"36","05","05","NY",670310,0.8607,0.8627 +"36","05","06","NY",48054,0.0625,0.0618 +"36","05","07","NY",14528,0.019,0.0187 +"36","05","08","NY",44079,0.0548,0.0567 +"36","06","05","NY",48,0.0001,0.0001 +"36","06","06","NY",626822,0.8149,0.8068 +"36","06","14","NY",150101,0.2001,0.1932 +"36","07","06","NY",54013,0.0702,0.0695 +"36","07","07","NY",376808,0.494,0.485 +"36","07","08","NY",121610,0.1512,0.1565 +"36","07","12","NY",158389,0.1951,0.2039 +"36","07","14","NY",66151,0.0882,0.0851 +"36","08","07","NY",17238,0.0226,0.0222 +"36","08","08","NY",576030,0.7161,0.7414 +"36","08","09","NY",117631,0.1556,0.1514 +"36","08","11","NY",66073,0.0862,0.085 +"36","09","08","NY",46411,0.0577,0.0597 +"36","09","09","NY",557672,0.7378,0.7178 +"36","09","10","NY",144350,0.1796,0.1858 +"36","09","11","NY",28539,0.0372,0.0367 +"36","10","07","NY",353686,0.4636,0.4552 +"36","10","08","NY",16270,0.0202,0.0209 +"36","10","09","NY",80539,0.1066,0.1037 +"36","10","10","NY",219089,0.2726,0.282 +"36","10","12","NY",107387,0.1323,0.1382 +"36","11","07","NY",573,0.0008,0.0007 +"36","11","10","NY",104774,0.1303,0.1348 +"36","11","11","NY",671624,0.8765,0.8644 +"36","12","10","NY",305013,0.3795,0.3926 +"36","12","12","NY",471772,0.5812,0.6072 +"36","12","13","NY",186,0.0003,0.0002 +"36","13","10","NY",30577,0.038,0.0394 +"36","13","12","NY",1302,0.0016,0.0017 +"36","13","13","NY",683108,0.9277,0.8792 +"36","13","15","NY",60809,0.0792,0.0783 +"36","13","16","NY",1175,0.0015,0.0015 +"36","14","12","NY",72838,0.0897,0.0937 +"36","14","14","NY",447681,0.5969,0.5762 +"36","14","15","NY",212243,0.2766,0.2732 +"36","14","16","NY",44210,0.0574,0.0569 +"36","15","13","NY",53054,0.0721,0.0683 +"36","15","14","NY",86092,0.1148,0.1108 +"36","15","15","NY",494283,0.6442,0.6362 +"36","15","16","NY",143542,0.1863,0.1847 +"36","16","16","NY",581474,0.7548,0.7484 +"36","16","17","NY",195497,0.256,0.2516 +"36","17","17","NY",568254,0.744,0.7314 +"36","17","18","NY",196241,0.2622,0.2526 +"36","17","19","NY",12476,0.0179,0.0161 +"36","18","18","NY",552201,0.7378,0.7107 +"36","18","19","NY",224770,0.3217,0.2893 +"36","19","19","NY",332191,0.4755,0.4275 +"36","19","22","NY",300959,0.432,0.3873 +"36","19","23","NY",143821,0.2074,0.1851 +"36","20","20","NY",682881,0.915,0.8789 +"36","20","21","NY",94090,0.1335,0.1211 +"36","21","19","NY",129236,0.185,0.1663 +"36","21","20","NY",63409,0.085,0.0816 +"36","21","21","NY",533081,0.7561,0.6861 +"36","21","22","NY",51245,0.0736,0.066 +"36","22","22","NY",300455,0.4313,0.3867 +"36","22","24","NY",476516,0.6643,0.6133 +"36","23","23","NY",446785,0.6442,0.575 +"36","23","26","NY",48374,0.0652,0.0623 +"36","23","27","NY",281812,0.3914,0.3627 +"36","24","21","NY",77870,0.1104,0.1002 +"36","24","22","NY",43951,0.0631,0.0566 +"36","24","23","NY",102903,0.1484,0.1324 +"36","24","24","NY",240791,0.3357,0.3099 +"36","24","27","NY",311456,0.4325,0.4009 +"36","25","25","NY",733041,1,0.9435 +"36","25","27","NY",43930,0.061,0.0565 +"36","26","26","NY",694077,0.9348,0.8933 +"36","26","27","NY",82894,0.1151,0.1067 +"37","01","1","NC",570168,0.8294,0.7646 +"37","01","3","NC",105850,0.1419,0.142 +"37","01","4","NC",69652,0.0794,0.0934 +"37","02","2","NC",528439,0.579,0.7087 +"37","02","4","NC",217232,0.2476,0.2913 +"37","03","1","NC",46668,0.0679,0.0626 +"37","03","3","NC",639990,0.858,0.8583 +"37","03","7","NC",59012,0.0716,0.0791 +"37","04","13","NC",210960,0.2734,0.2829 +"37","04","2","NC",453,0.0005,0.0006 +"37","04","4","NC",534257,0.6089,0.7165 +"37","05","10","NC",253945,0.3274,0.3406 +"37","05","11","NC",32704,0.0418,0.0439 +"37","05","13","NC",42743,0.0554,0.0573 +"37","05","5","NC",225828,0.302,0.3029 +"37","05","6","NC",190450,0.2359,0.2554 +"37","06","10","NC",106778,0.1377,0.1432 +"37","06","13","NC",22105,0.0286,0.0296 +"37","06","6","NC",616787,0.764,0.8272 +"37","07","3","NC",9,0,0 +"37","07","7","NC",502805,0.6104,0.6743 +"37","07","8","NC",126169,0.1537,0.1692 +"37","07","9","NC",116688,0.1484,0.1565 +"37","08","10","NC",52,0.0001,0.0001 +"37","08","13","NC",315573,0.4089,0.4232 +"37","08","6","NC",69,0.0001,0.0001 +"37","08","8","NC",135929,0.1656,0.1823 +"37","08","9","NC",294048,0.3739,0.3943 +"37","09","13","NC",177722,0.2303,0.2383 +"37","09","4","NC",56296,0.0642,0.0755 +"37","09","6","NC",19,0,0 +"37","09","8","NC",351547,0.4282,0.4714 +"37","09","9","NC",160088,0.2036,0.2147 +"37","10","10","NC",414848,0.5349,0.5563 +"37","10","11","NC",3874,0.005,0.0052 +"37","10","13","NC",2587,0.0034,0.0035 +"37","10","5","NC",324361,0.4337,0.435 +"37","11","11","NC",745639,0.9532,1 +"37","11","5","NC",32,0,0 +"37","12","12","NC",567420,0.6305,0.761 +"37","12","8","NC",178168,0.217,0.2389 +"37","12","9","NC",83,0.0001,0.0001 +"37","13","1","NC",70630,0.1027,0.0947 +"37","13","2","NC",383860,0.4206,0.5148 +"37","13","3","NC",22,0,0 +"37","13","4","NC",13,0,0 +"37","13","7","NC",261936,0.318,0.3513 +"37","13","8","NC",29209,0.0356,0.0392 +"37","14","-","NC",13,1,0 +"37","14","12","NC",332499,0.3695,0.4459 +"37","14","5","NC",197619,0.2643,0.265 +"37","14","9","NC",215540,0.2741,0.2891 +"38","00","00","ND",779094,1,1 +"39","01","01","OH",546669,0.7113,0.695 +"39","01","02","OH",239961,0.3266,0.305 +"39","02","02","OH",430367,0.5857,0.5471 +"39","02","06","OH",177720,0.2586,0.2259 +"39","02","15","OH",178542,0.233,0.227 +"39","03","03","OH",539259,0.666,0.6855 +"39","03","12","OH",159655,0.1974,0.203 +"39","03","15","OH",87716,0.1145,0.1115 +"39","04","04","OH",369753,0.5163,0.47 +"39","04","05","OH",31767,0.0435,0.0404 +"39","04","07","OH",102547,0.1391,0.1304 +"39","04","12","OH",282563,0.3493,0.3592 +"39","05","04","OH",244059,0.3408,0.3103 +"39","05","05","OH",297047,0.4063,0.3776 +"39","05","07","OH",120549,0.1635,0.1532 +"39","05","08","OH",17724,0.0238,0.0225 +"39","05","09","OH",107251,0.1523,0.1363 +"39","06","06","OH",428682,0.6239,0.545 +"39","06","07","OH",144800,0.1964,0.1841 +"39","06","13","OH",203489,0.2913,0.2587 +"39","06","16","OH",9659,0.0131,0.0123 +"39","07","07","OH",73679,0.0999,0.0937 +"39","07","09","OH",113384,0.161,0.1441 +"39","07","11","OH",37741,0.0545,0.048 +"39","07","14","OH",51046,0.0699,0.0649 +"39","07","16","OH",510780,0.6911,0.6493 +"39","08","01","OH",221881,0.2887,0.2821 +"39","08","02","OH",64465,0.0877,0.082 +"39","08","08","OH",500283,0.6709,0.636 +"39","09","04","OH",70422,0.0983,0.0895 +"39","09","05","OH",402238,0.5502,0.5113 +"39","09","09","OH",313970,0.4459,0.3991 +"39","10","08","OH",81355,0.1091,0.1034 +"39","10","10","OH",705275,0.9669,0.8966 +"39","11","09","OH",169446,0.2407,0.2154 +"39","11","11","OH",560772,0.8097,0.7129 +"39","11","14","OH",56412,0.0773,0.0717 +"39","12","06","OH",80716,0.1175,0.1026 +"39","12","07","OH",152802,0.2072,0.1942 +"39","12","12","OH",286499,0.3542,0.3642 +"39","12","15","OH",266613,0.3479,0.3389 +"39","13","07","OH",142963,0.1939,0.1817 +"39","13","11","OH",94076,0.1358,0.1196 +"39","13","13","OH",222859,0.3191,0.2833 +"39","13","14","OH",138217,0.1893,0.1757 +"39","13","16","OH",188515,0.2551,0.2396 +"39","14","13","OH",272093,0.3896,0.3459 +"39","14","14","OH",484381,0.6635,0.6158 +"39","14","16","OH",30156,0.0408,0.0383 +"39","15","03","OH",270490,0.334,0.3439 +"39","15","04","OH",31943,0.0446,0.0406 +"39","15","08","OH",146374,0.1963,0.1861 +"39","15","10","OH",24130,0.0331,0.0307 +"39","15","12","OH",80227,0.0992,0.102 +"39","15","15","OH",233466,0.3047,0.2968 +"40","01","01","OK",758164,0.9149,0.9574 +"40","01","02","OK",690,0.001,0.0009 +"40","01","03","OK",33017,0.042,0.0417 +"40","02","01","OK",70483,0.0851,0.089 +"40","02","02","OK",721388,0.999,0.911 +"40","03","01","OK",30,0,0 +"40","03","03","OK",589538,0.7508,0.7445 +"40","03","04","OK",21541,0.027,0.0272 +"40","03","05","OK",180762,0.2191,0.2283 +"40","04","04","OK",761773,0.9539,0.962 +"40","04","05","OK",30097,0.0365,0.038 +"40","05","03","OK",162636,0.2071,0.2054 +"40","05","04","OK",15238,0.0191,0.0192 +"40","05","05","OK",613996,0.7444,0.7754 +"41","01","01","OR",578179,0.6691,0.8187 +"41","01","03","OR",100640,0.1183,0.1425 +"41","01","05","OR",27390,0.0323,0.0388 +"41","02","02","OR",653012,0.7674,0.9247 +"41","02","04","OR",53197,0.0646,0.0753 +"41","03","02","OR",23977,0.0282,0.034 +"41","03","03","OR",676128,0.7944,0.9574 +"41","03","05","OR",6104,0.0072,0.0086 +"41","04","04","OR",642858,0.7805,0.9103 +"41","04","05","OR",63350,0.0747,0.0897 +"41","05","01","OR",30,0,0 +"41","05","02","OR",173982,0.2045,0.2464 +"41","05","03","OR",74310,0.0873,0.1052 +"41","05","04","OR",127553,0.1549,0.1806 +"41","05","05","OR",330334,0.3898,0.4678 +"41","06","01","OR",285843,0.3308,0.4048 +"41","06","05","OR",420369,0.496,0.5952 +"42","01","01","PA",713282,0.9736,0.9326 +"42","01","04","PA",51584,0.0684,0.0674 +"42","02","02","PA",733054,1,0.9584 +"42","02","03","PA",31811,0.0423,0.0416 +"42","03","03","PA",720246,0.9577,0.9417 +"42","03","04","PA",19,0,0 +"42","03","05","PA",44599,0.061,0.0583 +"42","04","01","PA",19364,0.0264,0.0253 +"42","04","04","PA",624540,0.8276,0.8165 +"42","04","09","PA",120961,0.1713,0.1581 +"42","05","04","PA",78453,0.104,0.1026 +"42","05","05","PA",686413,0.939,0.8974 +"42","06","06","PA",752938,1,0.9844 +"42","06","09","PA",11926,0.0169,0.0156 +"42","07","07","PA",692643,0.9287,0.9056 +"42","07","08","PA",7473,0.0105,0.0098 +"42","07","09","PA",64749,0.0917,0.0847 +"42","08","07","PA",53139,0.0713,0.0695 +"42","08","08","PA",704423,0.9879,0.921 +"42","08","09","PA",7304,0.0103,0.0095 +"42","09","08","PA",1190,0.0017,0.0016 +"42","09","09","PA",501306,0.7098,0.6554 +"42","09","12","PA",262368,0.382,0.343 +"42","10","10","PA",735826,0.9688,0.962 +"42","10","11","PA",7387,0.0099,0.0097 +"42","10","13","PA",21651,0.0312,0.0283 +"42","11","10","PA",23660,0.0312,0.0309 +"42","11","11","PA",741204,0.9901,0.9691 +"42","12","14","PA",110935,0.1609,0.145 +"42","12","18","PA",653929,0.9307,0.855 +"42","13","12","PA",115494,0.1682,0.151 +"42","13","13","PA",561355,0.8079,0.7339 +"42","13","15","PA",88015,0.1305,0.1151 +"42","14","13","PA",111807,0.1609,0.1462 +"42","14","14","PA",578654,0.8391,0.7565 +"42","14","15","PA",74405,0.1103,0.0973 +"42","15","12","PA",308920,0.4498,0.4039 +"42","15","15","PA",455944,0.6761,0.5961 +"42","16","15","PA",55961,0.083,0.0732 +"42","16","16","PA",688028,1,0.8995 +"42","16","17","PA",20876,0.0283,0.0273 +"42","17","17","PA",716180,0.9717,0.9363 +"42","17","18","PA",48684,0.0693,0.0637 +"44","01","01","RI",546128,0.9852,0.9964 +"44","01","02","RI",1950,0.0036,0.0036 +"44","02","01","RI",8179,0.0148,0.0149 +"44","02","02","RI",541122,0.9964,0.9851 +"45","01","01","SC",678404,0.8284,0.9278 +"45","01","06","SC",52799,0.0817,0.0722 +"45","02","02","SC",707432,0.9801,0.9675 +"45","02","06","SC",23771,0.0368,0.0325 +"45","03","03","SC",692784,0.9802,0.9475 +"45","03","04","SC",7111,0.0094,0.0097 +"45","03","05","SC",31309,0.0425,0.0428 +"45","04","03","SC",14001,0.0198,0.0191 +"45","04","04","SC",717203,0.9434,0.9809 +"45","05","04","SC",35919,0.0472,0.0491 +"45","05","05","SC",694939,0.9438,0.9504 +"45","05","06","SC",346,0.0005,0.0005 +"45","06","01","SC",140489,0.1716,0.1921 +"45","06","02","SC",14397,0.0199,0.0197 +"45","06","05","SC",10038,0.0136,0.0137 +"45","06","06","SC",565994,0.8755,0.7741 +"45","06","07","SC",286,0.0004,0.0004 +"45","07","06","SC",3553,0.0055,0.0049 +"45","07","07","SC",727650,0.9996,0.9951 +"46","00","00","SD",886667,1,1 +"47","01","01","TN",726822,1,0.9465 +"47","01","02","TN",41049,0.053,0.0535 +"47","02","02","TN",732785,0.947,0.9543 +"47","02","03","TN",35086,0.0475,0.0457 +"47","03","03","TN",687471,0.9309,0.8953 +"47","03","04","TN",80400,0.0968,0.1047 +"47","04","04","TN",635478,0.7649,0.8276 +"47","04","06","TN",57889,0.0714,0.0754 +"47","04","07","TN",74505,0.0906,0.097 +"47","05","04","TN",108811,0.131,0.1417 +"47","05","05","TN",346457,0.4329,0.4512 +"47","05","06","TN",112307,0.1385,0.1463 +"47","05","07","TN",200296,0.2436,0.2608 +"47","06","03","TN",15969,0.0216,0.0208 +"47","06","04","TN",6158,0.0074,0.008 +"47","06","05","TN",188668,0.2358,0.2457 +"47","06","06","TN",557076,0.6868,0.7255 +"47","07","05","TN",265122,0.3313,0.3453 +"47","07","06","TN",83827,0.1033,0.1092 +"47","07","07","TN",418834,0.5093,0.5454 +"47","07","08","TN",88,0.0001,0.0001 +"47","08","07","TN",128734,0.1565,0.1677 +"47","08","08","TN",637367,0.8897,0.83 +"47","08","09","TN",1770,0.0026,0.0023 +"47","09","08","TN",78892,0.1101,0.1027 +"47","09","09","TN",688979,0.9974,0.8973 +"48","01","01","TX",555174,0.7686,0.7238 +"48","01","04","TX",211813,0.2691,0.2762 +"48","02","02","TX",264821,0.3251,0.3453 +"48","02","08","TX",382026,0.4169,0.4981 +"48","02","18","TX",41090,0.0516,0.0536 +"48","02","36","TX",79050,0.1014,0.1031 +"48","03","03","TX",561979,0.6023,0.7327 +"48","03","04","TX",140042,0.1779,0.1826 +"48","03","32","TX",64966,0.0823,0.0847 +"48","04","03","TX",294509,0.3157,0.384 +"48","04","04","TX",421285,0.5351,0.5493 +"48","04","26","TX",51193,0.0543,0.0667 +"48","05","01","TX",16141,0.0223,0.021 +"48","05","04","TX",14116,0.0179,0.0184 +"48","05","05","TX",479400,0.6122,0.625 +"48","05","32","TX",257330,0.3259,0.3355 +"48","06","05","TX",108334,0.1383,0.1412 +"48","06","06","TX",356841,0.4325,0.4653 +"48","06","17","TX",12511,0.0155,0.0163 +"48","06","24","TX",65772,0.0799,0.0858 +"48","06","25","TX",83797,0.099,0.1093 +"48","06","33","TX",139732,0.1939,0.1822 +"48","07","02","TX",96982,0.119,0.1264 +"48","07","07","TX",262847,0.3282,0.3427 +"48","07","09","TX",257829,0.3345,0.3362 +"48","07","18","TX",8898,0.0112,0.0116 +"48","07","22","TX",140431,0.1444,0.1831 +"48","08","02","TX",14344,0.0176,0.0187 +"48","08","07","TX",231116,0.2886,0.3013 +"48","08","08","TX",325528,0.3552,0.4244 +"48","08","10","TX",145876,0.1555,0.1902 +"48","08","36","TX",50123,0.0643,0.0654 +"48","09","02","TX",4379,0.0054,0.0057 +"48","09","07","TX",50584,0.0632,0.066 +"48","09","09","TX",505685,0.6561,0.6593 +"48","09","14","TX",6806,0.0088,0.0089 +"48","09","18","TX",29562,0.0371,0.0385 +"48","09","22","TX",133151,0.1369,0.1736 +"48","09","29","TX",36820,0.0513,0.048 +"48","10","08","TX",42723,0.0466,0.0557 +"48","10","10","TX",279373,0.2978,0.3642 +"48","10","17","TX",277843,0.3449,0.3623 +"48","10","21","TX",601,0.0007,0.0008 +"48","10","25","TX",117248,0.1385,0.1529 +"48","10","31","TX",49199,0.0527,0.0641 +"48","11","11","TX",570685,0.7319,0.7441 +"48","11","25","TX",67519,0.0798,0.088 +"48","11","31","TX",128783,0.1379,0.1679 +"48","12","06","TX",34722,0.0421,0.0453 +"48","12","12","TX",718405,0.831,0.9367 +"48","12","24","TX",9198,0.0112,0.012 +"48","12","26","TX",71,0.0001,0.0001 +"48","12","33","TX",4591,0.0064,0.006 +"48","13","12","TX",680,0.0008,0.0009 +"48","13","13","TX",629009,0.8891,0.8201 +"48","13","26","TX",137298,0.1456,0.179 +"48","14","14","TX",681614,0.8799,0.8887 +"48","14","22","TX",565,0.0006,0.0007 +"48","14","36","TX",84808,0.1088,0.1106 +"48","15","15","TX",527191,0.6527,0.6874 +"48","15","28","TX",186725,0.239,0.2435 +"48","15","34","TX",53071,0.0746,0.0692 +"48","16","16","TX",720471,0.9513,0.9394 +"48","16","23","TX",46515,0.0557,0.0606 +"48","17","01","TX",151048,0.2091,0.1969 +"48","17","08","TX",102253,0.1116,0.1333 +"48","17","10","TX",7403,0.0079,0.0097 +"48","17","17","TX",419449,0.5207,0.5469 +"48","17","31","TX",86834,0.093,0.1132 +"48","18","02","TX",153179,0.188,0.1997 +"48","18","18","TX",607268,0.762,0.7918 +"48","18","29","TX",6540,0.0091,0.0085 +"48","19","11","TX",46849,0.0601,0.0611 +"48","19","13","TX",9090,0.0128,0.0119 +"48","19","19","TX",711048,0.9721,0.9271 +"48","20","20","TX",635137,0.8226,0.8281 +"48","20","21","TX",20470,0.0241,0.0267 +"48","20","23","TX",104457,0.1252,0.1362 +"48","20","35","TX",6923,0.0083,0.009 +"48","21","20","TX",12096,0.0157,0.0158 +"48","21","21","TX",602532,0.7105,0.7856 +"48","21","23","TX",4466,0.0054,0.0058 +"48","21","25","TX",63798,0.0754,0.0832 +"48","21","28","TX",9476,0.0121,0.0124 +"48","21","35","TX",74619,0.0896,0.0973 +"48","22","07","TX",27610,0.0345,0.036 +"48","22","09","TX",7284,0.0094,0.0095 +"48","22","10","TX",54111,0.0577,0.0706 +"48","22","14","TX",14686,0.019,0.0191 +"48","22","22","TX",585471,0.6021,0.7633 +"48","22","27","TX",77825,0.1052,0.1015 +"48","23","16","TX",36891,0.0487,0.0481 +"48","23","20","TX",92900,0.1203,0.1211 +"48","23","21","TX",2134,0.0025,0.0028 +"48","23","23","TX",633614,0.7591,0.8261 +"48","23","28","TX",1448,0.0019,0.0019 +"48","24","05","TX",19766,0.0252,0.0258 +"48","24","12","TX",65587,0.0759,0.0855 +"48","24","24","TX",372695,0.453,0.4859 +"48","24","26","TX",176455,0.1871,0.2301 +"48","24","32","TX",132452,0.1677,0.1727 +"48","24","33","TX",32,0,0 +"48","25","06","TX",346164,0.4196,0.4513 +"48","25","11","TX",162160,0.208,0.2114 +"48","25","12","TX",50048,0.0579,0.0653 +"48","25","13","TX",8472,0.012,0.011 +"48","25","19","TX",20376,0.0279,0.0266 +"48","25","25","TX",170312,0.2012,0.2221 +"48","25","33","TX",9455,0.0131,0.0123 +"48","26","12","TX",26779,0.031,0.0349 +"48","26","13","TX",60899,0.0861,0.0794 +"48","26","24","TX",101220,0.123,0.132 +"48","26","26","TX",578089,0.613,0.7537 +"48","27","10","TX",2264,0.0024,0.003 +"48","27","27","TX",661872,0.8948,0.863 +"48","27","34","TX",83678,0.1175,0.1091 +"48","27","35","TX",19173,0.023,0.025 +"48","28","15","TX",88626,0.1097,0.1156 +"48","28","20","TX",11216,0.0145,0.0146 +"48","28","23","TX",45597,0.0546,0.0594 +"48","28","28","TX",478191,0.6121,0.6235 +"48","28","35","TX",143357,0.1722,0.1869 +"48","29","18","TX",110090,0.1381,0.1435 +"48","29","22","TX",9046,0.0093,0.0118 +"48","29","29","TX",647837,0.9032,0.8447 +"48","29","36","TX",14,0,0 +"48","30","05","TX",14977,0.0191,0.0195 +"48","30","06","TX",52650,0.0638,0.0686 +"48","30","30","TX",654868,0.8364,0.8538 +"48","30","32","TX",44492,0.0563,0.058 +"48","31","25","TX",158680,0.1875,0.2069 +"48","31","31","TX",608307,0.6515,0.7931 +"48","32","03","TX",76520,0.082,0.0998 +"48","32","05","TX",160639,0.2051,0.2094 +"48","32","24","TX",113363,0.1378,0.1478 +"48","32","30","TX",126039,0.161,0.1643 +"48","32","32","TX",290426,0.3678,0.3787 +"48","33","06","TX",34601,0.0419,0.0451 +"48","33","12","TX",3025,0.0035,0.0039 +"48","33","24","TX",160458,0.195,0.2092 +"48","33","30","TX",2069,0.0026,0.0027 +"48","33","33","TX",566834,0.7866,0.739 +"48","34","15","TX",191885,0.2376,0.2502 +"48","34","34","TX",575102,0.8079,0.7498 +"48","35","10","TX",58265,0.0621,0.076 +"48","35","20","TX",20754,0.0269,0.0271 +"48","35","21","TX",41202,0.0486,0.0537 +"48","35","25","TX",35895,0.0424,0.0468 +"48","35","28","TX",105436,0.135,0.1375 +"48","35","35","TX",505435,0.6072,0.659 +"48","36","14","TX",71580,0.0924,0.0933 +"48","36","22","TX",103645,0.1066,0.1351 +"48","36","29","TX",26058,0.0363,0.034 +"48","36","36","TX",565704,0.7255,0.7376 +"48","37","10","TX",197312,0.2104,0.2573 +"48","37","17","TX",95803,0.1189,0.1249 +"48","37","21","TX",181131,0.2136,0.2362 +"48","37","25","TX",149203,0.1763,0.1945 +"48","37","31","TX",60649,0.065,0.0791 +"48","37","35","TX",82889,0.0996,0.1081 +"48","38","02","TX",280999,0.3449,0.3664 +"48","38","07","TX",228754,0.2856,0.2982 +"48","38","08","TX",63856,0.0697,0.0833 +"48","38","10","TX",193378,0.2062,0.2521 +"49","01","01","UT",727350,0.9091,0.8893 +"49","01","02","UT",71517,0.0892,0.0874 +"49","01","04","UT",19037,0.0216,0.0233 +"49","02","02","UT",713118,0.8896,0.8719 +"49","02","04","UT",104786,0.1186,0.1281 +"49","03","01","UT",72747,0.0909,0.0889 +"49","03","03","UT",671181,0.8531,0.8206 +"49","03","04","UT",73976,0.0838,0.0904 +"49","04","02","UT",17001,0.0212,0.0208 +"49","04","03","UT",115533,0.1469,0.1413 +"49","04","04","UT",685370,0.776,0.838 +"50","00","00","VT",643077,1,1 +"51","01","01","VA",319599,0.3862,0.4075 +"51","01","02","VA",115713,0.1541,0.1475 +"51","01","04","VA",3428,0.0043,0.0044 +"51","01","07","VA",345516,0.4227,0.4406 +"51","02","02","VA",505165,0.6728,0.6432 +"51","02","03","VA",120802,0.1596,0.1538 +"51","02","04","VA",159471,0.2019,0.203 +"51","03","02","VA",129952,0.1731,0.1667 +"51","03","03","VA",635959,0.8404,0.8158 +"51","03","04","VA",13676,0.0173,0.0175 +"51","04","04","VA",613240,0.7764,0.7788 +"51","04","05","VA",15849,0.0214,0.0201 +"51","04","07","VA",158284,0.1936,0.201 +"51","05","01","VA",16840,0.0203,0.0214 +"51","05","05","VA",512004,0.6926,0.6492 +"51","05","06","VA",138207,0.181,0.1753 +"51","05","07","VA",121563,0.1487,0.1541 +"51","06","06","VA",583681,0.7646,0.7453 +"51","06","09","VA",65177,0.0935,0.0832 +"51","06","10","VA",134322,0.1517,0.1715 +"51","07","01","VA",346606,0.4188,0.4423 +"51","07","05","VA",34499,0.0467,0.044 +"51","07","07","VA",192056,0.235,0.2451 +"51","07","11","VA",210527,0.2612,0.2686 +"51","08","08","VA",715090,0.8958,0.912 +"51","08","10","VA",13711,0.0155,0.0175 +"51","08","11","VA",55292,0.0686,0.0705 +"51","09","05","VA",113301,0.1533,0.1441 +"51","09","06","VA",41513,0.0544,0.0528 +"51","09","09","VA",631578,0.9065,0.8031 +"51","10","01","VA",144561,0.1747,0.1843 +"51","10","05","VA",63558,0.086,0.081 +"51","10","10","VA",573487,0.6477,0.7312 +"51","10","11","VA",2669,0.0033,0.0034 +"51","11","08","VA",83167,0.1042,0.106 +"51","11","10","VA",163902,0.1851,0.2089 +"51","11","11","VA",537428,0.6669,0.6851 +"53","01","01","WA",488664,0.6188,0.633 +"53","01","02","WA",214508,0.2806,0.2778 +"53","01","09","WA",68859,0.089,0.0892 +"53","02","01","WA",173179,0.2193,0.2252 +"53","02","02","WA",547748,0.7166,0.7122 +"53","02","07","WA",48178,0.0603,0.0626 +"53","03","03","WA",750015,0.9706,0.9749 +"53","03","10","WA",19293,0.0246,0.0251 +"53","04","03","WA",22735,0.0294,0.0296 +"53","04","04","WA",728180,0.9685,0.9473 +"53","04","08","WA",17795,0.0228,0.0231 +"53","05","04","WA",23663,0.0315,0.0305 +"53","05","05","WA",751208,1,0.9695 +"53","06","06","WA",712370,0.9668,0.9212 +"53","06","08","WA",6636,0.0085,0.0086 +"53","06","09","WA",23797,0.0308,0.0308 +"53","06","10","WA",30475,0.0388,0.0394 +"53","07","07","WA",750157,0.9384,0.9747 +"53","07","09","WA",19506,0.0252,0.0253 +"53","08","01","WA",127897,0.1619,0.1661 +"53","08","02","WA",2110,0.0028,0.0027 +"53","08","08","WA",613090,0.7855,0.7964 +"53","08","09","WA",9768,0.0126,0.0127 +"53","08","10","WA",16982,0.0216,0.0221 +"53","09","07","WA",1055,0.0013,0.0014 +"53","09","08","WA",116294,0.149,0.1513 +"53","09","09","WA",651489,0.8423,0.8474 +"53","10","06","WA",24428,0.0332,0.0317 +"53","10","08","WA",26679,0.0342,0.0347 +"53","10","10","WA",718523,0.915,0.9336 +"54","01","01","WV",7408,0.0123,0.0083 +"54","01","02","WV",318068,0.5121,0.355 +"54","01","03","WV",570591,1,0.6368 +"54","02","01","WV",594636,0.9877,0.6624 +"54","02","02","WV",303013,0.4879,0.3376 +"55","01","01","WI",631331,0.8679,0.857 +"55","01","02","WI",45413,0.0575,0.0616 +"55","01","04","WI",48160,0.0693,0.0654 +"55","01","05","WI",11811,0.0161,0.016 +"55","02","02","WI",736715,0.9333,1 +"55","03","02","WI",7265,0.0092,0.0099 +"55","03","03","WI",729448,0.9944,0.9901 +"55","03","07","WI",3,0,0 +"55","04","04","WI",647235,0.9307,0.8785 +"55","04","05","WI",87787,0.1193,0.1192 +"55","04","06","WI",1692,0.0023,0.0023 +"55","05","01","WI",96121,0.1321,0.1305 +"55","05","05","WI",635923,0.8645,0.8632 +"55","05","06","WI",4671,0.0064,0.0063 +"55","06","05","WI",50,0.0001,0.0001 +"55","06","06","WI",721411,0.9913,0.9792 +"55","06","08","WI",15253,0.0203,0.0207 +"55","07","03","WI",4136,0.0056,0.0056 +"55","07","07","WI",732579,1,0.9944 +"55","08","08","WI",736714,0.9797,1 +"56","00","00","WY",576851,1,1 +"72","98","98","PR",3285874,1,1 diff --git a/tmd/areas/targets/prepare/prepare_cds/.Rprofile b/tmd/areas/targets/prepare/prepare_cds/.Rprofile deleted file mode 100644 index 81b960f5..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/.Rprofile +++ /dev/null @@ -1 +0,0 @@ -source("renv/activate.R") diff --git a/tmd/areas/targets/prepare/prepare_cds/.gitignore b/tmd/areas/targets/prepare/prepare_cds/.gitignore deleted file mode 100644 index 314f5b98..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -# prepare_cds - -# ignore quarto at the root level -/.quarto/ - -# folders to ignore (anywhere in project since not preceded by root /) -.Rproj.user/ -_cdprep/ -_docs/ -_freeze/ -archive/ -libs/ -# Local Netlify folder -.netlify - -# Ignore `renv` directories that are system-specific -renv/library/ -renv/cache/ - -# Track the lockfile and settings file for reproducibility -!renv.lock -!renv/settings.dcf - -# file types to ignore (unless not ignored elsewhere) -~* -*.csv -*.html -*.rds - -# specific files to ignore regardless of how file types are treated -.Rhistory - -# Do not ignore anything in raw data folder, including files or folders nested within -!cds/raw_data/** -# but continue to ignore Word temp files -cds/raw_data/~* - diff --git a/tmd/areas/targets/prepare/prepare_cds/.here b/tmd/areas/targets/prepare/prepare_cds/.here deleted file mode 100644 index e69de29b..00000000 diff --git a/tmd/areas/targets/prepare/prepare_cds/.renvignore b/tmd/areas/targets/prepare/prepare_cds/.renvignore deleted file mode 100644 index 7f0abfe8..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/.renvignore +++ /dev/null @@ -1,7 +0,0 @@ - -# folders to avoid scanning by renv -_cdprep/ -archive/ -data/ -images/ - diff --git a/tmd/areas/targets/prepare/prepare_cds/R/constants.R b/tmd/areas/targets/prepare/prepare_cds/R/constants.R deleted file mode 100644 index ce6a335f..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/R/constants.R +++ /dev/null @@ -1,16 +0,0 @@ - -CDZIPURL <- "https://www.irs.gov/pub/irs-soi/congressional2021.zip" -CDDOCURL <- "https://www.irs.gov/pub/irs-soi/21incddocguide.docx" - -CDDATA <- here::here("data") -CDRAW <- fs::path(CDDATA, "data_raw") -CDINTERMEDIATE <- fs::path(CDDATA, "intermediate") - -CDDOCEXTRACT <- "cd_documentation_extracted_from_21incddocguide.docx.xlsx" - -TMDHOME <- fs::path(here::here(), "..", "..", "..", "..", "..") -# normalizePath(TMDHOME) -TMDDATA <- fs::path(TMDHOME, "tmd", "storage", "output") -# normalizePath(TMDDATA) - -CDAGICUTS <- c(-Inf, 1, 10e3, 25e3, 50e3, 75e3, 100e3, 200e3, 500e3, Inf) diff --git a/tmd/areas/targets/prepare/prepare_cds/R/functions.R b/tmd/areas/targets/prepare/prepare_cds/R/functions.R deleted file mode 100644 index 2068a940..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/R/functions.R +++ /dev/null @@ -1,11 +0,0 @@ - - -ht <- function(df, nrecs = 6) { - print(utils::head(df, nrecs)) - print(utils::tail(df, nrecs)) -} - -ns <- function(obj){ - sort(names(obj)) -} - diff --git a/tmd/areas/targets/prepare/prepare_cds/R/libraries.R b/tmd/areas/targets/prepare/prepare_cds/R/libraries.R deleted file mode 100644 index 5814517a..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/R/libraries.R +++ /dev/null @@ -1,82 +0,0 @@ -# libraries --------------------------------------------------------------- - -library(renv) -library(here) - -library(DT) -library(fs) -library(gt) -library(knitr) -library(readxl) -library(skimr) -library(stringr) -library(tidyverse) -# includes: dplyr, forcats, ggplot2, lubridate, purrr, stringr, tibble, tidyr - -tprint <- 75 # default tibble print -options(tibble.print_max = tprint, tibble.print_min = tprint) # show up to tprint rows - -library(vroom) - -# census_api_key("b27cb41e46ffe3488af186dd80c64dce66bd5e87", install = TRUE) # stored in .Renviron -# libraries needed for census population -library(sf) -library(tidycensus) -library(tigris) -options(tigris_use_cache = TRUE) - - -# possible libraries ------------------------------------------------------ - -# library(rlang) -# library(tidyverse) -# tprint <- 75 # default tibble print -# options(tibble.print_max = tprint, tibble.print_min = tprint) # show up to tprint rows -# -# library(fs) - -# tools -# library(vroom) -# library(readxl) -# library(openxlsx) # for writing xlsx files -# library(lubridate) -# library(RColorBrewer) -# library(RcppRoll) -# library(fredr) -# library(tidycensus) -# library(googledrive) -# library(arrow) -# -# library(jsonlite) -# library(tidyjson) -# -# -# # boyd libraries -# # library(btools) -# # library(bdata) -# # library(bggtools) -# # library(bmaps) -# -# # graphics -# library(scales) -# library(ggbeeswarm) -# library(patchwork) -# library(gridExtra) -# library(ggrepel) -# library(ggbreak) -# -# # tables -# library(knitr) -# library(kableExtra) -# library(DT) -# library(gt) -# library(gtExtras) -# library(janitor) -# library(skimr) -# library(vtable) -# -# # maps -# library(maps) -# # https://cran.r-project.org/web/packages/usmap/vignettes/mapping.html -# library(usmap) - diff --git a/tmd/areas/targets/prepare/prepare_cds/README.md b/tmd/areas/targets/prepare/prepare_cds/README.md deleted file mode 100644 index c3ca375b..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# areas / targets / prepare / prepare_cds - -Contains code and data used to generate sub-national area targets files for Congressional Districts. - -Evolving preparation documentation for Congressional Districts is available at [this -website](https://tmd-areas-prepare-cd-targets.netlify.app). diff --git a/tmd/areas/targets/prepare/prepare_cds/_quarto.yml b/tmd/areas/targets/prepare/prepare_cds/_quarto.yml deleted file mode 100644 index a7b9abb1..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/_quarto.yml +++ /dev/null @@ -1,83 +0,0 @@ -project: - type: book - output-dir: _cdprep - -# https://prerelease.quarto.org/ # quarto documentation at this link - - -# site info: - # OLD id: 4d646266-9d1f-4d69-acb4-b9a17b63a5ff - # Unique deploy URL: https://671e13320a7e7cfb68b1ba7d--tmd-areas-prepare-targets.netlify.app - # url: https://tmd-areas-targets-prepare.netlify.app - -# publishing with netlify cli: -# open terminal in prepare -# quarto render && netlify deploy --prod --dir=_cdprep - -# quarto render # inspect to be sure it is as desired -# netlify deploy --prod --dir=_cdprep - -# or step by step -# netlify deploy # to test it, give _examine as publish directory -# netlify deploy --prod # to deploy, give _docs as publish directory - -execute: - eval: true - echo: true - output: true - freeze: false # auto: during global project renders, re-render only when source changes - -book: - title: "Develop targets for Congressional districts" - subtitle: "Create csv target files for use by area targeting routines" - # author: "Don Boyd" - date: today - date-format: long - chapters: - - index.qmd - - part: "Usage" - chapters: - - usage.qmd - - part: "IRS SOI Congressional District data" - chapters: - # - cd_agilabels.qmd - - cd_download_and_clean_census_population_data.qmd - - cd_download_soi_data.qmd - - cd_construct_soi_variable_documentation.qmd - - cd_construct_long_soi_data_file.qmd - - cd_create_basefile_for_117Congress_cd_target_files.qmd - - cd_create_additional_cd_targets.qmd - - cd_combine_base_and_additional_targets.qmd - - cd_create_cd_117_118_crosswalk_and_cdbasefile_118.qmd - - cd_create_final_enhanced_multisession_basefile.qmd - # - cd_create_variable_mapping.qmd - # - cd_compare_us_totals_tmd_vs_irs_published.qmd - appendices: - # - cd_issues_and_TODOs.qmd - - cd_IRS_documentation.qmd - -format: - html: - theme: cosmo - code-fold: true - -editor_options: - chunk_output_type: console - -# R packages using old 209 libxml -# gt, - - -# rendering commands -# quarto render -# quarto publish netlify --no-prompt --no-render --no-browser - -# possibly use this at start of each doc -# --- -# output: html_document -# editor_options: -# chunk_output_type: console -# --- - - - \ No newline at end of file diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_IRS_documentation.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_IRS_documentation.qmd deleted file mode 100644 index 3a57544d..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_IRS_documentation.qmd +++ /dev/null @@ -1,100 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# About the SOI Congressional District data - -All text in this section is copied verbatim from the IRS SOI data documentation (21incddocguide.docx), with no substantive edits and no commentary. - -## Time period - -The Statistics of Income (SOI) Division’s Congressional district data is tabulated using individual income tax returns (Forms 1040) filed with the Internal Revenue Service (IRS) during the 12-month period, January 1, 2022 to December 31, 2022. While the bulk of returns filed during this 12-month period are primarily for Tax Year 2021, the IRS received a limited number of returns for tax years before 2021. These prior-year returns are used as a proxy for returns that are typically filed beyond the 12-month period and have been included within the congressional district data. - -## Population Definitions and Tax Return Addresses - -- Congressional data are based on the population of individual income tax returns processed by the IRS during the 2022 calendar year. - -- Returns filed for the purpose of receiving an Economic Impact Payment, due to COVID-19, were excluded from the data. - -- State totals within the Congressional data may not be comparable to State totals published elsewhere by SOI because of disclosure protection procedures or the exclusion of returns that did not match based on the ZIP code. See footnote for complete State totals. \[2\] - -- Data do not represent the full U.S. population because many individuals are not required to file an individual income tax return. - -- The address shown on the tax return may differ from the taxpayer’s actual residence. - -- Congressional districts were based on the ZIP code shown on the return. - -- Tax returns filed without a ZIP code and returns filed with a ZIP code that did not match the State code shown on the return were excluded. - -- Tax returns filed using Army Post Office (APO) and Fleet Post Office addresses, foreign addresses, and addresses in Puerto Rico, Guam, Virgin Islands, American Samoa, Marshall Islands, Northern Marianas, and Palau were excluded. - -## Congressional District and ZIP Code Matching Procedures - -SOI uses a commercial file to match ZIP codes to congressional districts. Congressional districts cover the 435 congressional districts in the 50 states and the District of Columbia. District boundaries are based on the 117th Congress. - -The matching process first utilizes the 9-digit ZIP code, if present on the return, to determine the proper congressional district for that return. Nearly 97 percent of the returns match on the 9-digit ZIP code. When the 9-digit ZIP code is not available, the matching process uses the 5-digit ZIP code to determine the proper congressional district. Returns that do not match on ZIP code, or where a ZIP code is not present, are excluded from the data. - -Eight states (AK, DC, DE, MT, ND, SD, VT, and WY) have only one congressional district, therefore the matching procedures are not performed on these states. Returns with only one congressional district represent 2 percent of the total number of returns. - -## Disclosure Protection Procedures - -SOI did not attempt to correct any ZIP codes listed on the tax returns; however, it did take the following precautions to avoid disclosing information about specific taxpayers: - -- Income and tax items with less than 20 returns for a particular AGI class were combined with another AGI class within the same congressional district. Collapsed AGI classes are identified with a double asterisk (\*\*) in the Excel files. - -- Income and tax items with less than 20 returns for a congressional district were excluded. - -- If an income or tax item from one return constitutes more than a specified percentage of the total of any particular cell, the specific data item for that return is excluded from that cell. For example, if the amount for wages from one return represents 75 percent of the value of the total for that cell, the data item will be suppressed. The actual threshold percentage used cannot be released. - -## IRS Endnotes - -[1] The use of prior-year returns as a proxy for returns that are filed beyond the current processing year is consistent with SOI’s national, state, county, and ZIP code tabulations. A description of SOI’s sample, which is used as an input for the geographic data, and the use of prior-year returns, can be found at https://www.irs.gov/statistics/soi-tax-stats-individual-income-tax-returns-publication-1304-complete-report#_sec2. - -[2] For complete individual income tax tabulations at the State level, see the historic table posted to Tax Stats at http://www.irs.gov/uac/SOI-Tax-Stats---Historic-Table-2. - -[3] The State Federal Information Processing System (FIPS) codes used for these statistics were derived from the U.S. Census Bureau. A complete list of codes can be obtained from https://www.census.gov/geo/reference/codes/cou.html. - -[4] "Number," here, and elsewhere represents number of returns, unless otherwise specified. The number of returns have been rounded to the nearest ten. - -[5] Beginning in 2018, personal exemption deductions were suspended for the primary, secondary, and dependent taxpayers. However, the data used to create the “Number of individuals”—filing status, dependent status indicator, and identifying dependent information—are still available on the Form 1040. This field is based on these data. - -[6] The "Number of volunteer prepared returns" shows counts of returns prepared by IRS-certified volunteers to taxpayers with limited income, persons with disabilities, limited English speaking taxpayers, current and former members of the military, and taxpayers who are 60 years of age and older. - -[7] These data do not distinguish between refund anticipation loans and refund advances. - -[8] Includes primary taxpayers 60 years of age and older. - -[9] Less deficit. - -[10] “Qualified dividends” are ordinary dividends received in tax years beginning after 2002 that meet certain conditions and receive preferential tax rates. - -[11] Includes the Alaskan permanent fund, reported by residents of Alaska on Forms 1040A and 1040EZ's. -This fund only applies to statistics in the totals, and the state of Alaska. - -[12] “Total tax credits" represent the summation of taxpayer reported credit items made up in the calculation of the total credits line of Form 1040. It does not include the "earned income credit" and "refundable education credit," which are shown separately below in the table. - -[13] Earned income credit includes both the refundable and non-refundable portions. The non-refundable portion could reduce income tax and certain related taxes to zero. The earned income credit amounts in excess of total tax liability, or amounts when there was no tax liability at all, were refundable. See footnote 14 below for explanation of the refundable portion of the earned income credit. - -[14] The refundable portion of the earned income credit equals total income tax minus the earned income credit. If the result is negative, this amount is considered the refundable portion. No other refundable credits were taken into account for this calculation. - -[15] The "refundable education credit" can partially or totally offset tax liability as well as be totally refundable. - -[16] The 2021 recovery rebate credit was created by the American Rescue Plan Act of 2021, Public Law 117-2, 135 Stat. 4 (March 11, 2021). The recovery rebate credit was a credit against income tax for tax year 2021, but the American Rescue Plan Act of 2021 directed the IRS to make advance refunds of the recovery rebate credit “as rapidly as possible,” using information from tax year 2020 returns. - -An advance refund of the 2021 recovery rebate credit made under section 6428B of the Internal Revenue Code (Code), which was added by the American Rescue Plan Act of 2021, is referred to as a third round Economic Impact Payment (EIP). The dollar amount of the 2021 recovery rebate credit received by the taxpayer when they file their 2021 return is equal to a tentative amount, calculated based on the taxpayer’s 2021 return information, which is then reduced (but not below zero) by the amount of the third round EIP received by the taxpayer. The number of returns reported here for the 2021 recovery rebate credit is the number of returns that claimed some portion of the recovery rebate credit on their tax year 2021 return. -(A taxpayer would want to claim the recovery rebate credit if they did not receive the full amount of the credit as an EIP, which could happen, for example, if their income or number of dependent children on their 2021 return was different than on the 2020 return used as the basis for determining their EIP amounts). The amount reported here for the 2021 recovery rebate credit is the amount of the recovery rebate credit claimed by taxpayers on 2021 returns, which does not include the amount received as EIPs. - -[17] This table includes only payments issued to taxpayers who filed tax year 2021 returns. Individuals who received a third round Economic Impact Payment but did not file a 2021 return are excluded from these tabulations. For tabulations that include all recipients of third round EIPs, see: https://www.irs.gov/statistics/soi-tax-stats-coronavirus-aid-relief-and-economic-security-act-cares-act-statistics - - -[18] Section 6428B of the Internal Revenue Code (Code) directed the IRS to use information from tax year 2020 returns to determine eligibility for and the amount of the third round EIP. In contrast, this table is based primarily on information from tax year 2021 returns. Income, location, and household composition may have changed between the 2020 return used for the third round EIP and the 2021 return used for this table. Many taxpayers who would have been ineligible to claim the 2021 recovery rebate credit on their -2021 return because their 2021 income exceeded the phaseout region for the credit were, nevertheless, eligible for a third round EIP on the basis of their 2020 income. Section 6428B of the Code did not include any provisions for otherwise eligible taxpayers who had income in the eligible range in 2020 but whose income exceeded the eligible range in 2021 to pay back any of the third round EIP. For details on eligibility criteria, amount, and phaseout structure of the third round EIP, see: https://www.irs.gov/statistics/soi-tax-stats-coronavirus-aid-relief-and-economic-security-act-cares-act-statistics - -[19] “Total tax liability” differs from “Income tax”, in that “Total tax liability” includes the taxes from recapture of certain prior-year credits, tax applicable to individual retirement arrangements (IRA's), social security taxes on self-employment income and on certain tip income, advanced earned income payments, household employment taxes, and certain other taxes listed in the Form 1040 instructions. - -[20] Reflects payments to or withholdings made to "Total tax liability". This is the amount the tax filer owes when the income tax return is filed. - -[21] The amount of overpayments the tax filer requested to have refunded. - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_combine_base_and_additional_targets.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_combine_base_and_additional_targets.qmd deleted file mode 100644 index 04c6aec5..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_combine_base_and_additional_targets.qmd +++ /dev/null @@ -1,65 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Combine base and additional target files - - -```{r} -#| label: setup -#| output: false - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - - -## Stack basefile targets and additional targets - -```{r} -#| label: stack-targets -#| output: false - -base_targets <- read_csv(fs::path(CDINTERMEDIATE, "base_targets.csv")) -additional_targets <- read_csv(fs::path(CDINTERMEDIATE, "additional_targets.csv")) -ns(additional_targets) - -setdiff(names(base_targets), names(additional_targets)) # none missing -setdiff(names(additional_targets), names(base_targets)) # see below -# "soi_ussum" "soi_share" "tmdvar" "tmdsum" -# we can drop all of these - -# re-examine additional targets -glimpse(additional_targets) -count(additional_targets, basesoivname, soivname, description) -count(additional_targets, tmdvar, basesoivname, soivname, description) - -stack <- bind_rows(base_targets, - additional_targets |> - select(all_of(names(base_targets)))) |> - mutate(sort=ifelse(basesoivname=="XTOT" & - soivname=="XTOT" & - scope==0 & - str_detect(description, "population"), - 1, NA_real_)) |> - # sort is 1 for the population record, NA for others - so pop sorts first - # set desired order - arrange(stabbr, sort, scope, fstatus, basesoivname, count, agistub) |> - # now calc sort - mutate(sort=row_number(), .by=area) |> - select(stabbr, area, sort, count, scope, agilo, agihi, fstatus, target, basesoivname, soivname, description, agistub, agilabel) - -skim_without_charts(stack) - -# varname,count,scope,agilo,agihi,fstatus,target -check <- stack |> filter(area=="NY01") -check2 <- count(check, basesoivname, soivname, description) - -write_csv(stack, fs::path(CDINTERMEDIATE, "enhanced_targets_session117.csv")) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_compare_us_totals_tmd_vs_irs_published.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_compare_us_totals_tmd_vs_irs_published.qmd deleted file mode 100644 index 3ad2dd25..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_compare_us_totals_tmd_vs_irs_published.qmd +++ /dev/null @@ -1,338 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Compare U.S. totals of mapped variables, tax-microdata-benchmarking vs. IRS published CD values - - -## Setup -```{r} -#| label: setup - -source(here::here("R", "libraries.R")) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - -## Get data - -```{r} -#| label: get-data -#| output: false - -vmap <- read_csv(fs::path(CDINTERMEDIATE, "cd_variable_mapping.csv")) -cdirs <- read_csv(fs::path(CDINTERMEDIATE, "cdbasefile_sessions.csv")) - -fpath <- fs::path(TMDDATA, "cached_allvars.csv") -tmd2021 <- vroom(fpath) -ns(tmd2021) - -``` - -## Create comparison file - -Prepare Congressional district data. - -```{r} -#| label: prepare-cd-data -#| output: false - -count(cdirs, count) - -cd2 <- cdirs |> - filter(basevname %in% vmap$basevname, - session==118, - scope==1 | basevname=="XTOT") - -glimpse(cd2) -count(cd2, count) -count(cd2, basevname, vname) -count(cd2, rectype) -count(cd2, scope) -count(cd2, fstatus) -count(cd2 |> filter(str_detect(vname, "MARS")), - vname, fstatus) -skim(cd2) - -# get sums over all Congressional districts -cd_adjusted <- cd2 |> - summarise(target=sum(target), n=n(), - .by=c(basevname, vname, scope, count, fstatus, agistub, agirange, description)) |> - select(-n) # I want to look at n but not keep it in the file - -``` - -Prepare tmd data - -Start by getting desired sums and making long - -```{r} -#| label: get-tmdsums-long -#| eval: true -#| output: false - -# CDAGICUTS - -ns(tmd2021) -keepvars <- c("RECID", "data_source", "MARS", "s006", unique(vmap$varname)) -tmdprep <- tmd2021 |> - select(all_of(keepvars)) |> - mutate(scope=ifelse(data_source==0, 2, 1), - agistub=cut(c00100, CDAGICUTS, right = FALSE, ordered_result = TRUE) |> - as.integer(), - # create all-returns count variables fow which we want weighted sums - N1=1, - MARS1 = if_else(MARS == 1, 1, 0), - MARS2 = if_else(MARS == 2, 1, 0), - MARS4 = if_else(MARS == 4, 1, 0)) -# summary(tmdprep) - -sum_vars <- unique(vmap$varname) -nzcount_vars <- setdiff(sum_vars, "XTOT") -allcount_vars <- c("N1", "MARS1", "MARS2", "MARS4") - -tmdsums <- tmdprep |> - # note that we get nzcount for AGI but don't have counterpart in the CD data - summarize(across(all_of(sum_vars), list(amount = \(x) sum(x * s006))), - across(all_of(nzcount_vars), list(nzcount = \(x) sum((x!=0) * s006))), - across(all_of(allcount_vars), list(allcount = \(x) sum((x==1) * s006))), - .by=c(scope, agistub)) |> - arrange(scope, agistub) - -# look at nzcounts -tmdsums |> select(scope, agistub, contains("nzcount")) -tmdsums |> select(scope, agistub, contains("allcount")) -tmdsums |> select(scope, agistub, contains("amount")) -tmdsums |> select(scope, agistub, N1_allcount, c00100_nzcount) |> mutate(ratio=c00100_nzcount / N1_allcount) - -tmdsums |> - filter(scope==1) |> - select(scope, agistub, e00200_nzcount) |> - janitor::adorn_totals() - -tmdsums |> - filter(scope==1) |> - select(scope, agistub, contains("c00100") & contains("count")) |> - janitor::adorn_totals() - -# flip around and get count and fstatus -tmdsums_long <- tmdsums |> - pivot_longer(cols=-c(scope, agistub), values_to = "wtdvalue") |> - separate_wider_delim(cols=name, delim="_", names=c("varname", "type")) |> - mutate( - count = case_when( - type == "amount" ~ 0, - type == "allcount" ~ 1, - type == "nzcount" ~ 2, - .default = -9e9), - fstatus=case_when( - varname %in% c("MARS1", "MARS2", "MARS4") ~ str_sub(varname, -1), - .default = "0"), - fstatus=as.integer(fstatus)) |> - select(varname, scope, fstatus, count, agistub, wtdvalue) -glimpse(tmdsums_long) -count(tmdsums_long, count) -count(tmdsums_long, fstatus) - -tmdsums_long |> - filter(varname=="e00200", scope==1, count==2) |> - janitor::adorn_totals() - -tmdsums_long |> filter(count==2, agistub==1) # looks good -tmdsums_long |> filter(count==1, agistub==4) -# 37,694,755 is the bad val allcount -tmdsums_long |> filter(varname=="MARS1") - -``` - - -Add additional category sums - -```{r} - -# we don't need sums over scope because entire scope is 1 for this, other than population -# we don't need sums over filing status because we're only concerned about selected fstatus - -# add sums over filing statuses as this is what we'll usually want -# tmd_fstatustots <- tmdsums_long |> -# filter(!str_starts(varname, "MARS")) |> # we don't need MARS totals over all filing statuses -# summarise(wtdvalue=sum(wtdvalue), -# .by=c(varname, scope, agistub, count)) |> -# mutate(fstatus=0) |> -# bind_rows(tmdsums_long) -# count(tmd_fstatustots, varname) -# tmd_fstatustots |> filter(varname=="MARS1") -# tmd_fstatustots |> -# filter(varname=="e00200", scope==1, count==2, fstatus==0) |> -# janitor::adorn_totals() -# tmd_fstatustots |> -# filter(varname=="e00200", scope==1, count==0) |> -# janitor::adorn_totals() - - -# add sums over agi ranges -tmd_agitots <- tmdsums_long |> - summarise(wtdvalue=sum(wtdvalue), - .by=c(varname, scope, fstatus, count)) |> - mutate(agistub=0) |> - bind_rows(tmdsums_long) -tmd_agitots |> filter(varname=="MARS1") - -tmd_agitots |> - filter(varname=="e00200", scope==1, count==2, fstatus==0, agistub!=0) |> - janitor::adorn_totals() - -# concatenate totals across scopes -tmd_scopetots <- tmd_agitots |> - summarise(wtdvalue=sum(wtdvalue), - .by=c(varname, agistub, fstatus, count)) |> - mutate(scope=0) |> - bind_rows(tmd_agitots) |> - select(varname, scope, fstatus, count, agistub, wtdvalue) |> - arrange(varname, scope, fstatus, count, agistub) -# skim(tmd_scopetots) -tmd_scopetots |> filter(varname=="MARS1") -count(tmd_scopetots, varname) - -tmd_scopetots |> - filter(varname=="e00200", scope==1, count==2, fstatus==0, agistub!=0) |> - janitor::adorn_totals() - - -vmap_prep <- vmap |> - mutate(varname=ifelse(basevname %in% allcount_vars, basevname, varname)) - -# setequal(vmap_prep$varname, tmd_scopetots$varname) -# setdiff(tmd_scopetots$varname, vmap_prep$varname) -# setdiff(vmap_prep$varname, tmd_scopetots$varname) - -# put basevname and description onto the file -tmd_adjusted <- tmd_scopetots |> - left_join(vmap_prep, by = join_by(varname, fstatus)) - -skim(tmd_adjusted) - -``` - - -## Prepare comparison file - -```{r} -#| label: prepare-compare -#| eval: true -#| output: false - -count(tmd_adjusted, basevname) -count(cd_adjusted, basevname) - -cd_adjusted2 <- cd_adjusted |> - mutate(basevname=ifelse(vname %in% allcount_vars, - vname, - basevname)) - -comp <- tmd_adjusted |> - select(-description) |> - inner_join(cd_adjusted2, - by = join_by(scope, fstatus, count, agistub, basevname)) |> - relocate(wtdvalue, .after = target) |> - mutate(diff=wtdvalue - target, - pdiff=diff / target) -summary(comp) -skim(comp) # will generate Inf, -Inf warning - -write_csv(comp, fs::path(CDINTERMEDIATE, "cd_tmd_irs_compare.csv")) - -``` - - -## Explore comparisons file - -```{r} -#| label: explore-compare -#| eval: true -#| output: false - -comp <- read_csv(fs::path(CDINTERMEDIATE, "cd_tmd_irs_compare.csv")) - -comp |> - arrange(desc(abs(pdiff))) - -badmatches <- c("e18400", "e18500", "e02400") # variables where tmd and IRS concepts are not well aligned - -badmatches <- c("e18400", "e18500", "e02400", "e26270") # to make it easier to examine other variables - -check <- comp |> - filter(!varname %in% badmatches, count==2) |> - arrange(desc(abs(pdiff))) - -check <- comp |> - filter(!varname %in% badmatches, count==1) |> - arrange(desc(abs(pdiff))) - -comp |> filter(!varname %in% badmatches, count==0, agistub==0) |> gt() |> fmt_number(columns = c(target, wtdvalue, diff), decimals = 0) -comp |> filter(!varname %in% badmatches, count==1, agistub==0) |> gt() |> fmt_number(columns = c(target, wtdvalue, diff), decimals = 0) -comp |> filter(!varname %in% badmatches, count==2, agistub==0) |> gt() |> fmt_number(columns = c(target, wtdvalue, diff), decimals = 0) - -tmd2021 |> - filter(data_source==1, c00100 != 0) |> - summarise(n=sum(s006)) # 160850840 - -temp2 <- tmd_adjusted |> filter(fstatus==0, agistub==0, varname=="c00100", scope==1) -temp2 |> gt() |> fmt_number(wtdvalue, decimals=0) -# count 1 161,696,687 -# count 2 160,850,840 - -temp <- comp |> - filter(varname=="c00100", scope==1, agistub==0, count==2) -# target 157375370 value 160850840 - -comp |> - filter(!varname %in% badmatches) |> - arrange(desc(abs(pdiff))) - -comp |> - filter(!varname %in% badmatches, count==1) |> - arrange(desc(wtdvalue)) - -comp |> - filter(!varname %in% badmatches, count==1, agistub==4) |> - arrange(desc(wtdvalue)) - -check <- comp |> - filter(!varname %in% badmatches, count==0) |> - arrange(desc(abs(pdiff))) - -check |> - filter(agistub==0) - -check |> - filter(agistub==9) - -verybad <- check |> - filter(abs(pdiff) >= .3) - -verybad -verybad |> - filter(agistub==0) - -# Lessons: -# - e26270 Partnership / S Corp looks like it could be a conceptual mismatch?? Or some other problem in concept? -# agistub 0 is within 1.5% but ranges are way off -# should we create a shared-down variable? -# - e00300 taxable interest seems a little off - -# agistub 0 -# n returns with taxable interest tmd >> cd -# wages tmd >> cd -# wage target 124333630 wage CD file: 124333630 wage natl file irs table 1.4 126,082,290 -# but we say wtdvalue is 252208964 ?? actual is 126104482 -tmd2021 |> - summarise(nwages=sum(s006 * (e00200 != 0)), - wages=sum(s006 * e00200), - .by=data_source) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_construct_long_soi_data_file.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_construct_long_soi_data_file.qmd deleted file mode 100644 index 1de85c72..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_construct_long_soi_data_file.qmd +++ /dev/null @@ -1,194 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Parse the Congressional District data - -Goal: create a 117th CD data file that is almost in the form needed for targets files. - -This involves cleaning the SOI Congressional District data, adding agi bin information, adding variable documentation, and saving as a long file. - -## Setup - -```{r} -#| label: setup - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -# 334283385.27000004 national pop - -``` - -## Background - -> AREA prefix for state areas are the two lower-case character postal codes. AREA prefix for congressional districts are the state prefix followed by two digits (with a leading zero) identifying the district. There are no district files for states with only one congressional district. - -Here is an example of the first few rows of a targets file: - -![](images/Image 2024-10-20 at 5.23.32 PM.jpeg) -## Prepare, clean, and save SOI Congressional District wide data file - -Get previously downloaded IRS SOI data with aggregate information for individual Congressional Districts. - -```{r} -#| label: parse-cddata -#| eval: true -#| output: false - -# read the CD csv data file from the zip archive that contains it -zpath <- fs::path(CDRAW, fs::path_file(CDZIPURL)) -con <- unz(zpath, "21incd.csv") -data <- read_csv(con) -rm(con) - -count(data, STATE) # US, DC, and 50 states -count(data, CONG_DISTRICT) # max is 53 - -``` - -Clean SOI CD data: - -- create record-type variable -- add agi bin labels and bounds -- - -```{r} -#| label: make-wide-file -#| output: false - -agilabels <- read_csv(fs::path(CDRAW, "agilabels.csv")) - -data2 <- data |> - rename_with(stringr::str_to_lower) |> - rename(agistub=agi_stub, stabbr=state, congdist=cong_district) |> - mutate(nstub0 = sum(agistub == 0), - .by = stabbr) |> # get a count of the number of agistub0 records in each state - mutate(rectype = case_when( - stabbr %in% c("US", "DC") ~ stabbr, - nstub0 == 1 ~ "cdstate", # the cd and state record for 8 states with only 1 cd - nstub0 > 1 & congdist == "00" ~ "state", - nstub0 > 1 & congdist != "00" ~ "cd", # cd records for multi-cd states - .default = "ERROR" - )) |> - mutate(ndist = sum(agistub ==0 & rectype %in% c("cdstate", "cd")), .by=stabbr) |> - left_join(agilabels, by = join_by(agistub)) |> - select(-nstub0) |> - relocate(rectype, ndist) |> - relocate(agilabel, agilo, agihi, .after=agistub) - -cdnums <- data2 |> - select(stabbr, ndist) |> - distinct() |> - janitor::adorn_totals() - -# single-CD states -cdnums |> - filter(ndist==1) - -data2 |> - filter(agistub == 0) |> - count(rectype) - -write_csv(data2, fs::path(CDINTERMEDIATE, "cddata_wide_clean.csv")) - -``` - -## Create long SOI data file - -- convert to a long file -- merge with variable documentation file -- save as "cddata_long_clean.csv" in intermediate file directory - -```{r} -#| label: create-save-soi-cddata-long -#| eval: true -#| output: false - -cdwide <- read_csv(fs::path(CDINTERMEDIATE, "cddata_wide_clean.csv")) -doc <- read_csv(fs::path(CDINTERMEDIATE, "soi_documentation.csv")) - -glimpse(cdwide) -glimpse(doc) - -idvars <- c("rectype", "ndist", "statefips", "stabbr", "congdist", - "agistub", "agilabel", "agilo", "agihi") - -dlong1 <- cdwide |> - pivot_longer(cols = -all_of(idvars), - names_to = "soivname",) |> - left_join(doc |> - select(soivname, basesoivname, vtype, udescription), - by = join_by(soivname)) - -glimpse(dlong1) -count(dlong1, soivname) -count(dlong1, vtype) -count(dlong1, stabbr) -check <- count(dlong1, basesoivname, soivname) - -write_csv(dlong1, fs::path(CDINTERMEDIATE, "cddata_long_clean.csv")) - -# state long -# "stabbr" "soivname" "basesoivname" "vtype" "agistub" "agilo" "agihi" "agilabel" "year" "value" "udescription" "description" - -``` - - -### Enhance the raw data with derived variables - -```{r} -#| label: add-18400 -#| output: false - -soilong_raw <- readr::read_csv(fs::path(CDINTERMEDIATE, "cddata_long_clean.csv")) -glimpse(soilong_raw) - -# investigate the data to make sure correct -check <- soilong_raw |> - filter(str_sub(soivname, 2, -1) %in% c("18425", "18450")) - -#.. 18400 State and local income or sales tax (estimated) -est18400 <- soilong_raw |> - filter(basesoivname %in% c("18425", "18450")) |> - mutate(soivname=paste0(str_sub(soivname, 1, 1), "18400")) |> - summarise(value=sum(value), - .by=c(rectype, stabbr, congdist, agistub, soivname)) -glimpse(est18400) -skim(est18400) - -glimpse(soilong_raw) - -soilong1 <- bind_rows(soilong_raw |> - select(all_of(names(est18400))), - est18400) - -``` - - -```{r} -#| label: soilong-final -#| output: false - -variable_descriptions <- read_csv(fs::path(CDINTERMEDIATE, "soi_documentation.csv")) -agilabels <- read_csv(fs::path(CDRAW, "agilabels.csv")) - -soilong2 <- soilong1 |> - left_join(variable_descriptions, - by = join_by(soivname)) |> - left_join(agilabels, by = join_by(agistub)) |> - mutate(value=ifelse(vtype=="amount", value * 1000, value)) |> - select(rectype, stabbr, congdist, soivname, basesoivname, vtype, - agistub, agilo, agihi, agilabel, value, udescription) |> - arrange(rectype, stabbr, congdist, soivname, basesoivname, vtype, agistub) - -skim(soilong2) -check <- count(soilong2, basesoivname, vtype, soivname, udescription) - -saveRDS(soilong2, fs::path(CDINTERMEDIATE, "soilong.rds")) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_construct_soi_variable_documentation.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_construct_soi_variable_documentation.qmd deleted file mode 100644 index 4bc777a0..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_construct_soi_variable_documentation.qmd +++ /dev/null @@ -1,166 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Parse and show SOI Congressional District data documentation - -## Setup - -```{r} -#| label: setup - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - -```{r} - -# sample state documentation -# soivname,basesoivname,vtype,udescription -# a00100,00100,amount,Adjusted gross income (AGI) amount -# n00100,00100,count,Number of returns with adjusted gross income (AGI) -# ... -# n1,n1,count,Number of returns -# n2,n2,count,Number of individuals (pre-2018 is different) - -# row vname description reference type vtype basevname -# -# 1 1 STATEFIPS The State Federal Information Processing System (FIPS) code [3] 01-56 Char other NA - - -``` - - -## Parse and save variable documentation - -This section gets and cleans SOI variable documentation from an Excel file we created, "cd_documentation_extracted_from_21incddocguide.docx.xlsx" that is based on a table in SOI's Word documentation (21incddocguide.docx). - -We put the cleaned data in "variable_documentation.csv" in the "../cds/intermediate" folder. - - -```{r} -#| label: parse-save-doc -#| output: false - -doc1 <- read_excel(fs::path(CDRAW, CDDOCEXTRACT), sheet = "cleaned", range = "A2:D169") - -# clean SOI documentation and -doc2 <- doc1 |> - mutate( - across(everything(), - \(x) str_trim(x)), - # clean reference field so that we can show line breaks in datatable - reference = str_replace_all(reference, - coll("\r\n"), - "
" - )) |> - # determine whether variable is count, amount, or other - mutate(vtype = case_when( - vname %in% c("STATEFIPS", "STATE", "CONG_DISTRICT", "AGI_STUB") ~ "other", - str_detect(description, - coll("number of", ignore_case = TRUE)) ~ "count", - str_detect(description, coll("amount", ignore_case = TRUE)) ~ "amount", - # dollar amounts where description does not contain "amount" - vname %in% c("A00100", "A02910", "A04475", "A11520", "A11530", "A18460") ~ "amount", - .default = "ERROR")) |> - mutate(description = ifelse(vname == "A00100", - str_replace(description, "Adjust gross", "Adjusted gross"), - description), - row = row_number()) |> - relocate(row) - -# determine which variable names are part of a count-amount pair and get the base variable name -doc3 <- doc2 |> - mutate(suffix = ifelse(nchar(vname) == 6, - str_sub(vname, 2, -1), - NA_character_), - suffix = ifelse(!is.na(as.integer(suffix)), - suffix, - NA_character_)) |> - arrange(suffix, vname) |> - mutate(nvars = n(), .by=suffix) |> - # basevname is the "base" variable name when we might have both a count and an amount - # 2 variables A00100 and A00101 do not follow this format but we - # may create counts for them later so we still want a basevname - mutate(basevname= ifelse(nvars==2 | vname %in% c("A00100", "A00101"), - paste0("v", suffix), - NA_character_)) |> - select(-c(nvars, suffix)) |> - arrange(row) - -# conform to the state documentation style -# write_csv(doc3, fs::path(CDINTERMEDIATE, "variable_documentation.csv")) # old name - -glimpse(doc3) -# soivname,basesoivname,vtype,udescription -doc4 <- doc3 |> - rename(soivname = vname, basesoivname=basevname, udescription=description) |> - mutate(soivname = stringr::str_to_lower(soivname), - basesoivname = stringr::str_to_lower(basesoivname), - basesoivname = stringr::str_remove(basesoivname, "v"), - basesoivname = ifelse(is.na(basesoivname), soivname, basesoivname)) |> - select(soivname, basesoivname, vtype, udescription) -ht(doc4) - -# doc4 |> filter(str_starts(soivname, "a18")) -# soivname basesoivname vtype udescription -# -# 1 a18425 18425 amount State and local income taxes amount -# 2 a18450 18450 amount State and local general sales tax amount -# 3 a18500 18500 amount Real estate taxes amount -# 4 a18800 18800 amount Personal property taxes amount -# 5 a18460 18460 amount Limited state and local taxes -# 6 a18300 18300 amount Total taxes paid amount -# add more names -# salt variables basesoivname 18400, sum of 18425 and 18450, both avail 2015-2021 -# add documentation for n00100 agi count EVEN THOUGH it's not in the data -newvars <- read_delim( -"soivname; basesoivname; udescription -n18400; 18400; Number of returns with state and local income or sales tax (estimated) -a18400; 18400; State and local income or sales tax (estimated) amount -n00100; 00100; Number of returns with adjusted gross income (AGI) -", -delim=";", col_types="c", trim_ws = TRUE) |> - mutate(vtype=case_when(str_sub(soivname, 1, 1)=="n" ~ "count", - str_sub(soivname, 1, 1)=="a" ~ "amount", - .default = "ERROR")) -newvars - -doc5 <- bind_rows(doc4, newvars) |> - arrange(basesoivname, vtype) -# note that this has a few variables with vtype other; state version should do the same - -write_csv(doc5, fs::path(CDINTERMEDIATE, "soi_documentation.csv")) - -rm(doc1, doc2, doc3, doc4, doc5) - -``` - -Project team members run this next chunk interactively to do some checks on the variable documentation. It has option `eval: false` and will not be run when the project is rendered. - -## Show variable documentation in a datatable - -Show documentation table for variables in the Congressional District csv data. The table can be filtered and sorted interactively using column headers. - -```{r} -#| label: show-doc - -vdoc <- read_csv(fs::path(CDINTERMEDIATE, "soi_documentation.csv")) - -vdoc |> - mutate(vtype = as.factor(vtype)) |> - DT::datatable(rownames = FALSE, - options = list(order = list(0, "asc"), # use 1st column (0) for sorting - scrollX = TRUE, scrollY = TRUE, paging = TRUE, pageLength = 20, - autoWidth = TRUE), - filter="top", - escape = FALSE) - -rm(vdoc) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_create_additional_cd_targets.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_create_additional_cd_targets.qmd deleted file mode 100644 index 602f7869..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_create_additional_cd_targets.qmd +++ /dev/null @@ -1,203 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Enhance Congressional District targets basefile - -The targets basefile created in a prior .qmd file has a population target for each cd and many SOI-based targets. However, for some target concepts SOI data are either not available or are inappropriate. - -For example, for SALT deductions, for variables ending in 18400 (state and local income or sales tax deduction) or 18500 (real estate taxes paid) the SOI data for 2021 represent the amount available to be deducted by 2021 itemizers (at 2021 levels, under 2021), before the SALT cap. Because the TCJA raised the standard deduction sharply, there are far fewer itemizers in 2021 than pre-TCJA. We want our targets to be for available deductions including nonitemizers, in a manner consistent with the way the data are measured in our TMD variables e18400 and e18500. - -We construct alternative SALT targets below. - - -```{r} -#| label: setup -#| output: false - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - - -Define which SOI variables will be used to share which tmd variables. - -- tmdvar is the puf-based variable we will eventually want to target -- basesoivname is the base name of the SOI variable that we will use to share the national aggregate tmdvar -- Pensions: - - e01500 Total pensions and annuities shared by 01700 taxable -- Social Security: - - e02400 Total Social Security will be shared by 02500 taxable -- State and local income or sales tax - - 18400 State and local income or sales tax (estimated) amount was previously created by adding 18425 State and local income taxes amount, and 18450 State and local general sales tax amount - - this sum is used to share the national aggregate for 18400 State and local income or sales tax amount - - -```{r} -#| label: construct-mappings -#| output: false - -# tmdvar is the puf-based variable we will eventually want to target -# basesoivname is the base name of the SOI variable that we will use to share the national aggregate tmdvar -# e02400 Total Social Security will be shared by 02500 taxable -# 18400 State and local income or sales tax (estimated) amount was previously created by adding -# 18425 State and local income taxes amount, and -# 18450 State and local general sales tax amount -# this sum is used to share the national aggregate for -# 18400 State and local income or sales tax amount - -mappings <- read_csv( -"tmdvar, basesoivname -e01500, 01700 -e02400, 02500 -e18400, 18400 -e18500, 18500 -", col_types="cc") - -mappings - -``` - - -## Get data - -```{r} -#| label: get-data -#| output: false - -agilabels <- read_csv(fs::path(CDRAW, "agilabels.csv")) -agilabels -CDAGICUTS <- c(agilabels$agilo, agilabels$agihi) |> unique() |> sort() - -fpath <- fs::path(TMDDATA, "cached_allvars.csv") -tmd2021 <- vroom(fpath) -ns(tmd2021) - -tmd2021 <- tmd2021 |> - mutate(agistublab=cut(c00100, CDAGICUTS, right = FALSE, ordered_result = TRUE), - agistub=agistublab |> as.integer()) |> - left_join(agilabels, by = join_by(agistub)) -# has more agistub info than we need but makes it easy to be sure we have the right stubs -count(tmd2021, agistub, agistublab, agilo, agihi, agilabel) - -base_targets <- read_csv(fs::path(CDINTERMEDIATE, "base_targets.csv")) -glimpse(base_targets) -# tmp <- count(base_targets, soivname, basesoivname, description) - -``` - -## Variables shared to Congressional Districts - -### tmd data - -Using the tmd 2021 data file: - -- Get tmd weighted counts and sums by AGI range for variables that will be targeted in a sharing manner. Only include filers (in the 2015 PUF). -- From first step get sums across all AGI ranges. -- Stack, so we have sums and counts by AGI range and in total, for all variables that will be targeted by sharing. - - -```{r} -#| label: get-tmdsums -#| output: false - -tmdsums1 <- tmd2021 |> - filter(data_source==1) |> - select(s006, agistub, agilabel, all_of(mappings$tmdvar)) |> - pivot_longer(-c(s006, agistub, agilabel), - names_to = "tmdvar") |> - summarize(nzcount=sum(s006 * (value !=0)), - amount=sum(s006 * value), - .by=c(tmdvar, agistub, agilabel)) |> - arrange(tmdvar, agistub) - -tmdallincomes <- tmdsums1 |> - summarise(nzcount=sum(nzcount), - amount=sum(amount), - .by=c(tmdvar)) |> - mutate(agistub=0, agilabel="Total") - -tmdsums <- bind_rows(tmdsums1, - tmdallincomes) |> - arrange(tmdvar, agistub) |> - pivot_longer(-c(tmdvar, agistub, agilabel), - names_to = "vtype", - values_to = "tmdsum") |> - mutate(fstatus=0, scope=1, - count=case_when(vtype=="nzcount" ~ 2, - vtype=="amount" ~ 0, - .default = -9e99)) |> - left_join(mappings, - by = join_by(tmdvar)) |> - arrange(tmdvar, scope, count, fstatus) -tmdsums - -``` - - -### Use SOI data to share the target values created above to Congressional Districts - -With the SOI base targets data for 2021: - -- Get the variables that will be used as "sharer" values -- For each such variable, by AGI range, get the state value as a share of the US record value - -Calculate targets: - -- For each variable to be shared, by area and AGI range, target = tmd sum calculated previously x area's share of the US value of the SOI sharer variable -- Construct target variable name to tell which tmd variable is shared by which SOI variable -- Write results to additional_targets.csv - -```{r} -#| label: get-variable-shares -#| output: false - -# drop US recs and construct faux US records because we don't have agistub for the real U.S. records -usrecs <- base_targets |> - filter(stabbr != "US") |> - filter(soivname != "XTOT") |> - summarise(target=sum(target), - .by=c(agistub, agilo, agihi, agilabel, soivname, basesoivname, scope, fstatus, count, description)) |> - mutate(stabbr = "US", cd = "00", area = "US00") - -# note: by using the us record we include the (trivial) OA amounts, which -# seems right - implicitly they are in the tmd data -soivname_shares <- base_targets |> - filter(!(stabbr == "US" & soivname != "XTOT")) |> - bind_rows(usrecs) |> - filter(basesoivname %in% mappings$basesoivname) |> - mutate(soi_ussum=target[stabbr=="US"], - soi_share=ifelse(soi_ussum==0, 0, target / soi_ussum), - .by=c(basesoivname, count, scope, fstatus, agistub)) - -# check <- soivname_shares |> filter(stabbr=="US") -# check2 <- soivname_shares |> filter(stabbr=="NY") -# check2 <- soivname_shares |> filter(stabbr=="NY", area=="NY01", soivname=="a01700") -# -# soivname_shares |> -# filter(soivname=="a01700", stabbr != "US") |> -# summarise(soi_share=sum(soi_share), .by=c(basesoivname, count, scope, fstatus, agistub, agilabel)) - - -soivname_targets <- soivname_shares |> - left_join(tmdsums |> - select(tmdvar, basesoivname, agistub, scope, fstatus, count, tmdsum), - by = join_by(basesoivname, scope, fstatus, count, agistub)) |> - mutate(target=ifelse(agistub !=0, tmdsum * soi_share, NA_real_), - basesoivname=paste0("tmd", str_sub(tmdvar, 2, -1), "_shared_by_soi", basesoivname), - soivname=paste0(str_sub(soivname, 1, 1), basesoivname)) |> - mutate(target=if_else(agistub==0, sum(target[agistub != 0]), target), - .by=c(area, tmdvar, basesoivname, scope, fstatus, count)) - -check <- soivname_targets |> filter(area=="NY01") - -count(soivname_targets, tmdvar, basesoivname, soivname) - -write_csv(soivname_targets, fs::path(CDINTERMEDIATE, "additional_targets.csv")) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_create_basefile_for_117Congress_cd_target_files.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_create_basefile_for_117Congress_cd_target_files.qmd deleted file mode 100644 index 6f9437e7..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_create_basefile_for_117Congress_cd_target_files.qmd +++ /dev/null @@ -1,145 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Create base file for 117th Congressional District target files - -This section creates one long file that is a superset of what we need for individual 117th Congressional District target files. This long file has everything needed to extract and save a target file for any CD . It also has additional convenience variables that will not be included in individual CD target files such as variable descriptions, human-friendly AGI-range labels, state fips codes, and a sort code for ordering records within a CD. These variables are excluded when target files are written. - -## Setup - -```{r} -#| label: setup -#| output: false - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - -## Create streamlined long CD-only file - -- Drop non-CD records. -- Drop variables we would never want. -- Construct fstatus 0 records and records with counts by filing status. - -Create and save as .csv a Congressional Districts targets basefile ("base_targets.csv") that has most of what we will need to write \[xx\]\_targets.csv files. It is a data frame with population and SOI target information for each state: - -- an initial "XTOT" record with the total population for the Congressional District -- records for data from SOI Historical Table 2 with the following information: - - `soivname` -- the SOI variable name (later, when we write target files we will map the SOI variable name to the TMD variable name and we will put the TMD variable name on the \[xx\]\_targets.csv file) - - `count`, `scope`, `agilo`, `agihi`, `fstatus`, and `target` -- variables with the meanings noted in the [main documentation](https://github.com/PSLmodels/tax-microdata-benchmarking/tree/master/tmd/areas/targets) - - certain other useful identifying information - -The information it will be missing at this point is: (1) any targets we need to estimate in other ways in cases where SOI targets are inappropriate or not available for a concept we care about, and (2) the TMD variable names. We hold off on adding TMD variable names until the last step because there are some challenges in mapping SOI concepts to TMD concepts. We want to have the targets right and then, finally, deal with the mapping. - -## get data - -```{r} -#| label: get-data -#| output: false - -cdlong <- readRDS(fs::path(CDINTERMEDIATE, "soilong.rds")) -glimpse(cdlong) -count(cdlong, stabbr) - -``` - -```{r} -#| label: clean-soi -#| output: false - -# varname,count,scope,agilo,agihi,fstatus,target -allcounts <- c("n1", "n2", "mars1", "mars2", "mars4") -count(cdlong |> filter(basesoivname %in% allcounts), soivname) -count(cdlong, vtype) - -cdlong1 <- cdlong |> - filter(rectype %in% c("US", "cd", "cdstate", "DC")) |> - rename(description = udescription) |> - mutate( - scope = 1L, # filers - - count = case_when( - vtype == "amount" ~ 0, - vtype == "count" & - soivname %in% allcounts ~ 1, # count for any value for these vars - vtype == "count" & - !soivname %in% allcounts ~ 2, # counts when var is nonzero - .default = -9e9), - count = as.integer(count), - - fstatus = case_when( - str_starts(soivname, "mars") ~ str_sub(soivname, -1), - .default = "0"), - fstatus = as.integer(fstatus)) - -count(cdlong1, scope) -count(cdlong1, vtype, count) -count(cdlong1, fstatus) -count(cdlong1, stabbr) - -``` - -### Prepare population - -```{r} -#| label: prepare-population -#| output: false - -agilabels <- read_csv(fs::path(CDRAW, "agilabels.csv")) - -cdpop <- read_csv(fs::path(CDINTERMEDIATE, "cdpop1year.csv")) -glimpse(cdpop) -# create the pop recs -- add a U.S. record - -uspoprec <- tibble(stabbr="US", congdist="00", cdname="U.S. record", target=334283385) - -poprecs <- cdpop |> - select(stabbr=STATE, congdist=CONG_DISTRICT, cdname, target=pop2021) |> - bind_rows(uspoprec) |> - mutate(soivname="XTOT", - basesoivname="XTOT", - description = "State population in 2021 per the 1-year ACS", - agistub = 0, - count = 0, - scope = 0, - fstatus = 0) |> - # bring in agilo and agihi - left_join(agilabels, - by = join_by(agistub)) - -``` - - -## Combine population and SOI data and save - -```{r} -#| label: combine-pop-and-soi-data-and-save -#| output: false - -names(cdlong1) -names(poprecs) - -cdlong2 <- cdlong1 |> - rename(target=value) |> - select(-rectype) - -base_targets <- bind_rows(poprecs, cdlong2) |> - mutate(area=paste0(stabbr, congdist)) |> - arrange(stabbr, scope, fstatus, basesoivname, count, agistub) |> - select(stabbr, cd=congdist, area, - agistub, agilo, agihi, agilabel, - soivname, basesoivname, scope, fstatus, count, target, description) -glimpse(base_targets) - -check <- base_targets |> filter(stabbr=="NY") - -check <- base_targets |> filter(stabbr=="US") - -write_csv(base_targets, fs::path(CDINTERMEDIATE, "base_targets.csv")) - -``` diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_create_cd_117_118_crosswalk_and_cdbasefile_118.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_create_cd_117_118_crosswalk_and_cdbasefile_118.qmd deleted file mode 100644 index 1b30e53f..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_create_cd_117_118_crosswalk_and_cdbasefile_118.qmd +++ /dev/null @@ -1,219 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Prepare crosswalk from Congressional district boundaries for the 117th Congressional session to those for the 118th session - -IRS SOI data currently (October 2024) available for Congressional districts is based on 117th Congressional session boundaries, which were drawn using information from the 2010 decennial census. These sometimes differ signficantly from current district boundaries, for the 118th Congressional session, which were drawn based on data from the 2020 decennial census. - -To address this, we develop estimates for 118th session districts by allocating targets for 117th session districts to 118th session districts based on the fraction of each 117th district's 2020 population that is present in different 118th session districts. - -For example, California Congressional district 13 (CA-13) as defined in the 118th session includes 3.6% of the 2020 population of 117th session CA-09, 30.2% of the 2020 population of 117th session CA-10, 54.5% of the population of CA-16, and 13.7% of CA-21. To construct estimated targets for 118th session CA-13, we allocate these percentages of each target of the four 117th session districts (CA-09, CA-10, CA-16, and CA-21) to 118th session CA-13. We repeat this process for every 118th session Congressional district, for all potential targets. - -Doing this requires a crosswalk that shows what fraction of the 2020 population of each 117th district appears in each 118th session district. Fortunately, the Missouri Census Data Center (MCDC) has an online tool, [*Geocorr 2022: Geographic Correspondence Engine*](https://mcdc.missouri.edu/applications/geocorr2022.html), that can create such a crosswalk. On October 15, 2024 we used *Geocorr 2022* to create the crosswalk file "geocorr2022_2428906586.csv", in the cds/raw_data folder of this project. We use this file to construct population-weighted targets for 118th session Congressional districts from the 117th session targets. - -## Setup - -```{r} -#| label: setup -#| output: false - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - - -## Get data -```{r} -#| label: get-data -#| output: false - -# cd117 <- read_csv(fs::path(CDINTERMEDIATE, "cdbasefile_117.csv")) -cd117 <- readr::read_csv(fs::path(CDINTERMEDIATE, "enhanced_targets_session117.csv")) - -xwalk1 <- readr::read_csv(fs::path(CDRAW, "geocorr2022_2428906586.csv")) -glimpse(xwalk1) - -(xwalk_labels <- unlist(xwalk1[1, ], use.names = TRUE)) # variable names and labels - -xwalk2 <- xwalk1 |> - filter(row_number() != 1) |> - rename_with(str_to_lower) |> - rename(stabbr=stab, pop2020=pop20) |> - mutate(across(pop2020:afact, as.numeric), - statecd117=paste0(stabbr, cd117), - statecd118=paste0(stabbr, cd118)) |> - rename(af118to117=afact2, - af117to118=afact) - -``` - - -```{r} -#| label: interactive-data-checks -#| eval: false -#| output: false - -count(xwalk2, stabbr) # 52 including DC and PR -count(xwalk2, stabbr) |> filter(n==1) -xwalk2 |> filter(stabbr=="PR") - -# check numbers of districts -cd117codes <- unique(xwalk2$statecd117) |> sort() # 438 -- why? -cd118codes <- unique(xwalk2$statecd118) |> sort() # 437 -- why? - -cd117codes # DC98 instead of DC00; PR98; NC seems to have bad codes < 10 -cd118codes # DC98 instead of DC00; PR98; NC codes look ok here - -# do the shares of statecd117 given to various statecd118s add to 1? -xwalk2 |> - summarise(af117to118=sum(af117to118), .by=statecd117) |> - filter(af117to118 != 1) |> - arrange(desc(abs(af117to118 - 1))) # minimal differences from 1 - -# do the shares of statecd118 given to various statecd117s add to 1? -xwalk2 |> - summarise(af118to117=sum(af118to117), .by=statecd118) |> - filter(af118to117 != 1) |> - arrange(desc(abs(af118to117 - 1))) # minimal differences from 1 - -# do the individual shares of af117to118 match what we get with population? -xwalk2 |> - mutate(share117to118=pop2020 / sum(pop2020), .by=statecd117) |> - mutate(diff=share117to118 - af117to118) |> - relocate(af117to118, .before=share117to118) |> - arrange(desc(abs(diff))) # good, they match within small tolerances -# use our calculated amounts, which have greater precision - -# do the individual shares of af118to117 match what we get with population? -xwalk2 |> - mutate(share118to117=pop2020 / sum(pop2020), .by=statecd118) |> - mutate(diff=share118to117 - af118to117) |> - relocate(af118to117, .before=share118to117) |> - arrange(desc(abs(diff))) # good, they match within small tolerances - -# how well do the cds match against our 117th cd data? -xwalk3 <- xwalk2 |> - filter(stabbr != "PR") |> - filter(cd117 != "-") |> # not sure what this is and pop2020 is only 13 - # redo codes - mutate( - oldcd117 = cd117, - cd117 = case_when(stabbr=="NC" & nchar(cd117) != 2 ~ - str_pad(as.integer(cd117), width=2, side="left", pad="0"), - .default = cd117), - statecd117=paste0(stabbr, cd117), - statecd118=paste0(stabbr, cd118), - statecd117 = case_when( - statecd117 == "DC98" ~ "DC00", - .default = statecd117), - statecd118 = case_when( - statecd118 == "DC98" ~ "DC00", - .default = statecd118)) - -xwalk3 |> - filter(cd117 != oldcd117) |> - relocate(oldcd117, .after=cd117) - -xwalk3 |> - filter(statecd118 == "NC14") - -# how do the 117th CDs match up? -usoi <- cd117$area |> unique() -ugeo <- xwalk3$statecd117 |> unique() - -usoi -ugeo - -setdiff(usoi, ugeo) # US00 is in SOI but not in xwalk -setdiff(ugeo, usoi) # none missing - -check <- xwalk2 |> - filter(stabbr=="NC") - -``` - - -```{r} -#| label: make-save-final-xwalk -#| output: false - -# recreate xwalk3 as it won't be available when data checks have eval: false - -xwalk3 <- xwalk2 |> - filter(stabbr != "PR") |> - filter(cd117 != "-") |> # not sure what this is and pop2020 is only 13 - # redo codes - mutate( - oldcd117 = cd117, - cd117 = case_when(stabbr=="NC" & nchar(cd117) != 2 ~ - str_pad(as.integer(cd117), width=2, side="left", pad="0"), - .default = cd117), - statecd117=paste0(stabbr, cd117), - statecd118=paste0(stabbr, cd118), - statecd117 = case_when( - statecd117 == "DC98" ~ "DC00", - .default = statecd117), - statecd118 = case_when( - statecd118 == "DC98" ~ "DC00", - .default = statecd118)) - -# calc pop shares (so we have more precision than in the source data) and save -xwalk4 <- xwalk3 |> - mutate(share117to118=pop2020 / sum(pop2020), .by=statecd117) - -xwalk4 |> - mutate(diff=share117to118 - af117to118) |> - relocate(af117to118, .before=share117to118) |> - arrange(desc(abs(diff))) # good, they match within small tolerances - -xwalk_final <- xwalk4 |> - select(stabbr, cd117, cd118, statecd117, statecd118, share117to118) - -write_csv(xwalk_final, fs::path(CDINTERMEDIATE, "xwalk_final.csv")) - -``` - - -## Create 118th Session Congressional Districts -```{r} -#| label: create-cd118 -#| output: false - -xwalk <- read_csv(fs::path(CDINTERMEDIATE, "xwalk_final.csv")) - -cd118v1 <- xwalk |> - rename(statecd=statecd118, - cd=cd118) |> - left_join(cd117 |> - rename(statecd117=area), - by = join_by(stabbr, statecd117), - relationship = "many-to-many") - -# collapse the file to statecd -cd118v2 <- cd118v1 |> - mutate(target=target * share117to118) |> - summarise(target=sum(target), - .by=c(stabbr, statecd, - basesoivname, soivname, description, - scope, fstatus, count, - agistub, agistub, agilo, agihi, agilabel)) |> - rename(area=statecd) -glimpse(cd118v2) -summary(cd118v2) - -names(cd117) -names(cd118v2) - -targ117 <- cd117 |> filter(stabbr != "US") |> summarise(target=sum(target)) |> pull(target) -targ118 <- sum(cd118v2$target) -targ117; targ118 # good they are the same - -write_csv(cd118v2, fs::path(CDINTERMEDIATE, "enhanced_targets_session118.csv")) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_create_final_enhanced_multisession_basefile.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_create_final_enhanced_multisession_basefile.qmd deleted file mode 100644 index 63d8fc86..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_create_final_enhanced_multisession_basefile.qmd +++ /dev/null @@ -1,60 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Create a stacked Congressional district file with targets based on boundaries for 117th and 118th Congressional sessions - -## Setup - -```{r} -#| label: setup -#| output: false - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -# phase4_statecds <- c("AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00") -# cd_create_basefile_multiple_sessions -``` - - -## Get data - -```{r} -#| label: stack-sessions -#| output: false - -cd117 <- read_csv(fs::path(CDINTERMEDIATE, "enhanced_targets_session117.csv")) -cd118 <- read_csv(fs::path(CDINTERMEDIATE, "enhanced_targets_session118.csv")) - -stack <- bind_rows( - cd117 |> mutate(session=117), - cd118 |> mutate(session=118) -) - -glimpse(stack) -states <- stack |> - summarise(target=sum(target), - .by=c(session, stabbr, - basesoivname, soivname, description, - scope, fstatus, count, - agistub, agilo, agihi, agilabel)) - -states |> - pivot_wider(names_from = session, - values_from = target, - names_prefix = "s" - ) |> - mutate(diff=s118 - s117, - pdiff=diff / s117) |> - arrange(desc(abs(pdiff))) # good all the state sums work - -# check <- count(stack, basevname, vname) - -write_csv(stack, fs::path(CDINTERMEDIATE, "enhanced_targets.csv")) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_create_variable_mapping.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_create_variable_mapping.qmd deleted file mode 100644 index 27e4dbea..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_create_variable_mapping.qmd +++ /dev/null @@ -1,63 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Create mapping of tax calculator vars to soi vars - -We do this in its own qmd file to make it easy to find, because it is also used in the examine project. - -## Setup -```{r} -#| label: setup - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - -## Create and save the mapping - -```{r} -#| label: create-save-variable-mapping - -# varname is the name used in python code for target variables - -vmap1 <- read_csv(file=" -varname, basevname, description -XTOT, XTOT, Population -c00100, N1, Total number of returns -c00100, MARS1, fstatus == 1 -c00100, MARS2, fstatus == 2 -c00100, MARS4, fstatus == 4 -c00100, v00100, Adjusted gross income -e00200, v00200, Wages -e00300, v00300, Taxable interest income -e01700, v01700, Pensions and annuities included in AGI -e26270, v26270, Combined partnership and S corporation net income/loss -e18400, v18425, State and local income or sales taxes -e18500, v18500, State and local real estate taxes -e02400, v02500, Social Security total -", show_col_types = FALSE) - -# note that: -# e18400 is not reported for districts; we have allocated it to districts by S&L income taxes -# e2500 is not reported for districts; allocated to districts by e2500 taxable Social Security - -# note that we hard-code filing status. this works for Congressional districts -# because we do not have data by filing status but it may not work for states -# RECONSIDER THIS -vmap <- vmap1 |> - mutate( - fstatus=case_when( - str_detect(basevname, "MARS") ~ str_sub(basevname, -1), - .default = "0"), - fstatus=as.integer(fstatus) - ) - -write_csv(vmap, fs::path(CDINTERMEDIATE, "cd_variable_mapping.csv")) - -``` - diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_download_and_clean_census_population_data.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_download_and_clean_census_population_data.qmd deleted file mode 100644 index e6a308cf..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_download_and_clean_census_population_data.qmd +++ /dev/null @@ -1,100 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Get Congressional District Census population data - -## Setup - -```{r} -#| label: setup - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -# 334283385.27000004 national pop - -``` - -## Get Congressional District population - -The quarto chunk `cdpop-download` will, if a user sets the chunk `eval` option to `eval: true`, download and save Congressional District population data, based on the 116th Congress, from the American Community Survey (ACS) for 2021. - -Ordinarily this will not be necessary because previously downloaded files are included with the project in the "../cds/raw_data" folder. Thus, the default chunk option is `eval: false` and the chunk will not be run when this project is rendered. - -```{r} -#| label: cdpop-download -#| eval: false - -# Note that 2021 gets data from the 116th Congress and 2022 gets the 218th Congress - -cdpop1year <- get_acs( - geography = "congressional district", - variables = "B01003_001", # Total population variable - year = 2021, - survey = "acs1" # Consider using 5-year estimates for better coverage, especially in smaller areas -) -write_csv(cdpop1year, fs::path(CDRAW, "cdpop1year_acs.csv")) - - -# Optionally get 5-year ACS data - possibly useful in the future. -# cdpop5year <- get_acs( -# geography = "congressional district", -# variables = "B01003_001", # Total population variable -# year = 2021, -# survey = "acs5" # Use 5-year estimates for better coverage, especially in smaller areas -# ) -# write_csv(cdpop5year, fs::path(CDRAW, "cdpop5year_acs.csv")) - - -``` - -## Clean Congressional District population - -This chunk gets previously saved Congressional District population data, does minor cleaning, and saves the cleaned file to the "../cds/intermediate" folder - -```{r} -#| label: cdpop-clean -#| output: false - -cdpop1year <- read_csv(fs::path(CDRAW, "cdpop1year_acs.csv")) -cdpop1year |> summarise(estimate=sum(estimate)) # 335157329 - -# cdpop5year <- read_csv(fs::path(CDRAW, "cdpop5year_acs.csv")) -# cdpop5year |> summarise(estimate=sum(estimate)) # 333036755 - -stcodes <- tigris::states() |> - as.data.frame() |> - select(STATEFIPS=STATEFP, STATE=STUSPS) - -cdpop1 <- cdpop1year |> - mutate(STATEFIPS = str_sub(GEOID, 1, 2), - CONG_DISTRICT = str_sub(GEOID, 3, 4)) |> - left_join(stcodes, by = join_by(STATEFIPS)) |> - filter(STATE != "PR") |> # we're not using Puerto Rico - mutate(CONG_DISTRICT = ifelse(STATE == "DC", - "00", # Census data has 98 for DC - CONG_DISTRICT)) |> - select(STATEFIPS, STATE, CONG_DISTRICT, cdname=NAME, pop2021=estimate) - -count(cdpop1, STATEFIPS, STATE) - -cdpop1 |> filter(STATE=="NY") - -cdpop1 |> filter(STATE=="AK") -cdpop1 |> filter(STATE=="DC") -cdpop1 |> filter(STATE=="WY") - -count(cdpop1, CONG_DISTRICT) -count(cdpop1, STATEFIPS, STATE) - -glimpse(cdpop1) -sum(cdpop1$pop2021) # 331,893,745 compared to Martin's 334,283,385 - -write_csv(cdpop1, fs::path(CDINTERMEDIATE, "cdpop1year.csv")) - - -``` diff --git a/tmd/areas/targets/prepare/prepare_cds/cd_download_soi_data.qmd b/tmd/areas/targets/prepare/prepare_cds/cd_download_soi_data.qmd deleted file mode 100644 index 56069f96..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/cd_download_soi_data.qmd +++ /dev/null @@ -1,51 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Download SOI Congressional District data and documentation files - -SOI Congressional District data and documentation files are included with the project in the "../cds/raw_data" folder and by default, rendering the project will NOT re-download the data. - -To re-download data and save to the "../cds/raw_data" folder, set option `eval: true` in the `downloads` chunk below - -## File locations on the web - -- [SOI Congressional Districts landing page](https://www.irs.gov/statistics/soi-tax-stats-data-by-congressional-district) - - - [2021 folder](https://www.irs.gov/statistics/soi-tax-stats-data-by-congressional-district-2021) - - [zip archive with all data files](https://www.irs.gov/pub/irs-soi/congressional2021.zip) - - [Word documentation](https://www.irs.gov/pub/irs-soi/21incddocguide.docx) - -## Setup - -```{r} -#| label: setup - -suppressPackageStartupMessages(source(here::here("R", "libraries.R"))) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -``` - - -## (Optionally) Download SOI CD data and documentation - -As noted, by default, the files will NOT be downloaded when the project is rendered. - -```{r} -#| label: downloads -#| eval: false - -# data -fname <- fs::path_file(CDZIPURL) -download.file(url = CDZIPURL, destfile = fs::path(CDRAW, fname), mode = "wb") - -# documentation -fname <- fs::path_file(CDDOCURL) -download.file(url = CDDOCURL, destfile = fs::path(CDRAW, fname), mode = "wb") - -``` - - diff --git a/tmd/areas/targets/prepare/prepare_cds/images/Image 2024-10-20 at 5.23.32 PM.jpeg b/tmd/areas/targets/prepare/prepare_cds/images/Image 2024-10-20 at 5.23.32 PM.jpeg deleted file mode 100644 index 317c0288deb3d43d51214834b36151cacb5561db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60906 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%0D2AHsUzJ6f0NQ(c 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 af7Vw0Js9lY-}}cVE2rUqD@ZiHfBp{wf{fDu diff --git a/tmd/areas/targets/prepare/prepare_cds/images/clipboard-719051713.png b/tmd/areas/targets/prepare/prepare_cds/images/clipboard-719051713.png deleted file mode 100644 index dc9868bb4d36c1b7c75e4cad3bc697ba793fd0a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3560 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 diff --git a/tmd/areas/targets/prepare/prepare_cds/index.qmd b/tmd/areas/targets/prepare/prepare_cds/index.qmd deleted file mode 100644 index d1130a32..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/index.qmd +++ /dev/null @@ -1,13 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Introduction {.unnumbered} - -This R project constructs subnational area targets for Congressional districts. - -In addition, it creates a local web page that a user can upload to a web service if desired. An in-progress version can be viewed on the web [here](https://tmd-areas-prepare-cd-targets.netlify.app/). During development, it may not be identical to what your clone creates. - -This R project is part of the larger tax-microdata-benchmarking project, and is in the subfolder "tmd/areas/targets/prepare/". diff --git a/tmd/areas/targets/prepare/prepare_cds/package-lock.json b/tmd/areas/targets/prepare/prepare_cds/package-lock.json deleted file mode 100644 index 34de749f..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/package-lock.json +++ /dev/null @@ -1,14967 +0,0 @@ -{ - "name": "prepare_cds", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "prepare_cds", - "dependencies": { - "netlify-cli": "^17.38.1" - } - }, - "node_modules/netlify-cli": { - "version": "17.38.1", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-17.38.1.tgz", - "integrity": "sha512-9R7KYIJac0FPbgCgIG3UuBZB2QMmSBBMygAUfRzTjT6PLOYS6xVLAlmO4/upVdSu//gREimPLlKaYVNiH2lUqQ==", - "hasInstallScript": true, - "hasShrinkwrap": true, - "dependencies": { - "@bugsnag/js": "7.25.0", - "@fastify/static": "7.0.4", - "@netlify/blobs": "8.1.0", - "@netlify/build": "29.58.0", - "@netlify/build-info": "7.17.0", - "@netlify/config": "20.21.0", - "@netlify/edge-bundler": "12.3.1", - "@netlify/edge-functions": "2.11.1", - "@netlify/headers-parser": "7.3.0", - "@netlify/local-functions-proxy": "1.1.1", - "@netlify/redirect-parser": "14.5.0", - "@netlify/zip-it-and-ship-it": "9.42.1", - "@octokit/rest": "20.1.1", - "@opentelemetry/api": "1.8.0", - "ansi-escapes": "7.0.0", - "ansi-styles": "6.2.1", - "ansi-to-html": "0.7.2", - "ascii-table": "0.0.9", - "backoff": "2.5.0", - "better-opn": "3.0.2", - "boxen": "7.1.1", - "chalk": "5.3.0", - "chokidar": "3.6.0", - "ci-info": "4.1.0", - "clean-deep": "3.4.0", - "commander": "10.0.1", - "comment-json": "4.2.5", - "concordance": "5.0.4", - "configstore": "6.0.0", - "content-type": "1.0.5", - "cookie": "0.7.2", - "cron-parser": "4.9.0", - "debug": "4.3.7", - "decache": "4.6.2", - "dot-prop": "9.0.0", - "dotenv": "16.4.7", - "env-paths": "3.0.0", - "envinfo": "7.14.0", - "etag": "1.8.1", - "execa": "5.1.1", - "express": "4.21.2", - "express-logging": "1.1.1", - "extract-zip": "2.0.1", - "fastest-levenshtein": "1.0.16", - "fastify": "4.28.1", - "find-up": "7.0.0", - "flush-write-stream": "2.0.0", - "folder-walker": "3.2.0", - "from2-array": "0.0.4", - "fuzzy": "0.1.3", - "get-port": "5.1.1", - "gh-release-fetch": "4.0.3", - "git-repo-info": "2.1.1", - "gitconfiglocal": "2.1.0", - "hasbin": "1.2.3", - "hasha": "5.2.2", - "http-proxy": "1.18.1", - "http-proxy-middleware": "2.0.7", - "https-proxy-agent": "7.0.5", - "inquirer": "6.5.2", - "inquirer-autocomplete-prompt": "1.4.0", - "ipx": "2.1.0", - "is-docker": "3.0.0", - "is-stream": "4.0.1", - "is-wsl": "3.1.0", - "isexe": "3.1.1", - "js-yaml": "4.1.0", - "jsonwebtoken": "9.0.2", - "jwt-decode": "4.0.0", - "lambda-local": "2.2.0", - "listr2": "8.2.5", - "locate-path": "7.2.0", - "lodash": "4.17.21", - "log-symbols": "6.0.0", - "log-update": "6.1.0", - "maxstache": "1.0.7", - "maxstache-stream": "1.0.4", - "multiparty": "4.2.3", - "netlify": "13.2.0", - "netlify-redirector": "0.5.0", - "node-fetch": "3.3.2", - "node-version-alias": "3.4.1", - "ora": "8.1.1", - "p-filter": "4.1.0", - "p-map": "7.0.2", - "p-wait-for": "5.0.2", - "parallel-transform": "1.2.0", - "parse-github-url": "1.0.3", - "parse-gitignore": "2.0.0", - "path-key": "4.0.0", - "prettyjson": "1.2.5", - "pump": "3.0.2", - "raw-body": "2.5.2", - "read-package-up": "11.0.0", - "readdirp": "3.6.0", - "semver": "7.6.3", - "source-map-support": "0.5.21", - "strip-ansi-control-characters": "2.0.0", - "tabtab": "3.0.2", - "tempy": "3.1.0", - "terminal-link": "3.0.0", - "through2-filter": "4.0.0", - "through2-map": "4.0.0", - "toml": "3.0.0", - "tomlify-j0.4": "3.0.0", - "ulid": "2.3.0", - "unixify": "1.0.0", - "update-notifier": "7.3.1", - "uuid": "9.0.1", - "wait-port": "1.1.0", - "write-file-atomic": "5.0.1", - "ws": "8.18.0", - "zod": "3.23.8" - }, - "bin": { - "netlify": "bin/run.js", - "ntl": "bin/run.js" - }, - "engines": { - "node": ">=18.14.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/code-frame": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.0.tgz", - "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/parser": { - "version": "7.26.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.1.tgz", - "integrity": "sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==", - "dependencies": { - "@babel/types": "^7.26.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/browser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.25.0.tgz", - "integrity": "sha512-PzzWy5d9Ly1CU1KkxTB6ZaOw/dO+CYSfVtqxVJccy832e6+7rW/dvSw5Jy7rsNhgcKSKjZq86LtNkPSvritOLA==", - "dependencies": { - "@bugsnag/core": "^7.25.0" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/core": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-7.25.0.tgz", - "integrity": "sha512-JZLak1b5BVzy77CPcklViZrppac/pE07L3uSDmfSvFYSCGReXkik2txOgV05VlF9EDe36dtUAIIV7iAPDfFpQQ==", - "dependencies": { - "@bugsnag/cuid": "^3.0.0", - "@bugsnag/safe-json-stringify": "^6.0.0", - "error-stack-parser": "^2.0.3", - "iserror": "0.0.2", - "stack-generator": "^2.0.3" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/cuid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/cuid/-/cuid-3.1.1.tgz", - "integrity": "sha512-d2z4b0rEo3chI07FNN1Xds8v25CNeekecU6FC/2Fs9MxY2EipkZTThVcV2YinMn8dvRUlViKOyC50evoUxg8tw==" - }, - "node_modules/netlify-cli/node_modules/@bugsnag/js": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-7.25.0.tgz", - "integrity": "sha512-d8n8SyKdRUz8jMacRW1j/Sj/ckhKbIEp49+Dacp3CS8afRgfMZ//NXhUFFXITsDP5cXouaejR9fx4XVapYXNgg==", - "dependencies": { - "@bugsnag/browser": "^7.25.0", - "@bugsnag/node": "^7.25.0" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/node": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-7.25.0.tgz", - "integrity": "sha512-KlxBaJ8EREEsfKInybAjTO9LmdDXV3cUH5+XNXyqUZrcRVuPOu4j4xvljh+n24ifok/wbFZTKVXUzrN4iKIeIA==", - "dependencies": { - "@bugsnag/core": "^7.25.0", - "byline": "^5.0.0", - "error-stack-parser": "^2.0.2", - "iserror": "^0.0.2", - "pump": "^3.0.0", - "stack-generator": "^2.0.3" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/safe-json-stringify": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@bugsnag/safe-json-stringify/-/safe-json-stringify-6.0.0.tgz", - "integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==" - }, - "node_modules/netlify-cli/node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/netlify-cli/node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@dabh/diagnostics": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", - "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@dependents/detective-less": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-4.1.0.tgz", - "integrity": "sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==", - "dependencies": { - "gonzales-pe": "^4.3.0", - "node-source-walk": "^6.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/accept-negotiator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz", - "integrity": "sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==", - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz", - "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==", - "dependencies": { - "ajv": "^8.11.0", - "ajv-formats": "^2.1.1", - "fast-uri": "^2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/netlify-cli/node_modules/@fastify/error": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", - "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==" - }, - "node_modules/netlify-cli/node_modules/@fastify/fast-json-stringify-compiler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", - "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", - "dependencies": { - "fast-json-stringify": "^5.7.0" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/merge-json-schemas": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", - "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/send": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@fastify/send/-/send-2.0.1.tgz", - "integrity": "sha512-8jdouu0o5d0FMq1+zCKeKXc1tmOQ5tTGYdQP3MpyF9+WWrZT1KCBdh6hvoEYxOm3oJG/akdE9BpehLiJgYRvGw==", - "dependencies": { - "@lukeed/ms": "^2.0.1", - "escape-html": "~1.0.3", - "fast-decode-uri-component": "^1.0.1", - "http-errors": "2.0.0", - "mime": "^3.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@fastify/static/-/static-7.0.4.tgz", - "integrity": "sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==", - "dependencies": { - "@fastify/accept-negotiator": "^1.0.0", - "@fastify/send": "^2.0.0", - "content-disposition": "^0.5.3", - "fastify-plugin": "^4.0.0", - "fastq": "^1.17.0", - "glob": "^10.3.4" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/netlify-cli/node_modules/@humanwhocodes/momoa": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", - "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==", - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/netlify-cli/node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" - }, - "node_modules/netlify-cli/node_modules/@import-maps/resolve": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@import-maps/resolve/-/resolve-1.0.1.tgz", - "integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==" - }, - "node_modules/netlify-cli/node_modules/@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "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" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/netlify-cli/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/netlify-cli/node_modules/@lukeed/ms": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.1.tgz", - "integrity": "sha512-Xs/4RZltsAL7pkvaNStUQt7netTkyxrS0K+RILcVr3TRMS/ToOg4I6uNfhB9SlGsnWBym4U+EaXq0f0cEMNkHA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/@netlify/binary-info": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@netlify/binary-info/-/binary-info-1.0.0.tgz", - "integrity": "sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==" - }, - "node_modules/netlify-cli/node_modules/@netlify/blobs": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-8.1.0.tgz", - "integrity": "sha512-9hIbusvAZjSGBJ42OyFC2AxsEph1LuKQahMWFcPGEIsOqIYHhMRkYA7wSUMhH7naydjNmllpcp3pJLOK4RhFaQ==", - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build": { - "version": "29.58.0", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.58.0.tgz", - "integrity": "sha512-aLFJTQtP7uwoFUzq5IPLRL3Zy8FTyvW0MfHRzzV7jku416uOAcLXy9EkvpJcuvXpqvTsuKBlF553Jirz2UlNRw==", - "dependencies": { - "@bugsnag/js": "^7.0.0", - "@netlify/blobs": "^7.4.0", - "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^20.21.0", - "@netlify/edge-bundler": "12.3.1", - "@netlify/framework-info": "^9.9.0", - "@netlify/functions-utils": "^5.3.1", - "@netlify/git-utils": "^5.2.0", - "@netlify/opentelemetry-utils": "^1.3.0", - "@netlify/plugins-list": "^6.80.0", - "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "9.42.1", - "@sindresorhus/slugify": "^2.0.0", - "ansi-escapes": "^6.0.0", - "chalk": "^5.0.0", - "clean-stack": "^4.0.0", - "execa": "^6.0.0", - "fdir": "^6.0.1", - "figures": "^5.0.0", - "filter-obj": "^5.0.0", - "got": "^12.0.0", - "hot-shots": "10.2.1", - "indent-string": "^5.0.0", - "is-plain-obj": "^4.0.0", - "js-yaml": "^4.0.0", - "keep-func-props": "^4.0.0", - "locate-path": "^7.0.0", - "log-process-errors": "^8.0.0", - "map-obj": "^5.0.0", - "memoize-one": "^6.0.0", - "minimatch": "^9.0.4", - "node-fetch": "^3.3.2", - "os-name": "^5.0.0", - "p-event": "^5.0.0", - "p-every": "^2.0.0", - "p-filter": "^3.0.0", - "p-locate": "^6.0.0", - "p-map": "^6.0.0", - "p-reduce": "^3.0.0", - "path-exists": "^5.0.0", - "path-type": "^5.0.0", - "pkg-dir": "^7.0.0", - "pretty-ms": "^8.0.0", - "ps-list": "^8.0.0", - "read-package-up": "^11.0.0", - "readdirp": "^3.4.0", - "resolve": "^2.0.0-next.1", - "rfdc": "^1.3.0", - "safe-json-stringify": "^1.2.0", - "semver": "^7.3.8", - "string-width": "^5.0.0", - "strip-ansi": "^7.0.0", - "supports-color": "^9.0.0", - "terminal-link": "^3.0.0", - "ts-node": "^10.9.1", - "typescript": "^5.0.0", - "uuid": "^9.0.0", - "yargs": "^17.6.0" - }, - "bin": { - "netlify-build": "bin.js" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - }, - "peerDependencies": { - "@netlify/opentelemetry-sdk-setup": "^1.1.0", - "@opentelemetry/api": "~1.8.0" - }, - "peerDependenciesMeta": { - "@netlify/opentelemetry-sdk-setup": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.17.0.tgz", - "integrity": "sha512-503ES8SfLMkWQyBs41YCoWOLJWmcgcBZXfdtltz/jPSFaFXdpzlhq/CV3W9uHnKgLG/MBkEtTlBRtzy5weHKVw==", - "dependencies": { - "@bugsnag/js": "^7.20.0", - "@iarna/toml": "^2.2.5", - "dot-prop": "^7.2.0", - "find-up": "^6.3.0", - "minimatch": "^9.0.0", - "read-pkg": "^7.1.0", - "semver": "^7.3.8", - "yaml": "^2.1.3", - "yargs": "^17.6.0" - }, - "bin": { - "build-info": "bin.js" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/dot-prop": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz", - "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==", - "dependencies": { - "type-fest": "^2.11.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/read-pkg": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", - "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^2.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/@netlify/blobs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-7.4.0.tgz", - "integrity": "sha512-7rdPzo8bggt3D2CVO+U1rmEtxxs8X7cLusDbHZRJaMlxqxBD05mXgThj5DUJMFOvmfVjhEH/S/3AyiLUbDQGDg==", - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/ansi-escapes": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", - "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", - "dependencies": { - "p-map": "^5.1.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-filter/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-map": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz", - "integrity": "sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/cache-utils": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-5.2.0.tgz", - "integrity": "sha512-kKzGQ9gKNRUjqFMC1/1goeTe1WfzL6KhphwXac7tialowg10Dtmr2X+eDzfH9enGvD6vhYR4a0QMTQWkjfPVmg==", - "dependencies": { - "cpy": "^9.0.0", - "get-stream": "^6.0.0", - "globby": "^13.0.0", - "junk": "^4.0.0", - "locate-path": "^7.0.0", - "move-file": "^3.0.0", - "path-exists": "^5.0.0", - "readdirp": "^3.4.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/cache-utils/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/cache-utils/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/cache-utils/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config": { - "version": "20.21.0", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-20.21.0.tgz", - "integrity": "sha512-3t2IcYcaGIYagESXK7p4I0GOahlTxhR/UCgRdNKkv0ihIgYLW4CEmZXGHytyXYU55Ismbyt5W7EJ+Qi4fVy6VA==", - "dependencies": { - "@iarna/toml": "^2.2.5", - "@netlify/headers-parser": "^7.3.0", - "@netlify/redirect-parser": "^14.5.0", - "chalk": "^5.0.0", - "cron-parser": "^4.1.0", - "deepmerge": "^4.2.2", - "dot-prop": "^7.0.0", - "execa": "^6.0.0", - "fast-safe-stringify": "^2.0.7", - "figures": "^5.0.0", - "filter-obj": "^5.0.0", - "find-up": "^6.0.0", - "indent-string": "^5.0.0", - "is-plain-obj": "^4.0.0", - "js-yaml": "^4.0.0", - "map-obj": "^5.0.0", - "netlify": "^13.2.0", - "node-fetch": "^3.3.1", - "omit.js": "^2.0.2", - "p-locate": "^6.0.0", - "path-type": "^5.0.0", - "tomlify-j0.4": "^3.0.0", - "validate-npm-package-name": "^4.0.0", - "yargs": "^17.6.0" - }, - "bin": { - "netlify-config": "bin.js" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/dot-prop": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz", - "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==", - "dependencies": { - "type-fest": "^2.11.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-12.3.1.tgz", - "integrity": "sha512-Kmg7+OD/5PWyWUNDR7G6DyyL/+kliN8JcSe2vaZ6zmPWdK/+ejeCA+d/9ROOEMsAvX7heuwe74SA301Mp9ESaw==", - "dependencies": { - "@import-maps/resolve": "^1.0.1", - "@vercel/nft": "0.27.7", - "ajv": "^8.11.2", - "ajv-errors": "^3.0.0", - "better-ajv-errors": "^1.2.0", - "common-path-prefix": "^3.0.0", - "env-paths": "^3.0.0", - "esbuild": "0.21.2", - "execa": "^6.0.0", - "find-up": "^6.3.0", - "get-package-name": "^2.2.0", - "get-port": "^6.1.2", - "is-path-inside": "^4.0.0", - "jsonc-parser": "^3.2.0", - "node-fetch": "^3.1.1", - "node-stream-zip": "^1.15.0", - "p-retry": "^5.1.1", - "p-wait-for": "^4.1.0", - "path-key": "^4.0.0", - "semver": "^7.3.8", - "tmp-promise": "^3.0.3", - "urlpattern-polyfill": "8.0.2", - "uuid": "^9.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.2.tgz", - "integrity": "sha512-/c7hocx0pm14bHQlqUVKmxwdT/e5/KkyoY1W8F9lk/8CkE037STDDz8PXUP/LE6faj2HqchvDs9GcShxFhI78Q==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/android-arm": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.2.tgz", - "integrity": "sha512-G1ve3b4FeyJeyCjB4MX1CiWyTaIJwT9wAYE+8+IRA53YoN/reC/Bf2GDRXAzDTnh69Fpl+1uIKg76DiB3U6vwQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/android-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.2.tgz", - "integrity": "sha512-SGZKngoTWVUriO5bDjI4WDGsNx2VKZoXcds+ita/kVYB+8IkSCKDRDaK+5yu0b5S0eq6B3S7fpiEvpsa2ammlQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/android-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.2.tgz", - "integrity": "sha512-1wzzNoj2QtNkAYwIcWJ66UTRA80+RTQ/kuPMtEuP0X6dp5Ar23Dn566q3aV61h4EYrrgGlOgl/HdcqN/2S/2vg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.2.tgz", - "integrity": "sha512-ZyMkPWc5eTROcLOA10lEqdDSTc6ds6nuh3DeHgKip/XJrYjZDfnkCVSty8svWdy+SC1f77ULtVeIqymTzaB6/Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/darwin-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.2.tgz", - "integrity": "sha512-K4ZdVq1zP9v51h/cKVna7im7G0zGTKKB6bP2yJiSmHjjOykbd8DdhrSi8V978sF69rkwrn8zCyL2t6I3ei6j9A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.2.tgz", - "integrity": "sha512-4kbOGdpA61CXqadD+Gb/Pw3YXamQGiz9mal/h93rFVSjr5cgMnmJd/gbfPRm+3BMifvnaOfS1gNWaIDxkE2A3A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.2.tgz", - "integrity": "sha512-ShS+R09nuHzDBfPeMUliKZX27Wrmr8UFp93aFf/S8p+++x5BZ+D344CLKXxmY6qzgTL3mILSImPCNJOzD6+RRg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-arm": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.2.tgz", - "integrity": "sha512-nnGXjOAv+7cM3LYRx4tJsYdgy8dGDGkAzF06oIDGppWbUkUKN9SmgQA8H0KukpU0Pjrj9XmgbWqMVSX/U7eeTA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.2.tgz", - "integrity": "sha512-Hdu8BL+AmO+eCDvvT6kz/fPQhvuHL8YK4ExKZfANWsNe1kFGOHw7VJvS/FKSLFqheXmB3rTF3xFQIgUWPYsGnA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-ia32": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.2.tgz", - "integrity": "sha512-m73BOCW2V9lcj7RtEMi+gBfHC6n3+VHpwQXP5offtQMPLDkpVolYn1YGXxOZ9hp4h3UPRKuezL7WkBsw+3EB3Q==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-loong64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.2.tgz", - "integrity": "sha512-84eYHwwWHq3myIY/6ikALMcnwkf6Qo7NIq++xH0x+cJuUNpdwh8mlpUtRY+JiGUc60yu7ElWBbVHGWTABTclGw==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.2.tgz", - "integrity": "sha512-9siSZngT0/ZKG+AH+/agwKF29LdCxw4ODi/PiE0F52B2rtLozlDP92umf8G2GPoVV611LN4pZ+nSTckebOscUA==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.2.tgz", - "integrity": "sha512-y0T4aV2CA+ic04ULya1A/8M2RDpDSK2ckgTj6jzHKFJvCq0jQg8afQQIn4EM0G8u2neyOiNHgSF9YKPfuqKOVw==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.2.tgz", - "integrity": "sha512-x5ssCdXmZC86L2Li1qQPF/VaC4VP20u/Zm8jlAu9IiVOVi79YsSz6cpPDYZl1rfKSHYCJW9XBfFCo66S5gVPSA==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-s390x": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.2.tgz", - "integrity": "sha512-NP7fTpGSFWdXyvp8iAFU04uFh9ARoplFVM/m+8lTRpaYG+2ytHPZWyscSsMM6cvObSIK2KoPHXiZD4l99WaxbQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.2.tgz", - "integrity": "sha512-giZ/uOxWDKda44ZuyfKbykeXznfuVNkTgXOUOPJIjbayJV6FRpQ4zxUy9JMBPLaK9IJcdWtaoeQrYBMh3Rr4vQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.2.tgz", - "integrity": "sha512-IeFMfGFSQfIj1d4XU+6lkbFzMR+mFELUUVYrZ+jvWzG4NGvs6o53ReEHLHpYkjRbdEjJy2W3lTekTxrFHW7YJg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.2.tgz", - "integrity": "sha512-48QhWD6WxcebNNaE4FCwgvQVUnAycuTd+BdvA/oZu+/MmbpU8pY2dMEYlYzj5uNHWIG5jvdDmFXu0naQeOWUoA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/sunos-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.2.tgz", - "integrity": "sha512-90r3nTBLgdIgD4FCVV9+cR6Hq2Dzs319icVsln+NTmTVwffWcCqXGml8rAoocHuJ85kZK36DCteii96ba/PX8g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/win32-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.2.tgz", - "integrity": "sha512-sNndlsBT8OeE/MZDSGpRDJlWuhjuUz/dn80nH0EP4ZzDUYvMDVa7G87DVpweBrn4xdJYyXS/y4CQNrf7R2ODXg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/win32-ia32": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.2.tgz", - "integrity": "sha512-Ti2QChGNFzWhUNNVuU4w21YkYTErsNh3h+CzvlEhzgRbwsJ7TrWQqRzW3bllLKKvTppuF3DJ3XP1GEg11AfrEQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/win32-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.2.tgz", - "integrity": "sha512-VEfTCZicoZnZ6sGkjFPGRFFJuL2fZn2bLhsekZl1CJslflp2cJS/VoKs1jMk+3pDfsGW6CfQVUckP707HwbXeQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/esbuild": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.2.tgz", - "integrity": "sha512-LmHPAa5h4tSxz+g/D8IHY6wCjtIiFx8I7/Q0Aq+NmvtoYvyMnJU0KQJcqB6QH30X9x/W4CemgUtPgQDZFca5SA==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.2", - "@esbuild/android-arm": "0.21.2", - "@esbuild/android-arm64": "0.21.2", - "@esbuild/android-x64": "0.21.2", - "@esbuild/darwin-arm64": "0.21.2", - "@esbuild/darwin-x64": "0.21.2", - "@esbuild/freebsd-arm64": "0.21.2", - "@esbuild/freebsd-x64": "0.21.2", - "@esbuild/linux-arm": "0.21.2", - "@esbuild/linux-arm64": "0.21.2", - "@esbuild/linux-ia32": "0.21.2", - "@esbuild/linux-loong64": "0.21.2", - "@esbuild/linux-mips64el": "0.21.2", - "@esbuild/linux-ppc64": "0.21.2", - "@esbuild/linux-riscv64": "0.21.2", - "@esbuild/linux-s390x": "0.21.2", - "@esbuild/linux-x64": "0.21.2", - "@esbuild/netbsd-x64": "0.21.2", - "@esbuild/openbsd-x64": "0.21.2", - "@esbuild/sunos-x64": "0.21.2", - "@esbuild/win32-arm64": "0.21.2", - "@esbuild/win32-ia32": "0.21.2", - "@esbuild/win32-x64": "0.21.2" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/fast-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", - "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/get-port": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", - "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/p-wait-for": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-4.1.0.tgz", - "integrity": "sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==", - "dependencies": { - "p-timeout": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-functions": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.11.1.tgz", - "integrity": "sha512-pyQOTZ8a+ge5lZlE+H/UAHyuqQqtL5gE0pXrHT9mOykr3YQqnkB2hZMtx12odatZ87gHg4EA+UPyMZUbLfnXvw==" - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.9.0.tgz", - "integrity": "sha512-ucPBnBJVJUjsoCAhFy76zjQgg2hLPaR1jTOjH5W/jglc5DIZ9HJSgHfTp4e9A3ok8GXvQyTrYKE5kTZpwLoYQQ==", - "dependencies": { - "ajv": "^8.12.0", - "filter-obj": "^5.0.0", - "find-up": "^6.3.0", - "is-plain-obj": "^4.0.0", - "locate-path": "^7.0.0", - "p-filter": "^3.0.0", - "p-locate": "^6.0.0", - "process": "^0.11.10", - "read-package-up": "^11.0.0", - "semver": "^7.3.8" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", - "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", - "dependencies": { - "p-map": "^5.1.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/functions-utils": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.1.tgz", - "integrity": "sha512-Bm1Uro1Uql21/PUKcpGcBv88e5qd3fRHSmO9FM/uE1HxtsuujXer1pRTE/+qZRnPXpeLLtWwda7a3zIfADOEaw==", - "dependencies": { - "@netlify/zip-it-and-ship-it": "9.42.1", - "cpy": "^9.0.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/functions-utils/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-5.2.0.tgz", - "integrity": "sha512-maNQyhQ6zTS5Kwl03HXoUa7uTNjmCvZea5Jko2pyDWz0xW1cunnil+4s33wXrMZJNDvyv97O2vkC5N1sAS3fyQ==", - "dependencies": { - "execa": "^6.0.0", - "map-obj": "^5.0.0", - "micromatch": "^4.0.2", - "moize": "^6.1.3", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/headers-parser": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-7.3.0.tgz", - "integrity": "sha512-4RTR9X3bylRV+q1/OHSwXcXylYKr5+3mkKcL/QLBI+bTqvSO82vjWAQAqQfvWVSCaF6HrYORid3zLGzJ94YOSw==", - "dependencies": { - "@iarna/toml": "^2.2.5", - "escape-string-regexp": "^5.0.0", - "fast-safe-stringify": "^2.0.7", - "is-plain-obj": "^4.0.0", - "map-obj": "^5.0.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/headers-parser/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/headers-parser/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/headers-parser/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy/-/local-functions-proxy-1.1.1.tgz", - "integrity": "sha512-eXSsayLT6PMvjzFQpjC9nkg2Otc3lZ5GoYele9M6f8PmsvWpaXRhwjNQ0NYhQQ2UZbLMIiO2dH8dbRsT3bMkFw==", - "optionalDependencies": { - "@netlify/local-functions-proxy-darwin-arm64": "1.1.1", - "@netlify/local-functions-proxy-darwin-x64": "1.1.1", - "@netlify/local-functions-proxy-freebsd-arm64": "1.1.1", - "@netlify/local-functions-proxy-freebsd-x64": "1.1.1", - "@netlify/local-functions-proxy-linux-arm": "1.1.1", - "@netlify/local-functions-proxy-linux-arm64": "1.1.1", - "@netlify/local-functions-proxy-linux-ia32": "1.1.1", - "@netlify/local-functions-proxy-linux-ppc64": "1.1.1", - "@netlify/local-functions-proxy-linux-x64": "1.1.1", - "@netlify/local-functions-proxy-openbsd-x64": "1.1.1", - "@netlify/local-functions-proxy-win32-ia32": "1.1.1", - "@netlify/local-functions-proxy-win32-x64": "1.1.1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-darwin-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-darwin-arm64/-/local-functions-proxy-darwin-arm64-1.1.1.tgz", - "integrity": "sha512-lphJ9qqZ3glnKWEqlemU1LMqXxtJ/tKf7VzakqqyjigwLscXSZSb6fupSjQfd4tR1xqxA76ylws/2HDhc/gs+Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-darwin-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-darwin-x64/-/local-functions-proxy-darwin-x64-1.1.1.tgz", - "integrity": "sha512-4CRB0H+dXZzoEklq5Jpmg+chizXlVwCko94d8+UHWCgy/bA3M/rU/BJ8OLZisnJaAktHoeLABKtcLOhtRHpxZQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-freebsd-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-freebsd-arm64/-/local-functions-proxy-freebsd-arm64-1.1.1.tgz", - "integrity": "sha512-u13lWTVMJDF0A6jX7V4N3HYGTIHLe5d1Z2wT43fSIHwXkTs6UXi72cGSraisajG+5JFIwHfPr7asw5vxFC0P9w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-freebsd-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-freebsd-x64/-/local-functions-proxy-freebsd-x64-1.1.1.tgz", - "integrity": "sha512-g5xw4xATK5YDzvXtzJ8S1qSkWBiyF8VVRehXPMOAMzpGjCX86twYhWp8rbAk7yA1zBWmmWrWNA2Odq/MgpKJJg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-linux-arm": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-arm/-/local-functions-proxy-linux-arm-1.1.1.tgz", - "integrity": "sha512-YsTpL+AbHwQrfHWXmKnwUrJBjoUON363nr6jUG1ueYnpbbv6wTUA7gI5snMi/gkGpqFusBthAA7C30e6bixfiA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-linux-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-arm64/-/local-functions-proxy-linux-arm64-1.1.1.tgz", - "integrity": "sha512-dPGu1H5n8na7mBKxiXQ+FNmthDAiA57wqgpm5JMAHtcdcmRvcXwJkwWVGvwfj8ShhYJHQaSaS9oPgO+mpKkgmA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-linux-ia32": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-ia32/-/local-functions-proxy-linux-ia32-1.1.1.tgz", - "integrity": "sha512-Ra0FlXDrmPRaq+rYH3/ttkXSrwk1D5Zx/Na7UPfJZxMY7Qo5iY4bgi/FuzjzWzlp0uuKZOhYOYzYzsIIyrSvmw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-linux-ppc64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-ppc64/-/local-functions-proxy-linux-ppc64-1.1.1.tgz", - "integrity": "sha512-oXf1satwqwUUxz7LHS1BxbRqc4FFEKIDFTls04eXiLReFR3sqv9H/QuYNTCCDMuRcCOd92qKyDfATdnxT4HR8w==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-linux-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-x64/-/local-functions-proxy-linux-x64-1.1.1.tgz", - "integrity": "sha512-bS3u4JuDg/eC0y4Na3i/29JBOxrdUvsK5JSjHfzUeZEbOcuXYf4KavTpHS5uikdvTgyczoSrvbmQJ5m0FLXfLA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-openbsd-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-openbsd-x64/-/local-functions-proxy-openbsd-x64-1.1.1.tgz", - "integrity": "sha512-1xLef/kLRNkBTXJ+ZGoRFcwsFxd/B2H3oeJZyXaZ3CN5umd9Mv9wZuAD74NuMt/535yRva8jtAJqvEgl9xMSdA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "bin": { - "local-functions-proxy": "bin/local-functions-proxy" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-win32-ia32": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-win32-ia32/-/local-functions-proxy-win32-ia32-1.1.1.tgz", - "integrity": "sha512-4IOMDBxp2f8VbIkhZ85zGNDrZR4ey8d68fCMSOIwitjsnKav35YrCf8UmAh3UR6CNIRJdJL4MW1GYePJ7iJ8uA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "bin": { - "local-functions-proxy.exe": "bin/local-functions-proxy.exe" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy-win32-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy-win32-x64/-/local-functions-proxy-win32-x64-1.1.1.tgz", - "integrity": "sha512-VCBXBJWBujVxyo5f+3r8ovLc9I7wJqpmgDn3ixs1fvdrER5Ac+SzYwYH4mUug9HI08mzTSAKZErzKeuadSez3w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "bin": { - "local-functions-proxy.exe": "bin/local-functions-proxy.exe" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/node-cookies": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", - "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/open-api": { - "version": "2.35.0", - "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.35.0.tgz", - "integrity": "sha512-c6LpV29CKMgq6/eViItE6L2ova9UldBO9tHRvvwpJfSBgCwWaFhmiepe07E3xIW4GfTCGoWE816mNzXB/2ceZg==", - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/opentelemetry-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@netlify/opentelemetry-utils/-/opentelemetry-utils-1.3.0.tgz", - "integrity": "sha512-2LpNZpowo7Q4nSNmPYcx4gAAXIhRiSanX7Bux7b0D7ohdaC8NOgmFc7vdVzIsCChLwqbQ4HZpN1fd0W40Cm7bg==", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@opentelemetry/api": "~1.8.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/plugins-list": { - "version": "6.80.0", - "resolved": "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-6.80.0.tgz", - "integrity": "sha512-bCKLI51UZ70ziIWsf2nvgPd4XuG6m8AMCoHiYtl/BSsiaSBfmryZnTTqdRXerH09tBRpbPPwzaEgUJwyU9o8Qw==", - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/redirect-parser": { - "version": "14.5.0", - "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-14.5.0.tgz", - "integrity": "sha512-0HxtPj+azmoaQhuZAbyTn6WyMl+PO6XrFU6TRo/0b57jtVz9uTjrvFytjmTqTvVEY1sLePCxbTbgEULm2XDTjQ==", - "dependencies": { - "@iarna/toml": "^2.2.5", - "fast-safe-stringify": "^2.1.1", - "filter-obj": "^5.0.0", - "is-plain-obj": "^4.0.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/redirect-parser/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/run-utils": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-5.2.0.tgz", - "integrity": "sha512-bsrv7Sjge5g71VMgZ65Ioc5q4lHXdLQCmpUU6sY06Aeol1psi1iDOGVMx/7ExJjbCtQgxye35wZjAz60i6X22Q==", - "dependencies": { - "execa": "^6.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it": { - "version": "9.42.1", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.42.1.tgz", - "integrity": "sha512-ZCGM2OnLbiFOZO+kpODI6BKjH6X4a6vE/tJd0aqIvKWiygZgxhIw5APZUzgwLGv4BahIBG+tcfKgW7krpZYLwA==", - "dependencies": { - "@babel/parser": "^7.22.5", - "@babel/types": "7.26.3", - "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.31.1", - "@vercel/nft": "0.27.7", - "archiver": "^7.0.0", - "common-path-prefix": "^3.0.0", - "cp-file": "^10.0.0", - "es-module-lexer": "^1.0.0", - "esbuild": "0.19.11", - "execa": "^6.0.0", - "fast-glob": "^3.3.2", - "filter-obj": "^5.0.0", - "find-up": "^6.0.0", - "glob": "^8.0.3", - "is-builtin-module": "^3.1.0", - "is-path-inside": "^4.0.0", - "junk": "^4.0.0", - "locate-path": "^7.0.0", - "merge-options": "^3.0.4", - "minimatch": "^9.0.0", - "normalize-path": "^3.0.0", - "p-map": "^5.0.0", - "path-exists": "^5.0.0", - "precinct": "^11.0.0", - "require-package-name": "^2.0.1", - "resolve": "^2.0.0-next.1", - "semver": "^7.3.8", - "tmp-promise": "^3.0.2", - "toml": "^3.0.0", - "unixify": "^1.0.0", - "urlpattern-polyfill": "8.0.2", - "yargs": "^17.0.0", - "zod": "^3.23.8" - }, - "bin": { - "zip-it-and-ship-it": "bin.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@netlify/serverless-functions-api": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.31.1.tgz", - "integrity": "sha512-SkNxzfCwctS5ETnCqJOJfZZ/jB0pTkbWEAsApHoL7HzUQGWoRM6wYf4baJAJVMTfZBQu534SbKuwRs7WDAs43A==", - "dependencies": { - "@netlify/node-cookies": "^0.1.0", - "urlpattern-polyfill": "8.0.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", - "engines": { - "node": ">= 18" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", - "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", - "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.3.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/endpoint": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", - "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", - "dependencies": { - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/graphql": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", - "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", - "dependencies": { - "@octokit/request": "^8.3.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" - }, - "node_modules/netlify-cli/node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", - "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", - "dependencies": { - "@octokit/types": "^13.5.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/plugin-request-log": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", - "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", - "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", - "dependencies": { - "@octokit/types": "^13.5.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "^5" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/request": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", - "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", - "dependencies": { - "@octokit/endpoint": "^9.0.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", - "dependencies": { - "@octokit/types": "^13.1.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/rest": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", - "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", - "dependencies": { - "@octokit/core": "^5.0.2", - "@octokit/plugin-paginate-rest": "11.3.1", - "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-rest-endpoint-methods": "13.2.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/netlify-cli/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "dependencies": { - "@octokit/openapi-types": "^22.2.0" - } - }, - "node_modules/netlify-cli/node_modules/@opentelemetry/api": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz", - "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz", - "integrity": "sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==", - "hasInstallScript": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz", - "integrity": "sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-wasm": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.0.tgz", - "integrity": "sha512-MNgQ4WCbBybqQ97KwR/hqJGYTg3+s8qHpgIyFWB2qJOBvoJWbXuJGmm4ZkPLq2bMaANqCZqrXwmKYagZTkMKZA==", - "bundleDependencies": [ - "napi-wasm" - ], - "dependencies": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "napi-wasm": "^1.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { - "version": "1.1.0", - "inBundle": true, - "license": "MIT" - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/netlify-cli/node_modules/@parcel/watcher/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/netlify-cli/node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/netlify-cli/node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/netlify-cli/node_modules/@pnpm/npm-conf": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", - "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@rollup/pluginutils": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", - "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", - "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", - "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", - "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", - "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", - "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", - "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", - "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", - "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", - "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", - "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", - "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", - "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", - "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", - "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", - "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", - "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/slugify": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", - "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", - "dependencies": { - "@sindresorhus/transliterate": "^1.0.0", - "escape-string-regexp": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/transliterate": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.5.0.tgz", - "integrity": "sha512-/sfSkoNelLq5riqNRp5uBjHIKBi1MWZk9ubRT1WiBQuTfmDf7BeQkph2DJzRB83QagMPHk2VDjuvpy0VuwyzdA==", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "lodash.deburr": "^4.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/netlify-cli/node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" - }, - "node_modules/netlify-cli/node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" - }, - "node_modules/netlify-cli/node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "optional": true, - "peer": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "node_modules/netlify-cli/node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "optional": true, - "peer": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" - }, - "node_modules/netlify-cli/node_modules/@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "node_modules/netlify-cli/node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/@types/node": { - "version": "22.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", - "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" - }, - "node_modules/netlify-cli/node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==" - }, - "node_modules/netlify-cli/node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "optional": true, - "peer": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" - }, - "node_modules/netlify-cli/node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@vercel/nft": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.27.7.tgz", - "integrity": "sha512-FG6H5YkP4bdw9Ll1qhmbxuE8KwW2E/g8fJpM183fWQLeVDGqzeywMIeJ9h2txdWZ03psgWMn6QymTxaDLmdwUg==", - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.11", - "@rollup/pluginutils": "^5.1.3", - "acorn": "^8.6.0", - "acorn-import-attributes": "^1.9.5", - "async-sema": "^3.1.1", - "bindings": "^1.4.0", - "estree-walker": "2.0.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.8", - "node-gyp-build": "^4.2.2", - "resolve-from": "^5.0.0" - }, - "bin": { - "nft": "out/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/archive-type": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-6.0.1.tgz", - "integrity": "sha512-PB3NeJL8xARZt52yDBupK0dNPn8uIVQDe15qNehUpoeeLWCZyAOam4vGXnoZGz2N9D1VXtjievJuCsXam2TmbQ==", - "dependencies": { - "file-type": "^18.5.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress/-/decompress-9.0.1.tgz", - "integrity": "sha512-9Lvlt6Qdpo9SaRQyRIXCo3lgU++eMZ68lzgjcTwtuKDrlwT635+5zsHZ1yrSx/Blc5IDuVLlPkBPj5CZkx+2+Q==", - "dependencies": { - "@xhmikosr/decompress-tar": "^7.0.0", - "@xhmikosr/decompress-tarbz2": "^7.0.0", - "@xhmikosr/decompress-targz": "^7.0.0", - "@xhmikosr/decompress-unzip": "^6.0.0", - "graceful-fs": "^4.2.11", - "make-dir": "^4.0.0", - "strip-dirs": "^3.0.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tar": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tar/-/decompress-tar-7.0.0.tgz", - "integrity": "sha512-kyWf2hybtQVbWtB+FdRyOT+jyR5jxCNZPLqvQGB7djZj75lrpLUPEmRbyo86AtJ5OEtivpYaNWjCkqSJ8xtRWw==", - "dependencies": { - "file-type": "^18.5.0", - "is-stream": "^3.0.0", - "tar-stream": "^3.1.4" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tar/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tarbz2": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tarbz2/-/decompress-tarbz2-7.0.0.tgz", - "integrity": "sha512-3QnjipYkRgh3Dee1MWDgKmANWxOQBVN4e1IwiGNe2fHYfMYTeSkVvWREt87UIoSucKUh3E95v8uGFttgTknZcA==", - "dependencies": { - "@xhmikosr/decompress-tar": "^7.0.0", - "file-type": "^18.5.0", - "is-stream": "^3.0.0", - "seek-bzip": "^1.0.6", - "unbzip2-stream": "^1.4.3" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tarbz2/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-targz": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-targz/-/decompress-targz-7.0.0.tgz", - "integrity": "sha512-7BNHJl92g9OLhw89zqcFS67V1LAtm4Ex02j6OiQzuE8P7Yy9lQcyBuEL3x6v436grLdL+BcFjgbmhWxnem4GHw==", - "dependencies": { - "@xhmikosr/decompress-tar": "^7.0.0", - "file-type": "^18.5.0", - "is-stream": "^3.0.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-targz/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-unzip": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-unzip/-/decompress-unzip-6.0.0.tgz", - "integrity": "sha512-R1HAkjXLS7RAL74YFLxYY9zYflCcYGssld9KKFDu87PnJ4h4btdhzXfSC8J5i5A2njH3oYIoCzx03RIGTH07Sg==", - "dependencies": { - "file-type": "^18.5.0", - "get-stream": "^6.0.1", - "yauzl": "^2.10.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress/node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/downloader/-/downloader-13.0.1.tgz", - "integrity": "sha512-mBvWew1kZJHfNQVVfVllMjUDwCGN9apPa0t4/z1zaUJ9MzpXjRL3w8fsfJKB8gHN/h4rik9HneKfDbh2fErN+w==", - "dependencies": { - "@xhmikosr/archive-type": "^6.0.1", - "@xhmikosr/decompress": "^9.0.1", - "content-disposition": "^0.5.4", - "ext-name": "^5.0.0", - "file-type": "^18.5.0", - "filenamify": "^5.1.1", - "get-stream": "^6.0.1", - "got": "^12.6.1", - "merge-options": "^3.0.4", - "p-event": "^5.0.1" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/filename-reserved-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", - "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/filenamify": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-5.1.1.tgz", - "integrity": "sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==", - "dependencies": { - "filename-reserved-regex": "^3.0.0", - "strip-outer": "^2.0.0", - "trim-repeated": "^2.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/strip-outer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-2.0.0.tgz", - "integrity": "sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/trim-repeated": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-2.0.0.tgz", - "integrity": "sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==", - "dependencies": { - "escape-string-regexp": "^5.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/netlify-cli/node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/netlify-cli/node_modules/abstract-logging": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", - "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" - }, - "node_modules/netlify-cli/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/netlify-cli/node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/netlify-cli/node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/netlify-cli/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/netlify-cli/node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/aggregate-error/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/netlify-cli/node_modules/all-node-versions": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/all-node-versions/-/all-node-versions-11.3.0.tgz", - "integrity": "sha512-psMkc5s3qpr+QMfires9bC4azRYciPWql1wqZKMsYRh1731qefQDH2X4+O19xSBX6u0Ra/8Y5diG6y/fEmqKsw==", - "dependencies": { - "fetch-node-website": "^7.3.0", - "filter-obj": "^5.1.0", - "get-stream": "^6.0.0", - "global-cache-dir": "^4.3.1", - "is-plain-obj": "^4.1.0", - "path-exists": "^5.0.0", - "semver": "^7.3.7", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/all-node-versions/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/all-node-versions/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/netlify-cli/node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", - "dependencies": { - "environment": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/ansi-to-html": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.7.2.tgz", - "integrity": "sha512-v6MqmEpNlxF+POuyhKkidusCHWWkaLcGRURzivcU3I9tv7k4JVhFcnukrM5Rlk2rUywdZuzYAZ+kbZqWCnfN3g==", - "dependencies": { - "entities": "^2.2.0" - }, - "bin": { - "ansi-to-html": "bin/ansi-to-html" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/ansi-to-html/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "node_modules/netlify-cli/node_modules/archiver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", - "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", - "dependencies": { - "archiver-utils": "^5.0.2", - "async": "^3.2.4", - "buffer-crc32": "^1.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", - "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", - "dependencies": { - "glob": "^10.0.0", - "graceful-fs": "^4.2.0", - "is-stream": "^2.0.1", - "lazystream": "^1.0.0", - "lodash": "^4.17.15", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/jackspeak": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", - "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/buffer-crc32": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", - "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" - }, - "node_modules/netlify-cli/node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "node_modules/netlify-cli/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/netlify-cli/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "node_modules/netlify-cli/node_modules/array-timsort": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", - "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==" - }, - "node_modules/netlify-cli/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/arrify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz", - "integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ascii-table": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz", - "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM=" - }, - "node_modules/netlify-cli/node_modules/ast-module-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-5.0.0.tgz", - "integrity": "sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==", - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/netlify-cli/node_modules/async-sema": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", - "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==" - }, - "node_modules/netlify-cli/node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/atomically": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atomically/-/atomically-2.0.3.tgz", - "integrity": "sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==", - "dependencies": { - "stubborn-fs": "^1.2.5", - "when-exit": "^2.1.1" - } - }, - "node_modules/netlify-cli/node_modules/avvio": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", - "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", - "dependencies": { - "@fastify/error": "^3.3.0", - "archy": "^1.0.0", - "debug": "^4.0.0", - "fastq": "^1.17.1" - } - }, - "node_modules/netlify-cli/node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" - }, - "node_modules/netlify-cli/node_modules/backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", - "dependencies": { - "precond": "0.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/netlify-cli/node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", - "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@humanwhocodes/momoa": "^2.0.2", - "chalk": "^4.1.2", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0 < 4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "peerDependencies": { - "ajv": "4.11.8 - 8" - } - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/netlify-cli/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/netlify-cli/node_modules/blueimp-md5": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", - "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==" - }, - "node_modules/netlify-cli/node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/netlify-cli/node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "node_modules/netlify-cli/node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/netlify-cli/node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/netlify-cli/node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "engines": { - "node": "*" - } - }, - "node_modules/netlify-cli/node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "node_modules/netlify-cli/node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/netlify-cli/node_modules/builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/netlify-cli/node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/netlify-cli/node_modules/cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "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.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "engines": { - "node": "*" - } - }, - "node_modules/netlify-cli/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/netlify-cli/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/netlify-cli/node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/ci-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz", - "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "dependencies": { - "consola": "^3.2.3" - } - }, - "node_modules/netlify-cli/node_modules/clean-deep": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/clean-deep/-/clean-deep-3.4.0.tgz", - "integrity": "sha512-Lo78NV5ItJL/jl+B5w0BycAisaieJGXK1qYi/9m4SjR8zbqmrUtO7Yhro40wEShGmmxs/aJLI/A+jNhdkXK8mw==", - "dependencies": { - "lodash.isempty": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.transform": "^4.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", - "dependencies": { - "escape-string-regexp": "5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/clean-stack/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", - "dependencies": { - "string-width": "^4.2.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" - }, - "node_modules/netlify-cli/node_modules/cli-truncate/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "node_modules/netlify-cli/node_modules/clipboardy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", - "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", - "dependencies": { - "execa": "^8.0.1", - "is-wsl": "^3.1.0", - "is64bit": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "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.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/netlify-cli/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/netlify-cli/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/netlify-cli/node_modules/color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/netlify-cli/node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/netlify-cli/node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "node_modules/netlify-cli/node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/netlify-cli/node_modules/colors-option": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/colors-option/-/colors-option-3.0.0.tgz", - "integrity": "sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==", - "dependencies": { - "chalk": "^5.0.0", - "filter-obj": "^3.0.0", - "is-plain-obj": "^4.0.0", - "jest-validate": "^27.3.1" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/colors-option/node_modules/filter-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-3.0.0.tgz", - "integrity": "sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, - "node_modules/netlify-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/comment-json": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.5.tgz", - "integrity": "sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==", - "dependencies": { - "array-timsort": "^1.0.3", - "core-util-is": "^1.0.3", - "esprima": "^4.0.1", - "has-own-prop": "^2.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/netlify-cli/node_modules/comment-json/node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/netlify-cli/node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/netlify-cli/node_modules/compress-commons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", - "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", - "dependencies": { - "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/netlify-cli/node_modules/concordance": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz", - "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==", - "dependencies": { - "date-time": "^3.1.0", - "esutils": "^2.0.3", - "fast-diff": "^1.2.0", - "js-string-escape": "^1.0.1", - "lodash": "^4.17.15", - "md5-hex": "^3.0.1", - "semver": "^7.3.2", - "well-known-symbols": "^2.0.0" - }, - "engines": { - "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14" - } - }, - "node_modules/netlify-cli/node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/config-chain/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/netlify-cli/node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", - "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/configstore/node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/configstore/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "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" - } - }, - "node_modules/netlify-cli/node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/netlify-cli/node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "node_modules/netlify-cli/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/cookie-es": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.0.0.tgz", - "integrity": "sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==" - }, - "node_modules/netlify-cli/node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/netlify-cli/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/netlify-cli/node_modules/cp-file": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-10.0.0.tgz", - "integrity": "sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==", - "dependencies": { - "graceful-fs": "^4.2.10", - "nested-error-stacks": "^2.1.1", - "p-event": "^5.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cpy/-/cpy-9.0.1.tgz", - "integrity": "sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==", - "dependencies": { - "arrify": "^3.0.0", - "cp-file": "^9.1.0", - "globby": "^13.1.1", - "junk": "^4.0.0", - "micromatch": "^4.0.4", - "nested-error-stacks": "^2.1.0", - "p-filter": "^3.0.0", - "p-map": "^5.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/cp-file": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-9.1.0.tgz", - "integrity": "sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "nested-error-stacks": "^2.0.0", - "p-event": "^4.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", - "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", - "dependencies": { - "p-map": "^5.1.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/netlify-cli/node_modules/crc32-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", - "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "node_modules/netlify-cli/node_modules/cron-parser": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", - "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", - "dependencies": { - "luxon": "^3.2.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/netlify-cli/node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/cross-spawn/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/crossws": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.1.1.tgz", - "integrity": "sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==" - }, - "node_modules/netlify-cli/node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/netlify-cli/node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/netlify-cli/node_modules/cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" - }, - "node_modules/netlify-cli/node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" - }, - "node_modules/netlify-cli/node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "node_modules/netlify-cli/node_modules/data-uri-to-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/netlify-cli/node_modules/date-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", - "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", - "dependencies": { - "time-zone": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/decache": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.2.tgz", - "integrity": "sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==", - "dependencies": { - "callsite": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/netlify-cli/node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==" - }, - "node_modules/netlify-cli/node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "node_modules/netlify-cli/node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/netlify-cli/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "node_modules/netlify-cli/node_modules/destr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz", - "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==" - }, - "node_modules/netlify-cli/node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/netlify-cli/node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/detective-amd": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-5.0.2.tgz", - "integrity": "sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==", - "dependencies": { - "ast-module-types": "^5.0.0", - "escodegen": "^2.0.0", - "get-amd-module-type": "^5.0.1", - "node-source-walk": "^6.0.1" - }, - "bin": { - "detective-amd": "bin/cli.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/detective-cjs": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-5.0.1.tgz", - "integrity": "sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==", - "dependencies": { - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/detective-es6": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-4.0.1.tgz", - "integrity": "sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==", - "dependencies": { - "node-source-walk": "^6.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/detective-postcss": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-6.1.3.tgz", - "integrity": "sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==", - "dependencies": { - "is-url": "^1.2.4", - "postcss": "^8.4.23", - "postcss-values-parser": "^6.0.2" - }, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/detective-sass": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-5.0.3.tgz", - "integrity": "sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==", - "dependencies": { - "gonzales-pe": "^4.3.0", - "node-source-walk": "^6.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/detective-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-4.0.3.tgz", - "integrity": "sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==", - "dependencies": { - "gonzales-pe": "^4.3.0", - "node-source-walk": "^6.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/detective-stylus": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-4.0.0.tgz", - "integrity": "sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==", - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-11.2.0.tgz", - "integrity": "sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==", - "dependencies": { - "@typescript-eslint/typescript-estree": "^5.62.0", - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.2", - "typescript": "^5.4.4" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/netlify-cli/node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/netlify-cli/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/dot-prop": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz", - "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==", - "dependencies": { - "type-fest": "^4.18.2" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/dot-prop/node_modules/type-fest": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", - "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/netlify-cli/node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/netlify-cli/node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/netlify-cli/node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/netlify-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/netlify-cli/node_modules/enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, - "node_modules/netlify-cli/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/netlify-cli/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/env-paths": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", - "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/envinfo": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/netlify-cli/node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/netlify-cli/node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/netlify-cli/node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/netlify-cli/node_modules/es-module-lexer": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", - "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==" - }, - "node_modules/netlify-cli/node_modules/es6-promisify": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", - "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" - }, - "node_modules/netlify-cli/node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, - "node_modules/netlify-cli/node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/netlify-cli/node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/netlify-cli/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/netlify-cli/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" - }, - "node_modules/netlify-cli/node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/netlify-cli/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/netlify-cli/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/netlify-cli/node_modules/express-logging": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/express-logging/-/express-logging-1.1.1.tgz", - "integrity": "sha512-1KboYwxxCG5kwkJHR5LjFDTD1Mgl8n4PIMcCuhhd/1OqaxlC68P3QKbvvAbZVUtVgtlxEdTgSUwf6yxwzRCuuA==", - "dependencies": { - "on-headers": "^1.0.0" - }, - "engines": { - "node": ">= 0.10.26" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/netlify-cli/node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" - }, - "node_modules/netlify-cli/node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dependencies": { - "mime-db": "^1.28.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/netlify-cli/node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/fast-content-type-parse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", - "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==" - }, - "node_modules/netlify-cli/node_modules/fast-decode-uri-component": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" - }, - "node_modules/netlify-cli/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/netlify-cli/node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" - }, - "node_modules/netlify-cli/node_modules/fast-equals": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", - "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==" - }, - "node_modules/netlify-cli/node_modules/fast-fifo": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.0.tgz", - "integrity": "sha512-IgfweLvEpwyA4WgiQe9Nx6VV2QkML2NkvZnk1oKnIzXgXdWxuhF7zw4DvLTPZJn6PIUneiAXPF24QmoEqHTjyw==" - }, - "node_modules/netlify-cli/node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/netlify-cli/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "peer": true - }, - "node_modules/netlify-cli/node_modules/fast-json-stringify": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.15.1.tgz", - "integrity": "sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==", - "dependencies": { - "@fastify/merge-json-schemas": "^0.1.0", - "ajv": "^8.10.0", - "ajv-formats": "^3.0.1", - "fast-deep-equal": "^3.1.3", - "fast-uri": "^2.1.0", - "json-schema-ref-resolver": "^1.0.1", - "rfdc": "^1.2.0" - } - }, - "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/netlify-cli/node_modules/fast-querystring": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.0.0.tgz", - "integrity": "sha512-3LQi62IhQoDlmt4ULCYmh17vRO2EtS7hTSsG4WwoKWgV7GLMKBOecEh+aiavASnLx8I2y89OD33AGLo0ccRhzA==", - "dependencies": { - "fast-decode-uri-component": "^1.0.1" - } - }, - "node_modules/netlify-cli/node_modules/fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/netlify-cli/node_modules/fast-uri": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.2.0.tgz", - "integrity": "sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==" - }, - "node_modules/netlify-cli/node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/netlify-cli/node_modules/fastify": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.28.1.tgz", - "integrity": "sha512-kFWUtpNr4i7t5vY2EJPCN2KgMVpuqfU4NjnJNCgiNB900oiDeYqaNDRcAfeBbOF5hGixixxcKnOU4KN9z6QncQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "dependencies": { - "@fastify/ajv-compiler": "^3.5.0", - "@fastify/error": "^3.4.0", - "@fastify/fast-json-stringify-compiler": "^4.3.0", - "abstract-logging": "^2.0.1", - "avvio": "^8.3.0", - "fast-content-type-parse": "^1.1.0", - "fast-json-stringify": "^5.8.0", - "find-my-way": "^8.0.0", - "light-my-request": "^5.11.0", - "pino": "^9.0.0", - "process-warning": "^3.0.0", - "proxy-addr": "^2.0.7", - "rfdc": "^1.3.0", - "secure-json-parse": "^2.7.0", - "semver": "^7.5.4", - "toad-cache": "^3.3.0" - } - }, - "node_modules/netlify-cli/node_modules/fastify-plugin": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.4.0.tgz", - "integrity": "sha512-ovwFQG2qNy3jcCROiWpr94Hs0le+c7N/3t7m9aVwbFhkxcR/esp2xu25dP8e617HpQdmeDv+gFX4zagdUhDByw==" - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" - }, - "node_modules/netlify-cli/node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/netlify-cli/node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/netlify-cli/node_modules/fdir": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.0.1.tgz", - "integrity": "sha512-bdrUUb0eYQrPRlaAtlSRoLs7sp6yKEwbMQuUgwvi/14TnaqhM/deSZUrC5ic+yjm5nEPPWE61oWpTTxQFQMmLA==", - "peerDependencies": { - "picomatch": "2.x" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/fecha": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", - "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" - }, - "node_modules/netlify-cli/node_modules/fetch-blob": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz", - "integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "node_modules/netlify-cli/node_modules/fetch-node-website": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/fetch-node-website/-/fetch-node-website-7.3.0.tgz", - "integrity": "sha512-/wayUHbdVUWrD72aqRNNrr6+MHnCkumZgNugN0RfiWJpbNJUdAkMk4Z18MGayGZVVqYXR1RWrV+bIFEt5HuBZg==", - "dependencies": { - "cli-progress": "^3.11.2", - "colors-option": "^4.4.0", - "figures": "^5.0.0", - "got": "^12.3.1", - "is-plain-obj": "^4.1.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/fetch-node-website/node_modules/colors-option": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/colors-option/-/colors-option-4.5.0.tgz", - "integrity": "sha512-Soe5lerRg3erMRgYC0EC696/8dMCGpBzcQchFfi55Yrkja8F+P7cUt0LVTIg7u5ob5BexLZ/F1kO+ejmv+nq8w==", - "dependencies": { - "chalk": "^5.0.1", - "is-plain-obj": "^4.1.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/fetch-node-website/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/fetch-node-website/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/netlify-cli/node_modules/file-type": { - "version": "18.5.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.5.0.tgz", - "integrity": "sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==", - "dependencies": { - "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0", - "token-types": "^5.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/netlify-cli/node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/filter-obj": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", - "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/netlify-cli/node_modules/find-my-way": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", - "integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-querystring": "^1.0.0", - "safe-regex2": "^3.1.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/find-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", - "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", - "dependencies": { - "locate-path": "^7.2.0", - "path-exists": "^5.0.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/find-up-simple": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", - "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/find-up/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/flush-write-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-2.0.0.tgz", - "integrity": "sha512-uXClqPxT4xW0lcdSBheb2ObVU+kuqUk3Jk64EwieirEXZx9XUrVwp/JuBfKAWaM4T5Td/VL7QLDWPXp/MvGm/g==", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "node_modules/netlify-cli/node_modules/fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - }, - "node_modules/netlify-cli/node_modules/folder-walker": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/folder-walker/-/folder-walker-3.2.0.tgz", - "integrity": "sha512-VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==", - "dependencies": { - "from2": "^2.1.0" - } - }, - "node_modules/netlify-cli/node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/form-data-encoder": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.3.tgz", - "integrity": "sha512-KqU0nnPMgIJcCOFTNJFEA8epcseEaoox4XZffTgy8jlI6pL/5EFyR54NRG7CnCJN0biY7q52DO3MH6/sJ/TKlQ==", - "engines": { - "node": ">= 14.17" - } - }, - "node_modules/netlify-cli/node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/from2-array": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", - "integrity": "sha512-0G0cAp7sYLobH7ALsr835x98PU/YeVF7wlwxdWbCUaea7wsa7lJfKZUAo6p2YZGZ8F94luCuqHZS3JtFER6uPg==", - "dependencies": { - "from2": "^2.0.3" - } - }, - "node_modules/netlify-cli/node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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" - } - }, - "node_modules/netlify-cli/node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/netlify-cli/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/netlify-cli/node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/netlify-cli/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/fuzzy": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", - "integrity": "sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/netlify-cli/node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/get-amd-module-type": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-5.0.1.tgz", - "integrity": "sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==", - "dependencies": { - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/netlify-cli/node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/get-package-name": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/get-package-name/-/get-package-name-2.2.0.tgz", - "integrity": "sha512-LmCKVxioe63Fy6KDAQ/mmCSOSSRUE/x4zdrMD+7dU8quF3bGpzvP8mOmq4Dgce3nzU9AgkVDotucNOOg7c27BQ==", - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/netlify-cli/node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/get-port-please": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", - "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==" - }, - "node_modules/netlify-cli/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/gh-release-fetch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gh-release-fetch/-/gh-release-fetch-4.0.3.tgz", - "integrity": "sha512-TOiP1nwLsH5shG85Yt6v6Kjq5JU/44jXyEpbcfPgmj3C829yeXIlx9nAEwQRaxtRF3SJinn2lz7XUkfG9W/U4g==", - "dependencies": { - "@xhmikosr/downloader": "^13.0.0", - "node-fetch": "^3.3.1", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.18.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/git-repo-info": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.1.1.tgz", - "integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==", - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/netlify-cli/node_modules/gitconfiglocal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-2.1.0.tgz", - "integrity": "sha512-qoerOEliJn3z+Zyn1HW2F6eoYJqKwS6MgC9cztTLUB/xLWX8gD/6T60pKn4+t/d6tP7JlybI7Z3z+I572CR/Vg==", - "dependencies": { - "ini": "^1.3.2" - } - }, - "node_modules/netlify-cli/node_modules/gitconfiglocal/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/netlify-cli/node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "node_modules/netlify-cli/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/netlify-cli/node_modules/global-cache-dir": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global-cache-dir/-/global-cache-dir-4.4.0.tgz", - "integrity": "sha512-bk0gI6IbbphRjAaCJJn5H+T/CcEck5B3a5KBO2BXSDzjFSV+API17w8GA7YPJ6IXJiasW8M0VsEIig1PCHdfOQ==", - "dependencies": { - "cachedir": "^2.3.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/global-cache-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/global-directory": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", - "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", - "dependencies": { - "ini": "4.1.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/global-directory/node_modules/ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", - "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "gonzales": "bin/gonzales.js" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/netlify-cli/node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/netlify-cli/node_modules/h3": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.10.1.tgz", - "integrity": "sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==", - "dependencies": { - "cookie-es": "^1.0.0", - "defu": "^6.1.4", - "destr": "^2.0.2", - "iron-webcrypto": "^1.0.0", - "ohash": "^1.1.3", - "radix3": "^1.1.0", - "ufo": "^1.3.2", - "uncrypto": "^0.1.3", - "unenv": "^1.9.0" - } - }, - "node_modules/netlify-cli/node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/netlify-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/has-own-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", - "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "node_modules/netlify-cli/node_modules/hasbin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/hasbin/-/hasbin-1.2.3.tgz", - "integrity": "sha512-CCd8e/w2w28G8DyZvKgiHnQJ/5XXDz6qiUHnthvtag/6T5acUeN5lqq+HMoBqcmgWueWDhiCplrw0Kb1zDACRg==", - "dependencies": { - "async": "~1.5" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/netlify-cli/node_modules/hasbin/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - }, - "node_modules/netlify-cli/node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/hasha/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/hasha/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/netlify-cli/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/hot-shots": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.2.1.tgz", - "integrity": "sha512-tmjcyZkG/qADhcdC7UjAp8D7v7W2DOYFgaZ48fYMuayMQmVVUg8fntKmrjes/b40ef6yZ+qt1lB8kuEDfLC4zw==", - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "unix-dgram": "2.x" - } - }, - "node_modules/netlify-cli/node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/netlify-cli/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/http-errors/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/http-shutdown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", - "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/netlify-cli/node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/netlify-cli/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/https-proxy-agent/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/netlify-cli/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/netlify-cli/node_modules/image-meta": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.2.0.tgz", - "integrity": "sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==" - }, - "node_modules/netlify-cli/node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/netlify-cli/node_modules/index-to-position": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", - "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/netlify-cli/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/netlify-cli/node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "license": "MIT", - "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", - "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "figures": "^3.2.0", - "run-async": "^2.4.0", - "rxjs": "^6.6.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "inquirer": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "license": "MIT", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/inspect-with-kind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.5.tgz", - "integrity": "sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==", - "dependencies": { - "kind-of": "^6.0.2" - } - }, - "node_modules/netlify-cli/node_modules/ioredis": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", - "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", - "dependencies": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" - } - }, - "node_modules/netlify-cli/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/netlify-cli/node_modules/ipx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipx/-/ipx-2.1.0.tgz", - "integrity": "sha512-AVnPGXJ8L41vjd11Z4akIF2yd14636Klxul3tBySxHA6PKfCOQPxBDkCFK5zcWh0z/keR6toh1eg8qzdBVUgdA==", - "dependencies": { - "@fastify/accept-negotiator": "^1.1.0", - "citty": "^0.1.5", - "consola": "^3.2.3", - "defu": "^6.1.4", - "destr": "^2.0.2", - "etag": "^1.8.1", - "h3": "^1.10.0", - "image-meta": "^0.2.0", - "listhen": "^1.5.6", - "ofetch": "^1.3.3", - "pathe": "^1.1.2", - "sharp": "^0.32.6", - "svgo": "^3.2.0", - "ufo": "^1.3.2", - "unstorage": "^1.10.1", - "xss": "^1.0.14" - }, - "bin": { - "ipx": "bin/ipx.mjs" - } - }, - "node_modules/netlify-cli/node_modules/ipx/node_modules/@netlify/blobs": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-6.5.0.tgz", - "integrity": "sha512-wRFlNnL/Qv3WNLZd3OT/YYqF1zb6iPSo8T31sl9ccL1ahBxW1fBqKgF4b1XL7Z+6mRIkatvcsVPkWBcO+oJMNA==", - "optional": true, - "peer": true, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/ipx/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/netlify-cli/node_modules/ipx/node_modules/unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", - "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", - "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", - "ofetch": "^1.3.3", - "ufo": "^1.3.1" - }, - "peerDependencies": { - "@azure/app-configuration": "^1.4.1", - "@azure/cosmos": "^4.0.0", - "@azure/data-tables": "^13.2.2", - "@azure/identity": "^3.3.2", - "@azure/keyvault-secrets": "^4.7.0", - "@azure/storage-blob": "^12.16.0", - "@capacitor/preferences": "^5.0.6", - "@netlify/blobs": "^6.2.0", - "@planetscale/database": "^1.11.0", - "@upstash/redis": "^1.23.4", - "@vercel/kv": "^0.2.3", - "idb-keyval": "^6.2.1" - }, - "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { - "optional": true - }, - "@azure/keyvault-secrets": { - "optional": true - }, - "@azure/storage-blob": { - "optional": true - }, - "@capacitor/preferences": { - "optional": true - }, - "@netlify/blobs": { - "optional": true - }, - "@planetscale/database": { - "optional": true - }, - "@upstash/redis": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "idb-keyval": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/iron-webcrypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz", - "integrity": "sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==", - "funding": { - "url": "https://github.com/sponsors/brc-dd" - } - }, - "node_modules/netlify-cli/node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/netlify-cli/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/is-builtin-module": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", - "dependencies": { - "builtin-modules": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/is-in-ci": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-in-ci/-/is-in-ci-1.0.0.tgz", - "integrity": "sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==", - "bin": { - "is-in-ci": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-installed-globally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", - "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", - "dependencies": { - "global-directory": "^4.0.1", - "is-path-inside": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/netlify-cli/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/netlify-cli/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/netlify-cli/node_modules/is-url-superb": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz", - "integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/is64bit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", - "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", - "dependencies": { - "system-architecture": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/netlify-cli/node_modules/iserror": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", - "integrity": "sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==" - }, - "node_modules/netlify-cli/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "engines": { - "node": ">=16" - } - }, - "node_modules/netlify-cli/node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/netlify-cli/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/netlify-cli/node_modules/js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/netlify-cli/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/netlify-cli/node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "node_modules/netlify-cli/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/netlify-cli/node_modules/json-schema-ref-resolver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", - "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - } - }, - "node_modules/netlify-cli/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true - }, - "node_modules/netlify-cli/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, - "node_modules/netlify-cli/node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/junk": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz", - "integrity": "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/netlify-cli/node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/netlify-cli/node_modules/jwt-decode": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", - "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/keep-func-props": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/keep-func-props/-/keep-func-props-4.0.1.tgz", - "integrity": "sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/netlify-cli/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - }, - "node_modules/netlify-cli/node_modules/ky": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-1.7.2.tgz", - "integrity": "sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sindresorhus/ky?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/lambda-local": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/lambda-local/-/lambda-local-2.2.0.tgz", - "integrity": "sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg==", - "dependencies": { - "commander": "^10.0.1", - "dotenv": "^16.3.1", - "winston": "^3.10.0" - }, - "bin": { - "lambda-local": "build/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/latest-version": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", - "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", - "dependencies": { - "package-json": "^10.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/netlify-cli/node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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" - } - }, - "node_modules/netlify-cli/node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/light-my-request": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz", - "integrity": "sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==", - "dependencies": { - "cookie": "^0.7.0", - "process-warning": "^3.0.0", - "set-cookie-parser": "^2.4.1" - } - }, - "node_modules/netlify-cli/node_modules/light-my-request/node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" - }, - "node_modules/netlify-cli/node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/netlify-cli/node_modules/listhen": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.6.0.tgz", - "integrity": "sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==", - "dependencies": { - "@parcel/watcher": "^2.4.0", - "@parcel/watcher-wasm": "2.4.0", - "citty": "^0.1.5", - "clipboardy": "^4.0.0", - "consola": "^3.2.3", - "crossws": "^0.1.0", - "defu": "^6.1.4", - "get-port-please": "^3.1.2", - "h3": "^1.10.1", - "http-shutdown": "^1.2.2", - "jiti": "^1.21.0", - "mlly": "^1.5.0", - "node-forge": "^1.3.1", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "ufo": "^1.3.2", - "untun": "^0.1.3", - "uqr": "^0.1.2" - }, - "bin": { - "listen": "bin/listhen.mjs", - "listhen": "bin/listhen.mjs" - } - }, - "node_modules/netlify-cli/node_modules/listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/locate-path/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/locate-path/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/locate-path/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/netlify-cli/node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/netlify-cli/node_modules/lodash.deburr": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", - "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=" - }, - "node_modules/netlify-cli/node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "node_modules/netlify-cli/node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" - }, - "node_modules/netlify-cli/node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" - }, - "node_modules/netlify-cli/node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" - }, - "node_modules/netlify-cli/node_modules/lodash.isempty": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", - "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" - }, - "node_modules/netlify-cli/node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" - }, - "node_modules/netlify-cli/node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" - }, - "node_modules/netlify-cli/node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "node_modules/netlify-cli/node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - }, - "node_modules/netlify-cli/node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" - }, - "node_modules/netlify-cli/node_modules/lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=" - }, - "node_modules/netlify-cli/node_modules/log-process-errors": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/log-process-errors/-/log-process-errors-8.0.0.tgz", - "integrity": "sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==", - "dependencies": { - "colors-option": "^3.0.0", - "figures": "^4.0.0", - "filter-obj": "^3.0.0", - "jest-validate": "^27.4.2", - "map-obj": "^5.0.0", - "moize": "^6.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/figures": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-4.0.1.tgz", - "integrity": "sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/filter-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-3.0.0.tgz", - "integrity": "sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-symbols": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", - "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", - "dependencies": { - "chalk": "^5.3.0", - "is-unicode-supported": "^1.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", - "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "dependencies": { - "restore-cursor": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dependencies": { - "get-east-asian-width": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/logform": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz", - "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==", - "dependencies": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - } - }, - "node_modules/netlify-cli/node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/luxon": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", - "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/macos-release": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.0.1.tgz", - "integrity": "sha512-3l6OrhdDg2H2SigtuN3jBh+5dRJRWxNKuJTPBbGeNJTsmt/pj9PO25wYaNb05NuNmAsl435j4rDP6rgNXz7s7g==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/netlify-cli/node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/netlify-cli/node_modules/maxstache": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/maxstache/-/maxstache-1.0.7.tgz", - "integrity": "sha512-53ZBxHrZM+W//5AcRVewiLpDunHnucfdzZUGz54Fnvo4tE+J3p8EL66kBrs2UhBXvYKTWckWYYWBqJqoTcenqg==" - }, - "node_modules/netlify-cli/node_modules/maxstache-stream": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/maxstache-stream/-/maxstache-stream-1.0.4.tgz", - "integrity": "sha512-v8qlfPN0pSp7bdSoLo1NTjG43GXGqk5W2NWFnOCq2GlmFFqebGzPCjLKSbShuqIOVorOtZSAy7O/S1OCCRONUw==", - "dependencies": { - "maxstache": "^1.0.0", - "pump": "^1.0.0", - "split2": "^1.0.0", - "through2": "^2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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" - } - }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/split2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-1.1.1.tgz", - "integrity": "sha512-cfurE2q8LamExY+lJ9Ex3ZfBwqAPduzOKVscPDXNCLLMvyaeD3DTz1yk7fVIs6Chco+12XeD0BB6HEoYzPYbXA==", - "dependencies": { - "through2": "~2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/netlify-cli/node_modules/md5-hex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", - "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", - "dependencies": { - "blueimp-md5": "^2.10.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" - }, - "node_modules/netlify-cli/node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" - }, - "node_modules/netlify-cli/node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "dependencies": { - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/merge-options/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/netlify-cli/node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/micro-api-client": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/micro-api-client/-/micro-api-client-3.3.0.tgz", - "integrity": "sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==" - }, - "node_modules/netlify-cli/node_modules/micro-memoize": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.0.11.tgz", - "integrity": "sha512-CjxsaYe4j43df32DtzzNCwanPqZjZDwuQAZilsCYpa2ZVtSPDjHXbTlR4gsEZRyO9/twHs0b7HLjvy/sowl7sA==" - }, - "node_modules/netlify-cli/node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/netlify-cli/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dependencies": { - "mime-db": "1.51.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/netlify-cli/node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/netlify-cli/node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/netlify-cli/node_modules/mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", - "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" - } - }, - "node_modules/netlify-cli/node_modules/module-definition": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-5.0.1.tgz", - "integrity": "sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==", - "dependencies": { - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.1" - }, - "bin": { - "module-definition": "bin/cli.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/moize": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/moize/-/moize-6.1.3.tgz", - "integrity": "sha512-Cn+1T5Ypieeo46fn8X98V2gHj2VSRohVPjvT8BRvNANJJC3UOeege/G84xA/3S9c5qA4p9jOdSB1jfhumwe8qw==", - "dependencies": { - "fast-equals": "^3.0.1", - "micro-memoize": "^4.0.11" - } - }, - "node_modules/netlify-cli/node_modules/move-file": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-3.0.0.tgz", - "integrity": "sha512-v6u4XjX3MFW6Jo1V/YfbhC7eiGSgvYPJ/NM+aGtTtB9/Y6IYj7YViaHu6dkgDsZFB7MbnAoSI5+Z26XZXnP0vg==", - "dependencies": { - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/move-file/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/netlify-cli/node_modules/multiparty": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.2.3.tgz", - "integrity": "sha512-Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==", - "dependencies": { - "http-errors": "~1.8.1", - "safe-buffer": "5.2.1", - "uid-safe": "2.1.5" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/netlify-cli/node_modules/multiparty/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", - "license": "ISC" - }, - "node_modules/netlify-cli/node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "optional": true - }, - "node_modules/netlify-cli/node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/netlify-cli/node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node_modules/netlify-cli/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/nested-error-stacks": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", - "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==" - }, - "node_modules/netlify-cli/node_modules/netlify": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.2.0.tgz", - "integrity": "sha512-kOBfGlg3EMCjMLIBYjg0geMZaqzL75gg3bAuarjtj+/66zxbhh5qF6ZNQs+Tcq2MT3oJXG3ENKVNdnuvD1i5ag==", - "dependencies": { - "@netlify/open-api": "^2.35.0", - "lodash-es": "^4.17.21", - "micro-api-client": "^3.3.0", - "node-fetch": "^3.0.0", - "omit.js": "^2.0.2", - "p-wait-for": "^4.0.0", - "qs": "^6.9.6" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/netlify-redirector": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/netlify-redirector/-/netlify-redirector-0.5.0.tgz", - "integrity": "sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w==" - }, - "node_modules/netlify-cli/node_modules/netlify/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/netlify/node_modules/p-wait-for": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-4.1.0.tgz", - "integrity": "sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==", - "dependencies": { - "p-timeout": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/node-addon-api": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", - "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", - "engines": { - "node": "^16 || ^18 || >= 20" - } - }, - "node_modules/netlify-cli/node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/netlify-cli/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, - "node_modules/netlify-cli/node_modules/node-fetch-native": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", - "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==" - }, - "node_modules/netlify-cli/node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/netlify-cli/node_modules/node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/netlify-cli/node_modules/node-source-walk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-6.0.2.tgz", - "integrity": "sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==", - "dependencies": { - "@babel/parser": "^7.21.8" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "engines": { - "node": ">=0.12.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" - } - }, - "node_modules/netlify-cli/node_modules/node-version-alias": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/node-version-alias/-/node-version-alias-3.4.1.tgz", - "integrity": "sha512-Kf3L9spAL6lEHMPyqpwHSTNG3LPkOXBfSUnBMG/YE2TdoC8Qoqf0+qg01nr6K9MFQEcXtWUyTQzLJByRixSBsA==", - "dependencies": { - "all-node-versions": "^11.3.0", - "filter-obj": "^5.1.0", - "is-plain-obj": "^4.1.0", - "normalize-node-version": "^12.4.0", - "path-exists": "^5.0.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/node-version-alias/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/normalize-node-version": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/normalize-node-version/-/normalize-node-version-12.4.0.tgz", - "integrity": "sha512-0oLZN5xcyKVrSHMk8/9RuNblEe7HEsXAt5Te2xmMiZD9VX7bqWYe0HMyfqSYFD3xv0949lZuXaEwjTqle1uWWQ==", - "dependencies": { - "all-node-versions": "^11.3.0", - "filter-obj": "^5.1.0", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/normalize-url": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/npm-run-path/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/ofetch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", - "dependencies": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" - } - }, - "node_modules/netlify-cli/node_modules/ohash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==" - }, - "node_modules/netlify-cli/node_modules/omit.js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", - "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" - }, - "node_modules/netlify-cli/node_modules/on-exit-leak-free": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/netlify-cli/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/netlify-cli/node_modules/one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "dependencies": { - "fn.name": "1.x.x" - } - }, - "node_modules/netlify-cli/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/onetime/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/open/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/open/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/ora": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.1.tgz", - "integrity": "sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==", - "dependencies": { - "chalk": "^5.3.0", - "cli-cursor": "^5.0.0", - "cli-spinners": "^2.9.2", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^2.0.0", - "log-symbols": "^6.0.0", - "stdin-discarder": "^0.2.2", - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "dependencies": { - "restore-cursor": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/os-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-5.0.1.tgz", - "integrity": "sha512-0EQpaHUHq7olp2/YFUr+0vZi9tMpDTblHGz+Ch5RntKxiRXOAY0JOz1UlxhSjMSksHvkm13eD6elJj3M8Ht/kw==", - "dependencies": { - "macos-release": "^3.0.1", - "windows-release": "^5.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/netlify-cli/node_modules/p-event": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", - "integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", - "dependencies": { - "p-timeout": "^5.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/p-event/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/p-every": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-every/-/p-every-2.0.0.tgz", - "integrity": "sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==", - "dependencies": { - "p-map": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/p-every/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/p-filter": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", - "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", - "dependencies": { - "p-map": "^7.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/p-map": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", - "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/p-reduce": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", - "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/p-retry": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-5.1.1.tgz", - "integrity": "sha512-i69WkEU5ZAL8mrmdmVviWwU+DN+IUF8f4sSJThoJ3z5A7Nn5iuO5ROX3Boye0u+uYQLOSfgFl7SuFZCjlAVbQA==", - "dependencies": { - "@types/retry": "0.12.1", - "retry": "^0.13.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/p-timeout": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.3.tgz", - "integrity": "sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/p-wait-for": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-5.0.2.tgz", - "integrity": "sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==", - "dependencies": { - "p-timeout": "^6.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/package-json": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", - "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", - "dependencies": { - "ky": "^1.2.0", - "registry-auth-token": "^5.0.2", - "registry-url": "^6.0.1", - "semver": "^7.6.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/netlify-cli/node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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" - } - }, - "node_modules/netlify-cli/node_modules/parse-github-url": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz", - "integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==", - "bin": { - "parse-github-url": "cli.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/netlify-cli/node_modules/parse-gitignore": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", - "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "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" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/parse-ms": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", - "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/netlify-cli/node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/netlify-cli/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - }, - "node_modules/netlify-cli/node_modules/peek-readable": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", - "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/netlify-cli/node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "node_modules/netlify-cli/node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" - }, - "node_modules/netlify-cli/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/netlify-cli/node_modules/pino": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-9.4.0.tgz", - "integrity": "sha512-nbkQb5+9YPhQRz/BeQmrWpEknAaqjpAqRK8NwJpmrX/JHu7JuZC5G1CeAwJDJfGes4h+YihC6in3Q2nGb+Y09w==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^1.2.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^4.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/netlify-cli/node_modules/pino-abstract-transport": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", - "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", - "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "node_modules/netlify-cli/node_modules/pino-abstract-transport/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/pino-abstract-transport/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/pino-abstract-transport/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/pino-abstract-transport/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/netlify-cli/node_modules/pino-abstract-transport/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/pino-std-serializers": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", - "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==" - }, - "node_modules/netlify-cli/node_modules/pino/node_modules/process-warning": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.0.tgz", - "integrity": "sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==" - }, - "node_modules/netlify-cli/node_modules/pino/node_modules/sonic-boom": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", - "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, - "node_modules/netlify-cli/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/netlify-cli/node_modules/postcss-values-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-6.0.2.tgz", - "integrity": "sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==", - "dependencies": { - "color-name": "^1.1.4", - "is-url-superb": "^4.0.0", - "quote-unquote": "^1.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "postcss": "^8.2.9" - } - }, - "node_modules/netlify-cli/node_modules/postcss-values-parser/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/prebuild-install/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/netlify-cli/node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/netlify-cli/node_modules/prebuild-install/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/precinct": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/precinct/-/precinct-11.0.5.tgz", - "integrity": "sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==", - "dependencies": { - "@dependents/detective-less": "^4.1.0", - "commander": "^10.0.1", - "detective-amd": "^5.0.2", - "detective-cjs": "^5.0.1", - "detective-es6": "^4.0.1", - "detective-postcss": "^6.1.3", - "detective-sass": "^5.0.3", - "detective-scss": "^4.0.3", - "detective-stylus": "^4.0.0", - "detective-typescript": "^11.1.0", - "module-definition": "^5.0.1", - "node-source-walk": "^6.0.2" - }, - "bin": { - "precinct": "bin/cli.js" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/pretty-ms": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", - "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", - "dependencies": { - "parse-ms": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/prettyjson": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.5.tgz", - "integrity": "sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==", - "dependencies": { - "colors": "1.4.0", - "minimist": "^1.2.0" - }, - "bin": { - "prettyjson": "bin/prettyjson" - } - }, - "node_modules/netlify-cli/node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/netlify-cli/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/netlify-cli/node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - }, - "node_modules/netlify-cli/node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/netlify-cli/node_modules/ps-list": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-8.1.0.tgz", - "integrity": "sha512-NoGBqJe7Ou3kfQxEvDzDyKGAyEgwIuD3YrfXinjcCmBRv0hTld0Xb71hrXvtsNPj7HSFATfemvzB8PPJtq6Yag==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/netlify-cli/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", - "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" - }, - "node_modules/netlify-cli/node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "node_modules/netlify-cli/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/quote-unquote": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/quote-unquote/-/quote-unquote-1.0.0.tgz", - "integrity": "sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==" - }, - "node_modules/netlify-cli/node_modules/radix3": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", - "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==" - }, - "node_modules/netlify-cli/node_modules/random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/raw-body/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/netlify-cli/node_modules/rc/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/netlify-cli/node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/netlify-cli/node_modules/read-package-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", - "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", - "dependencies": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/type-fest": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.12.0.tgz", - "integrity": "sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/netlify-cli/node_modules/readable-web-to-node-stream": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", - "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", - "dependencies": { - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/netlify-cli/node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/netlify-cli/node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/netlify-cli/node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/netlify-cli/node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "node_modules/netlify-cli/node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/netlify-cli/node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/require-package-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", - "integrity": "sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==" - }, - "node_modules/netlify-cli/node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "node_modules/netlify-cli/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - }, - "node_modules/netlify-cli/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "license": "MIT", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/restore-cursor/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/netlify-cli/node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" - }, - "node_modules/netlify-cli/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/rollup": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", - "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", - "optional": true, - "peer": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.22.4", - "@rollup/rollup-android-arm64": "4.22.4", - "@rollup/rollup-darwin-arm64": "4.22.4", - "@rollup/rollup-darwin-x64": "4.22.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", - "@rollup/rollup-linux-arm-musleabihf": "4.22.4", - "@rollup/rollup-linux-arm64-gnu": "4.22.4", - "@rollup/rollup-linux-arm64-musl": "4.22.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", - "@rollup/rollup-linux-riscv64-gnu": "4.22.4", - "@rollup/rollup-linux-s390x-gnu": "4.22.4", - "@rollup/rollup-linux-x64-gnu": "4.22.4", - "@rollup/rollup-linux-x64-musl": "4.22.4", - "@rollup/rollup-win32-arm64-msvc": "4.22.4", - "@rollup/rollup-win32-ia32-msvc": "4.22.4", - "@rollup/rollup-win32-x64-msvc": "4.22.4", - "fsevents": "~2.3.2" - } - }, - "node_modules/netlify-cli/node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/netlify-cli/node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/netlify-cli/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/netlify-cli/node_modules/safe-json-stringify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==" - }, - "node_modules/netlify-cli/node_modules/safe-regex2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz", - "integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==", - "dependencies": { - "ret": "~0.4.0" - } - }, - "node_modules/netlify-cli/node_modules/safe-regex2/node_modules/ret": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz", - "integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/netlify-cli/node_modules/secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" - }, - "node_modules/netlify-cli/node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/netlify-cli/node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/netlify-cli/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/netlify-cli/node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/netlify-cli/node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/send/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/netlify-cli/node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "node_modules/netlify-cli/node_modules/set-cookie-parser": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", - "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==" - }, - "node_modules/netlify-cli/node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "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" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/netlify-cli/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/netlify-cli/node_modules/sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", - "hasInstallScript": true, - "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" - }, - "node_modules/netlify-cli/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/netlify-cli/node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/netlify-cli/node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/netlify-cli/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/sort-keys/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/netlify-cli/node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/netlify-cli/node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/netlify-cli/node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/netlify-cli/node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - }, - "node_modules/netlify-cli/node_modules/stack-generator": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", - "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/netlify-cli/node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "engines": { - "node": "*" - } - }, - "node_modules/netlify-cli/node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/netlify-cli/node_modules/standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" - }, - "node_modules/netlify-cli/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - }, - "node_modules/netlify-cli/node_modules/stdin-discarder": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/streamx": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.0.tgz", - "integrity": "sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==", - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, - "node_modules/netlify-cli/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/netlify-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/strip-ansi-control-characters": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi-control-characters/-/strip-ansi-control-characters-2.0.0.tgz", - "integrity": "sha512-Q0/k5orrVGeaOlIOUn1gybGU0IcAbgHQT1faLo5hik4DqClKVSaka5xOhNNoRgtfztHVxCYxi7j71mrWom0bIw==" - }, - "node_modules/netlify-cli/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/strip-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-3.0.0.tgz", - "integrity": "sha512-I0sdgcFTfKQlUPZyAqPJmSG3HLO9rWDFnxonnIbskYNM3DwFOeTNB5KzVq3dA1GdRAc/25b5Y7UO2TQfKWw4aQ==", - "dependencies": { - "inspect-with-kind": "^1.0.5", - "is-plain-obj": "^1.1.0" - } - }, - "node_modules/netlify-cli/node_modules/strip-dirs/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/strtok3": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", - "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", - "dependencies": { - "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/netlify-cli/node_modules/stubborn-fs": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-1.2.5.tgz", - "integrity": "sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==" - }, - "node_modules/netlify-cli/node_modules/supports-color": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", - "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/svgo": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", - "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/netlify-cli/node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/netlify-cli/node_modules/system-architecture": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", - "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/tabtab": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-3.0.2.tgz", - "integrity": "sha512-jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==", - "dependencies": { - "debug": "^4.0.1", - "es6-promisify": "^6.0.0", - "inquirer": "^6.0.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "untildify": "^3.0.3" - } - }, - "node_modules/netlify-cli/node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", - "dependencies": { - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - } - }, - "node_modules/netlify-cli/node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, - "node_modules/netlify-cli/node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/temp-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", - "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/netlify-cli/node_modules/tempy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", - "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", - "dependencies": { - "is-stream": "^3.0.0", - "temp-dir": "^3.0.0", - "type-fest": "^2.12.2", - "unique-string": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/tempy/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/terminal-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", - "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", - "dependencies": { - "ansi-escapes": "^5.0.0", - "supports-hyperlinks": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", - "dependencies": { - "type-fest": "^1.0.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/terminal-link/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, - "node_modules/netlify-cli/node_modules/thread-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", - "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", - "dependencies": { - "real-require": "^0.2.0" - } - }, - "node_modules/netlify-cli/node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/netlify-cli/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/netlify-cli/node_modules/through2-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-4.0.0.tgz", - "integrity": "sha512-P8IpQL19bSdXqGLvLdbidYRxERXgHEXGcQofPxbLpPkqS1ieOrUrocdYRTNv8YwSukaDJWr71s6F2kZ3bvgEhA==", - "dependencies": { - "through2": "^4.0.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/netlify-cli/node_modules/through2-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/through2-map/-/through2-map-4.0.0.tgz", - "integrity": "sha512-+rpmDB5yckiBGEuqJSsWYWMs9e1zdksypDKvByysEyN+knhsPXV9Z6O2mA9meczIa6AON7bi2G3xWk5T8UG4zQ==", - "dependencies": { - "through2": "^4.0.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/netlify-cli/node_modules/time-zone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", - "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/netlify-cli/node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/netlify-cli/node_modules/tmp-promise/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/netlify-cli/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/netlify-cli/node_modules/toad-cache": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", - "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/netlify-cli/node_modules/token-types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", - "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", - "dependencies": { - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/netlify-cli/node_modules/toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" - }, - "node_modules/netlify-cli/node_modules/tomlify-j0.4": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz", - "integrity": "sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==" - }, - "node_modules/netlify-cli/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/netlify-cli/node_modules/triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" - }, - "node_modules/netlify-cli/node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/netlify-cli/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/netlify-cli/node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/netlify-cli/node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/netlify-cli/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/netlify-cli/node_modules/ufo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", - "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - }, - "node_modules/netlify-cli/node_modules/uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", - "dependencies": { - "random-bytes": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", - "bin": { - "ulid": "bin/cli.js" - } - }, - "node_modules/netlify-cli/node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/netlify-cli/node_modules/uncrypto": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==" - }, - "node_modules/netlify-cli/node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" - }, - "node_modules/netlify-cli/node_modules/unenv": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.9.0.tgz", - "integrity": "sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==", - "dependencies": { - "consola": "^3.2.3", - "defu": "^6.1.3", - "mime": "^3.0.0", - "node-fetch-native": "^1.6.1", - "pathe": "^1.1.1" - } - }, - "node_modules/netlify-cli/node_modules/unenv/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/netlify-cli/node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" - }, - "node_modules/netlify-cli/node_modules/unix-dgram": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.6.tgz", - "integrity": "sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.16.0" - }, - "engines": { - "node": ">=0.10.48" - } - }, - "node_modules/netlify-cli/node_modules/unixify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", - "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", - "dependencies": { - "normalize-path": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/unixify/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/untildify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", - "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/untun": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", - "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", - "dependencies": { - "citty": "^0.1.5", - "consola": "^3.2.3", - "pathe": "^1.1.1" - }, - "bin": { - "untun": "bin/untun.mjs" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-7.3.1.tgz", - "integrity": "sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==", - "dependencies": { - "boxen": "^8.0.1", - "chalk": "^5.3.0", - "configstore": "^7.0.0", - "is-in-ci": "^1.0.0", - "is-installed-globally": "^1.0.0", - "is-npm": "^6.0.0", - "latest-version": "^9.0.0", - "pupa": "^3.1.0", - "semver": "^7.6.3", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/configstore": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-7.0.0.tgz", - "integrity": "sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==", - "dependencies": { - "atomically": "^2.0.3", - "dot-prop": "^9.0.0", - "graceful-fs": "^4.2.11", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", - "dependencies": { - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/uqr": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", - "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==" - }, - "node_modules/netlify-cli/node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/netlify-cli/node_modules/urlpattern-polyfill": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", - "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" - }, - "node_modules/netlify-cli/node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/netlify-cli/node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/netlify-cli/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/netlify-cli/node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - }, - "node_modules/netlify-cli/node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/netlify-cli/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/wait-port": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-1.1.0.tgz", - "integrity": "sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==", - "dependencies": { - "chalk": "^4.1.2", - "commander": "^9.3.0", - "debug": "^4.3.4" - }, - "bin": { - "wait-port": "bin/wait-port.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/web-streams-polyfill": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", - "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/well-known-symbols": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", - "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/netlify-cli/node_modules/whatwg-url/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/netlify-cli/node_modules/when-exit": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.3.tgz", - "integrity": "sha512-uVieSTccFIr/SFQdFWN/fFaQYmV37OKtuaGphMAzi4DmmUlrvRBJW5WSLkHyjNQY/ePJMz3LoiX9R3yy1Su6Hw==" - }, - "node_modules/netlify-cli/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/which/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/netlify-cli/node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/netlify-cli/node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/netlify-cli/node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/windows-release": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-5.0.1.tgz", - "integrity": "sha512-y1xFdFvdMiDXI3xiOhMbJwt1Y7dUxidha0CWPs1NgjZIjZANTcX7+7bMqNjuezhzb8s5JGEiBAbQjQQYYy7ulw==", - "dependencies": { - "execa": "^5.1.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/winston": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", - "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", - "dependencies": { - "@colors/colors": "^1.6.0", - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.7.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/netlify-cli/node_modules/winston-transport": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", - "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", - "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/netlify-cli/node_modules/winston/node_modules/@colors/colors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/netlify-cli/node_modules/winston/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/netlify-cli/node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/xss": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", - "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", - "dependencies": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "bin": { - "xss": "bin/xss" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/netlify-cli/node_modules/xss/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/netlify-cli/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/netlify-cli/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/netlify-cli/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/yargs/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/netlify-cli/node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/zip-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", - "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", - "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/netlify-cli/tools/lint-rules": { - "name": "eslint-plugin-workspace", - "extraneous": true - } - } -} diff --git a/tmd/areas/targets/prepare/prepare_cds/package.json b/tmd/areas/targets/prepare/prepare_cds/package.json deleted file mode 100644 index 4790c03d..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "netlify-cli": "^17.38.1" - } -} diff --git a/tmd/areas/targets/prepare/prepare_cds/prepare_cds.Rproj b/tmd/areas/targets/prepare/prepare_cds/prepare_cds.Rproj deleted file mode 100644 index 63da777f..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/prepare_cds.Rproj +++ /dev/null @@ -1,16 +0,0 @@ -Version: 1.0 - -RestoreWorkspace: No -SaveWorkspace: No -AlwaysSaveHistory: Default - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 2 -Encoding: UTF-8 - -RnwWeave: Sweave -LaTeX: pdfLaTeX - -MarkdownWrap: Column -MarkdownWrapAtColumn: 72 diff --git a/tmd/areas/targets/prepare/prepare_cds/renv.lock b/tmd/areas/targets/prepare/prepare_cds/renv.lock deleted file mode 100644 index 4ee3235b..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/renv.lock +++ /dev/null @@ -1,1991 +0,0 @@ -{ - "R": { - "Version": "4.4.2", - "Repositories": [ - { - "Name": "CRAN", - "URL": "https://cloud.r-project.org" - } - ] - }, - "Packages": { - "DBI": { - "Package": "DBI", - "Version": "1.2.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "065ae649b05f1ff66bb0c793107508f5" - }, - "DT": { - "Package": "DT", - "Version": "0.33", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "crosstalk", - "htmltools", - "htmlwidgets", - "httpuv", - "jquerylib", - "jsonlite", - "magrittr", - "promises" - ], - "Hash": "64ff3427f559ce3f2597a4fe13255cb6" - }, - "KernSmooth": { - "Package": "KernSmooth", - "Version": "2.23-24", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats" - ], - "Hash": "9f33a1ee37bbe8919eb2ec4b9f2473a5" - }, - "MASS": { - "Package": "MASS", - "Version": "7.3-61", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats", - "utils" - ], - "Hash": "0cafd6f0500e5deba33be22c46bf6055" - }, - "Matrix": { - "Package": "Matrix", - "Version": "1.7-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "grid", - "lattice", - "methods", - "stats", - "utils" - ], - "Hash": "5122bb14d8736372411f955e1b16bc8a" - }, - "R6": { - "Package": "R6", - "Version": "2.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "470851b6d5d0ac559e9d01bb352b4021" - }, - "RColorBrewer": { - "Package": "RColorBrewer", - "Version": "1.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "45f0398006e83a5b10b72a90663d8d8c" - }, - "Rcpp": { - "Package": "Rcpp", - "Version": "1.0.13-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "utils" - ], - "Hash": "6b868847b365672d6c1677b1608da9ed" - }, - "V8": { - "Package": "V8", - "Version": "6.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Rcpp", - "curl", - "jsonlite", - "utils" - ], - "Hash": "6603bfcbc7883a5fed41fb13042a3899" - }, - "askpass": { - "Package": "askpass", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "sys" - ], - "Hash": "c39f4155b3ceb1a9a2799d700fbd4b6a" - }, - "backports": { - "Package": "backports", - "Version": "1.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "e1e1b9d75c37401117b636b7ae50827a" - }, - "base64enc": { - "Package": "base64enc", - "Version": "0.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "543776ae6848fde2f48ff3816d0628bc" - }, - "bigD": { - "Package": "bigD", - "Version": "0.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "78dfe2b21e523358871eea1601b04b56" - }, - "bit": { - "Package": "bit", - "Version": "4.5.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "f89f074e0e49bf1dbe3eba0a15a91476" - }, - "bit64": { - "Package": "bit64", - "Version": "4.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit", - "methods", - "stats", - "utils" - ], - "Hash": "e84984bf5f12a18628d9a02322128dfd" - }, - "bitops": { - "Package": "bitops", - "Version": "1.0-9", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "d972ef991d58c19e6efa71b21f5e144b" - }, - "blob": { - "Package": "blob", - "Version": "1.2.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "rlang", - "vctrs" - ], - "Hash": "40415719b5a479b87949f3aa0aee737c" - }, - "broom": { - "Package": "broom", - "Version": "1.0.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "backports", - "dplyr", - "generics", - "glue", - "lifecycle", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyr" - ], - "Hash": "8fcc818f3b9887aebaf206f141437cc9" - }, - "bslib": { - "Package": "bslib", - "Version": "0.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "cachem", - "fastmap", - "grDevices", - "htmltools", - "jquerylib", - "jsonlite", - "lifecycle", - "memoise", - "mime", - "rlang", - "sass" - ], - "Hash": "b299c6741ca9746fb227debcb0f9fb6c" - }, - "cachem": { - "Package": "cachem", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "fastmap", - "rlang" - ], - "Hash": "cd9a672193789068eb5a2aad65a0dedf" - }, - "callr": { - "Package": "callr", - "Version": "3.7.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "processx", - "utils" - ], - "Hash": "d7e13f49c19103ece9e58ad2d83a7354" - }, - "cellranger": { - "Package": "cellranger", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "rematch", - "tibble" - ], - "Hash": "f61dbaec772ccd2e17705c1e872e9e7c" - }, - "class": { - "Package": "class", - "Version": "7.3-22", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "stats", - "utils" - ], - "Hash": "f91f6b29f38b8c280f2b9477787d4bb2" - }, - "classInt": { - "Package": "classInt", - "Version": "0.4-10", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "KernSmooth", - "R", - "class", - "e1071", - "grDevices", - "graphics", - "stats" - ], - "Hash": "f5a40793b1ae463a7ffb3902a95bf864" - }, - "cli": { - "Package": "cli", - "Version": "3.6.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "b21916dd77a27642b447374a5d30ecf3" - }, - "clipr": { - "Package": "clipr", - "Version": "0.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "3f038e5ac7f41d4ac41ce658c85e3042" - }, - "colorspace": { - "Package": "colorspace", - "Version": "2.1-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats" - ], - "Hash": "d954cb1c57e8d8b756165d7ba18aa55a" - }, - "commonmark": { - "Package": "commonmark", - "Version": "1.9.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "14eb0596f987c71535d07c3aff814742" - }, - "conflicted": { - "Package": "conflicted", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "memoise", - "rlang" - ], - "Hash": "bb097fccb22d156624fd07cd2894ddb6" - }, - "cpp11": { - "Package": "cpp11", - "Version": "0.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "9df43854f1c84685d095ed6270b52387" - }, - "crayon": { - "Package": "crayon", - "Version": "1.5.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "methods", - "utils" - ], - "Hash": "859d96e65ef198fd43e82b9628d593ef" - }, - "crosstalk": { - "Package": "crosstalk", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "htmltools", - "jsonlite", - "lazyeval" - ], - "Hash": "ab12c7b080a57475248a30f4db6298c0" - }, - "curl": { - "Package": "curl", - "Version": "6.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "e8ba62486230951fcd2b881c5be23f96" - }, - "data.table": { - "Package": "data.table", - "Version": "1.16.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "38bbf05fc2503143db4c734a7e5cab66" - }, - "dbplyr": { - "Package": "dbplyr", - "Version": "2.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "DBI", - "R", - "R6", - "blob", - "cli", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "utils", - "vctrs", - "withr" - ], - "Hash": "39b2e002522bfd258039ee4e889e0fd1" - }, - "digest": { - "Package": "digest", - "Version": "0.6.37", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "33698c4b3127fc9f506654607fb73676" - }, - "dplyr": { - "Package": "dplyr", - "Version": "1.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "cli", - "generics", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "rlang", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "fedd9d00c2944ff00a0e2696ccf048ec" - }, - "dtplyr": { - "Package": "dtplyr", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "data.table", - "dplyr", - "glue", - "lifecycle", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "54ed3ea01b11e81a86544faaecfef8e2" - }, - "e1071": { - "Package": "e1071", - "Version": "1.7-16", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "class", - "grDevices", - "graphics", - "methods", - "proxy", - "stats", - "utils" - ], - "Hash": "27a09ca40266a1066d62ef5402dd51d6" - }, - "evaluate": { - "Package": "evaluate", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "3fd29944b231036ad67c3edb32e02201" - }, - "fansi": { - "Package": "fansi", - "Version": "1.0.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "utils" - ], - "Hash": "962174cf2aeb5b9eea581522286a911f" - }, - "farver": { - "Package": "farver", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "680887028577f3fa2a81e410ed0d6e42" - }, - "fastmap": { - "Package": "fastmap", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "aa5e1cd11c2d15497494c5292d7ffcc8" - }, - "fontawesome": { - "Package": "fontawesome", - "Version": "0.5.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "htmltools", - "rlang" - ], - "Hash": "bd1297f9b5b1fc1372d19e2c4cd82215" - }, - "forcats": { - "Package": "forcats", - "Version": "1.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "tibble" - ], - "Hash": "1a0a9a3d5083d0d573c4214576f1e690" - }, - "fs": { - "Package": "fs", - "Version": "1.6.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "7f48af39fa27711ea5fbd183b399920d" - }, - "gargle": { - "Package": "gargle", - "Version": "1.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "fs", - "glue", - "httr", - "jsonlite", - "lifecycle", - "openssl", - "rappdirs", - "rlang", - "stats", - "utils", - "withr" - ], - "Hash": "fc0b272e5847c58cd5da9b20eedbd026" - }, - "generics": { - "Package": "generics", - "Version": "0.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "15e9634c0fcd294799e9b2e929ed1b86" - }, - "ggplot2": { - "Package": "ggplot2", - "Version": "3.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "cli", - "glue", - "grDevices", - "grid", - "gtable", - "isoband", - "lifecycle", - "mgcv", - "rlang", - "scales", - "stats", - "tibble", - "vctrs", - "withr" - ], - "Hash": "44c6a2f8202d5b7e878ea274b1092426" - }, - "glue": { - "Package": "glue", - "Version": "1.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "5899f1eaa825580172bb56c08266f37c" - }, - "googledrive": { - "Package": "googledrive", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "gargle", - "glue", - "httr", - "jsonlite", - "lifecycle", - "magrittr", - "pillar", - "purrr", - "rlang", - "tibble", - "utils", - "uuid", - "vctrs", - "withr" - ], - "Hash": "e99641edef03e2a5e87f0a0b1fcc97f4" - }, - "googlesheets4": { - "Package": "googlesheets4", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cli", - "curl", - "gargle", - "glue", - "googledrive", - "httr", - "ids", - "lifecycle", - "magrittr", - "methods", - "purrr", - "rematch2", - "rlang", - "tibble", - "utils", - "vctrs", - "withr" - ], - "Hash": "d6db1667059d027da730decdc214b959" - }, - "gt": { - "Package": "gt", - "Version": "0.11.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "bigD", - "bitops", - "cli", - "commonmark", - "dplyr", - "fs", - "glue", - "htmltools", - "htmlwidgets", - "juicyjuice", - "magrittr", - "markdown", - "reactable", - "rlang", - "sass", - "scales", - "tidyselect", - "vctrs", - "xml2" - ], - "Hash": "3170d1f0f45e531c241179ab57cd30bd" - }, - "gtable": { - "Package": "gtable", - "Version": "0.3.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "grid", - "lifecycle", - "rlang", - "stats" - ], - "Hash": "de949855009e2d4d0e52a844e30617ae" - }, - "haven": { - "Package": "haven", - "Version": "2.5.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "forcats", - "hms", - "lifecycle", - "methods", - "readr", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "9171f898db9d9c4c1b2c745adc2c1ef1" - }, - "here": { - "Package": "here", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "rprojroot" - ], - "Hash": "24b224366f9c2e7534d2344d10d59211" - }, - "highr": { - "Package": "highr", - "Version": "0.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "xfun" - ], - "Hash": "d65ba49117ca223614f71b60d85b8ab7" - }, - "hms": { - "Package": "hms", - "Version": "1.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "lifecycle", - "methods", - "pkgconfig", - "rlang", - "vctrs" - ], - "Hash": "b59377caa7ed00fa41808342002138f9" - }, - "htmltools": { - "Package": "htmltools", - "Version": "0.5.8.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "digest", - "fastmap", - "grDevices", - "rlang", - "utils" - ], - "Hash": "81d371a9cc60640e74e4ab6ac46dcedc" - }, - "htmlwidgets": { - "Package": "htmlwidgets", - "Version": "1.6.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "htmltools", - "jsonlite", - "knitr", - "rmarkdown", - "yaml" - ], - "Hash": "04291cc45198225444a397606810ac37" - }, - "httpuv": { - "Package": "httpuv", - "Version": "1.6.15", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "Rcpp", - "later", - "promises", - "utils" - ], - "Hash": "d55aa087c47a63ead0f6fc10f8fa1ee0" - }, - "httr": { - "Package": "httr", - "Version": "1.4.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "curl", - "jsonlite", - "mime", - "openssl" - ], - "Hash": "ac107251d9d9fd72f0ca8049988f1d7f" - }, - "ids": { - "Package": "ids", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "openssl", - "uuid" - ], - "Hash": "99df65cfef20e525ed38c3d2577f7190" - }, - "isoband": { - "Package": "isoband", - "Version": "0.2.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grid", - "utils" - ], - "Hash": "0080607b4a1a7b28979aecef976d8bc2" - }, - "janitor": { - "Package": "janitor", - "Version": "2.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "dplyr", - "hms", - "lifecycle", - "lubridate", - "magrittr", - "purrr", - "rlang", - "snakecase", - "stringi", - "stringr", - "tidyr", - "tidyselect" - ], - "Hash": "64f308bf1fbf5f856cdf4b4c7c0ce51b" - }, - "jquerylib": { - "Package": "jquerylib", - "Version": "0.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "htmltools" - ], - "Hash": "5aab57a3bd297eee1c1d862735972182" - }, - "jsonlite": { - "Package": "jsonlite", - "Version": "1.8.9", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods" - ], - "Hash": "4e993b65c2c3ffbffce7bb3e2c6f832b" - }, - "juicyjuice": { - "Package": "juicyjuice", - "Version": "0.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "V8" - ], - "Hash": "3bcd11943da509341838da9399e18bce" - }, - "knitr": { - "Package": "knitr", - "Version": "1.49", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "evaluate", - "highr", - "methods", - "tools", - "xfun", - "yaml" - ], - "Hash": "9fcb189926d93c636dea94fbe4f44480" - }, - "labeling": { - "Package": "labeling", - "Version": "0.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "graphics", - "stats" - ], - "Hash": "b64ec208ac5bc1852b285f665d6368b3" - }, - "later": { - "Package": "later", - "Version": "1.4.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Rcpp", - "rlang" - ], - "Hash": "501744395cac0bab0fbcfab9375ae92c" - }, - "lattice": { - "Package": "lattice", - "Version": "0.22-5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "grid", - "stats", - "utils" - ], - "Hash": "7c5e89f04e72d6611c77451f6331a091" - }, - "lazyeval": { - "Package": "lazyeval", - "Version": "0.2.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "d908914ae53b04d4c0c0fd72ecc35370" - }, - "lifecycle": { - "Package": "lifecycle", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "rlang" - ], - "Hash": "b8552d117e1b808b09a832f589b79035" - }, - "lubridate": { - "Package": "lubridate", - "Version": "1.9.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "generics", - "methods", - "timechange" - ], - "Hash": "be38bc740fc51783a78edb5a157e4104" - }, - "magrittr": { - "Package": "magrittr", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "7ce2733a9826b3aeb1775d56fd305472" - }, - "markdown": { - "Package": "markdown", - "Version": "1.13", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "commonmark", - "utils", - "xfun" - ], - "Hash": "074efab766a9d6360865ad39512f2a7e" - }, - "memoise": { - "Package": "memoise", - "Version": "2.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cachem", - "rlang" - ], - "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" - }, - "mgcv": { - "Package": "mgcv", - "Version": "1.9-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", - "graphics", - "methods", - "nlme", - "splines", - "stats", - "utils" - ], - "Hash": "110ee9d83b496279960e162ac97764ce" - }, - "mime": { - "Package": "mime", - "Version": "0.12", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tools" - ], - "Hash": "18e9c28c1d3ca1560ce30658b22ce104" - }, - "modelr": { - "Package": "modelr", - "Version": "0.1.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "magrittr", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "vctrs" - ], - "Hash": "4f50122dc256b1b6996a4703fecea821" - }, - "munsell": { - "Package": "munsell", - "Version": "0.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "colorspace", - "methods" - ], - "Hash": "4fd8900853b746af55b81fda99da7695" - }, - "nlme": { - "Package": "nlme", - "Version": "3.1-166", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "graphics", - "lattice", - "stats", - "utils" - ], - "Hash": "ccbb8846be320b627e6aa2b4616a2ded" - }, - "openssl": { - "Package": "openssl", - "Version": "2.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "askpass" - ], - "Hash": "5bfe2927efa9f87766ca9605301ea48f" - }, - "pillar": { - "Package": "pillar", - "Version": "1.10.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cli", - "glue", - "lifecycle", - "rlang", - "utf8", - "utils", - "vctrs" - ], - "Hash": "101ca350beea21261a15ba169d7a8513" - }, - "pkgconfig": { - "Package": "pkgconfig", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "01f28d4278f15c76cddbea05899c5d6f" - }, - "prettyunits": { - "Package": "prettyunits", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" - }, - "processx": { - "Package": "processx", - "Version": "3.8.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "ps", - "utils" - ], - "Hash": "0c90a7d71988856bad2a2a45dd871bb9" - }, - "progress": { - "Package": "progress", - "Version": "1.2.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "crayon", - "hms", - "prettyunits" - ], - "Hash": "f4625e061cb2865f111b47ff163a5ca6" - }, - "promises": { - "Package": "promises", - "Version": "1.3.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "Rcpp", - "fastmap", - "later", - "magrittr", - "rlang", - "stats" - ], - "Hash": "c84fd4f75ea1f5434735e08b7f50fbca" - }, - "proxy": { - "Package": "proxy", - "Version": "0.4-27", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", - "utils" - ], - "Hash": "e0ef355c12942cf7a6b91a6cfaea8b3e" - }, - "ps": { - "Package": "ps", - "Version": "1.8.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "b4404b1de13758dea1c0484ad0d48563" - }, - "purrr": { - "Package": "purrr", - "Version": "1.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "lifecycle", - "magrittr", - "rlang", - "vctrs" - ], - "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc" - }, - "ragg": { - "Package": "ragg", - "Version": "1.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "systemfonts", - "textshaping" - ], - "Hash": "0595fe5e47357111f29ad19101c7d271" - }, - "rappdirs": { - "Package": "rappdirs", - "Version": "0.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "5e3c5dc0b071b21fa128676560dbe94d" - }, - "reactR": { - "Package": "reactR", - "Version": "0.6.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "htmltools" - ], - "Hash": "b8e3d93f508045812f47136c7c44c251" - }, - "reactable": { - "Package": "reactable", - "Version": "0.4.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "digest", - "htmltools", - "htmlwidgets", - "jsonlite", - "reactR" - ], - "Hash": "6069eb2a6597963eae0605c1875ff14c" - }, - "readr": { - "Package": "readr", - "Version": "2.1.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "cli", - "clipr", - "cpp11", - "crayon", - "hms", - "lifecycle", - "methods", - "rlang", - "tibble", - "tzdb", - "utils", - "vroom" - ], - "Hash": "9de96463d2117f6ac49980577939dfb3" - }, - "readxl": { - "Package": "readxl", - "Version": "1.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cpp11", - "progress", - "tibble", - "utils" - ], - "Hash": "8cf9c239b96df1bbb133b74aef77ad0a" - }, - "rematch": { - "Package": "rematch", - "Version": "2.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "cbff1b666c6fa6d21202f07e2318d4f1" - }, - "rematch2": { - "Package": "rematch2", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tibble" - ], - "Hash": "76c9e04c712a05848ae7a23d2f170a40" - }, - "renv": { - "Package": "renv", - "Version": "1.0.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "47623f66b4e80b3b0587bc5d7b309888" - }, - "repr": { - "Package": "repr", - "Version": "1.1.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "grDevices", - "htmltools", - "jsonlite", - "pillar", - "utils" - ], - "Hash": "1393acc49816f4fe143d87fb33e75631" - }, - "reprex": { - "Package": "reprex", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "callr", - "cli", - "clipr", - "fs", - "glue", - "knitr", - "lifecycle", - "rlang", - "rmarkdown", - "rstudioapi", - "utils", - "withr" - ], - "Hash": "97b1d5361a24d9fb588db7afe3e5bcbf" - }, - "rlang": { - "Package": "rlang", - "Version": "1.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "3eec01f8b1dee337674b2e34ab1f9bc1" - }, - "rmarkdown": { - "Package": "rmarkdown", - "Version": "2.29", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bslib", - "evaluate", - "fontawesome", - "htmltools", - "jquerylib", - "jsonlite", - "knitr", - "methods", - "tinytex", - "tools", - "utils", - "xfun", - "yaml" - ], - "Hash": "df99277f63d01c34e95e3d2f06a79736" - }, - "rprojroot": { - "Package": "rprojroot", - "Version": "2.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "4c8415e0ec1e29f3f4f6fc108bef0144" - }, - "rstudioapi": { - "Package": "rstudioapi", - "Version": "0.17.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "5f90cd73946d706cfe26024294236113" - }, - "rvest": { - "Package": "rvest", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "httr", - "lifecycle", - "magrittr", - "rlang", - "selectr", - "tibble", - "xml2" - ], - "Hash": "0bcf0c6f274e90ea314b812a6d19a519" - }, - "s2": { - "Package": "s2", - "Version": "1.1.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp", - "wk" - ], - "Hash": "3c8013cdd7f1d20de5762e3f97e5e274" - }, - "sass": { - "Package": "sass", - "Version": "0.4.9", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "fs", - "htmltools", - "rappdirs", - "rlang" - ], - "Hash": "d53dbfddf695303ea4ad66f86e99b95d" - }, - "scales": { - "Package": "scales", - "Version": "1.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "RColorBrewer", - "cli", - "farver", - "glue", - "labeling", - "lifecycle", - "munsell", - "rlang", - "viridisLite" - ], - "Hash": "c19df082ba346b0ffa6f833e92de34d1" - }, - "selectr": { - "Package": "selectr", - "Version": "0.4-2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "methods", - "stringr" - ], - "Hash": "3838071b66e0c566d55cc26bd6e27bf4" - }, - "sf": { - "Package": "sf", - "Version": "1.0-19", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "DBI", - "R", - "Rcpp", - "classInt", - "grDevices", - "graphics", - "grid", - "magrittr", - "methods", - "s2", - "stats", - "tools", - "units", - "utils" - ], - "Hash": "fe02eec2f6b3ba0e24afe83d5ccfb528" - }, - "skimr": { - "Package": "skimr", - "Version": "2.1.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "dplyr", - "knitr", - "magrittr", - "pillar", - "purrr", - "repr", - "rlang", - "stats", - "stringr", - "tibble", - "tidyr", - "tidyselect", - "vctrs" - ], - "Hash": "8f138ff2c8fbea9e0a523f6c399c0386" - }, - "snakecase": { - "Package": "snakecase", - "Version": "0.11.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stringi", - "stringr" - ], - "Hash": "58767e44739b76965332e8a4fe3f91f1" - }, - "stringi": { - "Package": "stringi", - "Version": "1.8.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", - "tools", - "utils" - ], - "Hash": "39e1144fd75428983dc3f63aa53dfa91" - }, - "stringr": { - "Package": "stringr", - "Version": "1.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "stringi", - "vctrs" - ], - "Hash": "960e2ae9e09656611e0b8214ad543207" - }, - "sys": { - "Package": "sys", - "Version": "3.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "de342ebfebdbf40477d0758d05426646" - }, - "systemfonts": { - "Package": "systemfonts", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11", - "lifecycle" - ], - "Hash": "213b6b8ed5afbf934843e6c3b090d418" - }, - "textshaping": { - "Package": "textshaping", - "Version": "0.4.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11", - "lifecycle", - "systemfonts" - ], - "Hash": "573e0d015b7fc3e555f83e254cad7533" - }, - "tibble": { - "Package": "tibble", - "Version": "3.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "fansi", - "lifecycle", - "magrittr", - "methods", - "pillar", - "pkgconfig", - "rlang", - "utils", - "vctrs" - ], - "Hash": "a84e2cc86d07289b3b6f5069df7a004c" - }, - "tidycensus": { - "Package": "tidycensus", - "Version": "1.6.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "crayon", - "dplyr", - "httr", - "jsonlite", - "purrr", - "rappdirs", - "readr", - "rlang", - "rvest", - "sf", - "stringr", - "tidyr", - "tidyselect", - "tigris", - "units", - "utils", - "xml2" - ], - "Hash": "dc9899377067fb70fd35f5278946dde3" - }, - "tidyr": { - "Package": "tidyr", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "915fb7ce036c22a6a33b5a8adb712eb1" - }, - "tidyselect": { - "Package": "tidyselect", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang", - "vctrs", - "withr" - ], - "Hash": "829f27b9c4919c16b593794a6344d6c0" - }, - "tidyverse": { - "Package": "tidyverse", - "Version": "2.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "cli", - "conflicted", - "dbplyr", - "dplyr", - "dtplyr", - "forcats", - "ggplot2", - "googledrive", - "googlesheets4", - "haven", - "hms", - "httr", - "jsonlite", - "lubridate", - "magrittr", - "modelr", - "pillar", - "purrr", - "ragg", - "readr", - "readxl", - "reprex", - "rlang", - "rstudioapi", - "rvest", - "stringr", - "tibble", - "tidyr", - "xml2" - ], - "Hash": "c328568cd14ea89a83bd4ca7f54ae07e" - }, - "tigris": { - "Package": "tigris", - "Version": "2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "dplyr", - "httr", - "magrittr", - "methods", - "rappdirs", - "sf", - "stringr", - "utils", - "uuid" - ], - "Hash": "d750d0f06536d915f01d433254451204" - }, - "timechange": { - "Package": "timechange", - "Version": "0.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "c5f3c201b931cd6474d17d8700ccb1c8" - }, - "tinytex": { - "Package": "tinytex", - "Version": "0.54", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "xfun" - ], - "Hash": "3ec7e3ddcacc2d34a9046941222bf94d" - }, - "tzdb": { - "Package": "tzdb", - "Version": "0.4.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "f561504ec2897f4d46f0c7657e488ae1" - }, - "units": { - "Package": "units", - "Version": "0.8-5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp" - ], - "Hash": "119d19da480e873f72241ff6962ffd83" - }, - "utf8": { - "Package": "utf8", - "Version": "1.2.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "62b65c52671e6665f803ff02954446e9" - }, - "uuid": { - "Package": "uuid", - "Version": "1.2-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "34e965e62a41fcafb1ca60e9b142085b" - }, - "vctrs": { - "Package": "vctrs", - "Version": "0.6.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang" - ], - "Hash": "c03fa420630029418f7e6da3667aac4a" - }, - "viridisLite": { - "Package": "viridisLite", - "Version": "0.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c826c7c4241b6fc89ff55aaea3fa7491" - }, - "vroom": { - "Package": "vroom", - "Version": "1.6.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit64", - "cli", - "cpp11", - "crayon", - "glue", - "hms", - "lifecycle", - "methods", - "progress", - "rlang", - "stats", - "tibble", - "tidyselect", - "tzdb", - "vctrs", - "withr" - ], - "Hash": "390f9315bc0025be03012054103d227c" - }, - "withr": { - "Package": "withr", - "Version": "3.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics" - ], - "Hash": "cc2d62c76458d425210d1eb1478b30b4" - }, - "wk": { - "Package": "wk", - "Version": "0.9.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "37be35d733130f1de1ef51672cf7cdc0" - }, - "xfun": { - "Package": "xfun", - "Version": "0.49", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "stats", - "tools" - ], - "Hash": "8687398773806cfff9401a2feca96298" - }, - "xml2": { - "Package": "xml2", - "Version": "1.3.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "methods", - "rlang" - ], - "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61" - }, - "yaml": { - "Package": "yaml", - "Version": "2.3.10", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "51dab85c6c98e50a18d7551e9d49f76c" - } - } -} diff --git a/tmd/areas/targets/prepare/prepare_cds/renv/.gitignore b/tmd/areas/targets/prepare/prepare_cds/renv/.gitignore deleted file mode 100644 index 0ec0cbba..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/renv/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -library/ -local/ -cellar/ -lock/ -python/ -sandbox/ -staging/ diff --git a/tmd/areas/targets/prepare/prepare_cds/renv/activate.R b/tmd/areas/targets/prepare/prepare_cds/renv/activate.R deleted file mode 100644 index 0eb51088..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/renv/activate.R +++ /dev/null @@ -1,1305 +0,0 @@ - -local({ - - # the requested version of renv - version <- "1.0.11" - attr(version, "sha") <- NULL - - # the project directory - project <- Sys.getenv("RENV_PROJECT") - if (!nzchar(project)) - project <- getwd() - - # use start-up diagnostics if enabled - diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") - if (diagnostics) { - start <- Sys.time() - profile <- tempfile("renv-startup-", fileext = ".Rprof") - utils::Rprof(profile) - on.exit({ - utils::Rprof(NULL) - elapsed <- signif(difftime(Sys.time(), start, units = "auto"), digits = 2L) - writeLines(sprintf("- renv took %s to run the autoloader.", format(elapsed))) - writeLines(sprintf("- Profile: %s", profile)) - print(utils::summaryRprof(profile)) - }, add = TRUE) - } - - # figure out whether the autoloader is enabled - enabled <- local({ - - # first, check config option - override <- getOption("renv.config.autoloader.enabled") - if (!is.null(override)) - return(override) - - # if we're being run in a context where R_LIBS is already set, - # don't load -- presumably we're being run as a sub-process and - # the parent process has already set up library paths for us - rcmd <- Sys.getenv("R_CMD", unset = NA) - rlibs <- Sys.getenv("R_LIBS", unset = NA) - if (!is.na(rlibs) && !is.na(rcmd)) - return(FALSE) - - # next, check environment variables - # TODO: prefer using the configuration one in the future - envvars <- c( - "RENV_CONFIG_AUTOLOADER_ENABLED", - "RENV_AUTOLOADER_ENABLED", - "RENV_ACTIVATE_PROJECT" - ) - - for (envvar in envvars) { - envval <- Sys.getenv(envvar, unset = NA) - if (!is.na(envval)) - return(tolower(envval) %in% c("true", "t", "1")) - } - - # enable by default - TRUE - - }) - - # bail if we're not enabled - if (!enabled) { - - # if we're not enabled, we might still need to manually load - # the user profile here - profile <- Sys.getenv("R_PROFILE_USER", unset = "~/.Rprofile") - if (file.exists(profile)) { - cfg <- Sys.getenv("RENV_CONFIG_USER_PROFILE", unset = "TRUE") - if (tolower(cfg) %in% c("true", "t", "1")) - sys.source(profile, envir = globalenv()) - } - - return(FALSE) - - } - - # avoid recursion - if (identical(getOption("renv.autoloader.running"), TRUE)) { - warning("ignoring recursive attempt to run renv autoloader") - return(invisible(TRUE)) - } - - # signal that we're loading renv during R startup - options(renv.autoloader.running = TRUE) - on.exit(options(renv.autoloader.running = NULL), add = TRUE) - - # signal that we've consented to use renv - options(renv.consent = TRUE) - - # load the 'utils' package eagerly -- this ensures that renv shims, which - # mask 'utils' packages, will come first on the search path - library(utils, lib.loc = .Library) - - # unload renv if it's already been loaded - if ("renv" %in% loadedNamespaces()) - unloadNamespace("renv") - - # load bootstrap tools - ansify <- function(text) { - if (renv_ansify_enabled()) - renv_ansify_enhanced(text) - else - renv_ansify_default(text) - } - - renv_ansify_enabled <- function() { - - override <- Sys.getenv("RENV_ANSIFY_ENABLED", unset = NA) - if (!is.na(override)) - return(as.logical(override)) - - pane <- Sys.getenv("RSTUDIO_CHILD_PROCESS_PANE", unset = NA) - if (identical(pane, "build")) - return(FALSE) - - testthat <- Sys.getenv("TESTTHAT", unset = "false") - if (tolower(testthat) %in% "true") - return(FALSE) - - iderun <- Sys.getenv("R_CLI_HAS_HYPERLINK_IDE_RUN", unset = "false") - if (tolower(iderun) %in% "false") - return(FALSE) - - TRUE - - } - - renv_ansify_default <- function(text) { - text - } - - renv_ansify_enhanced <- function(text) { - - # R help links - pattern <- "`\\?(renv::(?:[^`])+)`" - replacement <- "`\033]8;;ide:help:\\1\a?\\1\033]8;;\a`" - text <- gsub(pattern, replacement, text, perl = TRUE) - - # runnable code - pattern <- "`(renv::(?:[^`])+)`" - replacement <- "`\033]8;;ide:run:\\1\a\\1\033]8;;\a`" - text <- gsub(pattern, replacement, text, perl = TRUE) - - # return ansified text - text - - } - - renv_ansify_init <- function() { - - envir <- renv_envir_self() - if (renv_ansify_enabled()) - assign("ansify", renv_ansify_enhanced, envir = envir) - else - assign("ansify", renv_ansify_default, envir = envir) - - } - - `%||%` <- function(x, y) { - if (is.null(x)) y else x - } - - catf <- function(fmt, ..., appendLF = TRUE) { - - quiet <- getOption("renv.bootstrap.quiet", default = FALSE) - if (quiet) - return(invisible()) - - msg <- sprintf(fmt, ...) - cat(msg, file = stdout(), sep = if (appendLF) "\n" else "") - - invisible(msg) - - } - - header <- function(label, - ..., - prefix = "#", - suffix = "-", - n = min(getOption("width"), 78)) - { - label <- sprintf(label, ...) - n <- max(n - nchar(label) - nchar(prefix) - 2L, 8L) - if (n <= 0) - return(paste(prefix, label)) - - tail <- paste(rep.int(suffix, n), collapse = "") - paste0(prefix, " ", label, " ", tail) - - } - - heredoc <- function(text, leave = 0) { - - # remove leading, trailing whitespace - trimmed <- gsub("^\\s*\\n|\\n\\s*$", "", text) - - # split into lines - lines <- strsplit(trimmed, "\n", fixed = TRUE)[[1L]] - - # compute common indent - indent <- regexpr("[^[:space:]]", lines) - common <- min(setdiff(indent, -1L)) - leave - text <- paste(substring(lines, common), collapse = "\n") - - # substitute in ANSI links for executable renv code - ansify(text) - - } - - startswith <- function(string, prefix) { - substring(string, 1, nchar(prefix)) == prefix - } - - bootstrap <- function(version, library) { - - friendly <- renv_bootstrap_version_friendly(version) - section <- header(sprintf("Bootstrapping renv %s", friendly)) - catf(section) - - # attempt to download renv - catf("- Downloading renv ... ", appendLF = FALSE) - withCallingHandlers( - tarball <- renv_bootstrap_download(version), - error = function(err) { - catf("FAILED") - stop("failed to download:\n", conditionMessage(err)) - } - ) - catf("OK") - on.exit(unlink(tarball), add = TRUE) - - # now attempt to install - catf("- Installing renv ... ", appendLF = FALSE) - withCallingHandlers( - status <- renv_bootstrap_install(version, tarball, library), - error = function(err) { - catf("FAILED") - stop("failed to install:\n", conditionMessage(err)) - } - ) - catf("OK") - - # add empty line to break up bootstrapping from normal output - catf("") - - return(invisible()) - } - - renv_bootstrap_tests_running <- function() { - getOption("renv.tests.running", default = FALSE) - } - - renv_bootstrap_repos <- function() { - - # get CRAN repository - cran <- getOption("renv.repos.cran", "https://cloud.r-project.org") - - # check for repos override - repos <- Sys.getenv("RENV_CONFIG_REPOS_OVERRIDE", unset = NA) - if (!is.na(repos)) { - - # check for RSPM; if set, use a fallback repository for renv - rspm <- Sys.getenv("RSPM", unset = NA) - if (identical(rspm, repos)) - repos <- c(RSPM = rspm, CRAN = cran) - - return(repos) - - } - - # check for lockfile repositories - repos <- tryCatch(renv_bootstrap_repos_lockfile(), error = identity) - if (!inherits(repos, "error") && length(repos)) - return(repos) - - # retrieve current repos - repos <- getOption("repos") - - # ensure @CRAN@ entries are resolved - repos[repos == "@CRAN@"] <- cran - - # add in renv.bootstrap.repos if set - default <- c(FALLBACK = "https://cloud.r-project.org") - extra <- getOption("renv.bootstrap.repos", default = default) - repos <- c(repos, extra) - - # remove duplicates that might've snuck in - dupes <- duplicated(repos) | duplicated(names(repos)) - repos[!dupes] - - } - - renv_bootstrap_repos_lockfile <- function() { - - lockpath <- Sys.getenv("RENV_PATHS_LOCKFILE", unset = "renv.lock") - if (!file.exists(lockpath)) - return(NULL) - - lockfile <- tryCatch(renv_json_read(lockpath), error = identity) - if (inherits(lockfile, "error")) { - warning(lockfile) - return(NULL) - } - - repos <- lockfile$R$Repositories - if (length(repos) == 0) - return(NULL) - - keys <- vapply(repos, `[[`, "Name", FUN.VALUE = character(1)) - vals <- vapply(repos, `[[`, "URL", FUN.VALUE = character(1)) - names(vals) <- keys - - return(vals) - - } - - renv_bootstrap_download <- function(version) { - - sha <- attr(version, "sha", exact = TRUE) - - methods <- if (!is.null(sha)) { - - # attempting to bootstrap a development version of renv - c( - function() renv_bootstrap_download_tarball(sha), - function() renv_bootstrap_download_github(sha) - ) - - } else { - - # attempting to bootstrap a release version of renv - c( - function() renv_bootstrap_download_tarball(version), - function() renv_bootstrap_download_cran_latest(version), - function() renv_bootstrap_download_cran_archive(version) - ) - - } - - for (method in methods) { - path <- tryCatch(method(), error = identity) - if (is.character(path) && file.exists(path)) - return(path) - } - - stop("All download methods failed") - - } - - renv_bootstrap_download_impl <- function(url, destfile) { - - mode <- "wb" - - # https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17715 - fixup <- - Sys.info()[["sysname"]] == "Windows" && - substring(url, 1L, 5L) == "file:" - - if (fixup) - mode <- "w+b" - - args <- list( - url = url, - destfile = destfile, - mode = mode, - quiet = TRUE - ) - - if ("headers" %in% names(formals(utils::download.file))) { - headers <- renv_bootstrap_download_custom_headers(url) - if (length(headers) && is.character(headers)) - args$headers <- headers - } - - do.call(utils::download.file, args) - - } - - renv_bootstrap_download_custom_headers <- function(url) { - - headers <- getOption("renv.download.headers") - if (is.null(headers)) - return(character()) - - if (!is.function(headers)) - stopf("'renv.download.headers' is not a function") - - headers <- headers(url) - if (length(headers) == 0L) - return(character()) - - if (is.list(headers)) - headers <- unlist(headers, recursive = FALSE, use.names = TRUE) - - ok <- - is.character(headers) && - is.character(names(headers)) && - all(nzchar(names(headers))) - - if (!ok) - stop("invocation of 'renv.download.headers' did not return a named character vector") - - headers - - } - - renv_bootstrap_download_cran_latest <- function(version) { - - spec <- renv_bootstrap_download_cran_latest_find(version) - type <- spec$type - repos <- spec$repos - - baseurl <- utils::contrib.url(repos = repos, type = type) - ext <- if (identical(type, "source")) - ".tar.gz" - else if (Sys.info()[["sysname"]] == "Windows") - ".zip" - else - ".tgz" - name <- sprintf("renv_%s%s", version, ext) - url <- paste(baseurl, name, sep = "/") - - destfile <- file.path(tempdir(), name) - status <- tryCatch( - renv_bootstrap_download_impl(url, destfile), - condition = identity - ) - - if (inherits(status, "condition")) - return(FALSE) - - # report success and return - destfile - - } - - renv_bootstrap_download_cran_latest_find <- function(version) { - - # check whether binaries are supported on this system - binary <- - getOption("renv.bootstrap.binary", default = TRUE) && - !identical(.Platform$pkgType, "source") && - !identical(getOption("pkgType"), "source") && - Sys.info()[["sysname"]] %in% c("Darwin", "Windows") - - types <- c(if (binary) "binary", "source") - - # iterate over types + repositories - for (type in types) { - for (repos in renv_bootstrap_repos()) { - - # build arguments for utils::available.packages() call - args <- list(type = type, repos = repos) - - # add custom headers if available -- note that - # utils::available.packages() will pass this to download.file() - if ("headers" %in% names(formals(utils::download.file))) { - headers <- renv_bootstrap_download_custom_headers(repos) - if (length(headers) && is.character(headers)) - args$headers <- headers - } - - # retrieve package database - db <- tryCatch( - as.data.frame( - do.call(utils::available.packages, args), - stringsAsFactors = FALSE - ), - error = identity - ) - - if (inherits(db, "error")) - next - - # check for compatible entry - entry <- db[db$Package %in% "renv" & db$Version %in% version, ] - if (nrow(entry) == 0) - next - - # found it; return spec to caller - spec <- list(entry = entry, type = type, repos = repos) - return(spec) - - } - } - - # if we got here, we failed to find renv - fmt <- "renv %s is not available from your declared package repositories" - stop(sprintf(fmt, version)) - - } - - renv_bootstrap_download_cran_archive <- function(version) { - - name <- sprintf("renv_%s.tar.gz", version) - repos <- renv_bootstrap_repos() - urls <- file.path(repos, "src/contrib/Archive/renv", name) - destfile <- file.path(tempdir(), name) - - for (url in urls) { - - status <- tryCatch( - renv_bootstrap_download_impl(url, destfile), - condition = identity - ) - - if (identical(status, 0L)) - return(destfile) - - } - - return(FALSE) - - } - - renv_bootstrap_download_tarball <- function(version) { - - # if the user has provided the path to a tarball via - # an environment variable, then use it - tarball <- Sys.getenv("RENV_BOOTSTRAP_TARBALL", unset = NA) - if (is.na(tarball)) - return() - - # allow directories - if (dir.exists(tarball)) { - name <- sprintf("renv_%s.tar.gz", version) - tarball <- file.path(tarball, name) - } - - # bail if it doesn't exist - if (!file.exists(tarball)) { - - # let the user know we weren't able to honour their request - fmt <- "- RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." - msg <- sprintf(fmt, tarball) - warning(msg) - - # bail - return() - - } - - catf("- Using local tarball '%s'.", tarball) - tarball - - } - - renv_bootstrap_github_token <- function() { - for (envvar in c("GITHUB_TOKEN", "GITHUB_PAT", "GH_TOKEN")) { - envval <- Sys.getenv(envvar, unset = NA) - if (!is.na(envval)) - return(envval) - } - } - - renv_bootstrap_download_github <- function(version) { - - enabled <- Sys.getenv("RENV_BOOTSTRAP_FROM_GITHUB", unset = "TRUE") - if (!identical(enabled, "TRUE")) - return(FALSE) - - # prepare download options - token <- renv_bootstrap_github_token() - if (nzchar(Sys.which("curl")) && nzchar(token)) { - fmt <- "--location --fail --header \"Authorization: token %s\"" - extra <- sprintf(fmt, token) - saved <- options("download.file.method", "download.file.extra") - options(download.file.method = "curl", download.file.extra = extra) - on.exit(do.call(base::options, saved), add = TRUE) - } else if (nzchar(Sys.which("wget")) && nzchar(token)) { - fmt <- "--header=\"Authorization: token %s\"" - extra <- sprintf(fmt, token) - saved <- options("download.file.method", "download.file.extra") - options(download.file.method = "wget", download.file.extra = extra) - on.exit(do.call(base::options, saved), add = TRUE) - } - - url <- file.path("https://api.github.com/repos/rstudio/renv/tarball", version) - name <- sprintf("renv_%s.tar.gz", version) - destfile <- file.path(tempdir(), name) - - status <- tryCatch( - renv_bootstrap_download_impl(url, destfile), - condition = identity - ) - - if (!identical(status, 0L)) - return(FALSE) - - renv_bootstrap_download_augment(destfile) - - return(destfile) - - } - - # Add Sha to DESCRIPTION. This is stop gap until #890, after which we - # can use renv::install() to fully capture metadata. - renv_bootstrap_download_augment <- function(destfile) { - sha <- renv_bootstrap_git_extract_sha1_tar(destfile) - if (is.null(sha)) { - return() - } - - # Untar - tempdir <- tempfile("renv-github-") - on.exit(unlink(tempdir, recursive = TRUE), add = TRUE) - untar(destfile, exdir = tempdir) - pkgdir <- dir(tempdir, full.names = TRUE)[[1]] - - # Modify description - desc_path <- file.path(pkgdir, "DESCRIPTION") - desc_lines <- readLines(desc_path) - remotes_fields <- c( - "RemoteType: github", - "RemoteHost: api.github.com", - "RemoteRepo: renv", - "RemoteUsername: rstudio", - "RemotePkgRef: rstudio/renv", - paste("RemoteRef: ", sha), - paste("RemoteSha: ", sha) - ) - writeLines(c(desc_lines[desc_lines != ""], remotes_fields), con = desc_path) - - # Re-tar - local({ - old <- setwd(tempdir) - on.exit(setwd(old), add = TRUE) - - tar(destfile, compression = "gzip") - }) - invisible() - } - - # Extract the commit hash from a git archive. Git archives include the SHA1 - # hash as the comment field of the tarball pax extended header - # (see https://www.kernel.org/pub/software/scm/git/docs/git-archive.html) - # For GitHub archives this should be the first header after the default one - # (512 byte) header. - renv_bootstrap_git_extract_sha1_tar <- function(bundle) { - - # open the bundle for reading - # We use gzcon for everything because (from ?gzcon) - # > Reading from a connection which does not supply a 'gzip' magic - # > header is equivalent to reading from the original connection - conn <- gzcon(file(bundle, open = "rb", raw = TRUE)) - on.exit(close(conn)) - - # The default pax header is 512 bytes long and the first pax extended header - # with the comment should be 51 bytes long - # `52 comment=` (11 chars) + 40 byte SHA1 hash - len <- 0x200 + 0x33 - res <- rawToChar(readBin(conn, "raw", n = len)[0x201:len]) - - if (grepl("^52 comment=", res)) { - sub("52 comment=", "", res) - } else { - NULL - } - } - - renv_bootstrap_install <- function(version, tarball, library) { - - # attempt to install it into project library - dir.create(library, showWarnings = FALSE, recursive = TRUE) - output <- renv_bootstrap_install_impl(library, tarball) - - # check for successful install - status <- attr(output, "status") - if (is.null(status) || identical(status, 0L)) - return(status) - - # an error occurred; report it - header <- "installation of renv failed" - lines <- paste(rep.int("=", nchar(header)), collapse = "") - text <- paste(c(header, lines, output), collapse = "\n") - stop(text) - - } - - renv_bootstrap_install_impl <- function(library, tarball) { - - # invoke using system2 so we can capture and report output - bin <- R.home("bin") - exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" - R <- file.path(bin, exe) - - args <- c( - "--vanilla", "CMD", "INSTALL", "--no-multiarch", - "-l", shQuote(path.expand(library)), - shQuote(path.expand(tarball)) - ) - - system2(R, args, stdout = TRUE, stderr = TRUE) - - } - - renv_bootstrap_platform_prefix <- function() { - - # construct version prefix - version <- paste(R.version$major, R.version$minor, sep = ".") - prefix <- paste("R", numeric_version(version)[1, 1:2], sep = "-") - - # include SVN revision for development versions of R - # (to avoid sharing platform-specific artefacts with released versions of R) - devel <- - identical(R.version[["status"]], "Under development (unstable)") || - identical(R.version[["nickname"]], "Unsuffered Consequences") - - if (devel) - prefix <- paste(prefix, R.version[["svn rev"]], sep = "-r") - - # build list of path components - components <- c(prefix, R.version$platform) - - # include prefix if provided by user - prefix <- renv_bootstrap_platform_prefix_impl() - if (!is.na(prefix) && nzchar(prefix)) - components <- c(prefix, components) - - # build prefix - paste(components, collapse = "/") - - } - - renv_bootstrap_platform_prefix_impl <- function() { - - # if an explicit prefix has been supplied, use it - prefix <- Sys.getenv("RENV_PATHS_PREFIX", unset = NA) - if (!is.na(prefix)) - return(prefix) - - # if the user has requested an automatic prefix, generate it - auto <- Sys.getenv("RENV_PATHS_PREFIX_AUTO", unset = NA) - if (is.na(auto) && getRversion() >= "4.4.0") - auto <- "TRUE" - - if (auto %in% c("TRUE", "True", "true", "1")) - return(renv_bootstrap_platform_prefix_auto()) - - # empty string on failure - "" - - } - - renv_bootstrap_platform_prefix_auto <- function() { - - prefix <- tryCatch(renv_bootstrap_platform_os(), error = identity) - if (inherits(prefix, "error") || prefix %in% "unknown") { - - msg <- paste( - "failed to infer current operating system", - "please file a bug report at https://github.com/rstudio/renv/issues", - sep = "; " - ) - - warning(msg) - - } - - prefix - - } - - renv_bootstrap_platform_os <- function() { - - sysinfo <- Sys.info() - sysname <- sysinfo[["sysname"]] - - # handle Windows + macOS up front - if (sysname == "Windows") - return("windows") - else if (sysname == "Darwin") - return("macos") - - # check for os-release files - for (file in c("/etc/os-release", "/usr/lib/os-release")) - if (file.exists(file)) - return(renv_bootstrap_platform_os_via_os_release(file, sysinfo)) - - # check for redhat-release files - if (file.exists("/etc/redhat-release")) - return(renv_bootstrap_platform_os_via_redhat_release()) - - "unknown" - - } - - renv_bootstrap_platform_os_via_os_release <- function(file, sysinfo) { - - # read /etc/os-release - release <- utils::read.table( - file = file, - sep = "=", - quote = c("\"", "'"), - col.names = c("Key", "Value"), - comment.char = "#", - stringsAsFactors = FALSE - ) - - vars <- as.list(release$Value) - names(vars) <- release$Key - - # get os name - os <- tolower(sysinfo[["sysname"]]) - - # read id - id <- "unknown" - for (field in c("ID", "ID_LIKE")) { - if (field %in% names(vars) && nzchar(vars[[field]])) { - id <- vars[[field]] - break - } - } - - # read version - version <- "unknown" - for (field in c("UBUNTU_CODENAME", "VERSION_CODENAME", "VERSION_ID", "BUILD_ID")) { - if (field %in% names(vars) && nzchar(vars[[field]])) { - version <- vars[[field]] - break - } - } - - # join together - paste(c(os, id, version), collapse = "-") - - } - - renv_bootstrap_platform_os_via_redhat_release <- function() { - - # read /etc/redhat-release - contents <- readLines("/etc/redhat-release", warn = FALSE) - - # infer id - id <- if (grepl("centos", contents, ignore.case = TRUE)) - "centos" - else if (grepl("redhat", contents, ignore.case = TRUE)) - "redhat" - else - "unknown" - - # try to find a version component (very hacky) - version <- "unknown" - - parts <- strsplit(contents, "[[:space:]]")[[1L]] - for (part in parts) { - - nv <- tryCatch(numeric_version(part), error = identity) - if (inherits(nv, "error")) - next - - version <- nv[1, 1] - break - - } - - paste(c("linux", id, version), collapse = "-") - - } - - renv_bootstrap_library_root_name <- function(project) { - - # use project name as-is if requested - asis <- Sys.getenv("RENV_PATHS_LIBRARY_ROOT_ASIS", unset = "FALSE") - if (asis) - return(basename(project)) - - # otherwise, disambiguate based on project's path - id <- substring(renv_bootstrap_hash_text(project), 1L, 8L) - paste(basename(project), id, sep = "-") - - } - - renv_bootstrap_library_root <- function(project) { - - prefix <- renv_bootstrap_profile_prefix() - - path <- Sys.getenv("RENV_PATHS_LIBRARY", unset = NA) - if (!is.na(path)) - return(paste(c(path, prefix), collapse = "/")) - - path <- renv_bootstrap_library_root_impl(project) - if (!is.null(path)) { - name <- renv_bootstrap_library_root_name(project) - return(paste(c(path, prefix, name), collapse = "/")) - } - - renv_bootstrap_paths_renv("library", project = project) - - } - - renv_bootstrap_library_root_impl <- function(project) { - - root <- Sys.getenv("RENV_PATHS_LIBRARY_ROOT", unset = NA) - if (!is.na(root)) - return(root) - - type <- renv_bootstrap_project_type(project) - if (identical(type, "package")) { - userdir <- renv_bootstrap_user_dir() - return(file.path(userdir, "library")) - } - - } - - renv_bootstrap_validate_version <- function(version, description = NULL) { - - # resolve description file - # - # avoid passing lib.loc to `packageDescription()` below, since R will - # use the loaded version of the package by default anyhow. note that - # this function should only be called after 'renv' is loaded - # https://github.com/rstudio/renv/issues/1625 - description <- description %||% packageDescription("renv") - - # check whether requested version 'version' matches loaded version of renv - sha <- attr(version, "sha", exact = TRUE) - valid <- if (!is.null(sha)) - renv_bootstrap_validate_version_dev(sha, description) - else - renv_bootstrap_validate_version_release(version, description) - - if (valid) - return(TRUE) - - # the loaded version of renv doesn't match the requested version; - # give the user instructions on how to proceed - dev <- identical(description[["RemoteType"]], "github") - remote <- if (dev) - paste("rstudio/renv", description[["RemoteSha"]], sep = "@") - else - paste("renv", description[["Version"]], sep = "@") - - # display both loaded version + sha if available - friendly <- renv_bootstrap_version_friendly( - version = description[["Version"]], - sha = if (dev) description[["RemoteSha"]] - ) - - fmt <- heredoc(" - renv %1$s was loaded from project library, but this project is configured to use renv %2$s. - - Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile. - - Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library. - ") - catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) - - FALSE - - } - - renv_bootstrap_validate_version_dev <- function(version, description) { - expected <- description[["RemoteSha"]] - is.character(expected) && startswith(expected, version) - } - - renv_bootstrap_validate_version_release <- function(version, description) { - expected <- description[["Version"]] - is.character(expected) && identical(expected, version) - } - - renv_bootstrap_hash_text <- function(text) { - - hashfile <- tempfile("renv-hash-") - on.exit(unlink(hashfile), add = TRUE) - - writeLines(text, con = hashfile) - tools::md5sum(hashfile) - - } - - renv_bootstrap_load <- function(project, libpath, version) { - - # try to load renv from the project library - if (!requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) - return(FALSE) - - # warn if the version of renv loaded does not match - renv_bootstrap_validate_version(version) - - # execute renv load hooks, if any - hooks <- getHook("renv::autoload") - for (hook in hooks) - if (is.function(hook)) - tryCatch(hook(), error = warnify) - - # load the project - renv::load(project) - - TRUE - - } - - renv_bootstrap_profile_load <- function(project) { - - # if RENV_PROFILE is already set, just use that - profile <- Sys.getenv("RENV_PROFILE", unset = NA) - if (!is.na(profile) && nzchar(profile)) - return(profile) - - # check for a profile file (nothing to do if it doesn't exist) - path <- renv_bootstrap_paths_renv("profile", profile = FALSE, project = project) - if (!file.exists(path)) - return(NULL) - - # read the profile, and set it if it exists - contents <- readLines(path, warn = FALSE) - if (length(contents) == 0L) - return(NULL) - - # set RENV_PROFILE - profile <- contents[[1L]] - if (!profile %in% c("", "default")) - Sys.setenv(RENV_PROFILE = profile) - - profile - - } - - renv_bootstrap_profile_prefix <- function() { - profile <- renv_bootstrap_profile_get() - if (!is.null(profile)) - return(file.path("profiles", profile, "renv")) - } - - renv_bootstrap_profile_get <- function() { - profile <- Sys.getenv("RENV_PROFILE", unset = "") - renv_bootstrap_profile_normalize(profile) - } - - renv_bootstrap_profile_set <- function(profile) { - profile <- renv_bootstrap_profile_normalize(profile) - if (is.null(profile)) - Sys.unsetenv("RENV_PROFILE") - else - Sys.setenv(RENV_PROFILE = profile) - } - - renv_bootstrap_profile_normalize <- function(profile) { - - if (is.null(profile) || profile %in% c("", "default")) - return(NULL) - - profile - - } - - renv_bootstrap_path_absolute <- function(path) { - - substr(path, 1L, 1L) %in% c("~", "/", "\\") || ( - substr(path, 1L, 1L) %in% c(letters, LETTERS) && - substr(path, 2L, 3L) %in% c(":/", ":\\") - ) - - } - - renv_bootstrap_paths_renv <- function(..., profile = TRUE, project = NULL) { - renv <- Sys.getenv("RENV_PATHS_RENV", unset = "renv") - root <- if (renv_bootstrap_path_absolute(renv)) NULL else project - prefix <- if (profile) renv_bootstrap_profile_prefix() - components <- c(root, renv, prefix, ...) - paste(components, collapse = "/") - } - - renv_bootstrap_project_type <- function(path) { - - descpath <- file.path(path, "DESCRIPTION") - if (!file.exists(descpath)) - return("unknown") - - desc <- tryCatch( - read.dcf(descpath, all = TRUE), - error = identity - ) - - if (inherits(desc, "error")) - return("unknown") - - type <- desc$Type - if (!is.null(type)) - return(tolower(type)) - - package <- desc$Package - if (!is.null(package)) - return("package") - - "unknown" - - } - - renv_bootstrap_user_dir <- function() { - dir <- renv_bootstrap_user_dir_impl() - path.expand(chartr("\\", "/", dir)) - } - - renv_bootstrap_user_dir_impl <- function() { - - # use local override if set - override <- getOption("renv.userdir.override") - if (!is.null(override)) - return(override) - - # use R_user_dir if available - tools <- asNamespace("tools") - if (is.function(tools$R_user_dir)) - return(tools$R_user_dir("renv", "cache")) - - # try using our own backfill for older versions of R - envvars <- c("R_USER_CACHE_DIR", "XDG_CACHE_HOME") - for (envvar in envvars) { - root <- Sys.getenv(envvar, unset = NA) - if (!is.na(root)) - return(file.path(root, "R/renv")) - } - - # use platform-specific default fallbacks - if (Sys.info()[["sysname"]] == "Windows") - file.path(Sys.getenv("LOCALAPPDATA"), "R/cache/R/renv") - else if (Sys.info()[["sysname"]] == "Darwin") - "~/Library/Caches/org.R-project.R/R/renv" - else - "~/.cache/R/renv" - - } - - renv_bootstrap_version_friendly <- function(version, shafmt = NULL, sha = NULL) { - sha <- sha %||% attr(version, "sha", exact = TRUE) - parts <- c(version, sprintf(shafmt %||% " [sha: %s]", substring(sha, 1L, 7L))) - paste(parts, collapse = "") - } - - renv_bootstrap_exec <- function(project, libpath, version) { - if (!renv_bootstrap_load(project, libpath, version)) - renv_bootstrap_run(version, libpath) - } - - renv_bootstrap_run <- function(version, libpath) { - - # perform bootstrap - bootstrap(version, libpath) - - # exit early if we're just testing bootstrap - if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) - return(TRUE) - - # try again to load - if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { - return(renv::load(project = getwd())) - } - - # failed to download or load renv; warn the user - msg <- c( - "Failed to find an renv installation: the project will not be loaded.", - "Use `renv::activate()` to re-initialize the project." - ) - - warning(paste(msg, collapse = "\n"), call. = FALSE) - - } - - renv_json_read <- function(file = NULL, text = NULL) { - - jlerr <- NULL - - # if jsonlite is loaded, use that instead - if ("jsonlite" %in% loadedNamespaces()) { - - json <- tryCatch(renv_json_read_jsonlite(file, text), error = identity) - if (!inherits(json, "error")) - return(json) - - jlerr <- json - - } - - # otherwise, fall back to the default JSON reader - json <- tryCatch(renv_json_read_default(file, text), error = identity) - if (!inherits(json, "error")) - return(json) - - # report an error - if (!is.null(jlerr)) - stop(jlerr) - else - stop(json) - - } - - renv_json_read_jsonlite <- function(file = NULL, text = NULL) { - text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") - jsonlite::fromJSON(txt = text, simplifyVector = FALSE) - } - - renv_json_read_default <- function(file = NULL, text = NULL) { - - # find strings in the JSON - text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") - pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' - locs <- gregexpr(pattern, text, perl = TRUE)[[1]] - - # if any are found, replace them with placeholders - replaced <- text - strings <- character() - replacements <- character() - - if (!identical(c(locs), -1L)) { - - # get the string values - starts <- locs - ends <- locs + attr(locs, "match.length") - 1L - strings <- substring(text, starts, ends) - - # only keep those requiring escaping - strings <- grep("[[\\]{}:]", strings, perl = TRUE, value = TRUE) - - # compute replacements - replacements <- sprintf('"\032%i\032"', seq_along(strings)) - - # replace the strings - mapply(function(string, replacement) { - replaced <<- sub(string, replacement, replaced, fixed = TRUE) - }, strings, replacements) - - } - - # transform the JSON into something the R parser understands - transformed <- replaced - transformed <- gsub("{}", "`names<-`(list(), character())", transformed, fixed = TRUE) - transformed <- gsub("[[{]", "list(", transformed, perl = TRUE) - transformed <- gsub("[]}]", ")", transformed, perl = TRUE) - transformed <- gsub(":", "=", transformed, fixed = TRUE) - text <- paste(transformed, collapse = "\n") - - # parse it - json <- parse(text = text, keep.source = FALSE, srcfile = NULL)[[1L]] - - # construct map between source strings, replaced strings - map <- as.character(parse(text = strings)) - names(map) <- as.character(parse(text = replacements)) - - # convert to list - map <- as.list(map) - - # remap strings in object - remapped <- renv_json_read_remap(json, map) - - # evaluate - eval(remapped, envir = baseenv()) - - } - - renv_json_read_remap <- function(json, map) { - - # fix names - if (!is.null(names(json))) { - lhs <- match(names(json), names(map), nomatch = 0L) - rhs <- match(names(map), names(json), nomatch = 0L) - names(json)[rhs] <- map[lhs] - } - - # fix values - if (is.character(json)) - return(map[[json]] %||% json) - - # handle true, false, null - if (is.name(json)) { - text <- as.character(json) - if (text == "true") - return(TRUE) - else if (text == "false") - return(FALSE) - else if (text == "null") - return(NULL) - } - - # recurse - if (is.recursive(json)) { - for (i in seq_along(json)) { - json[i] <- list(renv_json_read_remap(json[[i]], map)) - } - } - - json - - } - - # load the renv profile, if any - renv_bootstrap_profile_load(project) - - # construct path to library root - root <- renv_bootstrap_library_root(project) - - # construct library prefix for platform - prefix <- renv_bootstrap_platform_prefix() - - # construct full libpath - libpath <- file.path(root, prefix) - - # run bootstrap code - renv_bootstrap_exec(project, libpath, version) - - invisible() - -}) diff --git a/tmd/areas/targets/prepare/prepare_cds/renv/settings.json b/tmd/areas/targets/prepare/prepare_cds/renv/settings.json deleted file mode 100644 index ffdbb320..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/renv/settings.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "bioconductor.version": null, - "external.libraries": [], - "ignored.packages": [], - "package.dependency.fields": [ - "Imports", - "Depends", - "LinkingTo" - ], - "ppm.enabled": null, - "ppm.ignored.urls": [], - "r.version": null, - "snapshot.type": "implicit", - "use.cache": true, - "vcs.ignore.cellar": true, - "vcs.ignore.library": true, - "vcs.ignore.local": true, - "vcs.manage.ignores": true -} diff --git a/tmd/areas/targets/prepare/prepare_cds/tools/renv_notes.R b/tmd/areas/targets/prepare/prepare_cds/tools/renv_notes.R deleted file mode 100644 index f61cb06e..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/tools/renv_notes.R +++ /dev/null @@ -1,14 +0,0 @@ - -# https://docs.posit.co/ide/user/ide/guide/environments/r/renv.html - -# workflow: - -# renv::init() to initialize a new project-local environment with a private R library - -# Work in the project as normal, installing and removing new R packages as they are needed in the project, - -# renv::snapshot() to save the state of the project library to the lockfile (called renv.lock), - -# Continue working on your project, installing and updating R packages as needed. - -# renv::snapshot() again to save the state of your project library if your attempts to update R packages were successful, or call renv::restore() to revert to the previous state as encoded in the lockfile if your attempts to update packages introduced some new problems. \ No newline at end of file diff --git a/tmd/areas/targets/prepare/prepare_cds/usage.qmd b/tmd/areas/targets/prepare/prepare_cds/usage.qmd deleted file mode 100644 index a6b7645a..00000000 --- a/tmd/areas/targets/prepare/prepare_cds/usage.qmd +++ /dev/null @@ -1,52 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# How to create Congressional District target files and the associated local web page - -## Prerequisites - -- Recent version of [R](https://www.r-project.org/). This project was created with R version 4.4.1. -- Recent release of [RStudio](https://posit.co/products/open-source/rstudio/). Other IDEs may work well, but RStudio has been used in this project (RStudio 2024.09.0 Build 375). -- Recent pre-release version of [quarto](https://quarto.org/docs/download/prerelease.html), 1.6 or higher. This project was created with quarto version 1.6.24 -- Be sure that ".../targets/prepare/cds/raw_data/" exists and has the files shown below, which should have been downloaded when you cloned the GitHub repo: - - - 21incddocguide.docx - - cd_documentation_extracted_from_21incddocguide.docx.xlsx - - cdpop1year_acs.csv - - congressional2021.zip - - geocorr2022_2428906586.csv - -## Setting up the environment - -- After checking the above and starting RStudio, in the console run `renv::restore()` and answer y when asked whether to proceed installing packages. This may take a while the first time you set your environment up. - -`renv` is an environment manager for R that can set up a project-specific environment that is the same across multile machines. It should ensure that your environment includes the versions of R packages used in this project. (Most packages are loaded in ".../targets/prepare/R/libraries.R".) - -## To create target files and build the web page - -- Open a terminal in the "prepare" folder. -- Enter "quarto render" - -The first time the project is rendered, it will create needed intermediate files and put them in the "../cds/intermediate" folder. - -Note that the \_quarto.yml file sets the `freeze` execution option to `false`, which means .qmd files will be rerendered even if they have not changed (except that quarto will not re-render chunks with the option `eval: false`), and intermediate data files will be recreated. For incremental re-rendering of changed .qmd files only, set `freeze: auto`, which will avoid recreating intermediate files. This should be used cautiously to avoid unintended consequences. - -At present the code prepares target files with targets we believe are useful and practical. Users who want different targets will have to modify code to do so. However, as described in overall repo documentation, users can comment-out individual targets. - -## After rendering is complete - -- target .csv files will be in the ".../targets/prepare/cds/final/" folder -- local documentation web page will be in the ".../targets/prepare/\_targetprep/" folder - -## To create area weights using the target files in tax-microdata-benchmarking - -- copy desired target .csv files from ".../targets/prepare/prepare_cds/cdtargets/" folder to the ".../targets/" folder -- follow tax-microdata-benchmarking instructions to run `make_all.py` or \`create_area_weights.py' - -## Additional notes - -- It is possible to render each qmd file separately, step by step, to be sure all is working as desired. -- Each qmd file has its own setup section in which it loads packages and constants. This is unnecessary duplication when rendering the entire project, but it is useful during development because it allows rendering individual qmd files without rendering the entire project. diff --git a/tmd/areas/targets/prepare/target_file_library/cds/.gitignore b/tmd/areas/targets/prepare/target_file_library/cds/.gitignore deleted file mode 100644 index afed0735..00000000 --- a/tmd/areas/targets/prepare/target_file_library/cds/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.csv diff --git a/tmd/areas/targets/prepare/target_file_library/cds/targets_128/.gitignore b/tmd/areas/targets/prepare/target_file_library/cds/targets_128/.gitignore deleted file mode 100644 index afed0735..00000000 --- a/tmd/areas/targets/prepare/target_file_library/cds/targets_128/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.csv diff --git a/tmd/areas/targets/prepare/target_file_library/states/.gitignore b/tmd/areas/targets/prepare/target_file_library/states/.gitignore deleted file mode 100644 index afed0735..00000000 --- a/tmd/areas/targets/prepare/target_file_library/states/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.csv diff --git a/tmd/areas/targets/prepare/target_recipes/aka.json b/tmd/areas/targets/prepare/target_recipes/aka.json deleted file mode 100644 index ef59b7b6..00000000 --- a/tmd/areas/targets/prepare/target_recipes/aka.json +++ /dev/null @@ -1,109 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R - -// note: all text values must be in quotes -{ - "areatype": "state", // state or cd in quotes - - // "suffix": "A", // not present, or null, or a capital letter - // "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": ["AK"], - - // target parameters - "notzero": true, // true or false -- whether to allow zero-valued targets - "notnegative": false, // true or false -- whether to allow negative-valued targets - "targets": [ - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 // Single - }, - - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 // Married joint - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 // Head of household - }, - { - "varname": "e00200", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e00300", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e01500", // Total pensions and annuities - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e02400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e18500", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18500", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e26270", - "scope": 1, - "count": 0, - "fstatus": 0 - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/cd_variable_mapping.csv b/tmd/areas/targets/prepare/target_recipes/cd_variable_mapping.csv deleted file mode 100644 index c8be8cc9..00000000 --- a/tmd/areas/targets/prepare/target_recipes/cd_variable_mapping.csv +++ /dev/null @@ -1,14 +0,0 @@ -varname,basesoivname,description,fstatus -XTOT,XTOT,Population,0 -c00100,n1,Total number of returns,0 -c00100,mars1,fstatus == 1,1 -c00100,mars2,fstatus == 2,2 -c00100,mars4,fstatus == 4,4 -c00100,00100,Adjusted gross income,0 -e00200,00200,Wages,0 -e00300,00300,Taxable interest income,0 -e01500,tmd01500_shared_by_soi01700,Pensions total,0 -e02400,tmd02400_shared_by_soi02500,Social Security total,0 -e26270,26270,Combined partnership and S corporation net income/loss,0 -e18400,tmd18400_shared_by_soi18400,State and local income or sales taxes,0 -e18500,tmd18500_shared_by_soi18500,State and local real estate taxes,0 diff --git a/tmd/areas/targets/prepare/target_recipes/cds_final.json b/tmd/areas/targets/prepare/target_recipes/cds_final.json deleted file mode 100644 index de0668bf..00000000 --- a/tmd/areas/targets/prepare/target_recipes/cds_final.json +++ /dev/null @@ -1,116 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R - -// note: all text values must be in quotes -{ - "areatype": "cd", // state or cd in quotes - - // "suffix": "", // not present, or null, or a capital letter - "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": "all", - - // target parameters - "notzero": true, // true or false -- true means disallow zero-valued targets - "notnegative": false, // true or false -- true means disallow negative-valued targets - "targets": [ - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 // Single - }, - - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 // Married joint - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 // Head of household - }, - { - "varname": "e00200", // wages - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e00200", // wages - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e00300", // taxable interest income - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e01500", // Total pensions and annuities - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e02400", // Total Social Security income - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", // State and local income or sales tax deductions - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", // State and local income or sales tax deductions - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e18500", // State and local real estate tax deductions - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18500", // State and local real estate tax deductions - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e26270", // Combined partnership and S corporation net income/loss - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2, 3] // not present, or a vector of agistubs to include - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/cds_p5salt.json b/tmd/areas/targets/prepare/target_recipes/cds_p5salt.json deleted file mode 100644 index 3dc181b6..00000000 --- a/tmd/areas/targets/prepare/target_recipes/cds_p5salt.json +++ /dev/null @@ -1,79 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R -{ - "areatype": "cd", // state or cd in quotes - - // "suffix": "", // not present, or null, or a capital letter - "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": "all", - - // target parameters - "notzero": true, // true or false -- true means disallow zero-valued targets - "notnegative": false, // true or false -- true means disallow negative-valued targets - "targets": [ - { - "varname": "c00100", - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 - }, - { - "varname": "e00200", // wages - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e26270", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2, 3] // not present, or a vector of agistubs to include - }, - { - "varname": "e18400", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2] // not present, or a vector of agistubs to include - }, - { - "varname": "e18500", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2] - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/cds_test.json b/tmd/areas/targets/prepare/target_recipes/cds_test.json deleted file mode 100644 index a9fab045..00000000 --- a/tmd/areas/targets/prepare/target_recipes/cds_test.json +++ /dev/null @@ -1,115 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R - -// note: all text values must be in quotes -{ - "areatype": "cd", // state or cd in quotes - - // "suffix": "", // not present, or null, or a capital letter - "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - - // target parameters - "notzero": true, // true or false -- whether to allow zero-valued targets - "notnegative": false, // true or false -- whether to allow negative-valued targets - "targets": [ - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 // Single - }, - - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 // Married joint - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 // Head of household - }, - { - "varname": "e00200", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e00200", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e00300", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e01500", // Total pensions and annuities - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e02400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e18500", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18500", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e26270", - "scope": 1, - "count": 0, - "fstatus": 0 - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/phase6_states.json b/tmd/areas/targets/prepare/target_recipes/phase6_states.json deleted file mode 100644 index 2f2c81bc..00000000 --- a/tmd/areas/targets/prepare/target_recipes/phase6_states.json +++ /dev/null @@ -1,115 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R - -// note: all text values must be in quotes -{ - "areatype": "state", // state or cd in quotes - - // "suffix": "", // not present, or null, or a capital letter - // "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": ["AK", "MN", "NJ", "NM", "VA", "SC"], - - // target parameters - "notzero": true, // true or false -- whether to allow zero-valued targets - "notnegative": false, // true or false -- whether to allow negative-valued targets - "targets": [ - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 // Single - }, - - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 // Married joint - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 // Head of household - }, - { - "varname": "e00200", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e00200", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e00300", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e01500", // Total pensions and annuities - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e02400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e18500", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18500", - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e26270", - "scope": 1, - "count": 0, - "fstatus": 0 - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/phase6_states_bak.json b/tmd/areas/targets/prepare/target_recipes/phase6_states_bak.json deleted file mode 100644 index 7c71c71c..00000000 --- a/tmd/areas/targets/prepare/target_recipes/phase6_states_bak.json +++ /dev/null @@ -1,100 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R - -// note: all text values must be in quotes -{ - "areatype": "state", // state or cd in quotes - - // "suffix": "A", // not present, or null, or a capital letter - // "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": "all", - - // target parameters - "notzero": true, // true or false -- whether to allow zero-valued targets - "notnegative": true, // true or false -- whether to allow negative-valued targets - "targets": [ - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 // Single - }, - - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 // Married joint - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 // Head of household - }, - { - "varname": "e00200", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e00300", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e01500", // Total pensions and annuities - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e02400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2] // not present, or a vector of agistubs to include - }, - { - "varname": "e18500", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2] - }, - { - "varname": "e26270", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2, 3] // not present, or a vector of agistubs to include - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/phase6_test.json b/tmd/areas/targets/prepare/target_recipes/phase6_test.json deleted file mode 100644 index 48c07e24..00000000 --- a/tmd/areas/targets/prepare/target_recipes/phase6_test.json +++ /dev/null @@ -1,100 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R - -// note: all text values must be in quotes -{ - "areatype": "state", // state or cd in quotes - - // "suffix": "A", // not present, or null, or a capital letter - // "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": ["AK", "MN", "NJ", "NM", "VA", "SC"], - - // target parameters - "notzero": true, // true or false -- whether to allow zero-valued targets - "notnegative": true, // true or false -- whether to allow negative-valued targets - "targets": [ - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 // Single - }, - - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 // Married joint - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 // Head of household - }, - { - "varname": "e00200", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e00300", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e01500", // Total pensions and annuities - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e02400", - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2] // not present, or a vector of agistubs to include - }, - { - "varname": "e18500", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2] - }, - { - "varname": "e26270", - "scope": 1, - "count": 0, - "fstatus": 0, - "agi_exclude": [1, 2, 3] // not present, or a vector of agistubs to include - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/states_final.json b/tmd/areas/targets/prepare/target_recipes/states_final.json deleted file mode 100644 index e3eb281e..00000000 --- a/tmd/areas/targets/prepare/target_recipes/states_final.json +++ /dev/null @@ -1,115 +0,0 @@ -// run from terminal (not console) with: -// Rscript write_area_target_files.R - -// note: all text values must be in quotes -{ - "areatype": "state", // state or cd in quotes - - // "suffix": "", // not present, or null, or a capital letter - // "session": 118, // for areatype cd only: not present, or 117 or 118 - - // arealist: - // cds: "all", or a list such as ["AK00", "DE00"] - // Phase 4 cds: ["AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00"], - // states: "all", or a list such as ["ak", "de"] - // Phase 6 states: ["AK", "MN", "NJ", "NM", "VA", "SC"] plus SC - // For testing: ["MN"] - "arealist": "all", - - // target parameters - "notzero": true, // true or false -- true means disallow zero-valued targets - "notnegative": false, // true or false -- true means disallow negative-valued targets - "targets": [ - { - "varname": "c00100", // agi - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 0 - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 1 // Single - }, - - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 2 // Married joint - }, - { - "varname": "c00100", // agi used to get total count - "scope": 1, - "count": 1, - "fstatus": 4 // Head of household - }, - { - "varname": "e00200", // wages - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e00200", // wages - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e00300", // taxable interest income - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e01500", // Total pensions and annuities - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e02400", // Total Social Security income - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", // State and local income or sales tax deductions - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18400", // State and local income or sales tax deductions - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e18500", // State and local real estate tax deductions - "scope": 1, - "count": 0, - "fstatus": 0 - }, - { - "varname": "e18500", // State and local real estate tax deductions - "scope": 1, - "count": 2, - "fstatus": 0 - }, - { - "varname": "e26270", // Combined partnership and S corporation net income/loss - "scope": 1, - "count": 0, - "fstatus": 0 - } - ] -} \ No newline at end of file diff --git a/tmd/areas/targets/prepare/target_recipes/test_variable_mapping.csv b/tmd/areas/targets/prepare/target_recipes/test_variable_mapping.csv deleted file mode 100644 index c8be8cc9..00000000 --- a/tmd/areas/targets/prepare/target_recipes/test_variable_mapping.csv +++ /dev/null @@ -1,14 +0,0 @@ -varname,basesoivname,description,fstatus -XTOT,XTOT,Population,0 -c00100,n1,Total number of returns,0 -c00100,mars1,fstatus == 1,1 -c00100,mars2,fstatus == 2,2 -c00100,mars4,fstatus == 4,4 -c00100,00100,Adjusted gross income,0 -e00200,00200,Wages,0 -e00300,00300,Taxable interest income,0 -e01500,tmd01500_shared_by_soi01700,Pensions total,0 -e02400,tmd02400_shared_by_soi02500,Social Security total,0 -e26270,26270,Combined partnership and S corporation net income/loss,0 -e18400,tmd18400_shared_by_soi18400,State and local income or sales taxes,0 -e18500,tmd18500_shared_by_soi18500,State and local real estate taxes,0 diff --git a/tmd/areas/targets/xx_params.yaml b/tmd/areas/targets/xx_params.yaml deleted file mode 100644 index 3f8642c4..00000000 --- a/tmd/areas/targets/xx_params.yaml +++ /dev/null @@ -1,2 +0,0 @@ -# custom parameters file for xx area: -dump_all_target_deviations: True diff --git a/tmd/areas/targets/xx_targets.csv b/tmd/areas/targets/xx_targets.csv deleted file mode 100644 index 4443261a..00000000 --- a/tmd/areas/targets/xx_targets.csv +++ /dev/null @@ -1,17 +0,0 @@ -varname,count,scope,agilo,agihi,fstatus,target -XTOT, 0, 0,-9e99, 9e99, 0, 33e6 -e00300, 0, 1,-9e99, 9e99, 0, 20e9 -e00900, 0, 1,-9e99, 9e99, 0, 30e9 -e00200, 0, 1,-9e99, 9e99, 0,1000e9 -e02000, 0, 1,-9e99, 9e99, 0, 30e9 -e02400, 0, 1,-9e99, 9e99, 0, 60e9 -c00100, 0, 1,-9e99, 9e99, 0,1200e9 -c00100, 1, 1, 1e6, 9e99, 0, 10e3 -e00400, 0, 1,-9e99, 9e99, 0, 2e9 -e00600, 0, 1,-9e99, 9e99, 0, 8e9 -e00650, 0, 1,-9e99, 9e99, 0, 7e9 -e01700, 0, 1,-9e99, 9e99, 0, 12e9 -e02300, 0, 1,-9e99, 9e99, 0, 10e9 -e17500, 0, 1,-9e99, 9e99, 0, 5e9 -e18400, 0, 1,-9e99, 9e99, 0, 10e9 -e18500, 0, 1,-9e99, 9e99, 0, 10e9 \ No newline at end of file diff --git a/tmd/areas/weights/examine/.Rprofile b/tmd/areas/weights/examine/.Rprofile deleted file mode 100644 index 81b960f5..00000000 --- a/tmd/areas/weights/examine/.Rprofile +++ /dev/null @@ -1 +0,0 @@ -source("renv/activate.R") diff --git a/tmd/areas/weights/examine/.gitignore b/tmd/areas/weights/examine/.gitignore deleted file mode 100644 index c3c1fd1a..00000000 --- a/tmd/areas/weights/examine/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -# examine - -# folders to ignore -.Rproj.user/ -/.quarto/ -_cd/ -_state/ -_freeze/ -site_libs/ - -# Ignore `renv` directories that are system-specific -renv/library/ -renv/cache/ - -# Track the lockfile and settings file for reproducibility -!renv.lock -!renv/settings.dcf - -# files to ignore -.Rhistory -.RData -.Rproj.user/ -~* -*.html -*.rds - -# Local Netlify folder -.netlify - diff --git a/tmd/areas/weights/examine/.here b/tmd/areas/weights/examine/.here deleted file mode 100644 index e69de29b..00000000 diff --git a/tmd/areas/weights/examine/R/functions.R b/tmd/areas/weights/examine/R/functions.R deleted file mode 100644 index 0fd99e0a..00000000 --- a/tmd/areas/weights/examine/R/functions.R +++ /dev/null @@ -1,245 +0,0 @@ - - -# utility functions ------------------------------------------------------- - -ht <- function(df, nrecs = 6) { - print(utils::head(df, nrecs)) - print(utils::tail(df, nrecs)) -} - -ns <- function(obj){ - sort(names(obj)) -} - - -# functions to prepare data ----------------------------------------------- - - -save_weights <- function(){ - - # Get and save a wide tibble of weights each time new weights are produced. - # Once the file is created and saved, retrieval is much faster. It has one row - # per tmd record and a column for the 2021 weight of each area (column names - # are ak00, ..., wy00). Add a `row` (row number) column to make sorting and - # merging safer when the file is used Save it in the `intermediate` folder of - # this project as state_weights.rds or cd_weights.rds as appropriate. For - # Congressional Districts the file is approximately 380 mb, for states it is - # about 50mb. This program is time consuming for Congressional Districts (~2+ - # minutes) when weights for all 436 districts are read, so set `eval: false` - # in the `get-save-weights` chunk after an initial run that gets the data. - - get_file <- function(fpath){ - fname <- fs::path_file(fpath) - area <- stringr::word(fname, 1, sep = "_") - print(area) - vroom::vroom(fpath, col_select = "WT2021") |> - rename(!!area := WT2021) # create a column named for the area, with its 2021 weight as its value - } - - a <- proc.time() - weightfiles <- fs::dir_ls(CONSTANTS$WEIGHTS_DIR) |> - str_subset("tmd_weights.csv.gz") - weights <- purrr::map(weightfiles, get_file) |> - purrr::list_cbind() |> - dplyr::mutate(row=row_number()) |> - dplyr::relocate(row) - b <- proc.time() - print(b - a) - print("saving weights file...") - system.time(saveRDS(weights, fs::path(CONSTANTS$OUTPUT_DIR, "weights.rds"))) - print(paste0("Weights file includes: ", paste(names(weights)[-1], collapse=", "))) -} - - -combine_tmd_and_weights <- function(taxcalc_vars, tmd2021, weights){ - - agilabels <- readr::read_csv(fs::path(CONSTANTS$RAW_DIR, "agilabels.csv")) # Martin Holmer uses 9e99 for top valueinstead of Inf - agicuts <- c(agilabels$agilo[-1], 9e99) - - tmdplusweights <- tmd2021 |> - select(RECID, data_source, MARS, us=s006, all_of(taxcalc_vars)) |> - mutate(row=row_number(), - agistub=cut(c00100, agicuts, right = FALSE, ordered_result = TRUE) |> - as.integer()) |> - left_join(weights, by = join_by(row)) |> - relocate(row, agistub, .after = RECID) |> - relocate(us, .after = iitax) - - return(tmdplusweights) -} - - -get_tmdplusweights <- function(taxcalc_vars){ - # Get `cached_allvars.csv`, a saved version of data from an object constructed - # during creation of area weights, in the file - # `create_taxcalc_cached_files.py`. `cached_allvars.csv` is the then-current - # tmd file with 2021 values, run through Tax-Calculator with 2021 law, written - # as csv. It includes all Tax-Calculator input and output variables. - fpath <- fs::path(CONSTANTS$TMDDIR, "cached_allvars.csv") - tmd2021 <- vroom(fpath) - weights <- readRDS(fs::path(CONSTANTS$OUTPUT_DIR, "weights.rds")) - - tmdplusweights <- combine_tmd_and_weights(taxcalc_vars, tmd2021, weights) - return(tmdplusweights) -} - -get_wtdsums <- function(tmdplusweights, taxcalc_vars){ - # Calculate and save sums by area, data_source, and AGI range. Making this - # step efficient is crucial. For example, with 10 variables, up to 400+ areas, - # 9 AGI categories, and 2 data_source categories, we'd gave over 70k potential - # sums. - - # The approach taken here is to make a longer tmd file that has one row for - # each tax-calculator variable of interest for each tax unit, while - # maintaining the 400+ columns for areas, multiplying each variable's value by - # all of the weights (400+ weighted values) and summing by groups of interest. - # This is the second-fastest of the approaches investigated, and the easiest - # and least-error-prone to maintain as we add variables of interest. - - # The resulting dataframe with sums and counts of interest is small, and easy - # to manipulate. - - a <- proc.time() - long1 <- tmdplusweights |> - pivot_longer(cols = all_of(taxcalc_vars), - names_to = "varname") |> # same name Martin Holmer uses - relocate(varname, value, .before=us) # cds: ~ 3gb used in creating, ~ 7gb total size - # pryr::object_size(long1) - - # ~ 8gb used in creating wtditems, but it is not very large - wtdsums <- long1 |> - summarise(across(-c(RECID:value), - list( - sum = \(x) sum(x * value), - nzcount = \(x) sum(x * (value != 0)), - anycount = \(x) sum(x) - ) - ), - .by=c(MARS, agistub, data_source, varname)) |> - pivot_longer(-c(MARS, agistub, data_source, varname), - names_to = "area_valuetype") |> - separate_wider_delim(area_valuetype, "_", names=c("area", "valuetype")) - b <- proc.time() - print(b - a) - return(wtdsums) -} - -enhance_wtdsums <- function(wtdsums){ - # sums across all marital status - sums_plus_marstot <- wtdsums |> - summarise(value=sum(value), - .by=c(area, agistub, data_source, varname, valuetype)) |> - mutate(MARS=0) |> - bind_rows(wtdsums) - - # sum across all income ranges - sums_plus_agistubtot <- sums_plus_marstot |> - summarise(value=sum(value), - .by=c(area, MARS, data_source, varname, valuetype)) |> - mutate(agistub=0) |> - bind_rows(sums_plus_marstot) - - # sum across all data_source values - sums_plus_dstot <- sums_plus_agistubtot |> - summarise(value=sum(value), - .by=c(area, MARS, agistub, varname, valuetype)) |> - mutate(data_source=9) |> - bind_rows(sums_plus_agistubtot) |> - rename(wtdsum = value) - - return(sums_plus_dstot) -} - -save_enhanced_weighted_sums <- function(taxcalc_vars){ - - tmdplusweights <- get_tmdplusweights(taxcalc_vars) - wtdsums <- get_wtdsums(tmdplusweights, taxcalc_vars) - wtdsums_enhanced <- enhance_wtdsums(wtdsums) - - write_csv(wtdsums_enhanced, fs::path(CONSTANTS$OUTPUT_DIR, "wtdsums_enhanced.csv")) -} - - - -# create combined comparison file ----------------------------------------- - -get_combined_file <- function(){ - - targets_available <- readr::read_csv(fs::path(CONSTANTS$TARGETS_DIR, "enhanced_targets.csv")) |> - dplyr::mutate(area = stringr::str_to_lower(area)) - - agilabels <- targets_available |> - select(agistub, agilo, agihi, agilabel) |> - distinct() - - if(CONSTANTS$AREA_TYPE == "cd"){ - targets_available <- targets_available |> - filter(session == CONSTANTS$SESSION) - } - - target_files <- fs::dir_ls(CONSTANTS$WEIGHTS_DIR) |> - stringr::str_subset("targets.csv") |> - stringr::str_subset("enhanced", negate = TRUE) # allows us to have enhanced_targets.csv in folder - - targets_used <- vroom::vroom(target_files, id="area") |> - dplyr::mutate(area = fs::path_file(area), - area = stringr::word(area, sep = "_"), - targeted = TRUE) - - wtdsums_enhanced <- readr::read_csv(fs::path(CONSTANTS$OUTPUT_DIR, "wtdsums_enhanced.csv")) - vmap <- readr::read_csv(fs::path(CONSTANTS$RECIPES_DIR, paste0(CONSTANTS$AREA_TYPE, "_variable_mapping.csv"))) - - # reduce problem size by getting mapped targets - mapped_targets_available <- inner_join(targets_available |> - select(-description), - vmap, - by = join_by(fstatus, basesoivname)) |> - select(stabbr, area, scope, fstatus, count, - varname, basesoivname, - agistub, - target, - description) - - combined <- wtdsums_enhanced |> - # filter(area=="al07") |> - dplyr::rename(fstatus = MARS) |> - dplyr::mutate(scope = case_when(data_source == 0 ~ 2, # cps only - data_source == 1 ~ 1, # puf only - data_source == 9 ~ 0, # all records - .default = -9), # ERROR - count = case_when(valuetype == "sum" ~ 0, - valuetype == "anycount" ~ 1, - valuetype == "nzcount" ~ 2, - .default = -9) # ERROR - ) |> - # we need mapping to make a crosswalk between wtdsums_enhanced and targets_available - # at this point (above) we include weighted sums for which we do not have targets - left_join(mapped_targets_available, - by = join_by(area, fstatus, agistub, varname, scope, count)) |> - # keep targeted mapped variables, plus major variables for which we don't have targets - filter(varname %in% c("iitax") | !is.na(target)) |> - left_join(agilabels, - by = join_by(agistub)) |> - left_join(targets_used |> - rename(target_used=target), - by = join_by(area, fstatus, varname, scope, count, agilo, agihi))|> - mutate(diff = wtdsum - target, - pdiff = diff / target, - adiff = abs(diff), - apdiff = abs(pdiff), - targeted = ifelse(is.na(targeted), FALSE, TRUE)) |> - arrange(area, scope, count, fstatus, varname, agistub) |> - mutate(sort=row_number(), .by=area) |> - relocate(sort, .after = area) |> - select(area, sort, scope, count, fstatus, varname, basesoivname, agistub, agilabel, - target, wtdsum, diff, pdiff, adiff, apdiff, - targeted, description, target_used) - - bad <- combined |> - filter(target != target_used) |> - mutate(bdiff=target_used - target, - bpdiff = bdiff / target) - - return(combined) -} - diff --git a/tmd/areas/weights/examine/R/functions_constants.R b/tmd/areas/weights/examine/R/functions_constants.R deleted file mode 100644 index 39584161..00000000 --- a/tmd/areas/weights/examine/R/functions_constants.R +++ /dev/null @@ -1,67 +0,0 @@ -# functions_constants.R - -# constants needed to switch between a run for Congressional Districts or for states - -# Absolute paths on the development machine for important folders - simply informational: -# \\wsl.localhost\Ubuntu-24.04\home\donboyd5\Documents\python_projects\tax-microdata-benchmarking\tmd\areas\targets\prepare\prepare_states\data\intermediate -# \\wsl.localhost\Ubuntu-24.04\home\donboyd5\Documents\python_projects\tax-microdata-benchmarking\tmd\areas\targets\prepare\prepare_cds\cds\intermediate - - -get_constants <- function(area_type) { - # Validate input - valid_area_types <- c("state", "cd") - if (!area_type %in% valid_area_types) { - stop("area_type must be one of: ", paste(valid_area_types, collapse = ", ")) - } - - # Common constants - constants <- list( - AREA_TYPE = area_type, - TMDHOME = fs::path(here::here(), "..", "..", "..", ".."), - TMDDIR = NULL, # Will be derived - TMDAREAS = NULL, # Will be derived - RECIPES_DIR = NULL # Will be derived - ) - - # Derive dependent common constants - constants$TMDDIR <- fs::path(constants$TMDHOME, "tmd", "storage", "output") - constants$TMDAREAS <- fs::path(constants$TMDHOME, "tmd", "areas") - constants$RECIPES_DIR <- fs::path(constants$TMDAREAS, "targets", "prepare", "target_recipes") - - # area_type-specific constants - area_constants <- switch(area_type, - # NOTE: WEIGHTS_DIR is system-specific. - # During development it was a local Google Drive folder in the Windows file system. - - "state" = list( - WEIGHTS_DIR = "/mnt/g/.shortcut-targets-by-id/1pEdofaxeQgEeDLM8NOpo0vOGL1jT8Qa1/AFPI_2024/Phase 6/states/", - RAW_DIR = fs::path(constants$TMDAREAS, "targets", "prepare", "prepare_states", "data", "data_raw"), - TARGETS_DIR = fs::path(constants$TMDAREAS, "targets", "prepare", "prepare_states", "data", "intermediate"), - OUTPUT_DIR = here::here("data_state"), - LONG_NAME = "states", - AREAS = c("AK", "MN", "NJ", "NM", "VA", "SC") |> - stringr::str_to_lower() # Phase 6 states plus SC - ), - - "cd" = list( - WEIGHTS_DIR = "/mnt/g/.shortcut-targets-by-id/1pEdofaxeQgEeDLM8NOpo0vOGL1jT8Qa1/AFPI_2024/Phase 6/cds/", - RAW_DIR = fs::path(constants$TMDAREAS, "targets", "prepare", "prepare_cds", "data", "data_raw"), - TARGETS_DIR = fs::path(constants$TMDAREAS, "targets", "prepare", "prepare_cds", "data", "intermediate"), - OUTPUT_DIR = here::here("data_cd"), - SESSION = 118, - LONG_NAME = "Congressional Districts", - AREAS = c("AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00") |> - stringr::str_to_lower() - ) - ) - - # Combine common and area-specific constants - c(constants, area_constants) -} - -# normalizePath(TMDHOME) -# normalizePath(TMDDIR) -# normalizePath(TMDAREAS) -# normalizePath(STATEINTERMEDIATE) -# normalizePath(CDRAW) - diff --git a/tmd/areas/weights/examine/R/issue279_comment_onPR267_chisquare.R b/tmd/areas/weights/examine/R/issue279_comment_onPR267_chisquare.R deleted file mode 100644 index 9fca2834..00000000 --- a/tmd/areas/weights/examine/R/issue279_comment_onPR267_chisquare.R +++ /dev/null @@ -1,297 +0,0 @@ - -source(here::here("R", "libraries.R")) -source(here::here("R", "constants.R")) -source(here::here("R", "functions.R")) - -phase4cds <- c("AK00", "DE00", "ID01", "ID02", "ME02", "MT00", "ND00", "PA08", "SD00", "WY00") - - -# constants in prepare ---------------------------------------------------- - -CDZIPURL <- "https://www.irs.gov/pub/irs-soi/congressional2021.zip" -CDDOCURL <- "https://www.irs.gov/pub/irs-soi/21incddocguide.docx" - - -# dir_ls(here::here("..", "..", "targets", "prepare")) -CDDIR <- here::here("..", "..", "targets", "prepare", "cds") -CDRAW <- fs::path(CDDIR, "raw_data") -CDINTERMEDIATE <- fs::path(CDDIR, "intermediate") -CDFINAL <- fs::path(CDDIR, "final") - -CDDOCEXTRACT <- "cd_documentation_extracted_from_21incddocguide.docx.xlsx" - -HERE <- here::here() -CDTARGETSDIR <- fs::path(HERE, "..", "..", "targets", "prepare", "cds", "intermediate") - -# dir_ls(here::here("..", "..", "weights")) -WTSDIR <- here::here("..", "..", "weights") -files <- dir_ls(WTSDIR) - -CHISQ <- fs::path(path_home(), "Documents/python_projects", "scratch", "chisquare_test") -TARGDIR <- here::here("..", "..", "targets") -dir_ls(CHISQ) -# \\wsl.localhost\Ubuntu\home\donboyd5\Documents\python_projects\scratch\chisquare_test - -# Martin's approach to weights ---- -# get data ---------------------------------------------------------------- -# targets ---- -targets <- read_csv(fs::path(CDTARGETSDIR, "cdbasefile_sessions.csv")) -glimpse(targets) - -targ2 <- targets |> - filter(statecd %in% c("ID02", "PA08")) |> - filter(session==117, basevname %in% c("v00100", "v00200", "v26270")) |> - select(statecd, basevname, vname, agistub, agilo, agihi, scope, fstatus, count, target) - -count(targ2, basevname, vname) - -targ64 <- bind_rows( - read_csv(fs::path(CHISQ, "id02A_targets.csv")) |> mutate(cd="ID02"), - read_csv(fs::path(CHISQ, "pa08A_targets.csv")) |> mutate(cd="PA08")) - - -# tmd2021 ---- -TMDDIR <- here::here("..", "..", "..", "storage", "output") -# filename has changed since this was done - now cached_allvars.csv -fpath <- fs::path(TMDDIR, "tmd2021_cache.csv") -tmd2021 <- vroom(fpath) -ns(tmd2021) - -# weights ---- - -weightfiles <- c(str_subset(files, "id02"), str_subset(files, "pa08")) -f <- function(fpath){ - cd <- str_sub(fs::path_file(fpath), 1, 5) - print(cd) - vroom(fpath, col_select = "WT2021") |> - rename(!!cd := WT2021) # create a column named for the cd, with its 2021 as its value -} - -weights <- test <- purrr::map(weightfiles, f) |> - list_cbind() |> - mutate(row=row_number()) |> - relocate(row) -glimpse(weights) - - -# combine weights and data ------------------------------------------------ - -icuts <- c(-Inf, 1, 10e3, 25e3, 50e3, 75e3, 100e3, 200e3, 500e3, Inf) -combo <- tmd2021 |> - select(RECID, data_source, c00100, e00200, e26270, iitax, s006) |> - mutate(row=row_number(), - irange=cut(c00100, icuts, right = FALSE, ordered_result = TRUE), - irange = factor(irange, - levels = levels(irange), # Ensure ordering is maintained - labels = str_replace(levels(irange), ",", ", ")), # make more-readable labels - # add a total to the factor because down the road we will have totals ?? - irange = fct_expand(irange, "total"), - irange = fct_relevel(irange, "total"), - agistub=as.integer(irange) - 1) |> - left_join(weights, by = join_by(row)) -count(combo, agistub, irange) - -groupsums <- combo |> - filter(data_source==1) |> - summarise(across(id02A:pa08B, - list(c00100 = \(x) sum(x * c00100), - e00200 = \(x) sum(x * e00200), - e26270 = \(x) sum(x * e26270), - iitax = \(x) sum(x * iitax))), - .by=c(agistub, irange)) |> - pivot_longer(-c(agistub, irange)) |> - separate(name, into=c("cd", "variable")) |> - pivot_wider(names_from = variable) |> - mutate(otherinc=c00100 - e00200 - e26270) - -groupsums -cdsums <- groupsums |> - summarise(across(-c(agistub, irange), sum), - .by=cd) |> - mutate(agistub=0, irange="total") - -allsums <- bind_rows(groupsums, cdsums) |> - arrange(cd, agistub) |> - relocate(otherinc, .before=iitax) - -allsums |> - filter(str_starts(cd, "id")) |> - select(agistub, irange, cd, value=c00100) |> - pivot_wider(names_from = cd) |> - mutate(diff=pick(4)) - - -ftab <- function(ststart, var){ - tabdata <- allsums |> - filter(str_starts(cd, ststart)) |> - select(agistub, irange, cd, value=all_of(var)) |> - pivot_wider(names_from = cd) |> - arrange(agistub) |> - select(-agistub) |> - mutate(diff = unlist(pick(3) - pick(2)), - pdiff= diff / unlist(pick(2))) - - tabdata |> - gt() |> - tab_header(title=paste0(var, ": totals and differences under two sets of targets"), - subtitle="A=64 targets, B=37 targets. Amounts are in $ millions.") |> - cols_label(irange="AGI range") |> - fmt_number(columns=2:4, - scale=1e-6, - decimals=1) |> - fmt_percent(columns=pdiff, - decimals = 1) |> - fmt_currency(columns=2:4, - rows = 1, - scale=1e-6, - decimals=1) |> - tab_footnote( - footnote = "B targets exclude 9 each of: returns count for all-marital-statuses, wage amount, and partnership and S corporation income amount" - ) - } -ftab("id", "c00100") -ftab("id", "iitax") -ftab("id", "e00200") -ftab("id", "e26270") - -ftab("pa", "c00100") -ftab("pa", "iitax") -ftab("pa", "e00200") -ftab("pa", "e26270") - - -allsums |> - mutate(wageshare=e00200 / c00100) |> - select(agistub, irange, cd, wageshare) |> - pivot_wider(names_from = cd, values_from = wageshare) |> - select(irange, id02A, pa08A, id02B, pa08B) |> - mutate(pa_idA=pa08A - id02A, pa_idB =pa08B - id02B) |> - gt() |> - tab_header(title=paste0("Wage share of AGI under two sets of targets"), - subtitle="A=64 targets, B=37 targets. Amounts are in $ millions.") |> - cols_label(irange="AGI range") |> - fmt_percent(columns=-c(irange), - decimals = 0) |> - tab_footnote( - footnote = "B targets exclude 9 each of: returns count for all-marital-statuses, wage amount, and partnership and S corporation income amount" - ) - - - -# vars <- c("c00100", "e00200", "e26270", "iitax") - - -# wage analysis ----------------------------------------------------------- -wageshare <- combo |> - summarise(across(id02A:pa08B, - list(c00100 = \(x) sum(x * c00100), - e00200 = \(x) sum(x * e00200))), - .by=c(irange, data_source)) |> - arrange(data_source, irange) |> - pivot_longer(-c(irange, data_source)) |> - separate(name, into=c("cd", "variable")) |> - pivot_wider(names_from = variable) |> - mutate(wshare=e00200 / c00100) - -wageshare - -wageshare |> - select(data_source, irange, cd, wshare) |> - pivot_wider(names_from = cd, values_from = wshare) |> - filter(data_source==1) |> - mutate(iddiff=id02B - id02A, - padiff=pa08B - pa08A, - pamidA=pa08A - id02A, - pamidB=pa08B - id02B) - - -# explore targets - -agibins <- read_csv(fs::path(CDINTERMEDIATE, "cd_agi_bins.csv")) -cddata <- read_csv(fs::path(CDINTERMEDIATE, "cddata_wide_clean.csv")) -base <- read_csv(fs::path(CDINTERMEDIATE, "cdbasefile_sessions.csv")) - -glimpse(cddata) -count(cddata, rectype) - -glimpse(base) -count(base, agistub, agilo, agihi, agirange) -names(base) - -# wage share -wshare <- base |> - filter(statecd %in% phase4cds, session==117) |> - filter(count==0, scope==1, fstatus==0, vname %in% c("A00100", "A00200")) |> - select(rectype, stabbr, statecd, agistub, agirange, vname, target) |> - pivot_wider(names_from = vname, values_from = target) |> - mutate(wageshare=A00200 / A00100) - -wshare |> filter(agistub==0) |> arrange(desc(wageshare)) # all -wshare |> filter(agistub==1) |> arrange(desc(wageshare)) # < $1; -08 -20 -wshare |> filter(agistub==2) |> arrange(desc(wageshare)) # 1-10k; 66-83 AK, ND -wshare |> filter(agistub==3) |> arrange(desc(wageshare)) # 10-25k; 56-77, 21, PA08, ID02 -wshare |> filter(agistub==4) |> arrange(desc(wageshare)) # 25-50k; 75-82, 7 -wshare |> filter(agistub==5) |> arrange(desc(wageshare)) # 50-75k 70-77, -wshare |> filter(agistub==6) |> arrange(desc(wageshare)) # 75-100k 67-74 -wshare |> filter(agistub==7) |> arrange(desc(wageshare)) # 100-200k 64-70 -wshare |> filter(agistub==8) |> arrange(desc(wageshare)) # 200-500k 45-61 -wshare |> filter(agistub==9) |> arrange(desc(wageshare)) # 500+k 12-30 - - -# test PA08 and ID02 -wshare |> - filter(statecd %in% c("PA08", "ID02")) |> - select(statecd, agistub, agirange, wageshare) |> - pivot_wider(names_from = statecd, values_from = wageshare) |> - mutate(pamid=PA08 - ID02) -# agistub agirange ID02 PA08 pamid -# -# 1 0 Total 0.564 0.645 0.0806 -# 2 1 Under $1 -0.0809 -0.174 -0.0932 -# 3 2 $1 under $10,000 0.821 0.675 -0.146 -# 4 3 $10,000 under $25,000 0.771 0.562 -0.209 -# 5 4 $25,000 under $50,000 0.817 0.750 -0.0672 -# 6 5 $50,000 under $75,000 0.768 0.730 -0.0373 -# 7 6 $75,000 under $100,000 0.737 0.697 -0.0400 -# 8 7 $100,000 under $200,000 0.680 0.698 0.0179 -# 9 8 $200,000 under $500,000 0.517 0.597 0.0795 -# 10 9 $500,000 or more 0.185 0.297 0.113 - - - - - - -cddata |> - filter(rectype %in% c("cdstate", "cd", "DC")) |> - mutate(wageshare=A00200 / A00100) |> - select(STATE, CONG_DISTRICT, AGI_STUB, agirange, wageshare) - -cddata |> - filter(rectype %in% c("cdstate", "cd", "DC")) |> - filter(statecd %in% phase4cds) - mutate(wageshare=A00200 / A00100) |> - select(STATE, CONG_DISTRICT, AGI_STUB, agirange, wageshare) - -cddata |> - filter(rectype %in% c("cdstate", "cd", "DC")) |> - mutate(wageshare=A00200 / A00100) |> - select(STATE, CONG_DISTRICT, agirange, wageshare) |> - pivot_wider(names_from = agirange, values_from = wageshare) |> - summary() - -cddata |> - filter(rectype %in% c("cdstate", "cd", "DC")) |> - mutate(wageshare=A00200 / A00100) |> - select(STATE, CONG_DISTRICT, AGI_STUB, agirange, wageshare) |> - filter(AGI_STUB==4) |> - filter(wageshare < .62 | wageshare >.89) - -cddata |> - filter(rectype %in% c("cdstate", "cd", "DC")) |> - mutate(wageshare=A00200 / A00100) |> - select(STATE, CONG_DISTRICT, AGI_STUB, agirange, wageshare) |> - filter(AGI_STUB==7) |> - filter(wageshare < .44 | wageshare >.86) - - diff --git a/tmd/areas/weights/examine/R/libraries.R b/tmd/areas/weights/examine/R/libraries.R deleted file mode 100644 index e7d43813..00000000 --- a/tmd/areas/weights/examine/R/libraries.R +++ /dev/null @@ -1,81 +0,0 @@ -# libraries --------------------------------------------------------------- - -library(renv) - -library(DT) -library(fs) -library(gt) -library(knitr) -library(readxl) -library(skimr) -library(stringr) -library(tidyverse) -# includes: dplyr, forcats, ggplot2, lubridate, purrr, stringr, tibble, tidyr - -tprint <- 75 # default tibble print -options(tibble.print_max = tprint, tibble.print_min = tprint) # show up to tprint rows - -library(janitor) -# census_api_key("b27cb41e46ffe3488af186dd80c64dce66bd5e87", install = TRUE) # stored in .Renviron -# libraries needed for census population -library(sf) -library(tidycensus) -library(tigris) -options(tigris_use_cache = TRUE) -library(vroom) - - -# possible libraries ------------------------------------------------------ - -# library(rlang) -# library(tidyverse) -# tprint <- 75 # default tibble print -# options(tibble.print_max = tprint, tibble.print_min = tprint) # show up to tprint rows -# -# library(fs) - -# tools -# library(vroom) -# library(readxl) -# library(openxlsx) # for writing xlsx files -# library(lubridate) -# library(RColorBrewer) -# library(RcppRoll) -# library(fredr) -# library(tidycensus) -# library(googledrive) -# library(arrow) -# -# library(jsonlite) -# library(tidyjson) -# -# -# # boyd libraries -# # library(btools) -# # library(bdata) -# # library(bggtools) -# # library(bmaps) -# -# # graphics -# library(scales) -# library(ggbeeswarm) -# library(patchwork) -# library(gridExtra) -# library(ggrepel) -# library(ggbreak) -# -# # tables -# library(knitr) -# library(kableExtra) -# library(DT) -# library(gt) -# library(gtExtras) -# library(janitor) -# library(skimr) -# library(vtable) -# -# # maps -# library(maps) -# # https://cran.r-project.org/web/packages/usmap/vignettes/mapping.html -# library(usmap) - diff --git a/tmd/areas/weights/examine/R/pick_best_cd.R b/tmd/areas/weights/examine/R/pick_best_cd.R deleted file mode 100644 index e2ae7f06..00000000 --- a/tmd/areas/weights/examine/R/pick_best_cd.R +++ /dev/null @@ -1,166 +0,0 @@ - -# This program examines logfiles for two separate CD runs, which will be called -# main (the preferred run if its results are acceptable) and alt (a fallback -# run). It uses a set of decision rules defined below to decide, for each CD, -# which of the two runs to use in subsequent analysis. It then copies all 3 -# files for that CD (the targets, log, and weights files) from its location to -# the dcdbest folder. - -# If, after reviewing the files, the user wants to use the CD best files for -# examination, they could be copied to the cds folder. - -# libraries and folders ------------------------------------------------------------------- - -source(here::here("R", "libraries.R")) -source(here::here("R", "functions.R")) - -dafpi <- "/mnt/g/.shortcut-targets-by-id/1pEdofaxeQgEeDLM8NOpo0vOGL1jT8Qa1/AFPI_2024" - -# dcdp5salt <- fs::path(dafpi, "Phase 5", "Phase 5_SALT") -dcd75 <- fs::path(dafpi, "Phase 6", "cds_75targets") -dcd128 <- fs::path(dafpi, "Phase 6", "cds_128targets") -dcdbest <- fs::path(dafpi, "Phase 6", "cds_best") - -# set main and alt -------------------------------------------------------- - -dmain <- dcd128 -dalt <- dcd75 - -# get file names ----------------------------------------------------------------- - -files_main <- fs::dir_ls(dmain) -files_alt <- fs::dir_ls(dalt) - -logfiles_main <- files_main |> str_subset(coll(".log")) -logfiles_alt <- files_alt |> str_subset(coll(".log")) - - -# function to extract ----------------------------------------------------- - -extract_min_max_values <- function(logfile) { - area <- fs::path_file(logfile) |> stringr::str_remove(coll(".log")) - print(area) - lines <- readLines(logfile) - - min_lines <- grep("MINIMUM VALUE OF TARGET ACT/EXP RATIO", lines, value = TRUE) - max_lines <- grep("MAXIMUM VALUE OF TARGET ACT/EXP RATIO", lines, value = TRUE) - - min_vals <- str_extract(min_lines, "-?\\d+\\.\\d+") |> as.numeric() - max_vals <- str_extract(max_lines, "-?\\d+\\.\\d+") |> as.numeric() - - result <- tibble( - area = c(area, area), - label = c("pre", "post"), - minval = min_vals, - maxval = max_vals - ) - return(result) -} - - -# extract values and save ------------------------------------------------- - -values_main <- purrr::map(logfiles_main, extract_min_max_values, .progress = TRUE) |> - list_rbind() - -values_alt <- purrr::map(logfiles_alt, extract_min_max_values, .progress = TRUE) |> - list_rbind() - -stack <- bind_rows( - values_main |> mutate(src="main"), - values_alt |> mutate(src="alt") -) - -write_csv(stack, here::here("data_cd", "logstack.csv")) - -count(stack, src) - -# get saved values and explore -------------------------------------------- - -stack <- read_csv(here::here("data_cd", "logstack.csv")) - -long <- stack |> - mutate(range=maxval - minval) |> - pivot_longer(cols = c(minval, maxval, range)) |> - pivot_wider(names_from = src) |> - mutate(mma=main - alt) - -long |> filter(area=="ut04") # ca18 - - -# define best set of weights for each CD ---------------------------------- - -# low_threshold <- .98 -# high_threshold <- 1.02 - -low_threshold <- .975 -high_threshold <- 1.025 - -best_marked <- long |> - mutate( - min_main = main[label=="post" & name=="minval"], - max_main = main[label=="post" & name=="maxval"], - range_main = main[label=="post" & name=="range"], - - min_alt = alt[label=="post" & name=="minval"], - max_alt = alt[label=="post" & name=="maxval"], - range_alt = alt[label=="post" & name=="range"], - - best = case_when( - (min_main >= low_threshold) & - (max_main <= high_threshold) ~ "main", - range_main <= range_alt ~ "main", - range_main > range_alt ~ "alt", - .default = "ERROR"), - .by=area) |> - - mutate(bestval=case_when(best == "main" ~ main, - best == "alt" ~ alt)) -# count(best_marked, best) - -best <- best_marked |> - filter(label=="post") |> - select(area, label, name, best, bestval) |> - pivot_wider(names_from = name, values_from = bestval) - -count(best, best) - -best_marked |> filter(area=="ca18") -best_marked |> filter(area=="ca36") - - -# copy best files --------------------------------------------------------- - -copy_best_files <- function(best_tibble, dcdbest) { - # For each row in the tibble - for (i in seq_len(nrow(best_tibble))) { - area <- best_tibble$area[i] - bestname <- best_tibble$best[i] - print(paste0("Row ", i, "Best source for area: ", area, " is: ", bestname)) - - # Construct source paths - if(bestname == "main"){ - source_dir <- dmain - } else if(bestname=="alt"){ - source_dir <- dalt - } - log_path <- fs::path(source_dir, paste0(area, ".log")) - targets_path <- fs::path(source_dir, paste0(area, "_targets.csv")) - weights_path <- fs::path(source_dir, paste0(area, "_tmd_weights.csv.gz")) - print(source_dir) - - # Copy files to best directory - file.copy( - from = c(log_path, targets_path, weights_path), - to = dcdbest, - overwrite = TRUE - ) - } -} - -# test run up to the point where we've seen main and alt -# temp <- best |> filter(row_number() <= 7) -# copy_best_files(temp, dcdbest) - -copy_best_files(best, dcdbest) - diff --git a/tmd/areas/weights/examine/R/render_all.R b/tmd/areas/weights/examine/R/render_all.R deleted file mode 100644 index dcd3dd3f..00000000 --- a/tmd/areas/weights/examine/R/render_all.R +++ /dev/null @@ -1,63 +0,0 @@ -# render_all.R - -# For each area type (cd, state, or both) passed to the function -# render_area_reports(), create a local web site with examination results. We do -# this by creating a dummy site (in the _site folder) and copying it to an -# area-type folder (_cd or _state). - -# Optionally deploy the web site to netlify. - -# To run, source this file and then run render_area_reports() from the console. - -library(quarto) -library(fs) -library(stringr) -library(tidyverse) - -generate_quarto_yaml <- function(book_title) { - template <- readLines("_quarto_template.yml") - rendered <- stringr::str_replace(template, coll("{{book_title}}"), book_title) - writeLines(rendered, "_quarto.yml") -} - -render_area_reports <- function(area_types = c("cd", "state"), eval_data = TRUE, deploy = FALSE) { - - for(area_type in area_types) { - print(paste0("Area type: ", area_type)) - - output_dir <- paste0("_", area_type) - fs::dir_create(output_dir, recurse = TRUE) - - if(area_type == "cd") {suffix <- "Congressional Districts"} else - if(area_type == "state") {suffix <- "states"} - - book_title <- paste0("Examination report for ", suffix) - generate_quarto_yaml(book_title) - - # Render entire project with parameters - quarto::quarto_render( - as_job = FALSE, # Ensures synchronous execution - execute_params = list( - area_type = area_type, - eval_data = eval_data - ) - ) - - # Move all generated files - fs::dir_copy("_site", output_dir, overwrite = TRUE) - fs::dir_delete("_site") - - # Conditionally deploy to Netlify - if(deploy){ - siteid <- case_when(area_type == "cd" ~ "573ad544-144b-4535-88cb-f2c41792fe84", - area_type=="state" ~ "4842eca7-3a3b-4183-8b73-5635ad95101d", - .default = "ERROR") - system2("netlify", - args = c("deploy", - "--prod", - paste0("--dir=", output_dir), - paste0(" --site=", siteid))) - } - } -} - diff --git a/tmd/areas/weights/examine/R/system_specific_constants.R b/tmd/areas/weights/examine/R/system_specific_constants.R deleted file mode 100644 index 8afc41b2..00000000 --- a/tmd/areas/weights/examine/R/system_specific_constants.R +++ /dev/null @@ -1,2 +0,0 @@ - -WEIGHTSDIR <- fs::path(path_home(), "Documents/python_projects/scratch/phase5_salt") diff --git a/tmd/areas/weights/examine/R/test_read.R b/tmd/areas/weights/examine/R/test_read.R deleted file mode 100644 index 1002b563..00000000 --- a/tmd/areas/weights/examine/R/test_read.R +++ /dev/null @@ -1,380 +0,0 @@ - - -source(here::here("R", "libraries.R")) -source(here::here("R", "constants.R")) - -ns <- function(obj){ - sort(names(obj)) -} - -mhhi <- get_acs( - geography = "congressional district", - # variables = "S1903_C03", # Median household income variable - table = "S1903", - year = 2022, - survey = "acs1" # Consider using 5-year estimates for better coverage, especially in smaller areas -) - -mhhi2022 <- get_acs( - geography = "congressional district", - variables = "S1903_C03_001", # Median household income variable S1903_C03_001E - year = 2022, - survey = "acs1" # Consider using 5-year estimates for better coverage, especially in smaller areas -) -# write_csv(cdpop1year, fs::path(CDRAW, "cdpop1year_acs.csv")) -# "S1903_C03_001E" - -# tmd2021_cache.csv ------------------------------------------------------- -TMDDIR <- here::here("..", "..", "..", "storage", "output") -fpath <- fs::path(TMDDIR, "cached_allvars.csv") -# tmd2021 <- read_csv(fpath) -tmd2021 <- vroom(fpath) -ns(tmd2021) -tmd2021 |> filter(row_number() < 20) |> select(RECID, s006, c00100) - - -# weights ----------------------------------------------------------------- - - -weightfiles <- dir_ls(here::here("temp_data")) |> str_subset("tmd_weights.csv.gz") -# weights_long <- vroom(weightfiles, col_select = "WT2021") -# all_columns <- purrr::map(weightfiles, \(x) vroom(x, col_select = "WT2021")) |> -# list_cbind() -f <- function(fpath){ - cd <- str_sub(fs::path_file(fpath), 1, 4) - print(cd) - vroom(fpath, col_select = "WT2021") |> - rename(!!cd := WT2021) -} - -a <- proc.time() -weights <- test <- purrr::map(weightfiles, f) |> - list_cbind() |> - mutate(row=row_number()) |> - relocate(row) -b <- proc.time() -b - a # 79 seconds - -system.time(saveRDS(weights, here::here("intermediate", "weights.rds"))) # 23 seconds - - -# summaries --------------------------------------------------------------- -system.time(cdweights <- readRDS(here::here("intermediate", "weights.rds"))) # 4.5 secs, 390 mb -# names(cdweights) - -ns(tmd2021) -df <- tmd2021 |> - select(RECID, data_source, us=s006, c00100, e00200, e00300, e26270, iitax) |> - mutate(row=row_number(), wtdn=1) |> - left_join(cdweights, by = join_by(row)) - -glimpse(df) -df[1:5, 1:5] - -a <- proc.time() -dfxsums <- df |> - summarise(across(c(us, ak00:wy00), - list(wtdn = \(x) sum(x * wtdn), - c00100 = \(x) sum(x * c00100), - e00200 = \(x) sum(x * e00200), - e00300 = \(x) sum(x * e00300), - e26270 = \(x) sum(x * e26270), - iitax = \(x) sum(x * iitax))), - .by=data_source) |> - pivot_longer(-data_source, values_to = "sum") |> - separate(name, into=c("statecd", "variable")) -b <- proc.time() -b - a # 2.2 - -dfxsums - -avgs <- dfxsums |> - mutate(avg=sum / sum[variable=="wtdn"], - .by=c(data_source, statecd)) - - -awide <- avgs |> - select(-sum) |> - pivot_wider(names_from = variable, values_from = avg) - -awide |> - arrange(desc(iitax)) |> - slice_head(n=5) - -awide |> - arrange(desc(iitax)) |> - slice_tail(n=5) - - -variable_names <- c("c00100", "e00200", "e00300", "iitax") - -# Generic approach using a function to pass the list of variable names -dfxsums <- df |> - summarise(across(c(s006, ak00:wy00), - list = setNames( - lapply(variable_names, function(var) { - function(x) sum(x * .data[[var]]) - }), - variable_names - )), - .by = data_source) - - -variable_names <- c("c00100", "e00200", "e00300", "iitax") - -# Generic approach using purrr::map to iterate over variables -dfxsums <- df |> - summarise( - # Summarise over s006, ak00 to wy00 - across(c(s006, ak00:wy00), sum), - # Add summary for each variable dynamically - !!!map(variable_names, ~summarise( - df, !!sym(.x) := sum(.data[[.x]] * df[[.x]]) - )), - .by = data_source - ) - -dfxsums[, 1:5] - -variable_names <- c("c00100", "e00200", "e00300", "iitax") - -# Create a list of functions to apply for each variable -variable_functions <- setNames( - map(variable_names, ~function(x) sum(x * .data[[.x]])), - variable_names -) - -# Use summarise with across to generate suffixes dynamically -dfxsums <- df |> - summarise( - across( - c(s006, ak00:wy00), - .fns = variable_functions, - .names = "{.fn}_{.col}" - ), - .by = data_source - ) - - - -sum_weighted <- function(df, weight_vars, value_vars) { - df |> - summarise(across(all_of(weight_vars), - \(x) sapply(value_vars, \(y) sum(x * .data[[y]])), - .names = "{.col}_{.fn}"), - .by = data_source) -} - -# Usage -weight_vars <- c("s006", paste0(letters[1:2], "k00")) -value_vars <- c("c00100", "e00200", "e00300", "iitax") - -dfxsums2 <- sum_weighted(df, weight_vars, value_vars) - - - -df2 <- df |> - summarise(across(c(s006, ak00:wy00), - \(x) sum(x * c00100)), - .by=data_source) - -df3 <- df2 |> - pivot_longer(cols = -data_source) |> - pivot_wider(names_from = data_source, names_prefix = "ds") |> - mutate(dssum=ds0 + ds1) - -df3 |> - filter(name=="ny11") |> - kable() - -glimpse(df) -df2 <- df |> - summarise( - # nested across - across(c(ak00:wy00), - \(weight_col) across(c(wtdn, c00100, iitax), - \(value_col) sum(weight_col * value_col, na.rm = TRUE)), - .names = "{.col}_{.fn}"), - .by = data_source) - - -df2 <- df |> - summarise( - # nested across - across(c(ak00:wy00), - \(weight_col) across(c(wtdn, c00100, iitax), - \(value_col) sum(weight_col * value_col, na.rm = TRUE)), - .names = "{.col}_{.fn}"), - .by = data_source) - - -df2 <- df |> - summarise(across(c(s006, ak00:wy00), - \(x) sum(x * c00100)), - .by=data_source) - -a <- proc.time() -df3 <- df |> - rename(us=s006) |> - pivot_longer(cols=c(us, ak00:wy00), names_to = "statecd", values_to = "weight") -glimpse(df3) - -sums <- df3 |> - summarise(across(c(wtdn, c00100, e00200, e00300, iitax), - \(x) sum(x * weight)), - .by=c(data_source, statecd)) # a little slow -b <- proc.time() -b - a # 17.5 secs - -sums |> filter(statecd=="ny11") -sums |> filter(statecd=="ca16") - -avgs <- sums |> - mutate(across(c(c00100:iitax), \(x) x / wtdn)) |> - filter(data_source==1) |> - arrange(desc(c00100)) - -summary(avgs) -head(avgs) -tail(avgs) - -mhhi <- read_csv(here::here("raw_data", "mhhi2022.csv")) - -comp <- avgs |> - left_join(mhhi, by = join_by(statecd)) - -comp |> - ggplot(aes(mhhi, c00100)) + - geom_point(colour="blue") + - geom_smooth() - geom_abline(slope=1) + - theme_bw() - - -comp |> - mutate(rmhhi=rank(mhhi), rc00100=rank(c00100)) |> - ggplot(aes(rmhhi, rc00100)) + - geom_point(colour="blue") + - geom_abline(slope=1) + - theme_bw() - - -comp |> - mutate(rmhhi=rank(mhhi), rc00100=rank(c00100), riitax=rank(iitax)) |> - ggplot(aes(rmhhi, riitax)) + - geom_point(colour="blue") + - geom_abline(slope=1) + - theme_bw() - -comp |> - mutate(rmhhi=rank(mhhi), rc00100=rank(c00100), riitax=rank(iitax), - rdiff=rc00100 - rmhhi, - wagepct=e00200 / c00100) |> - filter(abs(rdiff) > 200) - -comp |> - mutate(rmhhi=rank(mhhi), rc00100=rank(c00100), riitax=rank(iitax), - rdiff=rc00100 - rmhhi, - wagepct=e00200 / c00100) |> - ggplot(aes(wagepct, rdiff)) + - geom_point() - -comp |> - mutate(rmhhi=rank(mhhi), rc00100=rank(c00100), riitax=rank(iitax), - rdiff=rc00100 - rmhhi, - wagepct=e00200 / c00100) |> - ggplot(aes(wagepct, iitax)) + - geom_point() - - - -df3 |> - arrange(desc(value)) - -ns(df) -dfxsums <- df |> - summarise(across(c(c00100, e00200, e00300, iitax), - \(y) across(c(ak00:wy00), - \(x) sum(x * y), - .names = "{.col}_{.fn}"), - .names = "{.col}"), - .by = data_source) - - -dfxsums <- df |> - summarise(across(c(c00100, e00200, e00300, iitax), - \(y) across(c(ak00:wy00), - \(x) sum(x * .data[[cur_column()]]), - .names = "{.col}_{.fn}"), - .names = "{.col}"), - .by = data_source) - -dfxsums <- df |> - summarise(across(c(c00100, e00200, e00300, iitax), - \(y) across(c(ak00:wy00), - \(x) sum(x * y), - .names = "{.col}_{.fn}"), - .names = "{.col}"), - .by = data_source) - - -library(dplyr) - -dfxsums <- df %>% - group_by(data_source) %>% - summarise(across(c(c00100, e00200, e00300, iitax), - list(ak00 = ~sum(.x * ak00), - al00 = ~sum(.x * al00), - wy00 = ~sum(.x * wy00)), - .names = "{.col}_{.fn}")) - - - -targetfiles <- dir_ls(here::here("temp_data")) |> str_subset("targets.csv") - - -# Assuming the column you need is called "needed_column" -# Assuming your base file is read as follows -base_file <- read_csv("path/to/base_file.csv") - -# Read each CSV file and select only the required column -all_columns <- map(csv_files, ~ read_csv(.x, col_select = c("needed_column"))) - -# Combine all the columns -# This assumes that each column has the same order as the base file -combined_data <- bind_cols(base_file, all_columns) - -# View the combined data -print(combined_data) - -# c00100, e00200, e00300, iitax -dfxsums <- df |> - summarise(across(c(s006, ak00:wy00), - \(x) sum(x * c00100)), - .by=data_source) - - -dfxsums[, 1:5] - -# .names = "{.col}_{.fn}") - -variable_names <- c("c00100", "e00200", "e00300", "iitax") - -# Summarise across the columns of interest, applying each calculation -dfxsums <- df %>% - summarise( - across( - c(s006, ak00:wy00), - list = setNames( - lapply(variable_names, function(var) { - function(x) sum(x * df[[var]]) - }), - variable_names - ), - .names = "{.fn}_{.col}" - ), - .by = data_source - ) - -dfxsums - diff --git a/tmd/areas/weights/examine/README.md b/tmd/areas/weights/examine/README.md deleted file mode 100644 index 6a31b476..00000000 --- a/tmd/areas/weights/examine/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# areas / weights / examine - -Contains an R project with code used in sub-national area weights quality examination. - -The R project: - -1. constructs summary data needed to analyze quality, - -2. prepares summary tables comparing weighted area sums to targets and potential targets (if an item was not targeted), and - -3. creates local web pages for Congressional Districts and states (in \_cd and \_state folders that it creates). - -The user can deploy these pages to the web if desired. Online versions as of December 31, 2024 are at these links: [Congressional Districts](https://tmd-examine-cds.netlify.app/) and [states](https://tmd-examine-states.netlify.app/). - -## How to run the R project to examine updated results - -After cloning the tax-microdata-benchmarking repository to your local computer and creating new weights: - -- For each area type (cd or state) that you want to examine, copy `_targets.csv` files, `.log` files, and `_tmd_weights.csv.gz` files to a folder on your computer. - -- Make sure you have opened the RStudio project and created the necessary project environment with `renv::restore()`. - -- Edit `functions_constant.R`: - - - Define `WEIGHTS_DIR` for Congressional Districts and `WEIGHTS_DIR` for states to point to the folders for target files, log files and weights files that you established in the first step. - - - If you want to change the areas for which individual reports are created, modify the `AREAS` vector for Congressional Districts or for states, or both. - -- Source the `render_all.R` file - -- In the console, enter `render_all(eval_data = TRUE, deploy = FALSE)`. - -This will create the two local web pages. It will take a while, especially for Congressional Districts, because it must (1) create a version of the TMD file with one weight for every area, for every tax unit, and (2) for each area, for each of approximately 10 TMD variables, calculate by filer status, marital status, and AGi range the weighted sum and weighted number of returns with nonzero, positive, and negative values for the variable. After the first run, you can set `eval_data = FALSE` and it will use a previously saved summary file. diff --git a/tmd/areas/weights/examine/_area-template_dt.qmd b/tmd/areas/weights/examine/_area-template_dt.qmd deleted file mode 100644 index f23d64a0..00000000 --- a/tmd/areas/weights/examine/_area-template_dt.qmd +++ /dev/null @@ -1,32 +0,0 @@ -## Results for area: `r stringr::str_to_upper("{{area}}")` - -```{r} -#| echo: false -#| column: page - -areatab <- compfile |> - filter(area == "{{area}}") |> - filter(!((varname=="iitax") & (fstatus > 0 | count ==2 | agistub > 0))) |> - select(-basesoivname) |> - select(-c(adiff, apdiff, target_used)) |> - mutate(across(c(scope, count, fstatus, varname, agistub, agilabel, description), - \(x) as.factor(x)), - across(c(target, wtdsum, diff), - \(x) case_when(varname == "XTOT" & count == 0 ~ x, - count == 0 ~ x / 1e6, - count == 1 ~ x, - .default = x))) |> - DT::datatable(rownames = FALSE, - options = list(order = list(1, "asc"), # use 2nd column (1) for sorting - scrollX = TRUE, scrollY = TRUE, paging = TRUE, pageLength = 25, - autoWidth = TRUE), - filter="top", - escape = FALSE) |> - formatCurrency(columns = c("target", "wtdsum", "diff"), currency="", digits=1) |> - formatPercentage(columns = c("pdiff"), digits = 1) - -areatab - -``` - - diff --git a/tmd/areas/weights/examine/_quarto.yml b/tmd/areas/weights/examine/_quarto.yml deleted file mode 100644 index 8cf4bf68..00000000 --- a/tmd/areas/weights/examine/_quarto.yml +++ /dev/null @@ -1,30 +0,0 @@ -project: - type: book - output-dir: _site - -# netlify deploy --prod --dir=_state for https://tmd-examine-state.netlify.app/ -# netlify deploy --prod --dir=_cd for https://tmd-examine-cds.netlify.app/ - -# netlify deploy --prod --dir=_state --site=4842eca7-3a3b-4183-8b73-5635ad95101d -# netlify deploy --prod --dir=_cd --site=573ad544-144b-4535-88cb-f2c41792fe84 - -format: - html: - theme: cosmo - code-fold: true - toc: true - toc-location: right - toc-depth: 3 - toc-expand: true - -book: - title: "Examination report for Congressional Districts" - date: now - date-format: "MMM D, YYYY hh:mm a" - chapters: - - index.qmd - - data_preparation.qmd - - variables_analyzed.qmd - - summary_analysis.qmd - - individual_reports.qmd - diff --git a/tmd/areas/weights/examine/_quarto_template.yml b/tmd/areas/weights/examine/_quarto_template.yml deleted file mode 100644 index 2523bb63..00000000 --- a/tmd/areas/weights/examine/_quarto_template.yml +++ /dev/null @@ -1,30 +0,0 @@ -project: - type: book - output-dir: _site - -# netlify deploy --prod --dir=_state for https://tmd-examine-state.netlify.app/ -# netlify deploy --prod --dir=_cd for https://tmd-examine-cds.netlify.app/ - -# netlify deploy --prod --dir=_state --site=4842eca7-3a3b-4183-8b73-5635ad95101d -# netlify deploy --prod --dir=_cd --site=573ad544-144b-4535-88cb-f2c41792fe84 - -format: - html: - theme: cosmo - code-fold: true - toc: true - toc-location: right - toc-depth: 3 - toc-expand: true - -book: - title: "{{book_title}}" - date: now - date-format: "MMM D, YYYY hh:mm a" - chapters: - - index.qmd - - data_preparation.qmd - - variables_analyzed.qmd - - summary_analysis.qmd - - individual_reports.qmd - diff --git a/tmd/areas/weights/examine/data_preparation.qmd b/tmd/areas/weights/examine/data_preparation.qmd deleted file mode 100644 index 0c9982b5..00000000 --- a/tmd/areas/weights/examine/data_preparation.qmd +++ /dev/null @@ -1,78 +0,0 @@ ---- -params: - area_type: "placeholder" - eval_data: FALSE -engine: knitr -output: html_document -editor_options: - chunk_output_type: console ---- - -# Data preparation - -```{r} -#| label: setup -#| output: false - -source(here::here("R", "libraries.R")) -source(here::here("R", "functions.R")) -source(here::here("R", "functions_constants.R")) - -``` - - -```{r} -#| label: constants -#| output: false - -AREA_TYPE = params$area_type - -CONSTANTS <- get_constants(AREA_TYPE) -CONSTANTS - -``` - -Prepare data for `r CONSTANTS$LONG_NAME`. - -## ONETIME: Get and save weights - -Get and save a wide tibble of weights each time new weights are produced. Once the file is created and saved, retrieval is much faster. - -```{r} -#| label: ONETIME-save-weights -#| eval: !expr params$eval_data -#| output: false - -save_weights() - -``` - -## ONETIME: Supplement the weights file with selected TMD variables and summarize - -Supplement the weights with selected TMD variables and summarize. Update when area weights change, or the national TMD data change, or if we choose additional or alternative TMD variables to summarize. - - -```{r} -#| label: ONETIME-save-enhanced-weighted-tmd-sums -#| eval: !expr params$eval_data -#| output: false - -TAXCALC_VARS <- c("XTOT", "c00100", "e00200", "e00300", "e01500", "e02400", "e26270", "e18400", "e18500", "iitax") -save_enhanced_weighted_sums(TAXCALC_VARS) - -``` - -## Prepare target comparison file - -```{r} -#| label: save-final-file -#| eval: !expr params$eval_data -#| output: false - -compfile <- get_combined_file() -write_csv(compfile, fs::path(CONSTANTS$OUTPUT_DIR, "compfile.csv")) -# skim_without_charts(compfile) - -``` - - diff --git a/tmd/areas/weights/examine/examine.Rproj b/tmd/areas/weights/examine/examine.Rproj deleted file mode 100644 index 245722df..00000000 --- a/tmd/areas/weights/examine/examine.Rproj +++ /dev/null @@ -1,14 +0,0 @@ -Version: 1.0 -ProjectId: 5e4c4087-6cca-4925-8969-ec2f6790f8be - -RestoreWorkspace: No -SaveWorkspace: No -AlwaysSaveHistory: Default - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 2 -Encoding: UTF-8 - -RnwWeave: Sweave -LaTeX: pdfLaTeX diff --git a/tmd/areas/weights/examine/index.qmd b/tmd/areas/weights/examine/index.qmd deleted file mode 100644 index 64268a68..00000000 --- a/tmd/areas/weights/examine/index.qmd +++ /dev/null @@ -1,38 +0,0 @@ ---- -engine: knitr -output: html_document -params: - area_type: "placeholder" - eval_data: FALSE -editor_options: - chunk_output_type: console ---- - -# Introduction - - -```{r} -#| label: setup -#| output: false - -source(here::here("R", "libraries.R")) -source(here::here("R", "functions.R")) -source(here::here("R", "functions_constants.R")) - -``` - - -```{r} -#| label: constants -#| output: false - -AREA_TYPE = params$area_type - -CONSTANTS <- get_constants(AREA_TYPE) -CONSTANTS - -``` - - -Analysis of results for `r CONSTANTS$LONG_NAME`. - diff --git a/tmd/areas/weights/examine/individual_reports.qmd b/tmd/areas/weights/examine/individual_reports.qmd deleted file mode 100644 index 2d25029a..00000000 --- a/tmd/areas/weights/examine/individual_reports.qmd +++ /dev/null @@ -1,86 +0,0 @@ ---- -params: - area_type: "placeholder" - eval_data: FALSE -engine: knitr -output: html_document -editor_options: - chunk_output_type: console ---- - -# Individual area reports - -```{r} -#| label: setup -#| output: false - -source(here::here("R", "libraries.R")) -source(here::here("R", "functions.R")) -source(here::here("R", "functions_constants.R")) - -``` - - -```{r} -#| label: constants -#| output: false - -AREA_TYPE = params$area_type - -CONSTANTS <- get_constants(AREA_TYPE) -# CONSTANTS - -``` - -Reports for selected individual `r CONSTANTS$LONG_NAME`. - -## Explanation of tables for individual `r CONSTANTS$LONG_NAME` - -The next sections have results for selected areas, in filterable and searchable form. - -Units: - -- Dollar amounts are in $ millions (varname==amount for target, wtdvalue, and diff) -- Counts (including XTOT) are actual numbers - -scope: - -- 0 = total population -- 1 = filers -- 2 = nonfilers (none currently in the table) - -fstatus: - -- 0 = sum of all statuses -- 1 = married joint -- 2 = single -- 3 = married filing separately (not targeted) -- 4 = head of household - -targeted: - -- true = item was targeted -- false = variable was in target file but item was not targeted (e.g., amount was targeted but not count, or item was commented out) - -Dropdown boxes and search fields allow narrowing down the records that are displayed. - - -**Note**: Because we do not have targets for iitax we show only total iitax and number of returns with nonzero iitax. Additional summaries are available in the comparison file created in this R project. - - -```{r} -#| label: create-area-reports -#| results: asis -#| echo: false - -compfile <- readr::read_csv(fs::path(CONSTANTS$OUTPUT_DIR, "compfile.csv"), - show_col_types = FALSE) - -for(area in CONSTANTS$AREAS) { - template <- readLines("_area-template_dt.qmd") - template <- stringr::str_replace_all(template, coll("{{area}}"), area) - cat(knitr::knit_child(text = template, quiet = TRUE)) - cat("\n\n") -} - -``` diff --git a/tmd/areas/weights/examine/renv.lock b/tmd/areas/weights/examine/renv.lock deleted file mode 100644 index d5de396b..00000000 --- a/tmd/areas/weights/examine/renv.lock +++ /dev/null @@ -1,2066 +0,0 @@ -{ - "R": { - "Version": "4.4.2", - "Repositories": [ - { - "Name": "CRAN", - "URL": "https://cloud.r-project.org" - } - ] - }, - "Packages": { - "DBI": { - "Package": "DBI", - "Version": "1.2.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "065ae649b05f1ff66bb0c793107508f5" - }, - "DT": { - "Package": "DT", - "Version": "0.33", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "crosstalk", - "htmltools", - "htmlwidgets", - "httpuv", - "jquerylib", - "jsonlite", - "magrittr", - "promises" - ], - "Hash": "64ff3427f559ce3f2597a4fe13255cb6" - }, - "KernSmooth": { - "Package": "KernSmooth", - "Version": "2.23-24", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats" - ], - "Hash": "9f33a1ee37bbe8919eb2ec4b9f2473a5" - }, - "MASS": { - "Package": "MASS", - "Version": "7.3-61", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats", - "utils" - ], - "Hash": "0cafd6f0500e5deba33be22c46bf6055" - }, - "Matrix": { - "Package": "Matrix", - "Version": "1.7-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "grid", - "lattice", - "methods", - "stats", - "utils" - ], - "Hash": "5122bb14d8736372411f955e1b16bc8a" - }, - "R6": { - "Package": "R6", - "Version": "2.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "470851b6d5d0ac559e9d01bb352b4021" - }, - "RColorBrewer": { - "Package": "RColorBrewer", - "Version": "1.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "45f0398006e83a5b10b72a90663d8d8c" - }, - "Rcpp": { - "Package": "Rcpp", - "Version": "1.0.13-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "utils" - ], - "Hash": "6b868847b365672d6c1677b1608da9ed" - }, - "V8": { - "Package": "V8", - "Version": "6.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Rcpp", - "curl", - "jsonlite", - "utils" - ], - "Hash": "6603bfcbc7883a5fed41fb13042a3899" - }, - "askpass": { - "Package": "askpass", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "sys" - ], - "Hash": "c39f4155b3ceb1a9a2799d700fbd4b6a" - }, - "backports": { - "Package": "backports", - "Version": "1.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "e1e1b9d75c37401117b636b7ae50827a" - }, - "base64enc": { - "Package": "base64enc", - "Version": "0.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "543776ae6848fde2f48ff3816d0628bc" - }, - "bigD": { - "Package": "bigD", - "Version": "0.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "78dfe2b21e523358871eea1601b04b56" - }, - "bit": { - "Package": "bit", - "Version": "4.5.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "f89f074e0e49bf1dbe3eba0a15a91476" - }, - "bit64": { - "Package": "bit64", - "Version": "4.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit", - "methods", - "stats", - "utils" - ], - "Hash": "e84984bf5f12a18628d9a02322128dfd" - }, - "bitops": { - "Package": "bitops", - "Version": "1.0-9", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "d972ef991d58c19e6efa71b21f5e144b" - }, - "blob": { - "Package": "blob", - "Version": "1.2.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "rlang", - "vctrs" - ], - "Hash": "40415719b5a479b87949f3aa0aee737c" - }, - "broom": { - "Package": "broom", - "Version": "1.0.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "backports", - "dplyr", - "generics", - "glue", - "lifecycle", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyr" - ], - "Hash": "8fcc818f3b9887aebaf206f141437cc9" - }, - "bslib": { - "Package": "bslib", - "Version": "0.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "cachem", - "fastmap", - "grDevices", - "htmltools", - "jquerylib", - "jsonlite", - "lifecycle", - "memoise", - "mime", - "rlang", - "sass" - ], - "Hash": "b299c6741ca9746fb227debcb0f9fb6c" - }, - "cachem": { - "Package": "cachem", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "fastmap", - "rlang" - ], - "Hash": "cd9a672193789068eb5a2aad65a0dedf" - }, - "callr": { - "Package": "callr", - "Version": "3.7.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "processx", - "utils" - ], - "Hash": "d7e13f49c19103ece9e58ad2d83a7354" - }, - "cellranger": { - "Package": "cellranger", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "rematch", - "tibble" - ], - "Hash": "f61dbaec772ccd2e17705c1e872e9e7c" - }, - "class": { - "Package": "class", - "Version": "7.3-22", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "stats", - "utils" - ], - "Hash": "f91f6b29f38b8c280f2b9477787d4bb2" - }, - "classInt": { - "Package": "classInt", - "Version": "0.4-10", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "KernSmooth", - "R", - "class", - "e1071", - "grDevices", - "graphics", - "stats" - ], - "Hash": "f5a40793b1ae463a7ffb3902a95bf864" - }, - "cli": { - "Package": "cli", - "Version": "3.6.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "b21916dd77a27642b447374a5d30ecf3" - }, - "clipr": { - "Package": "clipr", - "Version": "0.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "3f038e5ac7f41d4ac41ce658c85e3042" - }, - "colorspace": { - "Package": "colorspace", - "Version": "2.1-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats" - ], - "Hash": "d954cb1c57e8d8b756165d7ba18aa55a" - }, - "commonmark": { - "Package": "commonmark", - "Version": "1.9.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "14eb0596f987c71535d07c3aff814742" - }, - "conflicted": { - "Package": "conflicted", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "memoise", - "rlang" - ], - "Hash": "bb097fccb22d156624fd07cd2894ddb6" - }, - "cpp11": { - "Package": "cpp11", - "Version": "0.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "9df43854f1c84685d095ed6270b52387" - }, - "crayon": { - "Package": "crayon", - "Version": "1.5.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "methods", - "utils" - ], - "Hash": "859d96e65ef198fd43e82b9628d593ef" - }, - "crosstalk": { - "Package": "crosstalk", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "htmltools", - "jsonlite", - "lazyeval" - ], - "Hash": "ab12c7b080a57475248a30f4db6298c0" - }, - "curl": { - "Package": "curl", - "Version": "6.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "e8ba62486230951fcd2b881c5be23f96" - }, - "data.table": { - "Package": "data.table", - "Version": "1.16.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "38bbf05fc2503143db4c734a7e5cab66" - }, - "dbplyr": { - "Package": "dbplyr", - "Version": "2.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "DBI", - "R", - "R6", - "blob", - "cli", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "utils", - "vctrs", - "withr" - ], - "Hash": "39b2e002522bfd258039ee4e889e0fd1" - }, - "digest": { - "Package": "digest", - "Version": "0.6.37", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "33698c4b3127fc9f506654607fb73676" - }, - "dplyr": { - "Package": "dplyr", - "Version": "1.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "cli", - "generics", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "rlang", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "fedd9d00c2944ff00a0e2696ccf048ec" - }, - "dtplyr": { - "Package": "dtplyr", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "data.table", - "dplyr", - "glue", - "lifecycle", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "54ed3ea01b11e81a86544faaecfef8e2" - }, - "e1071": { - "Package": "e1071", - "Version": "1.7-16", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "class", - "grDevices", - "graphics", - "methods", - "proxy", - "stats", - "utils" - ], - "Hash": "27a09ca40266a1066d62ef5402dd51d6" - }, - "evaluate": { - "Package": "evaluate", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "3fd29944b231036ad67c3edb32e02201" - }, - "fansi": { - "Package": "fansi", - "Version": "1.0.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "utils" - ], - "Hash": "962174cf2aeb5b9eea581522286a911f" - }, - "farver": { - "Package": "farver", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "680887028577f3fa2a81e410ed0d6e42" - }, - "fastmap": { - "Package": "fastmap", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "aa5e1cd11c2d15497494c5292d7ffcc8" - }, - "fontawesome": { - "Package": "fontawesome", - "Version": "0.5.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "htmltools", - "rlang" - ], - "Hash": "bd1297f9b5b1fc1372d19e2c4cd82215" - }, - "forcats": { - "Package": "forcats", - "Version": "1.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "tibble" - ], - "Hash": "1a0a9a3d5083d0d573c4214576f1e690" - }, - "fs": { - "Package": "fs", - "Version": "1.6.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "7f48af39fa27711ea5fbd183b399920d" - }, - "gargle": { - "Package": "gargle", - "Version": "1.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "fs", - "glue", - "httr", - "jsonlite", - "lifecycle", - "openssl", - "rappdirs", - "rlang", - "stats", - "utils", - "withr" - ], - "Hash": "fc0b272e5847c58cd5da9b20eedbd026" - }, - "generics": { - "Package": "generics", - "Version": "0.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "15e9634c0fcd294799e9b2e929ed1b86" - }, - "ggplot2": { - "Package": "ggplot2", - "Version": "3.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "cli", - "glue", - "grDevices", - "grid", - "gtable", - "isoband", - "lifecycle", - "mgcv", - "rlang", - "scales", - "stats", - "tibble", - "vctrs", - "withr" - ], - "Hash": "44c6a2f8202d5b7e878ea274b1092426" - }, - "glue": { - "Package": "glue", - "Version": "1.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "5899f1eaa825580172bb56c08266f37c" - }, - "googledrive": { - "Package": "googledrive", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "gargle", - "glue", - "httr", - "jsonlite", - "lifecycle", - "magrittr", - "pillar", - "purrr", - "rlang", - "tibble", - "utils", - "uuid", - "vctrs", - "withr" - ], - "Hash": "e99641edef03e2a5e87f0a0b1fcc97f4" - }, - "googlesheets4": { - "Package": "googlesheets4", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cli", - "curl", - "gargle", - "glue", - "googledrive", - "httr", - "ids", - "lifecycle", - "magrittr", - "methods", - "purrr", - "rematch2", - "rlang", - "tibble", - "utils", - "vctrs", - "withr" - ], - "Hash": "d6db1667059d027da730decdc214b959" - }, - "gt": { - "Package": "gt", - "Version": "0.11.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "bigD", - "bitops", - "cli", - "commonmark", - "dplyr", - "fs", - "glue", - "htmltools", - "htmlwidgets", - "juicyjuice", - "magrittr", - "markdown", - "reactable", - "rlang", - "sass", - "scales", - "tidyselect", - "vctrs", - "xml2" - ], - "Hash": "3170d1f0f45e531c241179ab57cd30bd" - }, - "gtable": { - "Package": "gtable", - "Version": "0.3.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "grid", - "lifecycle", - "rlang", - "stats" - ], - "Hash": "de949855009e2d4d0e52a844e30617ae" - }, - "haven": { - "Package": "haven", - "Version": "2.5.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "forcats", - "hms", - "lifecycle", - "methods", - "readr", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "9171f898db9d9c4c1b2c745adc2c1ef1" - }, - "here": { - "Package": "here", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "rprojroot" - ], - "Hash": "24b224366f9c2e7534d2344d10d59211" - }, - "highr": { - "Package": "highr", - "Version": "0.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "xfun" - ], - "Hash": "d65ba49117ca223614f71b60d85b8ab7" - }, - "hms": { - "Package": "hms", - "Version": "1.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "lifecycle", - "methods", - "pkgconfig", - "rlang", - "vctrs" - ], - "Hash": "b59377caa7ed00fa41808342002138f9" - }, - "htmltools": { - "Package": "htmltools", - "Version": "0.5.8.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "digest", - "fastmap", - "grDevices", - "rlang", - "utils" - ], - "Hash": "81d371a9cc60640e74e4ab6ac46dcedc" - }, - "htmlwidgets": { - "Package": "htmlwidgets", - "Version": "1.6.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "htmltools", - "jsonlite", - "knitr", - "rmarkdown", - "yaml" - ], - "Hash": "04291cc45198225444a397606810ac37" - }, - "httpuv": { - "Package": "httpuv", - "Version": "1.6.15", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "Rcpp", - "later", - "promises", - "utils" - ], - "Hash": "d55aa087c47a63ead0f6fc10f8fa1ee0" - }, - "httr": { - "Package": "httr", - "Version": "1.4.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "curl", - "jsonlite", - "mime", - "openssl" - ], - "Hash": "ac107251d9d9fd72f0ca8049988f1d7f" - }, - "ids": { - "Package": "ids", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "openssl", - "uuid" - ], - "Hash": "99df65cfef20e525ed38c3d2577f7190" - }, - "isoband": { - "Package": "isoband", - "Version": "0.2.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grid", - "utils" - ], - "Hash": "0080607b4a1a7b28979aecef976d8bc2" - }, - "janitor": { - "Package": "janitor", - "Version": "2.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "dplyr", - "hms", - "lifecycle", - "lubridate", - "magrittr", - "purrr", - "rlang", - "snakecase", - "stringi", - "stringr", - "tidyr", - "tidyselect" - ], - "Hash": "64f308bf1fbf5f856cdf4b4c7c0ce51b" - }, - "jquerylib": { - "Package": "jquerylib", - "Version": "0.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "htmltools" - ], - "Hash": "5aab57a3bd297eee1c1d862735972182" - }, - "jsonlite": { - "Package": "jsonlite", - "Version": "1.8.9", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods" - ], - "Hash": "4e993b65c2c3ffbffce7bb3e2c6f832b" - }, - "juicyjuice": { - "Package": "juicyjuice", - "Version": "0.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "V8" - ], - "Hash": "3bcd11943da509341838da9399e18bce" - }, - "knitr": { - "Package": "knitr", - "Version": "1.49", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "evaluate", - "highr", - "methods", - "tools", - "xfun", - "yaml" - ], - "Hash": "9fcb189926d93c636dea94fbe4f44480" - }, - "labeling": { - "Package": "labeling", - "Version": "0.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "graphics", - "stats" - ], - "Hash": "b64ec208ac5bc1852b285f665d6368b3" - }, - "later": { - "Package": "later", - "Version": "1.4.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Rcpp", - "rlang" - ], - "Hash": "501744395cac0bab0fbcfab9375ae92c" - }, - "lattice": { - "Package": "lattice", - "Version": "0.22-5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "grid", - "stats", - "utils" - ], - "Hash": "7c5e89f04e72d6611c77451f6331a091" - }, - "lazyeval": { - "Package": "lazyeval", - "Version": "0.2.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "d908914ae53b04d4c0c0fd72ecc35370" - }, - "lifecycle": { - "Package": "lifecycle", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "rlang" - ], - "Hash": "b8552d117e1b808b09a832f589b79035" - }, - "lubridate": { - "Package": "lubridate", - "Version": "1.9.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "generics", - "methods", - "timechange" - ], - "Hash": "be38bc740fc51783a78edb5a157e4104" - }, - "magrittr": { - "Package": "magrittr", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "7ce2733a9826b3aeb1775d56fd305472" - }, - "markdown": { - "Package": "markdown", - "Version": "1.13", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "commonmark", - "utils", - "xfun" - ], - "Hash": "074efab766a9d6360865ad39512f2a7e" - }, - "memoise": { - "Package": "memoise", - "Version": "2.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cachem", - "rlang" - ], - "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" - }, - "mgcv": { - "Package": "mgcv", - "Version": "1.9-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", - "graphics", - "methods", - "nlme", - "splines", - "stats", - "utils" - ], - "Hash": "110ee9d83b496279960e162ac97764ce" - }, - "mime": { - "Package": "mime", - "Version": "0.12", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tools" - ], - "Hash": "18e9c28c1d3ca1560ce30658b22ce104" - }, - "modelr": { - "Package": "modelr", - "Version": "0.1.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "magrittr", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "vctrs" - ], - "Hash": "4f50122dc256b1b6996a4703fecea821" - }, - "munsell": { - "Package": "munsell", - "Version": "0.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "colorspace", - "methods" - ], - "Hash": "4fd8900853b746af55b81fda99da7695" - }, - "nlme": { - "Package": "nlme", - "Version": "3.1-166", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "graphics", - "lattice", - "stats", - "utils" - ], - "Hash": "ccbb8846be320b627e6aa2b4616a2ded" - }, - "openssl": { - "Package": "openssl", - "Version": "2.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "askpass" - ], - "Hash": "5bfe2927efa9f87766ca9605301ea48f" - }, - "pillar": { - "Package": "pillar", - "Version": "1.10.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cli", - "glue", - "lifecycle", - "rlang", - "utf8", - "utils", - "vctrs" - ], - "Hash": "101ca350beea21261a15ba169d7a8513" - }, - "pkgconfig": { - "Package": "pkgconfig", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "01f28d4278f15c76cddbea05899c5d6f" - }, - "prettyunits": { - "Package": "prettyunits", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" - }, - "processx": { - "Package": "processx", - "Version": "3.8.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "ps", - "utils" - ], - "Hash": "0c90a7d71988856bad2a2a45dd871bb9" - }, - "progress": { - "Package": "progress", - "Version": "1.2.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "crayon", - "hms", - "prettyunits" - ], - "Hash": "f4625e061cb2865f111b47ff163a5ca6" - }, - "promises": { - "Package": "promises", - "Version": "1.3.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "Rcpp", - "fastmap", - "later", - "magrittr", - "rlang", - "stats" - ], - "Hash": "c84fd4f75ea1f5434735e08b7f50fbca" - }, - "proxy": { - "Package": "proxy", - "Version": "0.4-27", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", - "utils" - ], - "Hash": "e0ef355c12942cf7a6b91a6cfaea8b3e" - }, - "ps": { - "Package": "ps", - "Version": "1.8.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "b4404b1de13758dea1c0484ad0d48563" - }, - "purrr": { - "Package": "purrr", - "Version": "1.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "lifecycle", - "magrittr", - "rlang", - "vctrs" - ], - "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc" - }, - "quarto": { - "Package": "quarto", - "Version": "1.4.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "jsonlite", - "later", - "processx", - "rlang", - "rmarkdown", - "rstudioapi", - "tools", - "utils", - "yaml" - ], - "Hash": "af456d7a181750812bd8b2bfedb3ea4e" - }, - "ragg": { - "Package": "ragg", - "Version": "1.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "systemfonts", - "textshaping" - ], - "Hash": "0595fe5e47357111f29ad19101c7d271" - }, - "rappdirs": { - "Package": "rappdirs", - "Version": "0.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "5e3c5dc0b071b21fa128676560dbe94d" - }, - "reactR": { - "Package": "reactR", - "Version": "0.6.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "htmltools" - ], - "Hash": "b8e3d93f508045812f47136c7c44c251" - }, - "reactable": { - "Package": "reactable", - "Version": "0.4.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "digest", - "htmltools", - "htmlwidgets", - "jsonlite", - "reactR" - ], - "Hash": "6069eb2a6597963eae0605c1875ff14c" - }, - "readr": { - "Package": "readr", - "Version": "2.1.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "cli", - "clipr", - "cpp11", - "crayon", - "hms", - "lifecycle", - "methods", - "rlang", - "tibble", - "tzdb", - "utils", - "vroom" - ], - "Hash": "9de96463d2117f6ac49980577939dfb3" - }, - "readxl": { - "Package": "readxl", - "Version": "1.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cpp11", - "progress", - "tibble", - "utils" - ], - "Hash": "8cf9c239b96df1bbb133b74aef77ad0a" - }, - "rematch": { - "Package": "rematch", - "Version": "2.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "cbff1b666c6fa6d21202f07e2318d4f1" - }, - "rematch2": { - "Package": "rematch2", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tibble" - ], - "Hash": "76c9e04c712a05848ae7a23d2f170a40" - }, - "renv": { - "Package": "renv", - "Version": "1.0.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "47623f66b4e80b3b0587bc5d7b309888" - }, - "repr": { - "Package": "repr", - "Version": "1.1.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "grDevices", - "htmltools", - "jsonlite", - "pillar", - "utils" - ], - "Hash": "1393acc49816f4fe143d87fb33e75631" - }, - "reprex": { - "Package": "reprex", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "callr", - "cli", - "clipr", - "fs", - "glue", - "knitr", - "lifecycle", - "rlang", - "rmarkdown", - "rstudioapi", - "utils", - "withr" - ], - "Hash": "97b1d5361a24d9fb588db7afe3e5bcbf" - }, - "rlang": { - "Package": "rlang", - "Version": "1.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "3eec01f8b1dee337674b2e34ab1f9bc1" - }, - "rmarkdown": { - "Package": "rmarkdown", - "Version": "2.29", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bslib", - "evaluate", - "fontawesome", - "htmltools", - "jquerylib", - "jsonlite", - "knitr", - "methods", - "tinytex", - "tools", - "utils", - "xfun", - "yaml" - ], - "Hash": "df99277f63d01c34e95e3d2f06a79736" - }, - "rprojroot": { - "Package": "rprojroot", - "Version": "2.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "4c8415e0ec1e29f3f4f6fc108bef0144" - }, - "rstudioapi": { - "Package": "rstudioapi", - "Version": "0.17.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "5f90cd73946d706cfe26024294236113" - }, - "rvest": { - "Package": "rvest", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "httr", - "lifecycle", - "magrittr", - "rlang", - "selectr", - "tibble", - "xml2" - ], - "Hash": "0bcf0c6f274e90ea314b812a6d19a519" - }, - "s2": { - "Package": "s2", - "Version": "1.1.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp", - "wk" - ], - "Hash": "3c8013cdd7f1d20de5762e3f97e5e274" - }, - "sass": { - "Package": "sass", - "Version": "0.4.9", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "fs", - "htmltools", - "rappdirs", - "rlang" - ], - "Hash": "d53dbfddf695303ea4ad66f86e99b95d" - }, - "scales": { - "Package": "scales", - "Version": "1.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "RColorBrewer", - "cli", - "farver", - "glue", - "labeling", - "lifecycle", - "munsell", - "rlang", - "viridisLite" - ], - "Hash": "c19df082ba346b0ffa6f833e92de34d1" - }, - "selectr": { - "Package": "selectr", - "Version": "0.4-2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "methods", - "stringr" - ], - "Hash": "3838071b66e0c566d55cc26bd6e27bf4" - }, - "sf": { - "Package": "sf", - "Version": "1.0-19", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "DBI", - "R", - "Rcpp", - "classInt", - "grDevices", - "graphics", - "grid", - "magrittr", - "methods", - "s2", - "stats", - "tools", - "units", - "utils" - ], - "Hash": "fe02eec2f6b3ba0e24afe83d5ccfb528" - }, - "shiny": { - "Package": "shiny", - "Version": "1.10.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "bslib", - "cachem", - "commonmark", - "crayon", - "fastmap", - "fontawesome", - "glue", - "grDevices", - "htmltools", - "httpuv", - "jsonlite", - "later", - "lifecycle", - "methods", - "mime", - "promises", - "rlang", - "sourcetools", - "tools", - "utils", - "withr", - "xtable" - ], - "Hash": "4b4477baa9a939c5577e5ddb4bf01f28" - }, - "skimr": { - "Package": "skimr", - "Version": "2.1.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "dplyr", - "knitr", - "magrittr", - "pillar", - "purrr", - "repr", - "rlang", - "stats", - "stringr", - "tibble", - "tidyr", - "tidyselect", - "vctrs" - ], - "Hash": "8f138ff2c8fbea9e0a523f6c399c0386" - }, - "snakecase": { - "Package": "snakecase", - "Version": "0.11.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stringi", - "stringr" - ], - "Hash": "58767e44739b76965332e8a4fe3f91f1" - }, - "sourcetools": { - "Package": "sourcetools", - "Version": "0.1.7-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "5f5a7629f956619d519205ec475fe647" - }, - "stringi": { - "Package": "stringi", - "Version": "1.8.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", - "tools", - "utils" - ], - "Hash": "39e1144fd75428983dc3f63aa53dfa91" - }, - "stringr": { - "Package": "stringr", - "Version": "1.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "stringi", - "vctrs" - ], - "Hash": "960e2ae9e09656611e0b8214ad543207" - }, - "sys": { - "Package": "sys", - "Version": "3.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "de342ebfebdbf40477d0758d05426646" - }, - "systemfonts": { - "Package": "systemfonts", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11", - "lifecycle" - ], - "Hash": "213b6b8ed5afbf934843e6c3b090d418" - }, - "textshaping": { - "Package": "textshaping", - "Version": "0.4.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11", - "lifecycle", - "systemfonts" - ], - "Hash": "573e0d015b7fc3e555f83e254cad7533" - }, - "tibble": { - "Package": "tibble", - "Version": "3.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "fansi", - "lifecycle", - "magrittr", - "methods", - "pillar", - "pkgconfig", - "rlang", - "utils", - "vctrs" - ], - "Hash": "a84e2cc86d07289b3b6f5069df7a004c" - }, - "tidycensus": { - "Package": "tidycensus", - "Version": "1.6.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "crayon", - "dplyr", - "httr", - "jsonlite", - "purrr", - "rappdirs", - "readr", - "rlang", - "rvest", - "sf", - "stringr", - "tidyr", - "tidyselect", - "tigris", - "units", - "utils", - "xml2" - ], - "Hash": "dc9899377067fb70fd35f5278946dde3" - }, - "tidyr": { - "Package": "tidyr", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "915fb7ce036c22a6a33b5a8adb712eb1" - }, - "tidyselect": { - "Package": "tidyselect", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang", - "vctrs", - "withr" - ], - "Hash": "829f27b9c4919c16b593794a6344d6c0" - }, - "tidyverse": { - "Package": "tidyverse", - "Version": "2.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "cli", - "conflicted", - "dbplyr", - "dplyr", - "dtplyr", - "forcats", - "ggplot2", - "googledrive", - "googlesheets4", - "haven", - "hms", - "httr", - "jsonlite", - "lubridate", - "magrittr", - "modelr", - "pillar", - "purrr", - "ragg", - "readr", - "readxl", - "reprex", - "rlang", - "rstudioapi", - "rvest", - "stringr", - "tibble", - "tidyr", - "xml2" - ], - "Hash": "c328568cd14ea89a83bd4ca7f54ae07e" - }, - "tigris": { - "Package": "tigris", - "Version": "2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "dplyr", - "httr", - "magrittr", - "methods", - "rappdirs", - "sf", - "stringr", - "utils", - "uuid" - ], - "Hash": "d750d0f06536d915f01d433254451204" - }, - "timechange": { - "Package": "timechange", - "Version": "0.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "c5f3c201b931cd6474d17d8700ccb1c8" - }, - "tinytex": { - "Package": "tinytex", - "Version": "0.54", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "xfun" - ], - "Hash": "3ec7e3ddcacc2d34a9046941222bf94d" - }, - "tzdb": { - "Package": "tzdb", - "Version": "0.4.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "f561504ec2897f4d46f0c7657e488ae1" - }, - "units": { - "Package": "units", - "Version": "0.8-5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp" - ], - "Hash": "119d19da480e873f72241ff6962ffd83" - }, - "utf8": { - "Package": "utf8", - "Version": "1.2.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "62b65c52671e6665f803ff02954446e9" - }, - "uuid": { - "Package": "uuid", - "Version": "1.2-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "34e965e62a41fcafb1ca60e9b142085b" - }, - "vctrs": { - "Package": "vctrs", - "Version": "0.6.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang" - ], - "Hash": "c03fa420630029418f7e6da3667aac4a" - }, - "viridisLite": { - "Package": "viridisLite", - "Version": "0.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c826c7c4241b6fc89ff55aaea3fa7491" - }, - "vroom": { - "Package": "vroom", - "Version": "1.6.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit64", - "cli", - "cpp11", - "crayon", - "glue", - "hms", - "lifecycle", - "methods", - "progress", - "rlang", - "stats", - "tibble", - "tidyselect", - "tzdb", - "vctrs", - "withr" - ], - "Hash": "390f9315bc0025be03012054103d227c" - }, - "withr": { - "Package": "withr", - "Version": "3.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics" - ], - "Hash": "cc2d62c76458d425210d1eb1478b30b4" - }, - "wk": { - "Package": "wk", - "Version": "0.9.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "37be35d733130f1de1ef51672cf7cdc0" - }, - "xfun": { - "Package": "xfun", - "Version": "0.49", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "stats", - "tools" - ], - "Hash": "8687398773806cfff9401a2feca96298" - }, - "xml2": { - "Package": "xml2", - "Version": "1.3.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "methods", - "rlang" - ], - "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61" - }, - "xtable": { - "Package": "xtable", - "Version": "1.8-4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", - "utils" - ], - "Hash": "b8acdf8af494d9ec19ccb2481a9b11c2" - }, - "yaml": { - "Package": "yaml", - "Version": "2.3.10", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "51dab85c6c98e50a18d7551e9d49f76c" - } - } -} diff --git a/tmd/areas/weights/examine/renv/.gitignore b/tmd/areas/weights/examine/renv/.gitignore deleted file mode 100644 index 0ec0cbba..00000000 --- a/tmd/areas/weights/examine/renv/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -library/ -local/ -cellar/ -lock/ -python/ -sandbox/ -staging/ diff --git a/tmd/areas/weights/examine/renv/activate.R b/tmd/areas/weights/examine/renv/activate.R deleted file mode 100644 index 0eb51088..00000000 --- a/tmd/areas/weights/examine/renv/activate.R +++ /dev/null @@ -1,1305 +0,0 @@ - -local({ - - # the requested version of renv - version <- "1.0.11" - attr(version, "sha") <- NULL - - # the project directory - project <- Sys.getenv("RENV_PROJECT") - if (!nzchar(project)) - project <- getwd() - - # use start-up diagnostics if enabled - diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") - if (diagnostics) { - start <- Sys.time() - profile <- tempfile("renv-startup-", fileext = ".Rprof") - utils::Rprof(profile) - on.exit({ - utils::Rprof(NULL) - elapsed <- signif(difftime(Sys.time(), start, units = "auto"), digits = 2L) - writeLines(sprintf("- renv took %s to run the autoloader.", format(elapsed))) - writeLines(sprintf("- Profile: %s", profile)) - print(utils::summaryRprof(profile)) - }, add = TRUE) - } - - # figure out whether the autoloader is enabled - enabled <- local({ - - # first, check config option - override <- getOption("renv.config.autoloader.enabled") - if (!is.null(override)) - return(override) - - # if we're being run in a context where R_LIBS is already set, - # don't load -- presumably we're being run as a sub-process and - # the parent process has already set up library paths for us - rcmd <- Sys.getenv("R_CMD", unset = NA) - rlibs <- Sys.getenv("R_LIBS", unset = NA) - if (!is.na(rlibs) && !is.na(rcmd)) - return(FALSE) - - # next, check environment variables - # TODO: prefer using the configuration one in the future - envvars <- c( - "RENV_CONFIG_AUTOLOADER_ENABLED", - "RENV_AUTOLOADER_ENABLED", - "RENV_ACTIVATE_PROJECT" - ) - - for (envvar in envvars) { - envval <- Sys.getenv(envvar, unset = NA) - if (!is.na(envval)) - return(tolower(envval) %in% c("true", "t", "1")) - } - - # enable by default - TRUE - - }) - - # bail if we're not enabled - if (!enabled) { - - # if we're not enabled, we might still need to manually load - # the user profile here - profile <- Sys.getenv("R_PROFILE_USER", unset = "~/.Rprofile") - if (file.exists(profile)) { - cfg <- Sys.getenv("RENV_CONFIG_USER_PROFILE", unset = "TRUE") - if (tolower(cfg) %in% c("true", "t", "1")) - sys.source(profile, envir = globalenv()) - } - - return(FALSE) - - } - - # avoid recursion - if (identical(getOption("renv.autoloader.running"), TRUE)) { - warning("ignoring recursive attempt to run renv autoloader") - return(invisible(TRUE)) - } - - # signal that we're loading renv during R startup - options(renv.autoloader.running = TRUE) - on.exit(options(renv.autoloader.running = NULL), add = TRUE) - - # signal that we've consented to use renv - options(renv.consent = TRUE) - - # load the 'utils' package eagerly -- this ensures that renv shims, which - # mask 'utils' packages, will come first on the search path - library(utils, lib.loc = .Library) - - # unload renv if it's already been loaded - if ("renv" %in% loadedNamespaces()) - unloadNamespace("renv") - - # load bootstrap tools - ansify <- function(text) { - if (renv_ansify_enabled()) - renv_ansify_enhanced(text) - else - renv_ansify_default(text) - } - - renv_ansify_enabled <- function() { - - override <- Sys.getenv("RENV_ANSIFY_ENABLED", unset = NA) - if (!is.na(override)) - return(as.logical(override)) - - pane <- Sys.getenv("RSTUDIO_CHILD_PROCESS_PANE", unset = NA) - if (identical(pane, "build")) - return(FALSE) - - testthat <- Sys.getenv("TESTTHAT", unset = "false") - if (tolower(testthat) %in% "true") - return(FALSE) - - iderun <- Sys.getenv("R_CLI_HAS_HYPERLINK_IDE_RUN", unset = "false") - if (tolower(iderun) %in% "false") - return(FALSE) - - TRUE - - } - - renv_ansify_default <- function(text) { - text - } - - renv_ansify_enhanced <- function(text) { - - # R help links - pattern <- "`\\?(renv::(?:[^`])+)`" - replacement <- "`\033]8;;ide:help:\\1\a?\\1\033]8;;\a`" - text <- gsub(pattern, replacement, text, perl = TRUE) - - # runnable code - pattern <- "`(renv::(?:[^`])+)`" - replacement <- "`\033]8;;ide:run:\\1\a\\1\033]8;;\a`" - text <- gsub(pattern, replacement, text, perl = TRUE) - - # return ansified text - text - - } - - renv_ansify_init <- function() { - - envir <- renv_envir_self() - if (renv_ansify_enabled()) - assign("ansify", renv_ansify_enhanced, envir = envir) - else - assign("ansify", renv_ansify_default, envir = envir) - - } - - `%||%` <- function(x, y) { - if (is.null(x)) y else x - } - - catf <- function(fmt, ..., appendLF = TRUE) { - - quiet <- getOption("renv.bootstrap.quiet", default = FALSE) - if (quiet) - return(invisible()) - - msg <- sprintf(fmt, ...) - cat(msg, file = stdout(), sep = if (appendLF) "\n" else "") - - invisible(msg) - - } - - header <- function(label, - ..., - prefix = "#", - suffix = "-", - n = min(getOption("width"), 78)) - { - label <- sprintf(label, ...) - n <- max(n - nchar(label) - nchar(prefix) - 2L, 8L) - if (n <= 0) - return(paste(prefix, label)) - - tail <- paste(rep.int(suffix, n), collapse = "") - paste0(prefix, " ", label, " ", tail) - - } - - heredoc <- function(text, leave = 0) { - - # remove leading, trailing whitespace - trimmed <- gsub("^\\s*\\n|\\n\\s*$", "", text) - - # split into lines - lines <- strsplit(trimmed, "\n", fixed = TRUE)[[1L]] - - # compute common indent - indent <- regexpr("[^[:space:]]", lines) - common <- min(setdiff(indent, -1L)) - leave - text <- paste(substring(lines, common), collapse = "\n") - - # substitute in ANSI links for executable renv code - ansify(text) - - } - - startswith <- function(string, prefix) { - substring(string, 1, nchar(prefix)) == prefix - } - - bootstrap <- function(version, library) { - - friendly <- renv_bootstrap_version_friendly(version) - section <- header(sprintf("Bootstrapping renv %s", friendly)) - catf(section) - - # attempt to download renv - catf("- Downloading renv ... ", appendLF = FALSE) - withCallingHandlers( - tarball <- renv_bootstrap_download(version), - error = function(err) { - catf("FAILED") - stop("failed to download:\n", conditionMessage(err)) - } - ) - catf("OK") - on.exit(unlink(tarball), add = TRUE) - - # now attempt to install - catf("- Installing renv ... ", appendLF = FALSE) - withCallingHandlers( - status <- renv_bootstrap_install(version, tarball, library), - error = function(err) { - catf("FAILED") - stop("failed to install:\n", conditionMessage(err)) - } - ) - catf("OK") - - # add empty line to break up bootstrapping from normal output - catf("") - - return(invisible()) - } - - renv_bootstrap_tests_running <- function() { - getOption("renv.tests.running", default = FALSE) - } - - renv_bootstrap_repos <- function() { - - # get CRAN repository - cran <- getOption("renv.repos.cran", "https://cloud.r-project.org") - - # check for repos override - repos <- Sys.getenv("RENV_CONFIG_REPOS_OVERRIDE", unset = NA) - if (!is.na(repos)) { - - # check for RSPM; if set, use a fallback repository for renv - rspm <- Sys.getenv("RSPM", unset = NA) - if (identical(rspm, repos)) - repos <- c(RSPM = rspm, CRAN = cran) - - return(repos) - - } - - # check for lockfile repositories - repos <- tryCatch(renv_bootstrap_repos_lockfile(), error = identity) - if (!inherits(repos, "error") && length(repos)) - return(repos) - - # retrieve current repos - repos <- getOption("repos") - - # ensure @CRAN@ entries are resolved - repos[repos == "@CRAN@"] <- cran - - # add in renv.bootstrap.repos if set - default <- c(FALLBACK = "https://cloud.r-project.org") - extra <- getOption("renv.bootstrap.repos", default = default) - repos <- c(repos, extra) - - # remove duplicates that might've snuck in - dupes <- duplicated(repos) | duplicated(names(repos)) - repos[!dupes] - - } - - renv_bootstrap_repos_lockfile <- function() { - - lockpath <- Sys.getenv("RENV_PATHS_LOCKFILE", unset = "renv.lock") - if (!file.exists(lockpath)) - return(NULL) - - lockfile <- tryCatch(renv_json_read(lockpath), error = identity) - if (inherits(lockfile, "error")) { - warning(lockfile) - return(NULL) - } - - repos <- lockfile$R$Repositories - if (length(repos) == 0) - return(NULL) - - keys <- vapply(repos, `[[`, "Name", FUN.VALUE = character(1)) - vals <- vapply(repos, `[[`, "URL", FUN.VALUE = character(1)) - names(vals) <- keys - - return(vals) - - } - - renv_bootstrap_download <- function(version) { - - sha <- attr(version, "sha", exact = TRUE) - - methods <- if (!is.null(sha)) { - - # attempting to bootstrap a development version of renv - c( - function() renv_bootstrap_download_tarball(sha), - function() renv_bootstrap_download_github(sha) - ) - - } else { - - # attempting to bootstrap a release version of renv - c( - function() renv_bootstrap_download_tarball(version), - function() renv_bootstrap_download_cran_latest(version), - function() renv_bootstrap_download_cran_archive(version) - ) - - } - - for (method in methods) { - path <- tryCatch(method(), error = identity) - if (is.character(path) && file.exists(path)) - return(path) - } - - stop("All download methods failed") - - } - - renv_bootstrap_download_impl <- function(url, destfile) { - - mode <- "wb" - - # https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17715 - fixup <- - Sys.info()[["sysname"]] == "Windows" && - substring(url, 1L, 5L) == "file:" - - if (fixup) - mode <- "w+b" - - args <- list( - url = url, - destfile = destfile, - mode = mode, - quiet = TRUE - ) - - if ("headers" %in% names(formals(utils::download.file))) { - headers <- renv_bootstrap_download_custom_headers(url) - if (length(headers) && is.character(headers)) - args$headers <- headers - } - - do.call(utils::download.file, args) - - } - - renv_bootstrap_download_custom_headers <- function(url) { - - headers <- getOption("renv.download.headers") - if (is.null(headers)) - return(character()) - - if (!is.function(headers)) - stopf("'renv.download.headers' is not a function") - - headers <- headers(url) - if (length(headers) == 0L) - return(character()) - - if (is.list(headers)) - headers <- unlist(headers, recursive = FALSE, use.names = TRUE) - - ok <- - is.character(headers) && - is.character(names(headers)) && - all(nzchar(names(headers))) - - if (!ok) - stop("invocation of 'renv.download.headers' did not return a named character vector") - - headers - - } - - renv_bootstrap_download_cran_latest <- function(version) { - - spec <- renv_bootstrap_download_cran_latest_find(version) - type <- spec$type - repos <- spec$repos - - baseurl <- utils::contrib.url(repos = repos, type = type) - ext <- if (identical(type, "source")) - ".tar.gz" - else if (Sys.info()[["sysname"]] == "Windows") - ".zip" - else - ".tgz" - name <- sprintf("renv_%s%s", version, ext) - url <- paste(baseurl, name, sep = "/") - - destfile <- file.path(tempdir(), name) - status <- tryCatch( - renv_bootstrap_download_impl(url, destfile), - condition = identity - ) - - if (inherits(status, "condition")) - return(FALSE) - - # report success and return - destfile - - } - - renv_bootstrap_download_cran_latest_find <- function(version) { - - # check whether binaries are supported on this system - binary <- - getOption("renv.bootstrap.binary", default = TRUE) && - !identical(.Platform$pkgType, "source") && - !identical(getOption("pkgType"), "source") && - Sys.info()[["sysname"]] %in% c("Darwin", "Windows") - - types <- c(if (binary) "binary", "source") - - # iterate over types + repositories - for (type in types) { - for (repos in renv_bootstrap_repos()) { - - # build arguments for utils::available.packages() call - args <- list(type = type, repos = repos) - - # add custom headers if available -- note that - # utils::available.packages() will pass this to download.file() - if ("headers" %in% names(formals(utils::download.file))) { - headers <- renv_bootstrap_download_custom_headers(repos) - if (length(headers) && is.character(headers)) - args$headers <- headers - } - - # retrieve package database - db <- tryCatch( - as.data.frame( - do.call(utils::available.packages, args), - stringsAsFactors = FALSE - ), - error = identity - ) - - if (inherits(db, "error")) - next - - # check for compatible entry - entry <- db[db$Package %in% "renv" & db$Version %in% version, ] - if (nrow(entry) == 0) - next - - # found it; return spec to caller - spec <- list(entry = entry, type = type, repos = repos) - return(spec) - - } - } - - # if we got here, we failed to find renv - fmt <- "renv %s is not available from your declared package repositories" - stop(sprintf(fmt, version)) - - } - - renv_bootstrap_download_cran_archive <- function(version) { - - name <- sprintf("renv_%s.tar.gz", version) - repos <- renv_bootstrap_repos() - urls <- file.path(repos, "src/contrib/Archive/renv", name) - destfile <- file.path(tempdir(), name) - - for (url in urls) { - - status <- tryCatch( - renv_bootstrap_download_impl(url, destfile), - condition = identity - ) - - if (identical(status, 0L)) - return(destfile) - - } - - return(FALSE) - - } - - renv_bootstrap_download_tarball <- function(version) { - - # if the user has provided the path to a tarball via - # an environment variable, then use it - tarball <- Sys.getenv("RENV_BOOTSTRAP_TARBALL", unset = NA) - if (is.na(tarball)) - return() - - # allow directories - if (dir.exists(tarball)) { - name <- sprintf("renv_%s.tar.gz", version) - tarball <- file.path(tarball, name) - } - - # bail if it doesn't exist - if (!file.exists(tarball)) { - - # let the user know we weren't able to honour their request - fmt <- "- RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." - msg <- sprintf(fmt, tarball) - warning(msg) - - # bail - return() - - } - - catf("- Using local tarball '%s'.", tarball) - tarball - - } - - renv_bootstrap_github_token <- function() { - for (envvar in c("GITHUB_TOKEN", "GITHUB_PAT", "GH_TOKEN")) { - envval <- Sys.getenv(envvar, unset = NA) - if (!is.na(envval)) - return(envval) - } - } - - renv_bootstrap_download_github <- function(version) { - - enabled <- Sys.getenv("RENV_BOOTSTRAP_FROM_GITHUB", unset = "TRUE") - if (!identical(enabled, "TRUE")) - return(FALSE) - - # prepare download options - token <- renv_bootstrap_github_token() - if (nzchar(Sys.which("curl")) && nzchar(token)) { - fmt <- "--location --fail --header \"Authorization: token %s\"" - extra <- sprintf(fmt, token) - saved <- options("download.file.method", "download.file.extra") - options(download.file.method = "curl", download.file.extra = extra) - on.exit(do.call(base::options, saved), add = TRUE) - } else if (nzchar(Sys.which("wget")) && nzchar(token)) { - fmt <- "--header=\"Authorization: token %s\"" - extra <- sprintf(fmt, token) - saved <- options("download.file.method", "download.file.extra") - options(download.file.method = "wget", download.file.extra = extra) - on.exit(do.call(base::options, saved), add = TRUE) - } - - url <- file.path("https://api.github.com/repos/rstudio/renv/tarball", version) - name <- sprintf("renv_%s.tar.gz", version) - destfile <- file.path(tempdir(), name) - - status <- tryCatch( - renv_bootstrap_download_impl(url, destfile), - condition = identity - ) - - if (!identical(status, 0L)) - return(FALSE) - - renv_bootstrap_download_augment(destfile) - - return(destfile) - - } - - # Add Sha to DESCRIPTION. This is stop gap until #890, after which we - # can use renv::install() to fully capture metadata. - renv_bootstrap_download_augment <- function(destfile) { - sha <- renv_bootstrap_git_extract_sha1_tar(destfile) - if (is.null(sha)) { - return() - } - - # Untar - tempdir <- tempfile("renv-github-") - on.exit(unlink(tempdir, recursive = TRUE), add = TRUE) - untar(destfile, exdir = tempdir) - pkgdir <- dir(tempdir, full.names = TRUE)[[1]] - - # Modify description - desc_path <- file.path(pkgdir, "DESCRIPTION") - desc_lines <- readLines(desc_path) - remotes_fields <- c( - "RemoteType: github", - "RemoteHost: api.github.com", - "RemoteRepo: renv", - "RemoteUsername: rstudio", - "RemotePkgRef: rstudio/renv", - paste("RemoteRef: ", sha), - paste("RemoteSha: ", sha) - ) - writeLines(c(desc_lines[desc_lines != ""], remotes_fields), con = desc_path) - - # Re-tar - local({ - old <- setwd(tempdir) - on.exit(setwd(old), add = TRUE) - - tar(destfile, compression = "gzip") - }) - invisible() - } - - # Extract the commit hash from a git archive. Git archives include the SHA1 - # hash as the comment field of the tarball pax extended header - # (see https://www.kernel.org/pub/software/scm/git/docs/git-archive.html) - # For GitHub archives this should be the first header after the default one - # (512 byte) header. - renv_bootstrap_git_extract_sha1_tar <- function(bundle) { - - # open the bundle for reading - # We use gzcon for everything because (from ?gzcon) - # > Reading from a connection which does not supply a 'gzip' magic - # > header is equivalent to reading from the original connection - conn <- gzcon(file(bundle, open = "rb", raw = TRUE)) - on.exit(close(conn)) - - # The default pax header is 512 bytes long and the first pax extended header - # with the comment should be 51 bytes long - # `52 comment=` (11 chars) + 40 byte SHA1 hash - len <- 0x200 + 0x33 - res <- rawToChar(readBin(conn, "raw", n = len)[0x201:len]) - - if (grepl("^52 comment=", res)) { - sub("52 comment=", "", res) - } else { - NULL - } - } - - renv_bootstrap_install <- function(version, tarball, library) { - - # attempt to install it into project library - dir.create(library, showWarnings = FALSE, recursive = TRUE) - output <- renv_bootstrap_install_impl(library, tarball) - - # check for successful install - status <- attr(output, "status") - if (is.null(status) || identical(status, 0L)) - return(status) - - # an error occurred; report it - header <- "installation of renv failed" - lines <- paste(rep.int("=", nchar(header)), collapse = "") - text <- paste(c(header, lines, output), collapse = "\n") - stop(text) - - } - - renv_bootstrap_install_impl <- function(library, tarball) { - - # invoke using system2 so we can capture and report output - bin <- R.home("bin") - exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" - R <- file.path(bin, exe) - - args <- c( - "--vanilla", "CMD", "INSTALL", "--no-multiarch", - "-l", shQuote(path.expand(library)), - shQuote(path.expand(tarball)) - ) - - system2(R, args, stdout = TRUE, stderr = TRUE) - - } - - renv_bootstrap_platform_prefix <- function() { - - # construct version prefix - version <- paste(R.version$major, R.version$minor, sep = ".") - prefix <- paste("R", numeric_version(version)[1, 1:2], sep = "-") - - # include SVN revision for development versions of R - # (to avoid sharing platform-specific artefacts with released versions of R) - devel <- - identical(R.version[["status"]], "Under development (unstable)") || - identical(R.version[["nickname"]], "Unsuffered Consequences") - - if (devel) - prefix <- paste(prefix, R.version[["svn rev"]], sep = "-r") - - # build list of path components - components <- c(prefix, R.version$platform) - - # include prefix if provided by user - prefix <- renv_bootstrap_platform_prefix_impl() - if (!is.na(prefix) && nzchar(prefix)) - components <- c(prefix, components) - - # build prefix - paste(components, collapse = "/") - - } - - renv_bootstrap_platform_prefix_impl <- function() { - - # if an explicit prefix has been supplied, use it - prefix <- Sys.getenv("RENV_PATHS_PREFIX", unset = NA) - if (!is.na(prefix)) - return(prefix) - - # if the user has requested an automatic prefix, generate it - auto <- Sys.getenv("RENV_PATHS_PREFIX_AUTO", unset = NA) - if (is.na(auto) && getRversion() >= "4.4.0") - auto <- "TRUE" - - if (auto %in% c("TRUE", "True", "true", "1")) - return(renv_bootstrap_platform_prefix_auto()) - - # empty string on failure - "" - - } - - renv_bootstrap_platform_prefix_auto <- function() { - - prefix <- tryCatch(renv_bootstrap_platform_os(), error = identity) - if (inherits(prefix, "error") || prefix %in% "unknown") { - - msg <- paste( - "failed to infer current operating system", - "please file a bug report at https://github.com/rstudio/renv/issues", - sep = "; " - ) - - warning(msg) - - } - - prefix - - } - - renv_bootstrap_platform_os <- function() { - - sysinfo <- Sys.info() - sysname <- sysinfo[["sysname"]] - - # handle Windows + macOS up front - if (sysname == "Windows") - return("windows") - else if (sysname == "Darwin") - return("macos") - - # check for os-release files - for (file in c("/etc/os-release", "/usr/lib/os-release")) - if (file.exists(file)) - return(renv_bootstrap_platform_os_via_os_release(file, sysinfo)) - - # check for redhat-release files - if (file.exists("/etc/redhat-release")) - return(renv_bootstrap_platform_os_via_redhat_release()) - - "unknown" - - } - - renv_bootstrap_platform_os_via_os_release <- function(file, sysinfo) { - - # read /etc/os-release - release <- utils::read.table( - file = file, - sep = "=", - quote = c("\"", "'"), - col.names = c("Key", "Value"), - comment.char = "#", - stringsAsFactors = FALSE - ) - - vars <- as.list(release$Value) - names(vars) <- release$Key - - # get os name - os <- tolower(sysinfo[["sysname"]]) - - # read id - id <- "unknown" - for (field in c("ID", "ID_LIKE")) { - if (field %in% names(vars) && nzchar(vars[[field]])) { - id <- vars[[field]] - break - } - } - - # read version - version <- "unknown" - for (field in c("UBUNTU_CODENAME", "VERSION_CODENAME", "VERSION_ID", "BUILD_ID")) { - if (field %in% names(vars) && nzchar(vars[[field]])) { - version <- vars[[field]] - break - } - } - - # join together - paste(c(os, id, version), collapse = "-") - - } - - renv_bootstrap_platform_os_via_redhat_release <- function() { - - # read /etc/redhat-release - contents <- readLines("/etc/redhat-release", warn = FALSE) - - # infer id - id <- if (grepl("centos", contents, ignore.case = TRUE)) - "centos" - else if (grepl("redhat", contents, ignore.case = TRUE)) - "redhat" - else - "unknown" - - # try to find a version component (very hacky) - version <- "unknown" - - parts <- strsplit(contents, "[[:space:]]")[[1L]] - for (part in parts) { - - nv <- tryCatch(numeric_version(part), error = identity) - if (inherits(nv, "error")) - next - - version <- nv[1, 1] - break - - } - - paste(c("linux", id, version), collapse = "-") - - } - - renv_bootstrap_library_root_name <- function(project) { - - # use project name as-is if requested - asis <- Sys.getenv("RENV_PATHS_LIBRARY_ROOT_ASIS", unset = "FALSE") - if (asis) - return(basename(project)) - - # otherwise, disambiguate based on project's path - id <- substring(renv_bootstrap_hash_text(project), 1L, 8L) - paste(basename(project), id, sep = "-") - - } - - renv_bootstrap_library_root <- function(project) { - - prefix <- renv_bootstrap_profile_prefix() - - path <- Sys.getenv("RENV_PATHS_LIBRARY", unset = NA) - if (!is.na(path)) - return(paste(c(path, prefix), collapse = "/")) - - path <- renv_bootstrap_library_root_impl(project) - if (!is.null(path)) { - name <- renv_bootstrap_library_root_name(project) - return(paste(c(path, prefix, name), collapse = "/")) - } - - renv_bootstrap_paths_renv("library", project = project) - - } - - renv_bootstrap_library_root_impl <- function(project) { - - root <- Sys.getenv("RENV_PATHS_LIBRARY_ROOT", unset = NA) - if (!is.na(root)) - return(root) - - type <- renv_bootstrap_project_type(project) - if (identical(type, "package")) { - userdir <- renv_bootstrap_user_dir() - return(file.path(userdir, "library")) - } - - } - - renv_bootstrap_validate_version <- function(version, description = NULL) { - - # resolve description file - # - # avoid passing lib.loc to `packageDescription()` below, since R will - # use the loaded version of the package by default anyhow. note that - # this function should only be called after 'renv' is loaded - # https://github.com/rstudio/renv/issues/1625 - description <- description %||% packageDescription("renv") - - # check whether requested version 'version' matches loaded version of renv - sha <- attr(version, "sha", exact = TRUE) - valid <- if (!is.null(sha)) - renv_bootstrap_validate_version_dev(sha, description) - else - renv_bootstrap_validate_version_release(version, description) - - if (valid) - return(TRUE) - - # the loaded version of renv doesn't match the requested version; - # give the user instructions on how to proceed - dev <- identical(description[["RemoteType"]], "github") - remote <- if (dev) - paste("rstudio/renv", description[["RemoteSha"]], sep = "@") - else - paste("renv", description[["Version"]], sep = "@") - - # display both loaded version + sha if available - friendly <- renv_bootstrap_version_friendly( - version = description[["Version"]], - sha = if (dev) description[["RemoteSha"]] - ) - - fmt <- heredoc(" - renv %1$s was loaded from project library, but this project is configured to use renv %2$s. - - Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile. - - Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library. - ") - catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) - - FALSE - - } - - renv_bootstrap_validate_version_dev <- function(version, description) { - expected <- description[["RemoteSha"]] - is.character(expected) && startswith(expected, version) - } - - renv_bootstrap_validate_version_release <- function(version, description) { - expected <- description[["Version"]] - is.character(expected) && identical(expected, version) - } - - renv_bootstrap_hash_text <- function(text) { - - hashfile <- tempfile("renv-hash-") - on.exit(unlink(hashfile), add = TRUE) - - writeLines(text, con = hashfile) - tools::md5sum(hashfile) - - } - - renv_bootstrap_load <- function(project, libpath, version) { - - # try to load renv from the project library - if (!requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) - return(FALSE) - - # warn if the version of renv loaded does not match - renv_bootstrap_validate_version(version) - - # execute renv load hooks, if any - hooks <- getHook("renv::autoload") - for (hook in hooks) - if (is.function(hook)) - tryCatch(hook(), error = warnify) - - # load the project - renv::load(project) - - TRUE - - } - - renv_bootstrap_profile_load <- function(project) { - - # if RENV_PROFILE is already set, just use that - profile <- Sys.getenv("RENV_PROFILE", unset = NA) - if (!is.na(profile) && nzchar(profile)) - return(profile) - - # check for a profile file (nothing to do if it doesn't exist) - path <- renv_bootstrap_paths_renv("profile", profile = FALSE, project = project) - if (!file.exists(path)) - return(NULL) - - # read the profile, and set it if it exists - contents <- readLines(path, warn = FALSE) - if (length(contents) == 0L) - return(NULL) - - # set RENV_PROFILE - profile <- contents[[1L]] - if (!profile %in% c("", "default")) - Sys.setenv(RENV_PROFILE = profile) - - profile - - } - - renv_bootstrap_profile_prefix <- function() { - profile <- renv_bootstrap_profile_get() - if (!is.null(profile)) - return(file.path("profiles", profile, "renv")) - } - - renv_bootstrap_profile_get <- function() { - profile <- Sys.getenv("RENV_PROFILE", unset = "") - renv_bootstrap_profile_normalize(profile) - } - - renv_bootstrap_profile_set <- function(profile) { - profile <- renv_bootstrap_profile_normalize(profile) - if (is.null(profile)) - Sys.unsetenv("RENV_PROFILE") - else - Sys.setenv(RENV_PROFILE = profile) - } - - renv_bootstrap_profile_normalize <- function(profile) { - - if (is.null(profile) || profile %in% c("", "default")) - return(NULL) - - profile - - } - - renv_bootstrap_path_absolute <- function(path) { - - substr(path, 1L, 1L) %in% c("~", "/", "\\") || ( - substr(path, 1L, 1L) %in% c(letters, LETTERS) && - substr(path, 2L, 3L) %in% c(":/", ":\\") - ) - - } - - renv_bootstrap_paths_renv <- function(..., profile = TRUE, project = NULL) { - renv <- Sys.getenv("RENV_PATHS_RENV", unset = "renv") - root <- if (renv_bootstrap_path_absolute(renv)) NULL else project - prefix <- if (profile) renv_bootstrap_profile_prefix() - components <- c(root, renv, prefix, ...) - paste(components, collapse = "/") - } - - renv_bootstrap_project_type <- function(path) { - - descpath <- file.path(path, "DESCRIPTION") - if (!file.exists(descpath)) - return("unknown") - - desc <- tryCatch( - read.dcf(descpath, all = TRUE), - error = identity - ) - - if (inherits(desc, "error")) - return("unknown") - - type <- desc$Type - if (!is.null(type)) - return(tolower(type)) - - package <- desc$Package - if (!is.null(package)) - return("package") - - "unknown" - - } - - renv_bootstrap_user_dir <- function() { - dir <- renv_bootstrap_user_dir_impl() - path.expand(chartr("\\", "/", dir)) - } - - renv_bootstrap_user_dir_impl <- function() { - - # use local override if set - override <- getOption("renv.userdir.override") - if (!is.null(override)) - return(override) - - # use R_user_dir if available - tools <- asNamespace("tools") - if (is.function(tools$R_user_dir)) - return(tools$R_user_dir("renv", "cache")) - - # try using our own backfill for older versions of R - envvars <- c("R_USER_CACHE_DIR", "XDG_CACHE_HOME") - for (envvar in envvars) { - root <- Sys.getenv(envvar, unset = NA) - if (!is.na(root)) - return(file.path(root, "R/renv")) - } - - # use platform-specific default fallbacks - if (Sys.info()[["sysname"]] == "Windows") - file.path(Sys.getenv("LOCALAPPDATA"), "R/cache/R/renv") - else if (Sys.info()[["sysname"]] == "Darwin") - "~/Library/Caches/org.R-project.R/R/renv" - else - "~/.cache/R/renv" - - } - - renv_bootstrap_version_friendly <- function(version, shafmt = NULL, sha = NULL) { - sha <- sha %||% attr(version, "sha", exact = TRUE) - parts <- c(version, sprintf(shafmt %||% " [sha: %s]", substring(sha, 1L, 7L))) - paste(parts, collapse = "") - } - - renv_bootstrap_exec <- function(project, libpath, version) { - if (!renv_bootstrap_load(project, libpath, version)) - renv_bootstrap_run(version, libpath) - } - - renv_bootstrap_run <- function(version, libpath) { - - # perform bootstrap - bootstrap(version, libpath) - - # exit early if we're just testing bootstrap - if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) - return(TRUE) - - # try again to load - if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { - return(renv::load(project = getwd())) - } - - # failed to download or load renv; warn the user - msg <- c( - "Failed to find an renv installation: the project will not be loaded.", - "Use `renv::activate()` to re-initialize the project." - ) - - warning(paste(msg, collapse = "\n"), call. = FALSE) - - } - - renv_json_read <- function(file = NULL, text = NULL) { - - jlerr <- NULL - - # if jsonlite is loaded, use that instead - if ("jsonlite" %in% loadedNamespaces()) { - - json <- tryCatch(renv_json_read_jsonlite(file, text), error = identity) - if (!inherits(json, "error")) - return(json) - - jlerr <- json - - } - - # otherwise, fall back to the default JSON reader - json <- tryCatch(renv_json_read_default(file, text), error = identity) - if (!inherits(json, "error")) - return(json) - - # report an error - if (!is.null(jlerr)) - stop(jlerr) - else - stop(json) - - } - - renv_json_read_jsonlite <- function(file = NULL, text = NULL) { - text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") - jsonlite::fromJSON(txt = text, simplifyVector = FALSE) - } - - renv_json_read_default <- function(file = NULL, text = NULL) { - - # find strings in the JSON - text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") - pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' - locs <- gregexpr(pattern, text, perl = TRUE)[[1]] - - # if any are found, replace them with placeholders - replaced <- text - strings <- character() - replacements <- character() - - if (!identical(c(locs), -1L)) { - - # get the string values - starts <- locs - ends <- locs + attr(locs, "match.length") - 1L - strings <- substring(text, starts, ends) - - # only keep those requiring escaping - strings <- grep("[[\\]{}:]", strings, perl = TRUE, value = TRUE) - - # compute replacements - replacements <- sprintf('"\032%i\032"', seq_along(strings)) - - # replace the strings - mapply(function(string, replacement) { - replaced <<- sub(string, replacement, replaced, fixed = TRUE) - }, strings, replacements) - - } - - # transform the JSON into something the R parser understands - transformed <- replaced - transformed <- gsub("{}", "`names<-`(list(), character())", transformed, fixed = TRUE) - transformed <- gsub("[[{]", "list(", transformed, perl = TRUE) - transformed <- gsub("[]}]", ")", transformed, perl = TRUE) - transformed <- gsub(":", "=", transformed, fixed = TRUE) - text <- paste(transformed, collapse = "\n") - - # parse it - json <- parse(text = text, keep.source = FALSE, srcfile = NULL)[[1L]] - - # construct map between source strings, replaced strings - map <- as.character(parse(text = strings)) - names(map) <- as.character(parse(text = replacements)) - - # convert to list - map <- as.list(map) - - # remap strings in object - remapped <- renv_json_read_remap(json, map) - - # evaluate - eval(remapped, envir = baseenv()) - - } - - renv_json_read_remap <- function(json, map) { - - # fix names - if (!is.null(names(json))) { - lhs <- match(names(json), names(map), nomatch = 0L) - rhs <- match(names(map), names(json), nomatch = 0L) - names(json)[rhs] <- map[lhs] - } - - # fix values - if (is.character(json)) - return(map[[json]] %||% json) - - # handle true, false, null - if (is.name(json)) { - text <- as.character(json) - if (text == "true") - return(TRUE) - else if (text == "false") - return(FALSE) - else if (text == "null") - return(NULL) - } - - # recurse - if (is.recursive(json)) { - for (i in seq_along(json)) { - json[i] <- list(renv_json_read_remap(json[[i]], map)) - } - } - - json - - } - - # load the renv profile, if any - renv_bootstrap_profile_load(project) - - # construct path to library root - root <- renv_bootstrap_library_root(project) - - # construct library prefix for platform - prefix <- renv_bootstrap_platform_prefix() - - # construct full libpath - libpath <- file.path(root, prefix) - - # run bootstrap code - renv_bootstrap_exec(project, libpath, version) - - invisible() - -}) diff --git a/tmd/areas/weights/examine/renv/settings.json b/tmd/areas/weights/examine/renv/settings.json deleted file mode 100644 index ffdbb320..00000000 --- a/tmd/areas/weights/examine/renv/settings.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "bioconductor.version": null, - "external.libraries": [], - "ignored.packages": [], - "package.dependency.fields": [ - "Imports", - "Depends", - "LinkingTo" - ], - "ppm.enabled": null, - "ppm.ignored.urls": [], - "r.version": null, - "snapshot.type": "implicit", - "use.cache": true, - "vcs.ignore.cellar": true, - "vcs.ignore.library": true, - "vcs.ignore.local": true, - "vcs.manage.ignores": true -} diff --git a/tmd/areas/weights/examine/summary_analysis.qmd b/tmd/areas/weights/examine/summary_analysis.qmd deleted file mode 100644 index d09889e2..00000000 --- a/tmd/areas/weights/examine/summary_analysis.qmd +++ /dev/null @@ -1,336 +0,0 @@ ---- -params: - area_type: "placeholder" - eval_data: FALSE -engine: knitr -output: html_document -editor_options: - chunk_output_type: console ---- - -# Summary analysis - -```{r} -#| label: setup -#| output: false - -source(here::here("R", "libraries.R")) -source(here::here("R", "functions.R")) -source(here::here("R", "functions_constants.R")) - -``` - - -```{r} -#| label: constants -#| output: false - -AREA_TYPE <- params$area_type - -CONSTANTS <- get_constants(AREA_TYPE) -CONSTANTS - -apdiffcuts <- c(-1e-99, .005, .01, .05, .1, .25, .5, .75, .90, .95, .99, 1, Inf) - -``` - -The results below for `r CONSTANTS$LONG_NAME` are for items we have mapped from the TMD PUF-based microdata to IRS-published SOI summary data for areas. Results are for targeted items, and untargeted items in mapped variables. For explanation of these terms see [Variables included in the analysis](variables_analyzed.qmd). - -Note that some tables below show median errors. By definition half of the errors will be larger than the median. - -Get `r CONSTANTS$LONG_NAME` data - -```{r} -#| label: get-data -#| output: false - -compfile <- readr::read_csv(fs::path(CONSTANTS$OUTPUT_DIR, "compfile.csv"), - show_col_types = FALSE) - -``` - -## Overall summary - -### Summary by size of percentage difference - -```{r} -#| label: overall-summary - -tabdata <- compfile |> - filter(!is.na(target)) |> - mutate(apcut = cut(apdiff, apdiffcuts)) |> - summarise(n=n(), - .by=c(targeted, apcut)) |> - mutate(targeted=ifelse(targeted, "targeted", "not_targeted")) |> - pivot_wider(names_from = targeted, - values_from = n, - values_fill = 0) |> - mutate(total=targeted + not_targeted) |> - arrange(apcut) |> - mutate(across(-apcut, list(share = \(x) x / sum(x))), - across(ends_with("share"), \(x) cumsum(x))) |> - adorn_totals() |> - mutate(across(contains("_share"), \(x) ifelse(apcut=="Total", NA_real_, x))) - -# skim_without_charts(tabdata) - -tabdata |> - gt()|> - tab_header("Summary results for TMD variables we have mapped to SOI data") |> - tab_spanner( - md("Number of items by targeting status and percentage-error group"), - columns=c(targeted, not_targeted, total)) |> - tab_spanner( - md("Cumulative percentage of items in error bins, by targeting status"), - columns=c(targeted_share, not_targeted_share, total_share)) |> - cols_label(apcut="Error-group bounds", - targeted_share="targeted", - not_targeted_share="not_targeted", - total_share="total") |> - fmt_number(columns = c(targeted, not_targeted, total), - decimals = 0) |> - fmt_percent(columns = ends_with("share"), - decimals=1) |> - tab_footnote( - footnote = "Example: (0.005,0.01] means > 0.5% and <= 1% error.", - locations = cells_column_labels(columns = apcut)) |> - sub_missing(missing_text = "--") - - -``` - - -### Summary by area - -```{r} -#| label: summary-by-area -#| column: page - -totapdiffs <- compfile |> - filter(!is.na(target), area != "us") |> - summarise(n=n(), - apdiff_median = median(apdiff), - .by=c(area)) |> - mutate(targeted = "total") - -tabdata <- compfile |> - filter(!is.na(target), area != "us") |> - summarise(n=n(), - apdiff_median = median(apdiff), - .by=c(area, targeted)) |> - mutate(targeted=ifelse(targeted, "targeted", "not_targeted")) |> - bind_rows(totapdiffs) |> - pivot_wider(names_from = targeted, - values_from = c(n, apdiff_median), - values_fill = 0) |> - mutate(n_total = n_targeted + n_not_targeted) |> - arrange(desc(apdiff_median_total)) |> - filter(row_number() <= 20) - -tabdata |> - gt()|> - tab_header("Summary results by area across variables we have mapped to SOI data", - subtitle = "Top 20 areas sorted by total absolute percentage difference") |> - tab_spanner( - md("Number of items by targeting status and area"), - columns=c(n_targeted, n_not_targeted, n_total)) |> - tab_spanner( - md("Median absolute percentage error by targeting status"), - columns=c(apdiff_median_targeted, apdiff_median_not_targeted, apdiff_median_total)) |> - cols_label( - contains("n_targeted") ~ "targeted", - contains("not_targeted") ~ "not targeted", - contains("total") ~ "total" - ) |> - fmt_number(columns = starts_with("n_"), - decimals = 0) |> - fmt_percent(columns = starts_with("apdiff_"), - decimals=1) |> - sub_missing(missing_text = "--") - -``` - - -### Summary by variable - -All filing statuses and agi ranges combined. - -```{r} -#| label: summary-by-variable -#| column: page - -probs <- c(0, .01, .05, .1, .25, .5, .75, .90, .95, .99, 1) - -tabdata <- compfile |> - filter(!is.na(target)) |> - mutate(apcut = cut(apdiff, apdiffcuts)) |> - summarise(n=n(), - .by=c(varname, basesoivname, description, scope, count, apcut, targeted)) |> - mutate(targeted=ifelse(targeted, "targeted", "not_targeted")) |> - pivot_wider(names_from = targeted, - values_from = n, - values_fill = 0) |> - mutate(total=targeted + not_targeted) |> - arrange(varname, basesoivname, scope, count, apcut) |> - mutate(across(-apcut, list(share = \(x) x / sum(x))), - across(ends_with("share"), \(x) cumsum(x)), - .by=c(varname, basesoivname, description, scope, count)) - -tabdata |> - mutate(across(c(scope, count, varname, basesoivname, description), - \(x) as.factor(x))) |> - DT::datatable(rownames = FALSE, - options = list(scrollX = TRUE, scrollY = TRUE, paging = TRUE, pageLength = 25, - autoWidth = TRUE), - filter="top", - escape = FALSE) |> - formatRound(columns = c("targeted", "not_targeted", "total"), digits = 0) |> - formatPercentage(columns = c("targeted_share", "not_targeted_share", "total_share"), digits = 1) - -``` - - -## Details - -```{r} -#| label: ftab -#| output: false - -ftab <- function(tabdf, header, subheader){ - tabdf |> - select(area, scope, count, fstatus, varname, description, agistub, agilabel, target, wtdsum, diff, pdiff, targeted) |> - gt() |> - tab_header(title=header, - subtitle = subheader) |> - fmt_percent(columns = pdiff, decimals=1) |> - fmt_currency(columns = c(target, wtdsum, diff), - rows = count == 0, - scale = 1e-9, - decimals = 2) |> - fmt_number(columns = c(target, wtdsum, diff), - rows = count > 0, - scale = 1e-3, - decimals = 1) -} - -``` - - -### Worst variable totals - -```{r} -#| label: top-20-pdiff-agistub0 -#| column: page - -tabdf <- compfile |> - filter(agistub == 0, area != "us") |> - arrange(desc(abs(pdiff))) |> - filter(row_number() <= 20) - -header <- "Top 20 worst percentage differences from potential target for agistub 0" -subheader <- "Amounts in $ billions, counts in thousands" - -ftab(tabdf, header, subheader) - -``` - - -```{r} -#| label: top-20-diff-agistub0 -#| column: page - -tabdf <- compfile |> - filter(agistub == 0, area != "us") |> - mutate(group = count==0) |> - arrange(group, desc(abs(diff))) |> - group_by(group) |> - filter(row_number() <= 10) |> - ungroup() |> - select(-group) - -header <- "Top 10 each worst dollar and count differences from potential target, agistub 0" -subheader <- "Amounts in $ billions, counts in thousands" - -ftab(tabdf, header, subheader) - -``` - - -### Worst targeted items - -```{r} -#| label: top-20-pdiff-targeted -#| column: page - -tabdf <- compfile |> - filter(targeted, area != "us") |> - arrange(desc(abs(pdiff))) |> - filter(row_number() <= 20) - -header <- "Top 20 worst percentage differences from target, targeted items" -subheader <- "Amounts in $ billions, counts in thousands" - -ftab(tabdf, header, subheader) - -``` - - -```{r} -#| label: top-20-diff-targeted -#| column: page - -tabdf <- compfile |> - filter(targeted, area != "us") |> - mutate(group = count==0) |> - arrange(group, desc(abs(diff))) |> - group_by(group) |> - filter(row_number() <= 10) |> - ungroup() |> - select(-group) - -header <- "Top 10 each worst count and dollar differences differences from target, targeted items" -subheader <- "Amounts in $ billions, counts in thousands" - -ftab(tabdf, header, subheader) - -``` - - -### Worst untargeted items - -```{r} -#| label: top-20-pdiff-untargeted -#| column: page - -tabdf <- compfile |> - filter(!targeted, area != "us") |> - arrange(desc(abs(pdiff))) |> - filter(row_number() <= 20) - -header <- "Top 20 worst percentage differences from potential target, untargeted items" -subheader <- "Amounts in $ billions, counts in thousands" - -ftab(tabdf, header, subheader) - -``` - - -```{r} -#| label: top-20-diff-untargeted -#| column: page - -tabdf <- compfile |> - filter(!targeted, area != "us") |> - mutate(group = count==0) |> - arrange(group, desc(abs(diff))) |> - group_by(group) |> - filter(row_number() <= 10) |> - ungroup() |> - select(-group) - -header <- "Top 10 each worst count and dollar differences from potential target, untargeted items" -subheader <- "Amounts in $ billions, counts in thousands" - -ftab(tabdf, header, subheader) - -``` diff --git a/tmd/areas/weights/examine/variables_analyzed.qmd b/tmd/areas/weights/examine/variables_analyzed.qmd deleted file mode 100644 index 8ec3c56e..00000000 --- a/tmd/areas/weights/examine/variables_analyzed.qmd +++ /dev/null @@ -1,83 +0,0 @@ ---- -params: - area_type: "placeholder" - eval_data: FALSE -engine: knitr -output: html_document -editor_options: - chunk_output_type: console ---- - -# Variables included in the analysis - -```{r} -#| label: setup -#| output: false - -source(here::here("R", "libraries.R")) -source(here::here("R", "functions.R")) -source(here::here("R", "functions_constants.R")) - -``` - - -```{r} -#| label: constants -#| output: false - -AREA_TYPE = params$area_type - -CONSTANTS <- get_constants(AREA_TYPE) -CONSTANTS - -``` - - -```{r} -#| label: get-data -#| output: false - -compfile <- readr::read_csv(fs::path(CONSTANTS$OUTPUT_DIR, "compfile.csv"), - show_col_types = FALSE) - -``` - -The analysis in this report includes variables that were mapped to SOI data, whether targeted or not (see below). It includes the following variables for `r CONSTANTS$LONG_NAME`. - -```{r} -#| label: vars-included - -vars_included <- compfile |> - select(varname, basesoivname, description) |> - distinct() - -vars_included |> - gt() - -``` - - -## What it means for a variable to be mapped to SOI data - -When a TMD variable is mapped to SOI data, it means that we were able to develop *potential* area targets for the variable using SOI data. Whether to use those targets in optimization is a separate decision. - -A TMD variable is mapped if we have, after careful checking, determined that we can link a specific TMD variable to a specific SOI variable or to a related proxy. - -For example: - -- TMD variable c00100 (AGI) links directly to the SOI variable a00100. -- TMD variable e01500 (Total pension income) does not have a directly corresponding variable in the SOI summary data. However, the SOI data have a01700 (Taxable pension income), which we used as a proxy for linking. Each area's potential target is estimated by sharing total TMD value for e01500 (i.e., its weighted sum for the nation) to individual areas according to its share of the national sum of SOI a01700. (This is done separately for each AGI range.) - -Variables that we have linked to the SOI in one of these ways are included in the analysis below. - -It is possible to extend the analysis to additional variables -- and to target additional variables -- but each requires careful checking to determine (1) whether an SOI variable is highly similar in concept to a TMD variable by checking IRS forms and other resources, and (2) how the magnitude of the SOI variable for the nation compares to the related TMD variable for the nation. - -## What it means for an item to be targeted - -Whether an item is targeted depends on how we defined targeting for a specific variable as well as our general rules of targeting. When we targeted specific variables, we generally targeted each AGI range separately. Because we targeted all AGI ranges, we did not need to target a total for the variable. This makes the optimization more efficient than if we targeted the total. - -In some cases, we excluded one or more income ranges from targeting, usually because the target created challenges and we expected it to be unimportant to overall tax liability. Also, we applied a blanket rule and did not target area-variable-agi combinations where the reported SOI value was zero. - -Thus, it is possible to have (1) mapped variables that are untargeted, (2) targeted variables with one or more AGI ranges excluded from targeting for all areas, and (3) targeted variables that have an AGI range untargeted for an individual area if the potential target for that area in that AGI range was zero. - -