diff --git a/.Rbuildignore b/.Rbuildignore index 6302f6f..fb3a77a 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -10,3 +10,6 @@ ^\.github$ ^doc$ ^Meta$ +^CITATION\.cff$ +^vignettes/articles$ +^Python$ diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 562fe0f..8a5bca6 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -1,13 +1,15 @@ -# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# R CMD check on every push and pull request, written by washr::setup_ci(). +# Derived from https://github.com/r-lib/actions/tree/v2/examples (check-standard), +# with the dev branch in the triggers as the openwashdata review standard requires. # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [main, master] + branches: [main, master, dev] pull_request: + branches: [main, master, dev] + workflow_dispatch: -name: R-CMD-check.yaml - -permissions: read-all +name: R-CMD-check jobs: R-CMD-check: @@ -48,4 +50,4 @@ jobs: - uses: r-lib/actions/check-r-package@v2 with: upload-snapshots: true - build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' + build_args: 'c("--no-manual")' diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml new file mode 100644 index 0000000..16c6c8b --- /dev/null +++ b/.github/workflows/pkgdown.yaml @@ -0,0 +1,47 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + push: + branches: [main, master] + pull_request: + release: + types: [published] + workflow_dispatch: + +name: pkgdown.yaml + +permissions: read-all + +jobs: + pkgdown: + runs-on: ubuntu-latest + # Only restrict concurrency for non-PR jobs + concurrency: + group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write + steps: + - uses: actions/checkout@v6 + + - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-r@v2 + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::pkgdown, local::. + needs: website + + - name: Build site + run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE) + shell: Rscript {0} + + - name: Deploy to GitHub pages 🚀 + if: github.event_name != 'pull_request' + uses: JamesIves/github-pages-deploy-action@d92aa235d04922e8f08b40ce78cc5442fcfbfa2f # v4.8.0 + with: + clean: false + branch: gh-pages + folder: docs diff --git a/.gitignore b/.gitignore index 96cd748..92d340f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ inst/doc /doc/ /Meta/ +docs diff --git a/CITATION.cff b/CITATION.cff index 2dc36c1..603f01f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,15 +1,15 @@ -# -------------------------------------------- -# CITATION file created with {cffr} R package +# ------------------------------------------------ +# CITATION.cff file created with {cffr} R package # See also: https://docs.ropensci.org/cffr/ -# -------------------------------------------- +# ------------------------------------------------ cff-version: 1.2.0 message: 'To cite package "glossarywho" in publications use:' -type: software +type: dataset license: CC-BY-4.0 title: 'glossarywho: WHO Glossary' -version: 0.1.0 -doi: 10.5281/zenodo.14754017 +version: 1.0.2 +doi: 10.5281/zenodo.14754016 abstract: This package provides access to a tidy version of the WHO Glossary (https://www.who.int/publications/i/item/9789240105485) and thematic areas for each term. authors: @@ -18,11 +18,20 @@ authors: email: ydubey@ethz.ch orcid: https://orcid.org/0009-0001-2849-970X repository-code: https://github.com/openwashdata/glossarywho -url: https://github.com/openwashdata/glossarywho +url: https://openwashdata.github.io/glossarywho/ date-released: '2025-01-28' contact: - family-names: Dubey given-names: Yash email: ydubey@ethz.ch orcid: https://orcid.org/0009-0001-2849-970X +keywords: +- open data +- washdata +- glossary +- health data +- health statistics +- public health indicators +- data governance +- WHO diff --git a/DESCRIPTION b/DESCRIPTION index ec1a322..e194841 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: glossarywho Type: Package Title: WHO Glossary -Version: 0.1.0 +Version: 1.0.2 Authors@R: c( person("Yash", "Dubey", , "ydubey@ethz.ch", role = c("cre", "aut"), comment = c(ORCID = "0009-0001-2849-970X")) @@ -14,7 +14,7 @@ Depends: R (>= 3.5) RoxygenNote: 7.3.2 Language: en-GB -Config/Needs/website: rmarkdown +Config/Needs/website: rmarkdown, dplyr, readr, stringr, gt, kableExtra, ggplot2, tidyverse, wordcloud, tm Date: 2025-01-28 URL: https://openwashdata.github.io/glossarywho/, https://github.com/openwashdata/glossarywho BugReports: https://github.com/openwashdata/glossarywho/issues @@ -22,3 +22,6 @@ Suggests: knitr, rmarkdown VignetteBuilder: knitr +X-schema.org-keywords: open data, washdata, glossary, health data, health statistics, public health indicators, data governance, WHO +X-schema.org-spatialCoverage: Global +X-schema.org-temporalCoverage: 2025-01-01/2025-12-31 diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 0000000..426ec7f --- /dev/null +++ b/NEWS.md @@ -0,0 +1,11 @@ +# glossarywho 1.0.2 + +* Metadata-only patch after the v1.0.1 Zenodo record, which was cut while DESCRIPTION still said 0.1.0. CITATION.cff and inst/CITATION carry the Zenodo concept DOI and declare the work as a dataset; DESCRIPTION gains keywords and the spatial and temporal coverage; the pkgdown site is deployed from gh-pages; R CMD check runs in CI on dev and main. The data are unchanged. + +# glossarywho 1.0.1 + +* Release archived on Zenodo. + +# glossarywho 1.0.0 + +* First release on GitHub. diff --git a/README.Rmd b/README.Rmd index bea7840..78c9288 100644 --- a/README.Rmd +++ b/README.Rmd @@ -29,6 +29,8 @@ knitr::opts_chunk$set( [![License: CC BY 4.0](https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14754016.svg)](https://zenodo.org/doi/10.5281/zenodo.14754016) +[![R-CMD-check](https://github.com/openwashdata/glossarywho/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/openwashdata/glossarywho/actions/workflows/R-CMD-check.yaml) The goal of glossarywho is to provide data from the [WHO Glossary](https://www.who.int/publications/i/item/9789240105485) in a tidy format. Access definitions by themes [here](https://openwashdata.github.io/glossarywho/articles/Themes.html) or use the search bar at the top of the page. @@ -177,7 +179,7 @@ wordcloud(words = names(sort(colSums(as.matrix(dtm)), decreasing = TRUE)), ## License Data are available as -[CC-BY](https://github.com/openwashdata/%7B%7B%7Bpackagename%7D%7D%7D/blob/main/LICENSE.md). +[CC-BY](https://github.com/openwashdata/glossarywho/blob/main/LICENSE.md). ## Citation diff --git a/README.md b/README.md index f72642d..0d8d6bc 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ [![License: CC BY 4.0](https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14754016.svg)](https://zenodo.org/doi/10.5281/zenodo.14754016) +[![R-CMD-check](https://github.com/openwashdata/glossarywho/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/openwashdata/glossarywho/actions/workflows/R-CMD-check.yaml) The goal of glossarywho is to provide data from the [WHO @@ -71,7 +73,7 @@ definitions |> gt::as_raw_html() ``` -
+
@@ -87,8 +89,7 @@ definitions |> - -
Delineated geographical areas within a particular territory created for the purpose of administration. For example: county, district, province, state, region, subnational or national (3).
+
### themes @@ -103,11 +104,11 @@ themes |> gt::as_raw_html() ``` -
+
- + @@ -119,8 +120,7 @@ themes |> - -
Thematic AreaThematic Area Term
Data source,collection, and collation Primary data
+
For an overview of the variable names, see the following table. @@ -219,7 +219,7 @@ themes |> panel.grid.minor.y = element_blank()) ``` - + ``` r # Wordcloud of most common words from definitions @@ -248,12 +248,12 @@ wordcloud(words = names(sort(colSums(as.matrix(dtm)), decreasing = TRUE)), colors = brewer.pal(8, "Dark2")) ``` - + ## License Data are available as -[CC-BY](https://github.com/openwashdata/%7B%7B%7Bpackagename%7D%7D%7D/blob/main/LICENSE.md). +[CC-BY](https://github.com/openwashdata/glossarywho/blob/main/LICENSE.md). ## Citation @@ -264,9 +264,9 @@ citation("glossarywho") #> To cite package 'glossarywho' in publications use: #> #> Dubey Y (2025). "glossarywho: WHO Glossary." -#> doi:10.5281/zenodo.14754017 -#> , -#> . +#> doi:10.5281/zenodo.14754016 +#> . +#> . #> #> A BibTeX entry for LaTeX users is #> @@ -274,9 +274,10 @@ citation("glossarywho") #> title = {glossarywho: WHO Glossary}, #> author = {Yash Dubey}, #> year = {2025}, -#> doi = {10.5281/zenodo.14754017}, -#> url = {https://github.com/openwashdata/glossarywho}, +#> doi = {10.5281/zenodo.14754016}, +#> url = {https://openwashdata.github.io/glossarywho/}, #> abstract = {This package provides access to a tidy version of the WHO Glossary (https://www.who.int/publications/i/item/9789240105485) and thematic areas for each term.}, -#> version = {0.1.0}, +#> keywords = {open data,washdata,glossary,health data,health statistics,public health indicators,data governance,WHO}, +#> version = {1.0.2}, #> } ``` diff --git a/_pkgdown.yml b/_pkgdown.yml index c713b43..a3685f6 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -19,8 +19,7 @@ home: components: custom: title: Funding - text: This project was funded by the [Open Research Data Program of the ETH - Board](https://ethrat.ch/en/eth-domain/open-research-data/). + text: This project was funded by the [Open Research Data Program of the ETH Board](https://ethrat.ch/en/eth-domain/open-research-data/). authors: footer: roles: @@ -51,226 +50,226 @@ articles: contents: Themes - title: Definitions contents: - - Accountability - - Accuracy - - Administrative area - - Age groupings - - Age-specific mortality rate - - Birth registration data - - Care cascade - - Catchment area - - Causes of death - - Chi-square (χ2) test - - Civil registration and vital statistics - - Completeness of reporting - - Compliance - - Composite indicator - - Confidentiality - - Confounding - - Construct validity - - Content validity - - Convergent validity - - Core indicator - - Correlation analysis - - Count - - Covariates - - Credibility - - Criterion validity - - Data access control - - Data accessibility - - Data anonymization - - Data collection level - - Data collection method - - Data consent - - Data custodian - - Data element - - Data governance - - Data harmonization - - Data information pyramid - - Data inputs - - Data integration - - Data integrity - - Data life cycle - - Data privacy - - Data provider - - Data quality assurance - - Data quality assessment - - Data quality - - Data security - - Data source - - Data standards - - Data steward - - Data stewardship - - Data triangulation - - Data type - - Data - - Death registration data - - Death registration desk - - Delineated geographical areas within - - Denominator - - Descriptive cross-sectional - - Descriptive analysis - - Digital health - - Disability adjusted life years (DALYs) - - Disaggregation - - Disease surveillance system - - Domain - - Ecological analysis - - Ecological fallacy - - Effect size - - Effective coverage - - Estimation method - - Evaluation - - Event-based surveillance - - External consistency of data - - External responsiveness - - Feasibility - - Focal point - - Gender - - Geo-enablement - - Geocoding - - Geographic accessibility - - Geographic information systems - - Geospatial analysis - - Geospatial data - - Global health estimates - - Global Health Observatory - - Gold standard - - Government agency or institution - - Granularity - - Health and demographic surveillance system - - Health data - - Health estimates - - Health facility census - - Health facility survey - - Health impact assessment - - Health indicator - - Health inequality - - Health inequity - - Health information system - - Health management information system - - Health survey - - Healthy life expectancy at birth - - Heaping of data - - Home-based record - - Impact indicator - - Imputation - - Incidence rate - - Indicator classification - - Indicator definition - - Indicator-based surveillance commonly - - Indicator-based surveillance - - Individual health record - - Input indicator - - Interaction - - Internal consistency of data - - Internal responsiveness - - International Classification of Diseases (ICD) - - International Health Regulations - - Interoperability - - Intervention coverage - - Joint external evaluation - - Kappa statistic (K) - - Linkage - - Logic model - - Master facility list - - Mean - - Measure - - Measurement method - - Measurement level - - Measurement - - Median - - Medical certification of cause of death - - Metadata - - Method of aggregate estimation - - Microdata - - Monitoring and evaluation (M&E) framework - - Monitoring - - Morbidity data - - Mortality coder - - Mortality data - - National health strategic plan - - National statistics office - - Nationally representative - - Negative predictive value - - Notifiable conditions - - Null hypothesis - - Numerator - - Odds ratio - - Outcome indicator - - Outcome-adjusted coverage - - Output indicator - - P value - - Percentage - - Periodicity - - Population attributable fraction - - Population-based survey - - Population census - - Positive predictive value - - Predictive validity - - Preferred data sources - - Prevalence rate - - Primary data - - Process indicator - - Process of validation - - Processed health data - - Proportion - - Proxy health indicator - - Public health surveillance system - - Publicly available - - Punctuality - - Quality-adjusted coverage - - Rate - - Ratio - - Rationale - - Raw health data - - Record linkage - - Register - - Registrar - - Registration form - - Registry - - Regression - - Relevance - - Reliability of data - - Representativeness - - Response rate - - Responsiveness - - Results framework - - Routine data - - Routine health information system - - Sample size - - Sample - - Sampling error - - Secondary data - - Sensitivity analysis - - Sex - - Stakeholder - - Standard operating procedures - - Statistical model - - Statistical significance - - Statistics - - Stratification - - Subnational - - Surveillance - - Survey data - - Survey - - Sustainability - - Sustainable Development Goals (SDGs) - - Target population - - Timeliness - - Tracer indicator - - Transparency - - Trend - - Uncertainty measure - - Unit of measure - - Usefulness or Utility - - Understandable or simplicty - - Validity - - Verbal autopsy - - Vital event - - Vital statistics - - Weighting - - Years lived with disability - - Years of life lost + - articles/Accountability + - articles/Accuracy + - articles/Administrative area + - articles/Age groupings + - articles/Age-specific mortality rate + - articles/Birth registration data + - articles/Care cascade + - articles/Catchment area + - articles/Causes of death + - articles/Chi-square (χ2) test + - articles/Civil registration and vital statistics + - articles/Completeness of reporting + - articles/Compliance + - articles/Composite indicator + - articles/Confidentiality + - articles/Confounding + - articles/Construct validity + - articles/Content validity + - articles/Convergent validity + - articles/Core indicator + - articles/Correlation analysis + - articles/Count + - articles/Covariates + - articles/Credibility + - articles/Criterion validity + - articles/Data access control + - articles/Data accessibility + - articles/Data anonymization + - articles/Data collection level + - articles/Data collection method + - articles/Data consent + - articles/Data custodian + - articles/Data element + - articles/Data governance + - articles/Data harmonization + - articles/Data information pyramid + - articles/Data inputs + - articles/Data integration + - articles/Data integrity + - articles/Data life cycle + - articles/Data privacy + - articles/Data provider + - articles/Data quality assurance + - articles/Data quality assessment + - articles/Data quality + - articles/Data security + - articles/Data source + - articles/Data standards + - articles/Data steward + - articles/Data stewardship + - articles/Data triangulation + - articles/Data type + - articles/Data + - articles/Death registration data + - articles/Death registration desk + - articles/Delineated geographical areas within + - articles/Denominator + - articles/Descriptive cross-sectional + - articles/Descriptive analysis + - articles/Digital health + - articles/Disability adjusted life years (DALYs) + - articles/Disaggregation + - articles/Disease surveillance system + - articles/Domain + - articles/Ecological analysis + - articles/Ecological fallacy + - articles/Effect size + - articles/Effective coverage + - articles/Estimation method + - articles/Evaluation + - articles/Event-based surveillance + - articles/External consistency of data + - articles/External responsiveness + - articles/Feasibility + - articles/Focal point + - articles/Gender + - articles/Geo-enablement + - articles/Geocoding + - articles/Geographic accessibility + - articles/Geographic information systems + - articles/Geospatial analysis + - articles/Geospatial data + - articles/Global health estimates + - articles/Global Health Observatory + - articles/Gold standard + - articles/Government agency or institution + - articles/Granularity + - articles/Health and demographic surveillance system + - articles/Health data + - articles/Health estimates + - articles/Health facility census + - articles/Health facility survey + - articles/Health impact assessment + - articles/Health indicator + - articles/Health inequality + - articles/Health inequity + - articles/Health information system + - articles/Health management information system + - articles/Health survey + - articles/Healthy life expectancy at birth + - articles/Heaping of data + - articles/Home-based record + - articles/Impact indicator + - articles/Imputation + - articles/Incidence rate + - articles/Indicator classification + - articles/Indicator definition + - articles/Indicator-based surveillance commonly + - articles/Indicator-based surveillance + - articles/Individual health record + - articles/Input indicator + - articles/Interaction + - articles/Internal consistency of data + - articles/Internal responsiveness + - articles/International Classification of Diseases (ICD) + - articles/International Health Regulations + - articles/Interoperability + - articles/Intervention coverage + - articles/Joint external evaluation + - articles/Kappa statistic (K) + - articles/Linkage + - articles/Logic model + - articles/Master facility list + - articles/Mean + - articles/Measure + - articles/Measurement method + - articles/Measurement level + - articles/Measurement + - articles/Median + - articles/Medical certification of cause of death + - articles/Metadata + - articles/Method of aggregate estimation + - articles/Microdata + - articles/Monitoring and evaluation (M&E) framework + - articles/Monitoring + - articles/Morbidity data + - articles/Mortality coder + - articles/Mortality data + - articles/National health strategic plan + - articles/National statistics office + - articles/Nationally representative + - articles/Negative predictive value + - articles/Notifiable conditions + - articles/Null hypothesis + - articles/Numerator + - articles/Odds ratio + - articles/Outcome indicator + - articles/Outcome-adjusted coverage + - articles/Output indicator + - articles/P value + - articles/Percentage + - articles/Periodicity + - articles/Population attributable fraction + - articles/Population-based survey + - articles/Population census + - articles/Positive predictive value + - articles/Predictive validity + - articles/Preferred data sources + - articles/Prevalence rate + - articles/Primary data + - articles/Process indicator + - articles/Process of validation + - articles/Processed health data + - articles/Proportion + - articles/Proxy health indicator + - articles/Public health surveillance system + - articles/Publicly available + - articles/Punctuality + - articles/Quality-adjusted coverage + - articles/Rate + - articles/Ratio + - articles/Rationale + - articles/Raw health data + - articles/Record linkage + - articles/Register + - articles/Registrar + - articles/Registration form + - articles/Registry + - articles/Regression + - articles/Relevance + - articles/Reliability of data + - articles/Representativeness + - articles/Response rate + - articles/Responsiveness + - articles/Results framework + - articles/Routine data + - articles/Routine health information system + - articles/Sample size + - articles/Sample + - articles/Sampling error + - articles/Secondary data + - articles/Sensitivity analysis + - articles/Sex + - articles/Stakeholder + - articles/Standard operating procedures + - articles/Statistical model + - articles/Statistical significance + - articles/Statistics + - articles/Stratification + - articles/Subnational + - articles/Surveillance + - articles/Survey data + - articles/Survey + - articles/Sustainability + - articles/Sustainable Development Goals (SDGs) + - articles/Target population + - articles/Timeliness + - articles/Tracer indicator + - articles/Transparency + - articles/Trend + - articles/Uncertainty measure + - articles/Unit of measure + - articles/Usefulness or Utility + - articles/Understandable or simplicty + - articles/Validity + - articles/Verbal autopsy + - articles/Vital event + - articles/Vital statistics + - articles/Weighting + - articles/Years lived with disability + - articles/Years of life lost diff --git a/data-raw/generate_definitions_markdowns.R b/data-raw/generate_definitions_markdowns.R index 289a094..013e7f5 100644 --- a/data-raw/generate_definitions_markdowns.R +++ b/data-raw/generate_definitions_markdowns.R @@ -1,6 +1,6 @@ definitions_path <- "inst/extdata/definitions.csv" definitions <- readr::read_csv(definitions_path) -output_dir <- "vignettes/" +output_dir <- "vignettes/articles/" for (i in 1:nrow(definitions)) { term <- definitions$Term[i] diff --git a/docs/404.html b/docs/404.html deleted file mode 100644 index ca9742a..0000000 --- a/docs/404.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Page not found (404) • glossarywho - - - - - - - - - Skip to contents - - -
-
-
- -Content not found. Please use links in the navbar. - -
-
- - -
- - - -
-
- - - - - - - diff --git a/docs/404.md b/docs/404.md deleted file mode 100644 index 5107f89..0000000 --- a/docs/404.md +++ /dev/null @@ -1,3 +0,0 @@ -Content not found. Please use links in the navbar. - -# Page not found (404) diff --git a/docs/LICENSE.html b/docs/LICENSE.html deleted file mode 100644 index fed186d..0000000 --- a/docs/LICENSE.html +++ /dev/null @@ -1,192 +0,0 @@ - -NA • glossarywho - Skip to contents - - -
-
-
- - -

Attribution 4.0 International

-

=======================================================================

-

Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.

-

Using Creative Commons Public Licenses

-

Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.

-
 Considerations for licensors: Our public licenses are
- intended for use by those authorized to give the public
- permission to use material in ways otherwise restricted by
- copyright and certain other rights. Our licenses are
- irrevocable. Licensors should read and understand the terms
- and conditions of the license they choose before applying it.
- Licensors should also secure all rights necessary before
- applying our licenses so that the public can reuse the
- material as expected. Licensors should clearly mark any
- material not subject to the license. This includes other CC-
- licensed material, or material used under an exception or
- limitation to copyright. More considerations for licensors:
-wiki.creativecommons.org/Considerations_for_licensors
-
- Considerations for the public: By using one of our public
- licenses, a licensor grants the public permission to use the
- licensed material under specified terms and conditions. If
- the licensor's permission is not necessary for any reason--for
- example, because of any applicable exception or limitation to
- copyright--then that use is not regulated by the license. Our
- licenses grant only permissions under copyright and certain
- other rights that a licensor has authority to grant. Use of
- the licensed material may still be restricted for other
- reasons, including because others have copyright or other
- rights in the material. A licensor may make special requests,
- such as asking that all changes be marked or described.
- Although not required by our licenses, you are encouraged to
- respect those requests where reasonable. More considerations
- for the public: 
-wiki.creativecommons.org/Considerations_for_licensees
-

=======================================================================

-

Creative Commons Attribution 4.0 International Public License

-

By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License (“Public License”). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.

-

Section 1 – Definitions.

-
  1. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.

  2. -
  3. Adapter’s License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.

  4. -
  5. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.

  6. -
  7. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.

  8. -
  9. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.

  10. -
  11. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.

  12. -
  13. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.

  14. -
  15. Licensor means the individual(s) or entity(ies) granting rights under this Public License.

  16. -
  17. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.

  18. -
  19. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.

  20. -
  21. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.

  22. -

Section 2 – Scope.

-
  1. -

    License grant.

    -
    1. -

      Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:

      -
      1. reproduce and Share the Licensed Material, in whole or in part; and

      2. -
      3. produce, reproduce, and Share Adapted Material.

      4. -
    2. -
    3. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.

    4. -
    5. Term. The term of this Public License is specified in Section 6(a).

    6. -
    7. -

      Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)

      -
      1. never produces Adapted Material.
      2. -
    8. -
    9. -

      Downstream recipients.

      -
      1. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.

      2. -
      3. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.

      4. -
    10. -
    11. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).

    12. -
  2. -
  3. -

    Other rights.

    -
    1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.

    2. -
    3. Patent and trademark rights are not licensed under this Public License.

    4. -
    5. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.

    6. -
  4. -

Section 3 – License Conditions.

-

Your exercise of the Licensed Rights is expressly made subject to the following conditions.

-
  1. -

    Attribution.

    -
    1. -

      If You Share the Licensed Material (including in modified form), You must:

      -
      1. -

        retain the following if it is supplied by the Licensor with the Licensed Material:

        -
        1. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);

        2. -
        3. a copyright notice;

        4. -
        5. a notice that refers to this Public License;

        6. -
        7. a notice that refers to the disclaimer of warranties;

        8. -
        9. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;

        10. -
      2. -
      3. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and

      4. -
      5. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.

      6. -
    2. -
    3. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.

    4. -
    5. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.

    6. -
    7. If You Share Adapted Material You produce, the Adapter’s License You apply must not prevent recipients of the Adapted Material from complying with this Public License.

    8. -
  2. -

Section 4 – Sui Generis Database Rights.

-

Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:

-
  1. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;

  2. -
  3. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and

  4. -
  5. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.

  6. -

For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.

-

Section 5 – Disclaimer of Warranties and Limitation of Liability.

-
  1. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.

  2. -
  3. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.

  4. -
  5. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.

  6. -

Section 6 – Term and Termination.

-
  1. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.

  2. -
  3. -

    Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:

    -
    1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or

    2. -
    3. upon express reinstatement by the Licensor.

    4. -

    For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.

    -
  4. -
  5. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.

  6. -
  7. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.

  8. -

Section 7 – Other Terms and Conditions.

-
  1. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.

  2. -
  3. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.

  4. -

Section 8 – Interpretation.

-
  1. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.

  2. -
  3. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.

  4. -
  5. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.

  6. -
  7. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.

  8. -

=======================================================================

-

Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.

-

Creative Commons may be contacted at creativecommons.org.

- - -
- - -
- - - -
- - - - - - - diff --git a/docs/LICENSE.md b/docs/LICENSE.md deleted file mode 100644 index a091aae..0000000 --- a/docs/LICENSE.md +++ /dev/null @@ -1,381 +0,0 @@ -# NA - -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation (“Creative Commons”) is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an “as-is” basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright and -certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - -``` R - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: -wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: -wiki.creativecommons.org/Considerations_for_licensees -``` - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License (“Public License”). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of these -terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the Licensed -Material available under these terms and conditions. - -Section 1 – Definitions. - -1. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material and - in which the Licensed Material is translated, altered, arranged, - transformed, or otherwise modified in a manner requiring permission - under the Copyright and Similar Rights held by the Licensor. For - purposes of this Public License, where the Licensed Material is a - musical work, performance, or sound recording, Adapted Material is - always produced where the Licensed Material is synched in timed - relation with a moving image. - -2. Adapter’s License means the license You apply to Your Copyright and - Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - -3. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or categorized. - For purposes of this Public License, the rights specified in Section - 2(b)(1)-(2) are not Copyright and Similar Rights. - -4. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright Treaty - adopted on December 20, 1996, and/or similar international - agreements. - -5. Exceptions and Limitations means fair use, fair dealing, and/or any - other exception or limitation to Copyright and Similar Rights that - applies to Your use of the Licensed Material. - -6. Licensed Material means the artistic or literary work, database, or - other material to which the Licensor applied this Public License. - -7. Licensed Rights means the rights granted to You subject to the terms - and conditions of this Public License, which are limited to all - Copyright and Similar Rights that apply to Your use of the Licensed - Material and that the Licensor has authority to license. - -8. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - -9. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such as - reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the public - may access the material from a place and at a time individually - chosen by them. - -10. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially equivalent - rights anywhere in the world. - -11. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - -Section 2 – Scope. - -1. License grant. - - 1. Subject to the terms and conditions of this Public License, the - Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - 1. reproduce and Share the Licensed Material, in whole or in - part; and - - 2. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with its - terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The Licensor - authorizes You to exercise the Licensed Rights in all media and - formats whether now known or hereafter created, and to make - technical modifications necessary to do so. The Licensor waives - and/or agrees not to assert any right or authority to forbid You - from making technical modifications necessary to exercise the - Licensed Rights, including technical modifications necessary to - circumvent Effective Technological Measures. For purposes of - this Public License, simply making modifications authorized by - this Section 2(a) - - 4. never produces Adapted Material. - - 5. Downstream recipients. - - 1. Offer from the Licensor – Licensed Material. Every recipient - of the Licensed Material automatically receives an offer - from the Licensor to exercise the Licensed Rights under the - terms and conditions of this Public License. - - 2. No downstream restrictions. You may not offer or impose any - additional or different terms or conditions on, or apply any - Effective Technological Measures to, the Licensed Material - if doing so restricts exercise of the Licensed Rights by any - recipient of the Licensed Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You are, - or that Your use of the Licensed Material is, connected with, or - sponsored, endorsed, or granted official status by, the Licensor - or others designated to receive attribution as provided in - Section 3(a)(1)(A)(i). - -2. Other rights. - - 1. Moral rights, such as the right of integrity, are not licensed - under this Public License, nor are publicity, privacy, and/or - other similar personality rights; however, to the extent - possible, the Licensor waives and/or agrees not to assert any - such rights held by the Licensor to the limited extent necessary - to allow You to exercise the Licensed Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this Public - License. - - 3. To the extent possible, the Licensor waives any right to collect - royalties from You for the exercise of the Licensed Rights, - whether directly or through a collecting society under any - voluntary or waivable statutory or compulsory licensing scheme. - In all other cases the Licensor expressly reserves any right to - collect such royalties. - -Section 3 – License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - -1. Attribution. - - 1. If You Share the Licensed Material (including in modified form), - You must: - - 1. retain the following if it is supplied by the Licensor with - the Licensed Material: - - 1. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by the - Licensor (including by pseudonym if designated); - - 2. a copyright notice; - - 3. a notice that refers to this Public License; - - 4. a notice that refers to the disclaimer of warranties; - - 5. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - 2. indicate if You modified the Licensed Material and retain an - indication of any previous modifications; and - - 3. indicate the Licensed Material is licensed under this Public - License, and include the text of, or the URI or hyperlink - to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter’s License - You apply must not prevent recipients of the Adapted Material - from complying with this Public License. - -Section 4 – Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that apply -to Your use of the Licensed Material: - -1. for the avoidance of doubt, Section 2(a)(1) grants You the right to - extract, reuse, reproduce, and Share all or a substantial portion of - the contents of the database; - -2. if You include all or a substantial portion of the database contents - in a database in which You have Sui Generis Database Rights, then - the database in which You have Sui Generis Database Rights (but not - its individual contents) is Adapted Material; and - -3. You must comply with the conditions in Section 3(a) if You Share all - or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - -Section 5 – Disclaimer of Warranties and Limitation of Liability. - -1. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND - AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND - CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, - STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES - OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, - NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR - THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR - DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN - FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - -2. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO - YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) - OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, - CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, - EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF - THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A - LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS - LIMITATION MAY NOT APPLY TO YOU. - -3. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent possible, - most closely approximates an absolute disclaimer and waiver of all - liability. - -Section 6 – Term and Termination. - -1. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - -2. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided it - is cured within 30 days of Your discovery of the violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations of - this Public License. - -3. For the avoidance of doubt, the Licensor may also offer the Licensed - Material under separate terms or conditions or stop distributing the - Licensed Material at any time; however, doing so will not terminate - this Public License. - -4. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - -Section 7 – Other Terms and Conditions. - -1. The Licensor shall not be bound by any additional or different terms - or conditions communicated by You unless expressly agreed. - -2. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - -Section 8 – Interpretation. - -1. For the avoidance of doubt, this Public License does not, and shall - not be interpreted to, reduce, limit, restrict, or impose conditions - on any use of the Licensed Material that could lawfully be made - without permission under this Public License. - -2. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - -3. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - -4. Nothing in this Public License constitutes or may be interpreted as - a limitation upon, or waiver of, any privileges and immunities that - apply to the Licensor or You, including from the legal processes of - any jurisdiction or authority. - -======================================================================= - -Creative Commons is not a party to its public licenses. Notwithstanding, -Creative Commons may elect to apply one of its public licenses to -material it publishes and in those instances will be considered the -“Licensor.” The text of the Creative Commons public licenses is -dedicated to the public domain under the CC0 Public Domain Dedication. -Except for the limited purpose of indicating that material is shared -under a Creative Commons public license or as otherwise permitted by the -Creative Commons policies published at creativecommons.org/policies, -Creative Commons does not authorize the use of the trademark “Creative -Commons” or any other trademark or logo of Creative Commons without its -prior written consent including, without limitation, in connection with -any unauthorized modifications to any of its public licenses or any -other arrangements, understandings, or agreements concerning use of -licensed material. For the avoidance of doubt, this paragraph does not -form part of the public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/docs/articles/Accountability.html b/docs/articles/Accountability.html deleted file mode 100644 index e0842a2..0000000 --- a/docs/articles/Accountability.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Accountability • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Accountability -

-

Answerability or legal responsibility for identifying and removing -obstacles and barriers to health services. This should include -responding to findings from monitoring and evaluation (1).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Accountability.md b/docs/articles/Accountability.md deleted file mode 100644 index 32d136e..0000000 --- a/docs/articles/Accountability.md +++ /dev/null @@ -1,7 +0,0 @@ -# Accountability - -## Accountability - -Answerability or legal responsibility for identifying and removing -obstacles and barriers to health services. This should include -responding to findings from monitoring and evaluation (1). diff --git a/docs/articles/Accuracy.html b/docs/articles/Accuracy.html deleted file mode 100644 index 887d2f5..0000000 --- a/docs/articles/Accuracy.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Accuracy • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Accuracy -

-

The degree to which a measurement, test or procedure correctly -reflect the true value or condition (2).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Accuracy.md b/docs/articles/Accuracy.md deleted file mode 100644 index ccb337f..0000000 --- a/docs/articles/Accuracy.md +++ /dev/null @@ -1,6 +0,0 @@ -# Accuracy - -## Accuracy - -The degree to which a measurement, test or procedure correctly reflect -the true value or condition (2). diff --git a/docs/articles/Administrative area.html b/docs/articles/Administrative area.html deleted file mode 100644 index 0f56c47..0000000 --- a/docs/articles/Administrative area.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Administrative area • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Administrative area -

-

Delineated geographical areas within a particular territory created -for the purpose of administration. For example: county, district, -province, state, region, subnational or national (3).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Administrative area.md b/docs/articles/Administrative area.md deleted file mode 100644 index ee523e6..0000000 --- a/docs/articles/Administrative area.md +++ /dev/null @@ -1,7 +0,0 @@ -# Administrative area - -## Administrative area - -Delineated geographical areas within a particular territory created for -the purpose of administration. For example: county, district, province, -state, region, subnational or national (3). diff --git a/docs/articles/Age groupings.html b/docs/articles/Age groupings.html deleted file mode 100644 index 56cb8e4..0000000 --- a/docs/articles/Age groupings.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Age groupings • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Age groupings -

-

The combining of ages into groups for the purpose of data analysis. -These groupings usually capture a time interval representing a -developmental stage in the life course of a human. The actual -aggregation used depends on the purpose of the analysis and the sample -size (4).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Age groupings.md b/docs/articles/Age groupings.md deleted file mode 100644 index 005d1c0..0000000 --- a/docs/articles/Age groupings.md +++ /dev/null @@ -1,9 +0,0 @@ -# Age groupings - -## Age groupings - -The combining of ages into groups for the purpose of data analysis. -These groupings usually capture a time interval representing a -developmental stage in the life course of a human. The actual -aggregation used depends on the purpose of the analysis and the sample -size (4). diff --git a/docs/articles/Age-specific mortality rate.html b/docs/articles/Age-specific mortality rate.html deleted file mode 100644 index 023ed25..0000000 --- a/docs/articles/Age-specific mortality rate.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Age-specific mortality rate • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Age-specific mortality rate -

-

A mortality rate of a particular age group. The numerator is the -number of deaths in that age group; the denominator is the number of -persons in that age group in the population (5).B

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Age-specific mortality rate.md b/docs/articles/Age-specific mortality rate.md deleted file mode 100644 index 5e24cc7..0000000 --- a/docs/articles/Age-specific mortality rate.md +++ /dev/null @@ -1,7 +0,0 @@ -# Age-specific mortality rate - -## Age-specific mortality rate - -A mortality rate of a particular age group. The numerator is the number -of deaths in that age group; the denominator is the number of persons in -that age group in the population (5).B diff --git a/docs/articles/Birth registration data.html b/docs/articles/Birth registration data.html deleted file mode 100644 index 464da36..0000000 --- a/docs/articles/Birth registration data.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Birth registration data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Birth registration data -

-

Data collected in the process of recording a child’s birth. It is a -permanent and official record of a child’s existence and provides legal -recognition of that child’s identity (6).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Birth registration data.md b/docs/articles/Birth registration data.md deleted file mode 100644 index b80a9da..0000000 --- a/docs/articles/Birth registration data.md +++ /dev/null @@ -1,7 +0,0 @@ -# Birth registration data - -## Birth registration data - -Data collected in the process of recording a child’s birth. It is a -permanent and official record of a child’s existence and provides legal -recognition of that child’s identity (6). diff --git a/docs/articles/Care cascade.html b/docs/articles/Care cascade.html deleted file mode 100644 index b752bb5..0000000 --- a/docs/articles/Care cascade.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Care cascade • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Care cascade -

-

A systematic framework used to track patient outcomes across the -stages of care, from diagnosis to treatment and ultimately to successful -outcomes. Each stage in the cascade identifies gaps in care that can -prevent individuals from reaching the outcome such as receiving proper -treatment or achieving disease control. The model was first developed in -1978 by Tanahasi to identify gaps and barriers in health systems -performance (7,8).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Care cascade.md b/docs/articles/Care cascade.md deleted file mode 100644 index cb0c695..0000000 --- a/docs/articles/Care cascade.md +++ /dev/null @@ -1,11 +0,0 @@ -# Care cascade - -## Care cascade - -A systematic framework used to track patient outcomes across the stages -of care, from diagnosis to treatment and ultimately to successful -outcomes. Each stage in the cascade identifies gaps in care that can -prevent individuals from reaching the outcome such as receiving proper -treatment or achieving disease control. The model was first developed in -1978 by Tanahasi to identify gaps and barriers in health systems -performance (7,8). diff --git a/docs/articles/Catchment area.html b/docs/articles/Catchment area.html deleted file mode 100644 index 181b80e..0000000 --- a/docs/articles/Catchment area.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Catchment area • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Catchment area -

-

A geographical area delineated around an institution or business, -such as a health facility, from where the population utilizes its -services. Often a key output of geographic accessibility analysis (see -also “geographic accessibility”) (9).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Catchment area.md b/docs/articles/Catchment area.md deleted file mode 100644 index 402b52a..0000000 --- a/docs/articles/Catchment area.md +++ /dev/null @@ -1,8 +0,0 @@ -# Catchment area - -## Catchment area - -A geographical area delineated around an institution or business, such -as a health facility, from where the population utilizes its services. -Often a key output of geographic accessibility analysis (see also -“geographic accessibility”) (9). diff --git a/docs/articles/Causes of death.html b/docs/articles/Causes of death.html deleted file mode 100644 index d3f5f92..0000000 --- a/docs/articles/Causes of death.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Causes of death • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Causes of death -

-

For the matters of international and national standard reporting, the -definition is: The disease or injury that initiated the train of morbid -events leading directly to death, or the circumstances of the accident -or violence which produced the fatal injury. The fully specified title -is: “Single underlying cause of death” . It is different from multiple -cause analysis and other concepts like direct cause or cause determined -by verbal autopsy. See also “International Classification of Diseases” -(10,11).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Causes of death.md b/docs/articles/Causes of death.md deleted file mode 100644 index 88ad710..0000000 --- a/docs/articles/Causes of death.md +++ /dev/null @@ -1,12 +0,0 @@ -# Causes of death - -## Causes of death - -For the matters of international and national standard reporting, the -definition is: The disease or injury that initiated the train of morbid -events leading directly to death, or the circumstances of the accident -or violence which produced the fatal injury. The fully specified title -is: “Single underlying cause of death” . It is different from multiple -cause analysis and other concepts like direct cause or cause determined -by verbal autopsy. See also “International Classification of Diseases” -(10,11). diff --git "a/docs/articles/Chi-square (\317\2072) test.html" "b/docs/articles/Chi-square (\317\2072) test.html" deleted file mode 100644 index f553bca..0000000 --- "a/docs/articles/Chi-square (\317\2072) test.html" +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Chi-square (χ2) test • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Chi-square (χ2) test -

-

The Chi-square test of independence (also known as the Pearson -Chi-square test) is one of the most useful statistics for testing -hypotheses when the variables are nominal, as often happens in clinical -research. Unlike most statistics, the Chi-square (χ2) test can provide -information not only on the significance of any observed differences, -but also provides detailed information on exactly which categories -account for any differences found (12).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git "a/docs/articles/Chi-square (\317\2072) test.md" "b/docs/articles/Chi-square (\317\2072) test.md" deleted file mode 100644 index 1dc53bd..0000000 --- "a/docs/articles/Chi-square (\317\2072) test.md" +++ /dev/null @@ -1,11 +0,0 @@ -# Chi-square (χ2) test - -## Chi-square (χ2) test - -The Chi-square test of independence (also known as the Pearson -Chi-square test) is one of the most useful statistics for testing -hypotheses when the variables are nominal, as often happens in clinical -research. Unlike most statistics, the Chi-square (χ2) test can provide -information not only on the significance of any observed differences, -but also provides detailed information on exactly which categories -account for any differences found (12). diff --git a/docs/articles/Civil registration and vital statistics.html b/docs/articles/Civil registration and vital statistics.html deleted file mode 100644 index 3987834..0000000 --- a/docs/articles/Civil registration and vital statistics.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Civil registration and vital statistics • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Civil registration and vital statistics -

-

A system of continuous, permanent, compulsory, and universal -recording of the occurrence and characteristics of vital events -pertaining to the population, as provided through decree or regulation -in accordance with the legal requirements in each country. The main -source of vital statistics is civil registration and includes events -like birth, marriage, divorce, adoption, death, and cause of death -(10).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Civil registration and vital statistics.md b/docs/articles/Civil registration and vital statistics.md deleted file mode 100644 index c1f2132..0000000 --- a/docs/articles/Civil registration and vital statistics.md +++ /dev/null @@ -1,10 +0,0 @@ -# Civil registration and vital statistics - -## Civil registration and vital statistics - -A system of continuous, permanent, compulsory, and universal recording -of the occurrence and characteristics of vital events pertaining to the -population, as provided through decree or regulation in accordance with -the legal requirements in each country. The main source of vital -statistics is civil registration and includes events like birth, -marriage, divorce, adoption, death, and cause of death (10). diff --git a/docs/articles/Completeness of reporting.html b/docs/articles/Completeness of reporting.html deleted file mode 100644 index 3fefdcc..0000000 --- a/docs/articles/Completeness of reporting.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Completeness of reporting • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Completeness of reporting -

-

Reflects the percentage of reporting units that have provided data. -This could be the completeness of facility reporting, district reporting -or globally the completeness of reporting from countries (13).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Completeness of reporting.md b/docs/articles/Completeness of reporting.md deleted file mode 100644 index 648a097..0000000 --- a/docs/articles/Completeness of reporting.md +++ /dev/null @@ -1,7 +0,0 @@ -# Completeness of reporting - -## Completeness of reporting - -Reflects the percentage of reporting units that have provided data. This -could be the completeness of facility reporting, district reporting or -globally the completeness of reporting from countries (13). diff --git a/docs/articles/Compliance.html b/docs/articles/Compliance.html deleted file mode 100644 index 739cd88..0000000 --- a/docs/articles/Compliance.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Compliance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Compliance -

-

The act of handling and managing personal and sensitive data in a way -that adheres to regulatory requirements, industry standards and internal -policies involving data security and privacy (14).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Compliance.md b/docs/articles/Compliance.md deleted file mode 100644 index 7a37218..0000000 --- a/docs/articles/Compliance.md +++ /dev/null @@ -1,7 +0,0 @@ -# Compliance - -## Compliance - -The act of handling and managing personal and sensitive data in a way -that adheres to regulatory requirements, industry standards and internal -policies involving data security and privacy (14). diff --git a/docs/articles/Composite indicator.html b/docs/articles/Composite indicator.html deleted file mode 100644 index 3f36b35..0000000 --- a/docs/articles/Composite indicator.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Composite indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Composite indicator -

-

An indicator obtained by combining individual indicators from across -several health topics based on an underlying model of the -multi-dimensional concept being measured. Typically, a composite -indicator measures a broader concept such as universal health coverage -(15).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Composite indicator.md b/docs/articles/Composite indicator.md deleted file mode 100644 index 7e131e2..0000000 --- a/docs/articles/Composite indicator.md +++ /dev/null @@ -1,9 +0,0 @@ -# Composite indicator - -## Composite indicator - -An indicator obtained by combining individual indicators from across -several health topics based on an underlying model of the -multi-dimensional concept being measured. Typically, a composite -indicator measures a broader concept such as universal health coverage -(15). diff --git a/docs/articles/Confidentiality.html b/docs/articles/Confidentiality.html deleted file mode 100644 index ed27298..0000000 --- a/docs/articles/Confidentiality.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Confidentiality • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Confidentiality -

-

Refers to the ethical obligation of professionals, health -institutions/ organizations and other health workers to preserve -authorized restrictions on access to – and disclosures of – sensitive -personal information about individuals (16).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Confidentiality.md b/docs/articles/Confidentiality.md deleted file mode 100644 index 9a1dc11..0000000 --- a/docs/articles/Confidentiality.md +++ /dev/null @@ -1,8 +0,0 @@ -# Confidentiality - -## Confidentiality - -Refers to the ethical obligation of professionals, health institutions/ -organizations and other health workers to preserve authorized -restrictions on access to – and disclosures of – sensitive personal -information about individuals (16). diff --git a/docs/articles/Confounding.html b/docs/articles/Confounding.html deleted file mode 100644 index b401bcf..0000000 --- a/docs/articles/Confounding.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Confounding • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Confounding -

-

Occurs when the relationship between an exposure and an outcome is -distorted because the exposure is linked to other factors that also -affect the likelihood of the outcome. A confounding variable is an -additional variable that influences both the independent and dependent -variables and that distorts the relationship between them (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Confounding.md b/docs/articles/Confounding.md deleted file mode 100644 index 4bcce5a..0000000 --- a/docs/articles/Confounding.md +++ /dev/null @@ -1,9 +0,0 @@ -# Confounding - -## Confounding - -Occurs when the relationship between an exposure and an outcome is -distorted because the exposure is linked to other factors that also -affect the likelihood of the outcome. A confounding variable is an -additional variable that influences both the independent and dependent -variables and that distorts the relationship between them (17). diff --git a/docs/articles/Construct validity.html b/docs/articles/Construct validity.html deleted file mode 100644 index 27998bf..0000000 --- a/docs/articles/Construct validity.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Construct validity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Construct validity -

-

The degree to which a measurement aligns with related theoretical -hypotheses, demonstrating that it accurately represents the underlying -theoretical concept. It indicates how well the scores reflect the -intended construct, ensuring the results are meaningful and relevant. -Construct validity is commonly applied to process indicators (18).A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Construct validity.md b/docs/articles/Construct validity.md deleted file mode 100644 index 98e7a28..0000000 --- a/docs/articles/Construct validity.md +++ /dev/null @@ -1,9 +0,0 @@ -# Construct validity - -## Construct validity - -The degree to which a measurement aligns with related theoretical -hypotheses, demonstrating that it accurately represents the underlying -theoretical concept. It indicates how well the scores reflect the -intended construct, ensuring the results are meaningful and relevant. -Construct validity is commonly applied to process indicators (18).A diff --git a/docs/articles/Content validity.html b/docs/articles/Content validity.html deleted file mode 100644 index 258c69f..0000000 --- a/docs/articles/Content validity.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Content validity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Content validity -

-

The degree to which an assessment instrument is relevant to, and -representative of, the targeted construct it is designed to measure -(19).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Content validity.md b/docs/articles/Content validity.md deleted file mode 100644 index a3eb91a..0000000 --- a/docs/articles/Content validity.md +++ /dev/null @@ -1,7 +0,0 @@ -# Content validity - -## Content validity - -The degree to which an assessment instrument is relevant to, and -representative of, the targeted construct it is designed to measure -(19). diff --git a/docs/articles/Convergent validity.html b/docs/articles/Convergent validity.html deleted file mode 100644 index b4e2bbf..0000000 --- a/docs/articles/Convergent validity.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Convergent validity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Convergent validity -

-

How closely the indicator is related to other variables and other -measures of the same construct. This approach is utilized when a gold -standard does not exist. Convergent validity is often used for impact -indicators (20).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Convergent validity.md b/docs/articles/Convergent validity.md deleted file mode 100644 index 5a97db7..0000000 --- a/docs/articles/Convergent validity.md +++ /dev/null @@ -1,8 +0,0 @@ -# Convergent validity - -## Convergent validity - -How closely the indicator is related to other variables and other -measures of the same construct. This approach is utilized when a gold -standard does not exist. Convergent validity is often used for impact -indicators (20). diff --git a/docs/articles/Core indicator.html b/docs/articles/Core indicator.html deleted file mode 100644 index 345e286..0000000 --- a/docs/articles/Core indicator.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Core indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Core indicator -

-

Core indicators may be defined in collaboration with all key -stakeholders (e.g. ministry of health, national statistics office, other -relevant ministries, professional organizations, experts, and major -disease-focused programmes), and depends on the priority monitoring -requirements related to health and health- related SDGs, among other -health priorities (21).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Core indicator.md b/docs/articles/Core indicator.md deleted file mode 100644 index 66b25ca..0000000 --- a/docs/articles/Core indicator.md +++ /dev/null @@ -1,10 +0,0 @@ -# Core indicator - -## Core indicator - -Core indicators may be defined in collaboration with all key -stakeholders (e.g. ministry of health, national statistics office, other -relevant ministries, professional organizations, experts, and major -disease-focused programmes), and depends on the priority monitoring -requirements related to health and health- related SDGs, among other -health priorities (21). diff --git a/docs/articles/Correlation analysis.html b/docs/articles/Correlation analysis.html deleted file mode 100644 index f5539bf..0000000 --- a/docs/articles/Correlation analysis.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Correlation analysis • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Correlation analysis -

-

Examination of the strength and direction of linear relationships -between two continuous variables (22).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Correlation analysis.md b/docs/articles/Correlation analysis.md deleted file mode 100644 index 5116467..0000000 --- a/docs/articles/Correlation analysis.md +++ /dev/null @@ -1,6 +0,0 @@ -# Correlation analysis - -## Correlation analysis - -Examination of the strength and direction of linear relationships -between two continuous variables (22). diff --git a/docs/articles/Count.html b/docs/articles/Count.html deleted file mode 100644 index 7facfda..0000000 --- a/docs/articles/Count.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Count • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Count -

-

A count gives the number of occurrences of the elements being -measured (e.g. health event(s), facilities, health workers etc.), within -a specified time and at a specified place. It is an integer, without any -denominator (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Count.md b/docs/articles/Count.md deleted file mode 100644 index dbd2ce9..0000000 --- a/docs/articles/Count.md +++ /dev/null @@ -1,8 +0,0 @@ -# Count - -## Count - -A count gives the number of occurrences of the elements being measured -(e.g. health event(s), facilities, health workers etc.), within a -specified time and at a specified place. It is an integer, without any -denominator (23). diff --git a/docs/articles/Covariates.html b/docs/articles/Covariates.html deleted file mode 100644 index db229ef..0000000 --- a/docs/articles/Covariates.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Covariates • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Covariates -

-

Data, including non-health data, which are used in a statistical -model to improve the estimation of the health indicator of interest. -These data are population- specific and are available for every -population included in the analysis. For example, a common covariate is -gross domestic product per capita (24).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Covariates.md b/docs/articles/Covariates.md deleted file mode 100644 index 1aa0bc4..0000000 --- a/docs/articles/Covariates.md +++ /dev/null @@ -1,9 +0,0 @@ -# Covariates - -## Covariates - -Data, including non-health data, which are used in a statistical model -to improve the estimation of the health indicator of interest. These -data are population- specific and are available for every population -included in the analysis. For example, a common covariate is gross -domestic product per capita (24). diff --git a/docs/articles/Credibility.html b/docs/articles/Credibility.html deleted file mode 100644 index 7e43cae..0000000 --- a/docs/articles/Credibility.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Credibility • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Credibility -

-

Confidence that users place in the statistics or data. Specifically, -it refers to the believability or trustworthiness of the data (2).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Credibility.md b/docs/articles/Credibility.md deleted file mode 100644 index 5119bb2..0000000 --- a/docs/articles/Credibility.md +++ /dev/null @@ -1,6 +0,0 @@ -# Credibility - -## Credibility - -Confidence that users place in the statistics or data. Specifically, it -refers to the believability or trustworthiness of the data (2). diff --git a/docs/articles/Criterion validity.html b/docs/articles/Criterion validity.html deleted file mode 100644 index f6acc4a..0000000 --- a/docs/articles/Criterion validity.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Criterion validity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Criterion validity -

-

The extent to which a measurement correlates with an external -criterion of the phenomenon under study; ideally, a gold standard -(25).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Criterion validity.md b/docs/articles/Criterion validity.md deleted file mode 100644 index f43ea32..0000000 --- a/docs/articles/Criterion validity.md +++ /dev/null @@ -1,6 +0,0 @@ -# Criterion validity - -## Criterion validity - -The extent to which a measurement correlates with an external criterion -of the phenomenon under study; ideally, a gold standard (25). diff --git a/docs/articles/Data access control.html b/docs/articles/Data access control.html deleted file mode 100644 index ae3e00b..0000000 --- a/docs/articles/Data access control.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Data access control • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data access control -

-

Access control is a security technique that regulates who or what can -view or use data in a computing environment (28).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data access control.md b/docs/articles/Data access control.md deleted file mode 100644 index caf591e..0000000 --- a/docs/articles/Data access control.md +++ /dev/null @@ -1,6 +0,0 @@ -# Data access control - -## Data access control - -Access control is a security technique that regulates who or what can -view or use data in a computing environment (28). diff --git a/docs/articles/Data accessibility.html b/docs/articles/Data accessibility.html deleted file mode 100644 index 4f642e9..0000000 --- a/docs/articles/Data accessibility.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Data accessibility • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data accessibility -

-

The ease with which users can find, retrieve, understand and use data -(29).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data accessibility.md b/docs/articles/Data accessibility.md deleted file mode 100644 index c76cef3..0000000 --- a/docs/articles/Data accessibility.md +++ /dev/null @@ -1,6 +0,0 @@ -# Data accessibility - -## Data accessibility - -The ease with which users can find, retrieve, understand and use data -(29). diff --git a/docs/articles/Data anonymization.html b/docs/articles/Data anonymization.html deleted file mode 100644 index cdce6b9..0000000 --- a/docs/articles/Data anonymization.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data anonymization • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data anonymization -

-

The process of altering personally identifiable information within a -dataset in such a way that the data subject is not or no longer -identifiable (30,31).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data anonymization.md b/docs/articles/Data anonymization.md deleted file mode 100644 index 7d0232a..0000000 --- a/docs/articles/Data anonymization.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data anonymization - -## Data anonymization - -The process of altering personally identifiable information within a -dataset in such a way that the data subject is not or no longer -identifiable (30,31). diff --git a/docs/articles/Data collection level.html b/docs/articles/Data collection level.html deleted file mode 100644 index 68a8d43..0000000 --- a/docs/articles/Data collection level.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data collection level • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data collection level -

-

The specific setting from which the data are collected (e.g., -national, subnational, facility, household, school or community) (32).A -Z4

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data collection level.md b/docs/articles/Data collection level.md deleted file mode 100644 index 1946d3d..0000000 --- a/docs/articles/Data collection level.md +++ /dev/null @@ -1,6 +0,0 @@ -# Data collection level - -## Data collection level - -The specific setting from which the data are collected (e.g., national, -subnational, facility, household, school or community) (32).A Z4 diff --git a/docs/articles/Data collection method.html b/docs/articles/Data collection method.html deleted file mode 100644 index 28e5d7a..0000000 --- a/docs/articles/Data collection method.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data collection method • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data collection method -

-

Description of all methods used for data collection. This description -should include, when applicable, the sample frame used, the questions -used to collect the data, the type of interview, the dates/duration of -fieldwork, the sample size, and the response rate (33).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data collection method.md b/docs/articles/Data collection method.md deleted file mode 100644 index 0d7e47c..0000000 --- a/docs/articles/Data collection method.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data collection method - -## Data collection method - -Description of all methods used for data collection. This description -should include, when applicable, the sample frame used, the questions -used to collect the data, the type of interview, the dates/duration of -fieldwork, the sample size, and the response rate (33). diff --git a/docs/articles/Data consent.html b/docs/articles/Data consent.html deleted file mode 100644 index f3a3b90..0000000 --- a/docs/articles/Data consent.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data consent • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
- -

Any freely given and informed indication of an agreement by the data -subject to the processing of his/her personal data. It may be given -either by a written or oral statement or other clear affirmative action -(30,31).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data consent.md b/docs/articles/Data consent.md deleted file mode 100644 index 7217e42..0000000 --- a/docs/articles/Data consent.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data consent - -## Data consent - -Any freely given and informed indication of an agreement by the data -subject to the processing of his/her personal data. It may be given -either by a written or oral statement or other clear affirmative action -(30,31). diff --git a/docs/articles/Data custodian.html b/docs/articles/Data custodian.html deleted file mode 100644 index e103893..0000000 --- a/docs/articles/Data custodian.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data custodian • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data custodian -

-

Agencies or individuals responsible for managing the use, disclosure -and protection of source data used to create health indicators. Data -custodians collect and hold information on behalf of a data provider or -data steward (34).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data custodian.md b/docs/articles/Data custodian.md deleted file mode 100644 index d9f52b6..0000000 --- a/docs/articles/Data custodian.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data custodian - -## Data custodian - -Agencies or individuals responsible for managing the use, disclosure and -protection of source data used to create health indicators. Data -custodians collect and hold information on behalf of a data provider or -data steward (34). diff --git a/docs/articles/Data element.html b/docs/articles/Data element.html deleted file mode 100644 index fbc18df..0000000 --- a/docs/articles/Data element.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Data element • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data element -

-

The smallest named item of data that conveys meaningful information -(35).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data element.md b/docs/articles/Data element.md deleted file mode 100644 index 1818929..0000000 --- a/docs/articles/Data element.md +++ /dev/null @@ -1,6 +0,0 @@ -# Data element - -## Data element - -The smallest named item of data that conveys meaningful information -(35). diff --git a/docs/articles/Data governance.html b/docs/articles/Data governance.html deleted file mode 100644 index a066153..0000000 --- a/docs/articles/Data governance.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Data governance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data governance -

-

The specification of decision rights and an accountability framework -to ensure the appropriate behaviour in the valuation, creation, -consumption and control of data and analytics. The rules, processes and -behaviours related to the collection, management, analysis, use, sharing -and disposal of personal and/or non-personal data (28,36).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data governance.md b/docs/articles/Data governance.md deleted file mode 100644 index 293e5d2..0000000 --- a/docs/articles/Data governance.md +++ /dev/null @@ -1,9 +0,0 @@ -# Data governance - -## Data governance - -The specification of decision rights and an accountability framework to -ensure the appropriate behaviour in the valuation, creation, consumption -and control of data and analytics. The rules, processes and behaviours -related to the collection, management, analysis, use, sharing and -disposal of personal and/or non-personal data (28,36). diff --git a/docs/articles/Data harmonization.html b/docs/articles/Data harmonization.html deleted file mode 100644 index 1530d80..0000000 --- a/docs/articles/Data harmonization.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data harmonization • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data harmonization -

-

All efforts to combine data from different sources and provide users -with a comparable view of data from different studies or surveys. This -is sometimes referred to as data integration (37).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data harmonization.md b/docs/articles/Data harmonization.md deleted file mode 100644 index 3fc4154..0000000 --- a/docs/articles/Data harmonization.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data harmonization - -## Data harmonization - -All efforts to combine data from different sources and provide users -with a comparable view of data from different studies or surveys. This -is sometimes referred to as data integration (37). diff --git a/docs/articles/Data information pyramid.html b/docs/articles/Data information pyramid.html deleted file mode 100644 index 9600d52..0000000 --- a/docs/articles/Data information pyramid.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Data information pyramid • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data information pyramid -

-

A schematic way of looking at the number of data items to be -collected at each level of the health system allowing each level to -gather data of importance and relevance to their daily work while -avoiding excessive data collection where no action is taken. The pyramid -illustrates how most data are collected at the base of the pyramid in -the health facility, where most health service action takes place. Data -are processed, filtered, and streamlined as data sets that are then -passed up the health system (38).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data information pyramid.md b/docs/articles/Data information pyramid.md deleted file mode 100644 index e7c85c2..0000000 --- a/docs/articles/Data information pyramid.md +++ /dev/null @@ -1,12 +0,0 @@ -# Data information pyramid - -## Data information pyramid - -A schematic way of looking at the number of data items to be collected -at each level of the health system allowing each level to gather data of -importance and relevance to their daily work while avoiding excessive -data collection where no action is taken. The pyramid illustrates how -most data are collected at the base of the pyramid in the health -facility, where most health service action takes place. Data are -processed, filtered, and streamlined as data sets that are then passed -up the health system (38). diff --git a/docs/articles/Data inputs.html b/docs/articles/Data inputs.html deleted file mode 100644 index 80535fe..0000000 --- a/docs/articles/Data inputs.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data inputs • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data inputs -

-

All numerical inputs to mathematical or statistical models that are -used to generate global health estimates. Model inputs may include raw -health data, processed health data, covariates and other parameters -(24).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data inputs.md b/docs/articles/Data inputs.md deleted file mode 100644 index 77c46a8..0000000 --- a/docs/articles/Data inputs.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data inputs - -## Data inputs - -All numerical inputs to mathematical or statistical models that are used -to generate global health estimates. Model inputs may include raw health -data, processed health data, covariates and other parameters (24). diff --git a/docs/articles/Data integration.html b/docs/articles/Data integration.html deleted file mode 100644 index c4cef6d..0000000 --- a/docs/articles/Data integration.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data integration • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data integration -

-

A process that merges multiple health data sources into a single, -unified dataset. It involves combining data residing in different -sources and providing users with a unified view of them (28,39,40).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data integration.md b/docs/articles/Data integration.md deleted file mode 100644 index 701b41f..0000000 --- a/docs/articles/Data integration.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data integration - -## Data integration - -A process that merges multiple health data sources into a single, -unified dataset. It involves combining data residing in different -sources and providing users with a unified view of them (28,39,40). diff --git a/docs/articles/Data integrity.html b/docs/articles/Data integrity.html deleted file mode 100644 index 2ad2d60..0000000 --- a/docs/articles/Data integrity.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data integrity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data integrity -

-

The extent to which all data are complete, consistent and accurate -and are protected from deliberate bias or manipulation for political or -personal reasons (41,42).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data integrity.md b/docs/articles/Data integrity.md deleted file mode 100644 index ae66963..0000000 --- a/docs/articles/Data integrity.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data integrity - -## Data integrity - -The extent to which all data are complete, consistent and accurate and -are protected from deliberate bias or manipulation for political or -personal reasons (41,42). diff --git a/docs/articles/Data life cycle.html b/docs/articles/Data life cycle.html deleted file mode 100644 index 272b473..0000000 --- a/docs/articles/Data life cycle.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data life cycle • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data life cycle -

-

The main steps of the data life cycle include data collection, entry -and recording, storage, processing and analysis, presentation and -visualization, interpretation, sharing and dissemination, retention and -archiving, maintenance and quality assurance, and disposal (43,44).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data life cycle.md b/docs/articles/Data life cycle.md deleted file mode 100644 index 15ecce3..0000000 --- a/docs/articles/Data life cycle.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data life cycle - -## Data life cycle - -The main steps of the data life cycle include data collection, entry and -recording, storage, processing and analysis, presentation and -visualization, interpretation, sharing and dissemination, retention and -archiving, maintenance and quality assurance, and disposal (43,44). diff --git a/docs/articles/Data privacy.html b/docs/articles/Data privacy.html deleted file mode 100644 index 4f02e54..0000000 --- a/docs/articles/Data privacy.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Data privacy • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data privacy -

-

The rights and practices that ensure individuals have control over -how their personal information is collected, used, shared and -maintained. It focuses on protecting personal data from misuse and -ensuring that individuals can determine who has access to their data, -how it is used, and for what purposes (45).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data privacy.md b/docs/articles/Data privacy.md deleted file mode 100644 index 067b223..0000000 --- a/docs/articles/Data privacy.md +++ /dev/null @@ -1,9 +0,0 @@ -# Data privacy - -## Data privacy - -The rights and practices that ensure individuals have control over how -their personal information is collected, used, shared and maintained. It -focuses on protecting personal data from misuse and ensuring that -individuals can determine who has access to their data, how it is used, -and for what purposes (45). diff --git a/docs/articles/Data provider.html b/docs/articles/Data provider.html deleted file mode 100644 index f925d15..0000000 --- a/docs/articles/Data provider.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Data provider • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data provider -

-

Individuals and organizations who are responsible, whether formally -or informally, for making data accessible to others. Sometimes a data -provider may be simply the producer of those data. In other cases, data -may be deposited in a repository, centre or archive that has the -responsibility of disseminating the data (46).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data provider.md b/docs/articles/Data provider.md deleted file mode 100644 index 6e31795..0000000 --- a/docs/articles/Data provider.md +++ /dev/null @@ -1,9 +0,0 @@ -# Data provider - -## Data provider - -Individuals and organizations who are responsible, whether formally or -informally, for making data accessible to others. Sometimes a data -provider may be simply the producer of those data. In other cases, data -may be deposited in a repository, centre or archive that has the -responsibility of disseminating the data (46). diff --git a/docs/articles/Data quality assessment.html b/docs/articles/Data quality assessment.html deleted file mode 100644 index b167ceb..0000000 --- a/docs/articles/Data quality assessment.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data quality assessment • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data quality assessment -

-

The analysis or evaluation of data to determine its accuracy, -completeness, consistency, and other quality attributes based on -predefined criteria. This process helps identify issues and areas for -improvement in the current state of data quality (49).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data quality assessment.md b/docs/articles/Data quality assessment.md deleted file mode 100644 index 957261b..0000000 --- a/docs/articles/Data quality assessment.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data quality assessment - -## Data quality assessment - -The analysis or evaluation of data to determine its accuracy, -completeness, consistency, and other quality attributes based on -predefined criteria. This process helps identify issues and areas for -improvement in the current state of data quality (49). diff --git a/docs/articles/Data quality assurance.html b/docs/articles/Data quality assurance.html deleted file mode 100644 index d63fe8b..0000000 --- a/docs/articles/Data quality assurance.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Data quality assurance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data quality assurance -

-

The process of assessing and improving the quality of each data -stream to ensure the overall quality of health data or health -statistical products. Data quality assurance aims to ensure that the -final data meets the required standards for accuracy, consistency and -reliability (49).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data quality assurance.md b/docs/articles/Data quality assurance.md deleted file mode 100644 index f95443c..0000000 --- a/docs/articles/Data quality assurance.md +++ /dev/null @@ -1,9 +0,0 @@ -# Data quality assurance - -## Data quality assurance - -The process of assessing and improving the quality of each data stream -to ensure the overall quality of health data or health statistical -products. Data quality assurance aims to ensure that the final data -meets the required standards for accuracy, consistency and reliability -(49). diff --git a/docs/articles/Data quality.html b/docs/articles/Data quality.html deleted file mode 100644 index 7ef379a..0000000 --- a/docs/articles/Data quality.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data quality • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data quality -

-

Data quality is a set of standards that data should reach to be -usable. Quality data must encompass the following characteristics: -relevance, credibility, accuracy, timeliness, punctuality, -methodological soundness, coherence and accessibility (2).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data quality.md b/docs/articles/Data quality.md deleted file mode 100644 index 7342996..0000000 --- a/docs/articles/Data quality.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data quality - -## Data quality - -Data quality is a set of standards that data should reach to be usable. -Quality data must encompass the following characteristics: relevance, -credibility, accuracy, timeliness, punctuality, methodological -soundness, coherence and accessibility (2). diff --git a/docs/articles/Data security.html b/docs/articles/Data security.html deleted file mode 100644 index 952cb4a..0000000 --- a/docs/articles/Data security.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Data security • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data security -

-

Appropriate organizational, physical and technical security measures -implemented for both electronic and paper data to protect the security -and integrity of personal data, including against personal data breach, -and to ensure its continued availability for the purposes for which the -personal data are processed (31).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data security.md b/docs/articles/Data security.md deleted file mode 100644 index 4096140..0000000 --- a/docs/articles/Data security.md +++ /dev/null @@ -1,9 +0,0 @@ -# Data security - -## Data security - -Appropriate organizational, physical and technical security measures -implemented for both electronic and paper data to protect the security -and integrity of personal data, including against personal data breach, -and to ensure its continued availability for the purposes for which the -personal data are processed (31). diff --git a/docs/articles/Data source.html b/docs/articles/Data source.html deleted file mode 100644 index 84e3d3c..0000000 --- a/docs/articles/Data source.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data source • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data source -

-

From where data are obtained (e.g. their origin such as the location -setting and provider of the data). For example, routine health -information systems, civil registration and vital statistics, -population-based surveys, health facility surveys) (50,51).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data source.md b/docs/articles/Data source.md deleted file mode 100644 index 18edd11..0000000 --- a/docs/articles/Data source.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data source - -## Data source - -From where data are obtained (e.g. their origin such as the location -setting and provider of the data). For example, routine health -information systems, civil registration and vital statistics, -population-based surveys, health facility surveys) (50,51). diff --git a/docs/articles/Data standards.html b/docs/articles/Data standards.html deleted file mode 100644 index 1e925e1..0000000 --- a/docs/articles/Data standards.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Data standards • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data standards -

-

The rules for structuring information that has been collected, and -which facilitate semantic interoperability. A set of agreed data -standards ensures that the data entered into a system can be reliably -read, sorted, indexed, retrieved and communicated between systems. For -example, length of a field, format, the encoding of the information, and -permissible values (47).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data standards.md b/docs/articles/Data standards.md deleted file mode 100644 index 31c3ca0..0000000 --- a/docs/articles/Data standards.md +++ /dev/null @@ -1,10 +0,0 @@ -# Data standards - -## Data standards - -The rules for structuring information that has been collected, and which -facilitate semantic interoperability. A set of agreed data standards -ensures that the data entered into a system can be reliably read, -sorted, indexed, retrieved and communicated between systems. For -example, length of a field, format, the encoding of the information, and -permissible values (47). diff --git a/docs/articles/Data steward.html b/docs/articles/Data steward.html deleted file mode 100644 index a5760a7..0000000 --- a/docs/articles/Data steward.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Data steward • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data steward -

-

Subject-matter experts who facilitate the use of data assets by all -who need them, within the guardrails of relevant policy, and manage -exceptions. Data assets do not belong to data stewards themselves, but -they are responsible for taking care of them (28,52).A Z6

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data steward.md b/docs/articles/Data steward.md deleted file mode 100644 index b612f90..0000000 --- a/docs/articles/Data steward.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data steward - -## Data steward - -Subject-matter experts who facilitate the use of data assets by all who -need them, within the guardrails of relevant policy, and manage -exceptions. Data assets do not belong to data stewards themselves, but -they are responsible for taking care of them (28,52).A Z6 diff --git a/docs/articles/Data stewardship.html b/docs/articles/Data stewardship.html deleted file mode 100644 index e97dcfb..0000000 --- a/docs/articles/Data stewardship.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data stewardship • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data stewardship -

-

A collection of functions and practices that ensure all data and -statistics of an organization are accessible, usable, safe and trusted -(52,53).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data stewardship.md b/docs/articles/Data stewardship.md deleted file mode 100644 index b50302e..0000000 --- a/docs/articles/Data stewardship.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data stewardship - -## Data stewardship - -A collection of functions and practices that ensure all data and -statistics of an organization are accessible, usable, safe and trusted -(52,53). diff --git a/docs/articles/Data triangulation.html b/docs/articles/Data triangulation.html deleted file mode 100644 index 715f676..0000000 --- a/docs/articles/Data triangulation.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data triangulation • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data triangulation -

-

Approach for critical synthesis of data from two or more sources to -address relevant questions for programme planning and decision-making -(54,55).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data triangulation.md b/docs/articles/Data triangulation.md deleted file mode 100644 index 8d34cf5..0000000 --- a/docs/articles/Data triangulation.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data triangulation - -## Data triangulation - -Approach for critical synthesis of data from two or more sources to -address relevant questions for programme planning and decision-making -(54,55). diff --git a/docs/articles/Data type.html b/docs/articles/Data type.html deleted file mode 100644 index 9ecbf52..0000000 --- a/docs/articles/Data type.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data type • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data type -

-

Defines the form of a data element. These can include simple data -types such as date, time, numeric value or complex data types, such as -addresses (48).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data type.md b/docs/articles/Data type.md deleted file mode 100644 index f83869b..0000000 --- a/docs/articles/Data type.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data type - -## Data type - -Defines the form of a data element. These can include simple data types -such as date, time, numeric value or complex data types, such as -addresses (48). diff --git a/docs/articles/Data.html b/docs/articles/Data.html deleted file mode 100644 index cf028f2..0000000 --- a/docs/articles/Data.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Data -

-

Basic, often unprocessed analogue or digital elements, -characteristics or representations of facts or information. This -includes raw, unprocessed numbers, measurements or text (23,26,27).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Data.md b/docs/articles/Data.md deleted file mode 100644 index ea45c2e..0000000 --- a/docs/articles/Data.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data - -## Data - -Basic, often unprocessed analogue or digital elements, characteristics -or representations of facts or information. This includes raw, -unprocessed numbers, measurements or text (23,26,27). diff --git a/docs/articles/Death registration data.html b/docs/articles/Death registration data.html deleted file mode 100644 index 7bea94d..0000000 --- a/docs/articles/Death registration data.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Death registration data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Death registration data -

-

Data collected during the civil registration of a death, including -cause of death, sex, occupation, etc. (11).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Death registration data.md b/docs/articles/Death registration data.md deleted file mode 100644 index 2518962..0000000 --- a/docs/articles/Death registration data.md +++ /dev/null @@ -1,6 +0,0 @@ -# Death registration data - -## Death registration data - -Data collected during the civil registration of a death, including cause -of death, sex, occupation, etc. (11). diff --git a/docs/articles/Death registration desk.html b/docs/articles/Death registration desk.html deleted file mode 100644 index 3134f66..0000000 --- a/docs/articles/Death registration desk.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Death registration desk • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Death registration desk -

-

A desk or office that receives death notification, validates -information and enters it into a civil registration system (11).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Death registration desk.md b/docs/articles/Death registration desk.md deleted file mode 100644 index 1d90553..0000000 --- a/docs/articles/Death registration desk.md +++ /dev/null @@ -1,6 +0,0 @@ -# Death registration desk - -## Death registration desk - -A desk or office that receives death notification, validates information -and enters it into a civil registration system (11). diff --git a/docs/articles/Delineated geographical areas within.html b/docs/articles/Delineated geographical areas within.html deleted file mode 100644 index 088a6cd..0000000 --- a/docs/articles/Delineated geographical areas within.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Delineated geographical areas within • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Delineated geographical areas within -

-

a particular territory created for the purpose of administration. For -example: county, district, province, state, region, subnational or -national (3).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Delineated geographical areas within.md b/docs/articles/Delineated geographical areas within.md deleted file mode 100644 index 09bf535..0000000 --- a/docs/articles/Delineated geographical areas within.md +++ /dev/null @@ -1,7 +0,0 @@ -# Delineated geographical areas within - -## Delineated geographical areas within - -a particular territory created for the purpose of administration. For -example: county, district, province, state, region, subnational or -national (3). diff --git a/docs/articles/Denominator.html b/docs/articles/Denominator.html deleted file mode 100644 index b90b25c..0000000 --- a/docs/articles/Denominator.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Denominator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Denominator -

-

The lower portion of a fraction; that is the number below the -horizontal bar of a fraction. It is used to calculate, for example, -rates, ratios and percentages. In a rate, the denominator is usually the -population (or population experience, as in person-years, etc.) at risk -(5).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Denominator.md b/docs/articles/Denominator.md deleted file mode 100644 index ca5253d..0000000 --- a/docs/articles/Denominator.md +++ /dev/null @@ -1,8 +0,0 @@ -# Denominator - -## Denominator - -The lower portion of a fraction; that is the number below the horizontal -bar of a fraction. It is used to calculate, for example, rates, ratios -and percentages. In a rate, the denominator is usually the population -(or population experience, as in person-years, etc.) at risk (5). diff --git a/docs/articles/Descriptive cross-sectional.html b/docs/articles/Descriptive cross-sectional.html deleted file mode 100644 index 29fe30b..0000000 --- a/docs/articles/Descriptive cross-sectional.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Descriptive cross-sectional • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Descriptive cross-sectional -

-

epidemiological study that is useful for calculating the prevalence -of self-reported events or events measured during the investigation, -generally employing a representative sample from the population of -interest (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Descriptive cross-sectional.md b/docs/articles/Descriptive cross-sectional.md deleted file mode 100644 index e05183c..0000000 --- a/docs/articles/Descriptive cross-sectional.md +++ /dev/null @@ -1,8 +0,0 @@ -# Descriptive cross-sectional - -## Descriptive cross-sectional - -epidemiological study that is useful for calculating the prevalence of -self-reported events or events measured during the investigation, -generally employing a representative sample from the population of -interest (23). diff --git a/docs/articles/Descriptive analysis.html b/docs/articles/Descriptive analysis.html deleted file mode 100644 index 6ea19a4..0000000 --- a/docs/articles/Descriptive analysis.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Descriptive analysis • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Descriptive analysis -

-

A statistical method utilized to summarize and elucidate the primary -features of a dataset. This approach allows for a clear understanding of -the fundamental characteristics of the data without drawing inferences -or making predictions (56,57).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Descriptive analysis.md b/docs/articles/Descriptive analysis.md deleted file mode 100644 index 496db6e..0000000 --- a/docs/articles/Descriptive analysis.md +++ /dev/null @@ -1,8 +0,0 @@ -# Descriptive analysis - -## Descriptive analysis - -A statistical method utilized to summarize and elucidate the primary -features of a dataset. This approach allows for a clear understanding of -the fundamental characteristics of the data without drawing inferences -or making predictions (56,57). diff --git a/docs/articles/Digital health.html b/docs/articles/Digital health.html deleted file mode 100644 index bdfd9ad..0000000 --- a/docs/articles/Digital health.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Digital health • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Digital health -

-

The systematic application of information and communication -technologies, computer science, and data to support informed -decision-making by individuals, the health workforce and health systems, -in order to strengthen resilience to disease and improve health and -wellness (58).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Digital health.md b/docs/articles/Digital health.md deleted file mode 100644 index fa6f84c..0000000 --- a/docs/articles/Digital health.md +++ /dev/null @@ -1,9 +0,0 @@ -# Digital health - -## Digital health - -The systematic application of information and communication -technologies, computer science, and data to support informed -decision-making by individuals, the health workforce and health systems, -in order to strengthen resilience to disease and improve health and -wellness (58). diff --git a/docs/articles/Disability adjusted life years (DALYs).html b/docs/articles/Disability adjusted life years (DALYs).html deleted file mode 100644 index 4869a28..0000000 --- a/docs/articles/Disability adjusted life years (DALYs).html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Disability adjusted life years (DALYs) • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Disability adjusted life years (DALYs) -

-

Represents the loss of the equivalent of one year of full health. For -a disease or health condition it is the sum of the years of life lost to -due to premature mortality (YLLs) and the years lived with a disability -(YLDs) due to prevalent cases of the disease or health condition in a -population (59).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Disability adjusted life years (DALYs).md b/docs/articles/Disability adjusted life years (DALYs).md deleted file mode 100644 index b7372ab..0000000 --- a/docs/articles/Disability adjusted life years (DALYs).md +++ /dev/null @@ -1,9 +0,0 @@ -# Disability adjusted life years (DALYs) - -## Disability adjusted life years (DALYs) - -Represents the loss of the equivalent of one year of full health. For a -disease or health condition it is the sum of the years of life lost to -due to premature mortality (YLLs) and the years lived with a disability -(YLDs) due to prevalent cases of the disease or health condition in a -population (59). diff --git a/docs/articles/Disaggregation.html b/docs/articles/Disaggregation.html deleted file mode 100644 index 98f3027..0000000 --- a/docs/articles/Disaggregation.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Disaggregation • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Disaggregation -

-

Breaking down of observations to a more detailed level when finer -details are required and made possible by the codes given to the primary -observations. In health this often includes, sex, age, wealth quintile, -education level, place of residence and occupation (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Disaggregation.md b/docs/articles/Disaggregation.md deleted file mode 100644 index 6f86109..0000000 --- a/docs/articles/Disaggregation.md +++ /dev/null @@ -1,8 +0,0 @@ -# Disaggregation - -## Disaggregation - -Breaking down of observations to a more detailed level when finer -details are required and made possible by the codes given to the primary -observations. In health this often includes, sex, age, wealth quintile, -education level, place of residence and occupation (23). diff --git a/docs/articles/Disease surveillance system.html b/docs/articles/Disease surveillance system.html deleted file mode 100644 index f9a9d21..0000000 --- a/docs/articles/Disease surveillance system.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Disease surveillance system • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Disease surveillance system -

-

The infrastructure for ongoing systematic collection, analysis, -storage and interpretation of outcome-specific disease data for use in -planning, implementing and evaluating public health policies and -practices (60).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Disease surveillance system.md b/docs/articles/Disease surveillance system.md deleted file mode 100644 index d35964d..0000000 --- a/docs/articles/Disease surveillance system.md +++ /dev/null @@ -1,7 +0,0 @@ -# Disease surveillance system - -## Disease surveillance system - -The infrastructure for ongoing systematic collection, analysis, storage -and interpretation of outcome-specific disease data for use in planning, -implementing and evaluating public health policies and practices (60). diff --git a/docs/articles/Domain.html b/docs/articles/Domain.html deleted file mode 100644 index 61b2e46..0000000 --- a/docs/articles/Domain.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Domain • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Domain -

-

Categorization of health-related indicators into general groupings. -For example, health status, risk factors, service coverage and health -systems (21).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Domain.md b/docs/articles/Domain.md deleted file mode 100644 index 00f7f3a..0000000 --- a/docs/articles/Domain.md +++ /dev/null @@ -1,7 +0,0 @@ -# Domain - -## Domain - -Categorization of health-related indicators into general groupings. For -example, health status, risk factors, service coverage and health -systems (21). diff --git a/docs/articles/Ecological analysis.html b/docs/articles/Ecological analysis.html deleted file mode 100644 index 7b97f45..0000000 --- a/docs/articles/Ecological analysis.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Ecological analysis • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Ecological analysis -

-

Ecological analysis is a research methodology that investigates the -relationships between different factors and health outcomes or other -phenomena at the group level, rather than focusing on individuals. This -approach entails analysing data gathered from populations or communities -to uncover patterns, disparities, correlations, and possible causal -relationships (17).A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Ecological analysis.md b/docs/articles/Ecological analysis.md deleted file mode 100644 index 604b2e6..0000000 --- a/docs/articles/Ecological analysis.md +++ /dev/null @@ -1,10 +0,0 @@ -# Ecological analysis - -## Ecological analysis - -Ecological analysis is a research methodology that investigates the -relationships between different factors and health outcomes or other -phenomena at the group level, rather than focusing on individuals. This -approach entails analysing data gathered from populations or communities -to uncover patterns, disparities, correlations, and possible causal -relationships (17).A diff --git a/docs/articles/Ecological fallacy.html b/docs/articles/Ecological fallacy.html deleted file mode 100644 index 9ef4b79..0000000 --- a/docs/articles/Ecological fallacy.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Ecological fallacy • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Ecological fallacy -

-

An erroneous inference that may occur because an association observed -between variables on an aggregate level does not necessarily represent -or reflect the association that exists at an individual level; a causal -relationship that exists on a group level or among groups may not exist -among the group individuals (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Ecological fallacy.md b/docs/articles/Ecological fallacy.md deleted file mode 100644 index ad726ab..0000000 --- a/docs/articles/Ecological fallacy.md +++ /dev/null @@ -1,9 +0,0 @@ -# Ecological fallacy - -## Ecological fallacy - -An erroneous inference that may occur because an association observed -between variables on an aggregate level does not necessarily represent -or reflect the association that exists at an individual level; a causal -relationship that exists on a group level or among groups may not exist -among the group individuals (17). diff --git a/docs/articles/Effect size.html b/docs/articles/Effect size.html deleted file mode 100644 index ab2ae9f..0000000 --- a/docs/articles/Effect size.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Effect size • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Effect size -

-

Refers to the magnitude of the expected difference between two groups -in a study, which is expressed as an estimate. It is a crucial factor in -determining the sample size needed for a study, with a smaller effect -size requiring a larger sample size for detection (63).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Effect size.md b/docs/articles/Effect size.md deleted file mode 100644 index 811a987..0000000 --- a/docs/articles/Effect size.md +++ /dev/null @@ -1,8 +0,0 @@ -# Effect size - -## Effect size - -Refers to the magnitude of the expected difference between two groups in -a study, which is expressed as an estimate. It is a crucial factor in -determining the sample size needed for a study, with a smaller effect -size requiring a larger sample size for detection (63). diff --git a/docs/articles/Effective coverage.html b/docs/articles/Effective coverage.html deleted file mode 100644 index 9071bf4..0000000 --- a/docs/articles/Effective coverage.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Effective coverage • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Effective coverage -

-

The proportion of individuals experiencing optimal health gains from -a service among those who need the service. It is the fraction of -potential health gain that is actually delivered to the population -through the health system, given its capacity (8,61,62).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Effective coverage.md b/docs/articles/Effective coverage.md deleted file mode 100644 index e5df3c8..0000000 --- a/docs/articles/Effective coverage.md +++ /dev/null @@ -1,8 +0,0 @@ -# Effective coverage - -## Effective coverage - -The proportion of individuals experiencing optimal health gains from a -service among those who need the service. It is the fraction of -potential health gain that is actually delivered to the population -through the health system, given its capacity (8,61,62). diff --git a/docs/articles/Estimation method.html b/docs/articles/Estimation method.html deleted file mode 100644 index cae5a51..0000000 --- a/docs/articles/Estimation method.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Estimation method • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Estimation method -

-

The steps taken to generate health estimates. An explanation of the -method should include how the indicator is calculated, including -mathematical formulas and descriptive information of computations made -on the source data to produce the estimate (including adjustments and -weighting). Reporting on methods used should align with the Guidelines -for accurate and transparent health estimates reporting (GATHER) -(24).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Estimation method.md b/docs/articles/Estimation method.md deleted file mode 100644 index 94c0e2a..0000000 --- a/docs/articles/Estimation method.md +++ /dev/null @@ -1,10 +0,0 @@ -# Estimation method - -## Estimation method - -The steps taken to generate health estimates. An explanation of the -method should include how the indicator is calculated, including -mathematical formulas and descriptive information of computations made -on the source data to produce the estimate (including adjustments and -weighting). Reporting on methods used should align with the Guidelines -for accurate and transparent health estimates reporting (GATHER) (24). diff --git a/docs/articles/Evaluation.html b/docs/articles/Evaluation.html deleted file mode 100644 index 77da44d..0000000 --- a/docs/articles/Evaluation.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Evaluation • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Evaluation -

-

A process that attempts to determine as systematically and -objectively as possible the relevance, effectiveness and impact of -activities in light of their objectives (21).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Evaluation.md b/docs/articles/Evaluation.md deleted file mode 100644 index d4cf5a2..0000000 --- a/docs/articles/Evaluation.md +++ /dev/null @@ -1,7 +0,0 @@ -# Evaluation - -## Evaluation - -A process that attempts to determine as systematically and objectively -as possible the relevance, effectiveness and impact of activities in -light of their objectives (21). diff --git a/docs/articles/Event-based surveillance.html b/docs/articles/Event-based surveillance.html deleted file mode 100644 index dc17387..0000000 --- a/docs/articles/Event-based surveillance.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Event-based surveillance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Event-based surveillance -

-

The organized and rapid capture of information about incidents that -are a potential risk to public health. This information can be rumours -and other ad hoc reports transmitted through formal channels -(i.e. established routine reporting systems) and informal channels -(i.e. media, health workers and nongovernmental organizations’ reports) -(64).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Event-based surveillance.md b/docs/articles/Event-based surveillance.md deleted file mode 100644 index f918d8f..0000000 --- a/docs/articles/Event-based surveillance.md +++ /dev/null @@ -1,10 +0,0 @@ -# Event-based surveillance - -## Event-based surveillance - -The organized and rapid capture of information about incidents that are -a potential risk to public health. This information can be rumours and -other ad hoc reports transmitted through formal channels -(i.e. established routine reporting systems) and informal channels -(i.e. media, health workers and nongovernmental organizations’ reports) -(64). diff --git a/docs/articles/External consistency of data.html b/docs/articles/External consistency of data.html deleted file mode 100644 index 369b59c..0000000 --- a/docs/articles/External consistency of data.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -External consistency of data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

External consistency of data -

-

An assessment of the level of agreement between two sources of data -measuring the same health indicator. The two sources of data that are -usually compared are data flowing through health management information -systems or a programme- specific information system, and data from a -periodic population-based survey (13).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/External consistency of data.md b/docs/articles/External consistency of data.md deleted file mode 100644 index 509e7fd..0000000 --- a/docs/articles/External consistency of data.md +++ /dev/null @@ -1,9 +0,0 @@ -# External consistency of data - -## External consistency of data - -An assessment of the level of agreement between two sources of data -measuring the same health indicator. The two sources of data that are -usually compared are data flowing through health management information -systems or a programme- specific information system, and data from a -periodic population-based survey (13). diff --git a/docs/articles/External responsiveness.html b/docs/articles/External responsiveness.html deleted file mode 100644 index de5e88f..0000000 --- a/docs/articles/External responsiveness.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -External responsiveness • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

External responsiveness -

-

Reflects the extent to which change in a measure relates to -corresponding change in a reference measure of clinical or health status -(65).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/External responsiveness.md b/docs/articles/External responsiveness.md deleted file mode 100644 index 56450e4..0000000 --- a/docs/articles/External responsiveness.md +++ /dev/null @@ -1,7 +0,0 @@ -# External responsiveness - -## External responsiveness - -Reflects the extent to which change in a measure relates to -corresponding change in a reference measure of clinical or health status -(65). diff --git a/docs/articles/Feasibility.html b/docs/articles/Feasibility.html deleted file mode 100644 index dc925fc..0000000 --- a/docs/articles/Feasibility.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Feasibility • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Feasibility -

-

Refers to the availability of data to measure the indicator. If the -data is available from existing health data at a reasonable cost and/or -will not add additional burden to collect data (66).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Feasibility.md b/docs/articles/Feasibility.md deleted file mode 100644 index 443e1bc..0000000 --- a/docs/articles/Feasibility.md +++ /dev/null @@ -1,7 +0,0 @@ -# Feasibility - -## Feasibility - -Refers to the availability of data to measure the indicator. If the data -is available from existing health data at a reasonable cost and/or will -not add additional burden to collect data (66). diff --git a/docs/articles/Focal point.html b/docs/articles/Focal point.html deleted file mode 100644 index c45d76a..0000000 --- a/docs/articles/Focal point.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Focal point • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Focal point -

-

The designated person to respond on behalf of a Member State or -technical group during data collection or country consultation process -(67).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Focal point.md b/docs/articles/Focal point.md deleted file mode 100644 index 7d8b4fc..0000000 --- a/docs/articles/Focal point.md +++ /dev/null @@ -1,7 +0,0 @@ -# Focal point - -## Focal point - -The designated person to respond on behalf of a Member State or -technical group during data collection or country consultation process -(67). diff --git a/docs/articles/Gender.html b/docs/articles/Gender.html deleted file mode 100644 index 53c3f96..0000000 --- a/docs/articles/Gender.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Gender • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Gender -

-

Refers to the characteristics of women, men, girls and boys that are -socially constructed. This includes norms, behaviours and roles -associated with being a woman, man, girl or boy, as well as -relationships with each other. As a social construct, gender varies from -society to society and can change over time (68).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Gender.md b/docs/articles/Gender.md deleted file mode 100644 index c1c2dba..0000000 --- a/docs/articles/Gender.md +++ /dev/null @@ -1,9 +0,0 @@ -# Gender - -## Gender - -Refers to the characteristics of women, men, girls and boys that are -socially constructed. This includes norms, behaviours and roles -associated with being a woman, man, girl or boy, as well as -relationships with each other. As a social construct, gender varies from -society to society and can change over time (68). diff --git a/docs/articles/Geo-enablement.html b/docs/articles/Geo-enablement.html deleted file mode 100644 index 95be5f2..0000000 --- a/docs/articles/Geo-enablement.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Geo-enablement • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Geo-enablement -

-

To apply geospatial capabilities to a business process in order to -establish the authoritative spatial location of business data and enable -contextual spatial analysis (70).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Geo-enablement.md b/docs/articles/Geo-enablement.md deleted file mode 100644 index 7e51f3f..0000000 --- a/docs/articles/Geo-enablement.md +++ /dev/null @@ -1,7 +0,0 @@ -# Geo-enablement - -## Geo-enablement - -To apply geospatial capabilities to a business process in order to -establish the authoritative spatial location of business data and enable -contextual spatial analysis (70). diff --git a/docs/articles/Geocoding.html b/docs/articles/Geocoding.html deleted file mode 100644 index cdb6256..0000000 --- a/docs/articles/Geocoding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Geocoding • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Geocoding -

-

The process of transforming a description of a location – such as a -pair of coordinates, an address, or the name of a place-to a location on -the earth’s surface (69).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Geocoding.md b/docs/articles/Geocoding.md deleted file mode 100644 index 5d997af..0000000 --- a/docs/articles/Geocoding.md +++ /dev/null @@ -1,7 +0,0 @@ -# Geocoding - -## Geocoding - -The process of transforming a description of a location – such as a pair -of coordinates, an address, or the name of a place-to a location on the -earth’s surface (69). diff --git a/docs/articles/Geographic accessibility.html b/docs/articles/Geographic accessibility.html deleted file mode 100644 index 383533b..0000000 --- a/docs/articles/Geographic accessibility.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Geographic accessibility • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Geographic accessibility -

-

Geographic area and population living within it covered by a facility -(e.g. health facility, school, etc.), calculated using mode of -transportation (71).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Geographic accessibility.md b/docs/articles/Geographic accessibility.md deleted file mode 100644 index 73129fe..0000000 --- a/docs/articles/Geographic accessibility.md +++ /dev/null @@ -1,7 +0,0 @@ -# Geographic accessibility - -## Geographic accessibility - -Geographic area and population living within it covered by a facility -(e.g. health facility, school, etc.), calculated using mode of -transportation (71). diff --git a/docs/articles/Geographic information systems.html b/docs/articles/Geographic information systems.html deleted file mode 100644 index 2e03642..0000000 --- a/docs/articles/Geographic information systems.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Geographic information systems • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Geographic information systems -

-

A computer system that creates, manages, analyzes, and maps all types -of spatial data (72).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Geographic information systems.md b/docs/articles/Geographic information systems.md deleted file mode 100644 index d243014..0000000 --- a/docs/articles/Geographic information systems.md +++ /dev/null @@ -1,6 +0,0 @@ -# Geographic information systems - -## Geographic information systems - -A computer system that creates, manages, analyzes, and maps all types of -spatial data (72). diff --git a/docs/articles/Geospatial analysis.html b/docs/articles/Geospatial analysis.html deleted file mode 100644 index c8e7d85..0000000 --- a/docs/articles/Geospatial analysis.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Geospatial analysis • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Geospatial analysis -

-

Geospatial analysis is the use of geographic information systems and -geospatial data to measure, examine and visualize spatial patterns, -relationships and trends. Often includes statistical methods and/or -artificial intelligence (73).Geospatial data Information describing the -location and attributes of objects, events or other features on the -earth’s surface (70,74).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Geospatial analysis.md b/docs/articles/Geospatial analysis.md deleted file mode 100644 index 5951c4a..0000000 --- a/docs/articles/Geospatial analysis.md +++ /dev/null @@ -1,10 +0,0 @@ -# Geospatial analysis - -## Geospatial analysis - -Geospatial analysis is the use of geographic information systems and -geospatial data to measure, examine and visualize spatial patterns, -relationships and trends. Often includes statistical methods and/or -artificial intelligence (73).Geospatial data Information describing the -location and attributes of objects, events or other features on the -earth’s surface (70,74). diff --git a/docs/articles/Geospatial data.html b/docs/articles/Geospatial data.html deleted file mode 100644 index d7ad9c5..0000000 --- a/docs/articles/Geospatial data.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Geospatial data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Geospatial data -

-

Geospatial analysis is the use of geographic information systems and -geospatial data to measure, examine and visualize spatial patterns, -relationships and trends. Often includes statistical methods and/or -artificial intelligence (73).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Geospatial data.md b/docs/articles/Geospatial data.md deleted file mode 100644 index e0f3392..0000000 --- a/docs/articles/Geospatial data.md +++ /dev/null @@ -1,8 +0,0 @@ -# Geospatial data - -## Geospatial data - -Geospatial analysis is the use of geographic information systems and -geospatial data to measure, examine and visualize spatial patterns, -relationships and trends. Often includes statistical methods and/or -artificial intelligence (73). diff --git a/docs/articles/Global Health Observatory.html b/docs/articles/Global Health Observatory.html deleted file mode 100644 index dd787c0..0000000 --- a/docs/articles/Global Health Observatory.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Global Health Observatory • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Global Health Observatory -

-

The WHO global database for health and health-related indicators, -presenting the latest available data at global, regional and national -levels. This database is the WHO gateway to health-related statistics, -providing access to over 1000 indicators on priority health topics -including mortality and burden of diseases (75).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Global Health Observatory.md b/docs/articles/Global Health Observatory.md deleted file mode 100644 index a75b13d..0000000 --- a/docs/articles/Global Health Observatory.md +++ /dev/null @@ -1,9 +0,0 @@ -# Global Health Observatory - -## Global Health Observatory - -The WHO global database for health and health-related indicators, -presenting the latest available data at global, regional and national -levels. This database is the WHO gateway to health-related statistics, -providing access to over 1000 indicators on priority health topics -including mortality and burden of diseases (75). diff --git a/docs/articles/Global health estimates.html b/docs/articles/Global health estimates.html deleted file mode 100644 index 48ea851..0000000 --- a/docs/articles/Global health estimates.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Global health estimates • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Global health estimates -

-

WHO estimates on death and disability globally, by region and -country, available by age, sex and cause. These provide key insights on -mortality and morbidity trends and are a powerful tool to support -informed decision-making on health policy and resource allocation -(76).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Global health estimates.md b/docs/articles/Global health estimates.md deleted file mode 100644 index 6f49853..0000000 --- a/docs/articles/Global health estimates.md +++ /dev/null @@ -1,8 +0,0 @@ -# Global health estimates - -## Global health estimates - -WHO estimates on death and disability globally, by region and country, -available by age, sex and cause. These provide key insights on mortality -and morbidity trends and are a powerful tool to support informed -decision-making on health policy and resource allocation (76). diff --git a/docs/articles/Gold standard.html b/docs/articles/Gold standard.html deleted file mode 100644 index 47fe335..0000000 --- a/docs/articles/Gold standard.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Gold standard • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Gold standard -

-

A method, procedure or measurement that is widely accepted as being -the best available to test for or treat a disease or condition (77).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Gold standard.md b/docs/articles/Gold standard.md deleted file mode 100644 index 35ce18e..0000000 --- a/docs/articles/Gold standard.md +++ /dev/null @@ -1,6 +0,0 @@ -# Gold standard - -## Gold standard - -A method, procedure or measurement that is widely accepted as being the -best available to test for or treat a disease or condition (77). diff --git a/docs/articles/Government agency or institution.html b/docs/articles/Government agency or institution.html deleted file mode 100644 index 84be603..0000000 --- a/docs/articles/Government agency or institution.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Government agency or institution • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Government agency or institution -

-

responsible for collecting, analysing, using and disseminating -statistical data related to a country (111).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Government agency or institution.md b/docs/articles/Government agency or institution.md deleted file mode 100644 index 5a046d6..0000000 --- a/docs/articles/Government agency or institution.md +++ /dev/null @@ -1,6 +0,0 @@ -# Government agency or institution - -## Government agency or institution - -responsible for collecting, analysing, using and disseminating -statistical data related to a country (111). diff --git a/docs/articles/Granularity.html b/docs/articles/Granularity.html deleted file mode 100644 index 2d239c2..0000000 --- a/docs/articles/Granularity.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Granularity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Granularity -

-

Granularity is the level of detail of the data (78).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Granularity.md b/docs/articles/Granularity.md deleted file mode 100644 index d7276a6..0000000 --- a/docs/articles/Granularity.md +++ /dev/null @@ -1,5 +0,0 @@ -# Granularity - -## Granularity - -Granularity is the level of detail of the data (78). diff --git a/docs/articles/Health and demographic surveillance system.html b/docs/articles/Health and demographic surveillance system.html deleted file mode 100644 index b229ec2..0000000 --- a/docs/articles/Health and demographic surveillance system.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Health and demographic surveillance system • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health and demographic surveillance system -

-

Longitudinal data collection platforms that track births, deaths, -migrations and socioeconomic and health circumstances over time in -established geographic areas (79).A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health and demographic surveillance system.md b/docs/articles/Health and demographic surveillance system.md deleted file mode 100644 index a3eb60a..0000000 --- a/docs/articles/Health and demographic surveillance system.md +++ /dev/null @@ -1,7 +0,0 @@ -# Health and demographic surveillance system - -## Health and demographic surveillance system - -Longitudinal data collection platforms that track births, deaths, -migrations and socioeconomic and health circumstances over time in -established geographic areas (79).A diff --git a/docs/articles/Health data.html b/docs/articles/Health data.html deleted file mode 100644 index 640de36..0000000 --- a/docs/articles/Health data.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Health data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health data -

-

Raw, unprocessed numbers, measurements, that relate directly to the -health and well-being status of an individual or to the health services -that the individual receives (23,80).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health data.md b/docs/articles/Health data.md deleted file mode 100644 index 11bc0f1..0000000 --- a/docs/articles/Health data.md +++ /dev/null @@ -1,7 +0,0 @@ -# Health data - -## Health data - -Raw, unprocessed numbers, measurements, that relate directly to the -health and well-being status of an individual or to the health services -that the individual receives (23,80). diff --git a/docs/articles/Health estimates.html b/docs/articles/Health estimates.html deleted file mode 100644 index 39be892..0000000 --- a/docs/articles/Health estimates.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Health estimates • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health estimates -

-

Quantitative population-level estimates (including global, regional, -national or subnational estimates) of health indicators, including -indicators of health status such as estimates of total and -cause-specific mortality, incidence and prevalence of diseases, injuries -and disability and functioning; and indicators of health determinants, -including health behaviours and health exposures (24).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health estimates.md b/docs/articles/Health estimates.md deleted file mode 100644 index 82fc00c..0000000 --- a/docs/articles/Health estimates.md +++ /dev/null @@ -1,10 +0,0 @@ -# Health estimates - -## Health estimates - -Quantitative population-level estimates (including global, regional, -national or subnational estimates) of health indicators, including -indicators of health status such as estimates of total and -cause-specific mortality, incidence and prevalence of diseases, injuries -and disability and functioning; and indicators of health determinants, -including health behaviours and health exposures (24). diff --git a/docs/articles/Health facility census.html b/docs/articles/Health facility census.html deleted file mode 100644 index 0921e17..0000000 --- a/docs/articles/Health facility census.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Health facility census • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health facility census -

-

Periodic enumeration of all public and private healthcare facilities -within a country about the facilities and the services they provide -(81).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health facility census.md b/docs/articles/Health facility census.md deleted file mode 100644 index a747dbf..0000000 --- a/docs/articles/Health facility census.md +++ /dev/null @@ -1,7 +0,0 @@ -# Health facility census - -## Health facility census - -Periodic enumeration of all public and private healthcare facilities -within a country about the facilities and the services they provide -(81). diff --git a/docs/articles/Health facility survey.html b/docs/articles/Health facility survey.html deleted file mode 100644 index 2ccec9d..0000000 --- a/docs/articles/Health facility survey.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Health facility survey • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health facility survey -

-

Periodic enumeration of a representative sample of public and private -health care facilities within a country, providing information about the -facilities and the services they provide (81).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health facility survey.md b/docs/articles/Health facility survey.md deleted file mode 100644 index 0f6a7ca..0000000 --- a/docs/articles/Health facility survey.md +++ /dev/null @@ -1,7 +0,0 @@ -# Health facility survey - -## Health facility survey - -Periodic enumeration of a representative sample of public and private -health care facilities within a country, providing information about the -facilities and the services they provide (81). diff --git a/docs/articles/Health impact assessment.html b/docs/articles/Health impact assessment.html deleted file mode 100644 index 8311fab..0000000 --- a/docs/articles/Health impact assessment.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Health impact assessment • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health impact assessment -

-

A combination of procedures, methods and tools by which a policy, -programme, product or service may be judged concerning its effects on -the health of the population and the distribution of those effects -within the population (82).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health impact assessment.md b/docs/articles/Health impact assessment.md deleted file mode 100644 index 57bc033..0000000 --- a/docs/articles/Health impact assessment.md +++ /dev/null @@ -1,8 +0,0 @@ -# Health impact assessment - -## Health impact assessment - -A combination of procedures, methods and tools by which a policy, -programme, product or service may be judged concerning its effects on -the health of the population and the distribution of those effects -within the population (82). diff --git a/docs/articles/Health indicator.html b/docs/articles/Health indicator.html deleted file mode 100644 index 0f9d475..0000000 --- a/docs/articles/Health indicator.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Health indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health indicator -

-

A measurable quantity that can be used to describe a population’s -health or its determinants (23,24).Health inequality A measured -difference in health between population subgroups. Health inequalities -can be measured and monitored (83).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health indicator.md b/docs/articles/Health indicator.md deleted file mode 100644 index 55d6215..0000000 --- a/docs/articles/Health indicator.md +++ /dev/null @@ -1,8 +0,0 @@ -# Health indicator - -## Health indicator - -A measurable quantity that can be used to describe a population’s health -or its determinants (23,24).Health inequality A measured difference in -health between population subgroups. Health inequalities can be measured -and monitored (83). diff --git a/docs/articles/Health inequality.html b/docs/articles/Health inequality.html deleted file mode 100644 index 7a1eb05..0000000 --- a/docs/articles/Health inequality.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Health inequality • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health inequality -

-

A measured difference in health between population subgroups. Health -inequalities can be measured and monitored (83).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health inequality.md b/docs/articles/Health inequality.md deleted file mode 100644 index 042e1ae..0000000 --- a/docs/articles/Health inequality.md +++ /dev/null @@ -1,6 +0,0 @@ -# Health inequality - -## Health inequality - -A measured difference in health between population subgroups. Health -inequalities can be measured and monitored (83). diff --git a/docs/articles/Health inequity.html b/docs/articles/Health inequity.html deleted file mode 100644 index 8837dd2..0000000 --- a/docs/articles/Health inequity.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Health inequity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health inequity -

-

Unfair, avoidable or remediable differences in health among groups of -people. In some cases, the absence of a difference between groups (that -is, a situation of equality) might be considered inequitable. Health -inequity is rooted in the unfair distribution of, and access to, power, -wealth and other social resources, and is linked to forms of -disadvantage that are socially produced, such as poverty, discrimination -and lack of access to services or goods (83).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health inequity.md b/docs/articles/Health inequity.md deleted file mode 100644 index 1551d08..0000000 --- a/docs/articles/Health inequity.md +++ /dev/null @@ -1,11 +0,0 @@ -# Health inequity - -## Health inequity - -Unfair, avoidable or remediable differences in health among groups of -people. In some cases, the absence of a difference between groups (that -is, a situation of equality) might be considered inequitable. Health -inequity is rooted in the unfair distribution of, and access to, power, -wealth and other social resources, and is linked to forms of -disadvantage that are socially produced, such as poverty, discrimination -and lack of access to services or goods (83). diff --git a/docs/articles/Health information system.html b/docs/articles/Health information system.html deleted file mode 100644 index d9623e4..0000000 --- a/docs/articles/Health information system.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Health information system • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health information system -

-

A system that collects data from health and other relevant sectors, -analyses the data and ensures their overall quality, relevance and -timeliness, and converts the data into information for health- related -decision-making. It has four key functions: (i) data generation; (ii) -compilation; (iii) analysis and synthesis; and (iv) communication and -use. A solid health information system will be capable of generating -reliable data from hospitals, outpatients, reportable diseases -registries, surveys, civil registration and vital statistics and other -relevant data for health

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health information system.md b/docs/articles/Health information system.md deleted file mode 100644 index 1e4a8b5..0000000 --- a/docs/articles/Health information system.md +++ /dev/null @@ -1,13 +0,0 @@ -# Health information system - -## Health information system - -A system that collects data from health and other relevant sectors, -analyses the data and ensures their overall quality, relevance and -timeliness, and converts the data into information for health- related -decision-making. It has four key functions: (i) data generation; (ii) -compilation; (iii) analysis and synthesis; and (iv) communication and -use. A solid health information system will be capable of generating -reliable data from hospitals, outpatients, reportable diseases -registries, surveys, civil registration and vital statistics and other -relevant data for health diff --git a/docs/articles/Health management information system.html b/docs/articles/Health management information system.html deleted file mode 100644 index 88829f8..0000000 --- a/docs/articles/Health management information system.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Health management information system • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health management information system -

-

An information system specially designed to support planning, -management and decision-making in health facilities and organizations -(85,86).A Z10

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health management information system.md b/docs/articles/Health management information system.md deleted file mode 100644 index 88fa3f9..0000000 --- a/docs/articles/Health management information system.md +++ /dev/null @@ -1,6 +0,0 @@ -# Health management information system - -## Health management information system - -An information system specially designed to support planning, management -and decision-making in health facilities and organizations (85,86).A Z10 diff --git a/docs/articles/Health management information.html b/docs/articles/Health management information.html deleted file mode 100644 index ed9881c..0000000 --- a/docs/articles/Health management information.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Health management information • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health management information -

-

system An information system specially designed to support planning, -management and decision-making in health facilities and organizations -(85,86).A Z10

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health management information.md b/docs/articles/Health management information.md deleted file mode 100644 index a6f0f5b..0000000 --- a/docs/articles/Health management information.md +++ /dev/null @@ -1,7 +0,0 @@ -# Health management information - -## Health management information - -system An information system specially designed to support planning, -management and decision-making in health facilities and organizations -(85,86).A Z10 diff --git a/docs/articles/Health survey.html b/docs/articles/Health survey.html deleted file mode 100644 index c0a676d..0000000 --- a/docs/articles/Health survey.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Health survey • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Health survey -

-

A survey that is designed to gather information about health -(physical and mental) and health-related factors. Health surveys -generally include measures of risk factors, health behaviours, and non- -health determinants or correlates of health such as socioeconomic -status. The range of measures that can be included is wide and varies by -survey. Age, sex/ gender and race/ethnicity are the basic demographic -variables that are included in health surveys. Socioeconomic -determinants of health include education, income, geographic region and -rural/ urban residence (87).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Health survey.md b/docs/articles/Health survey.md deleted file mode 100644 index 3b9a35a..0000000 --- a/docs/articles/Health survey.md +++ /dev/null @@ -1,13 +0,0 @@ -# Health survey - -## Health survey - -A survey that is designed to gather information about health (physical -and mental) and health-related factors. Health surveys generally include -measures of risk factors, health behaviours, and non- health -determinants or correlates of health such as socioeconomic status. The -range of measures that can be included is wide and varies by survey. -Age, sex/ gender and race/ethnicity are the basic demographic variables -that are included in health surveys. Socioeconomic determinants of -health include education, income, geographic region and rural/ urban -residence (87). diff --git a/docs/articles/Healthy life expectancy at birth.html b/docs/articles/Healthy life expectancy at birth.html deleted file mode 100644 index a70efd6..0000000 --- a/docs/articles/Healthy life expectancy at birth.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Healthy life expectancy at birth • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Healthy life expectancy at birth -

-

Average number of years that a person can expect to live in ‘full -health’ by taking into account years lived in less than full health due -to disease and/or injury (88).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Healthy life expectancy at birth.md b/docs/articles/Healthy life expectancy at birth.md deleted file mode 100644 index fa9f8c3..0000000 --- a/docs/articles/Healthy life expectancy at birth.md +++ /dev/null @@ -1,7 +0,0 @@ -# Healthy life expectancy at birth - -## Healthy life expectancy at birth - -Average number of years that a person can expect to live in ‘full -health’ by taking into account years lived in less than full health due -to disease and/or injury (88). diff --git a/docs/articles/Heaping of data.html b/docs/articles/Heaping of data.html deleted file mode 100644 index d06866b..0000000 --- a/docs/articles/Heaping of data.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Heaping of data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Heaping of data -

-

A measure of the tendency of respondents to report numerical values -using preferred numbers or specific intervals when providing estimates, -such as age of disease diagnosis or date of events (e.g. birthweights -reported on 2000g or 2500g) or rounded (i.e. ending in ‘00’ or ‘50’) -(89).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Heaping of data.md b/docs/articles/Heaping of data.md deleted file mode 100644 index 76578fa..0000000 --- a/docs/articles/Heaping of data.md +++ /dev/null @@ -1,9 +0,0 @@ -# Heaping of data - -## Heaping of data - -A measure of the tendency of respondents to report numerical values -using preferred numbers or specific intervals when providing estimates, -such as age of disease diagnosis or date of events (e.g. birthweights -reported on 2000g or 2500g) or rounded (i.e. ending in ‘00’ or ‘50’) -(89). diff --git a/docs/articles/Home-based record.html b/docs/articles/Home-based record.html deleted file mode 100644 index eb00f33..0000000 --- a/docs/articles/Home-based record.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Home-based record • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Home-based record -

-

A health document used to record the history of health services -received by an individual. It is kept in the household, in either paper -or electronic format, by the individual or their caregiver and is -intended to be integrated into the health information system and -complement records maintained by health facilities (90).I

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Home-based record.md b/docs/articles/Home-based record.md deleted file mode 100644 index 81bc764..0000000 --- a/docs/articles/Home-based record.md +++ /dev/null @@ -1,9 +0,0 @@ -# Home-based record - -## Home-based record - -A health document used to record the history of health services received -by an individual. It is kept in the household, in either paper or -electronic format, by the individual or their caregiver and is intended -to be integrated into the health information system and complement -records maintained by health facilities (90).I diff --git a/docs/articles/Impact indicator.html b/docs/articles/Impact indicator.html deleted file mode 100644 index 1761315..0000000 --- a/docs/articles/Impact indicator.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Impact indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Impact indicator -

-

Measures the ultimate objective that programmes are designed to -affect, such as decreases in mortality and morbidity. Sometimes referred -to as long-term outcome (21,50).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Impact indicator.md b/docs/articles/Impact indicator.md deleted file mode 100644 index 61ddad8..0000000 --- a/docs/articles/Impact indicator.md +++ /dev/null @@ -1,7 +0,0 @@ -# Impact indicator - -## Impact indicator - -Measures the ultimate objective that programmes are designed to affect, -such as decreases in mortality and morbidity. Sometimes referred to as -long-term outcome (21,50). diff --git a/docs/articles/Imputation.html b/docs/articles/Imputation.html deleted file mode 100644 index caa4b45..0000000 --- a/docs/articles/Imputation.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Imputation • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Imputation -

-

A method for retaining the majority of the dataset’s data and -information by substituting missing data with an inferred value -(91).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Imputation.md b/docs/articles/Imputation.md deleted file mode 100644 index afda26a..0000000 --- a/docs/articles/Imputation.md +++ /dev/null @@ -1,6 +0,0 @@ -# Imputation - -## Imputation - -A method for retaining the majority of the dataset’s data and -information by substituting missing data with an inferred value (91). diff --git a/docs/articles/Incidence rate.html b/docs/articles/Incidence rate.html deleted file mode 100644 index 15531a0..0000000 --- a/docs/articles/Incidence rate.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Incidence rate • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Incidence rate -

-

A new event or case of a disease (or a death or other health -condition) that occurred in a specified time period divided by the -population at risk for the event in that time period (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Incidence rate.md b/docs/articles/Incidence rate.md deleted file mode 100644 index e74a213..0000000 --- a/docs/articles/Incidence rate.md +++ /dev/null @@ -1,7 +0,0 @@ -# Incidence rate - -## Incidence rate - -A new event or case of a disease (or a death or other health condition) -that occurred in a specified time period divided by the population at -risk for the event in that time period (23). diff --git a/docs/articles/Indicator classification.html b/docs/articles/Indicator classification.html deleted file mode 100644 index d89d281..0000000 --- a/docs/articles/Indicator classification.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Indicator classification • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Indicator classification -

-

The level of measurement provided by the indicator; this can be one -of five levels starting with input (lowest) and moving through process, -output, outcome and finally impact (highest) (21).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Indicator classification.md b/docs/articles/Indicator classification.md deleted file mode 100644 index 38f8bfb..0000000 --- a/docs/articles/Indicator classification.md +++ /dev/null @@ -1,7 +0,0 @@ -# Indicator classification - -## Indicator classification - -The level of measurement provided by the indicator; this can be one of -five levels starting with input (lowest) and moving through process, -output, outcome and finally impact (highest) (21). diff --git a/docs/articles/Indicator definition.html b/docs/articles/Indicator definition.html deleted file mode 100644 index e9e5167..0000000 --- a/docs/articles/Indicator definition.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Indicator definition • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Indicator definition -

-

How the indicator is measured, including numerators, denominators, -data type and disaggregation in common use. The indicator definition -should be unambiguous and be expressed in universally applicable terms -(23,92).A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Indicator definition.md b/docs/articles/Indicator definition.md deleted file mode 100644 index 7c3554f..0000000 --- a/docs/articles/Indicator definition.md +++ /dev/null @@ -1,8 +0,0 @@ -# Indicator definition - -## Indicator definition - -How the indicator is measured, including numerators, denominators, data -type and disaggregation in common use. The indicator definition should -be unambiguous and be expressed in universally applicable terms -(23,92).A diff --git a/docs/articles/Indicator-based surveillance commonly.html b/docs/articles/Indicator-based surveillance commonly.html deleted file mode 100644 index 23bb312..0000000 --- a/docs/articles/Indicator-based surveillance commonly.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Indicator-based surveillance commonly • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Indicator-based surveillance commonly -

-

comes from health care facilities and can be regularly reported -(64).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Indicator-based surveillance commonly.md b/docs/articles/Indicator-based surveillance commonly.md deleted file mode 100644 index 12dbb7b..0000000 --- a/docs/articles/Indicator-based surveillance commonly.md +++ /dev/null @@ -1,5 +0,0 @@ -# Indicator-based surveillance commonly - -## Indicator-based surveillance commonly - -comes from health care facilities and can be regularly reported (64). diff --git a/docs/articles/Indicator-based surveillance.html b/docs/articles/Indicator-based surveillance.html deleted file mode 100644 index 55b5df3..0000000 --- a/docs/articles/Indicator-based surveillance.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Indicator-based surveillance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Indicator-based surveillance -

-

Routine reporting of cases of a defined list of diseases, including -notifiable disease surveillance systems, sentinel surveillance, and -laboratory-based surveillance.

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Indicator-based surveillance.md b/docs/articles/Indicator-based surveillance.md deleted file mode 100644 index 1ccccc3..0000000 --- a/docs/articles/Indicator-based surveillance.md +++ /dev/null @@ -1,7 +0,0 @@ -# Indicator-based surveillance - -## Indicator-based surveillance - -Routine reporting of cases of a defined list of diseases, including -notifiable disease surveillance systems, sentinel surveillance, and -laboratory-based surveillance. diff --git a/docs/articles/Individual health record.html b/docs/articles/Individual health record.html deleted file mode 100644 index e029bf1..0000000 --- a/docs/articles/Individual health record.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Individual health record • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Individual health record -

-

Files or a document that contain diagnoses and treatment, -medications, allergies, immunizations, as well as radiology images and -laboratory results for an individual. These records contribute to -tracking a patient’s medical history. They are generally kept in a -health facility, in either paper or electronic format (93).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Individual health record.md b/docs/articles/Individual health record.md deleted file mode 100644 index 356c01f..0000000 --- a/docs/articles/Individual health record.md +++ /dev/null @@ -1,9 +0,0 @@ -# Individual health record - -## Individual health record - -Files or a document that contain diagnoses and treatment, medications, -allergies, immunizations, as well as radiology images and laboratory -results for an individual. These records contribute to tracking a -patient’s medical history. They are generally kept in a health facility, -in either paper or electronic format (93). diff --git a/docs/articles/Input indicator.html b/docs/articles/Input indicator.html deleted file mode 100644 index d53beff..0000000 --- a/docs/articles/Input indicator.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Input indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Input indicator -

-

Measures human and financial resources, physical facilities, -equipment and operational policies that enable programme activities to -be implemented. This includes health financing, health workforce, health -infrastructure, and health information and governance (21,50).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Input indicator.md b/docs/articles/Input indicator.md deleted file mode 100644 index b54e1e3..0000000 --- a/docs/articles/Input indicator.md +++ /dev/null @@ -1,8 +0,0 @@ -# Input indicator - -## Input indicator - -Measures human and financial resources, physical facilities, equipment -and operational policies that enable programme activities to be -implemented. This includes health financing, health workforce, health -infrastructure, and health information and governance (21,50). diff --git a/docs/articles/Interaction.html b/docs/articles/Interaction.html deleted file mode 100644 index 37489f4..0000000 --- a/docs/articles/Interaction.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Interaction • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Interaction -

-

When the relationship between two variables depends on the value of -another variable (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Interaction.md b/docs/articles/Interaction.md deleted file mode 100644 index f254c66..0000000 --- a/docs/articles/Interaction.md +++ /dev/null @@ -1,6 +0,0 @@ -# Interaction - -## Interaction - -When the relationship between two variables depends on the value of -another variable (17). diff --git a/docs/articles/Internal consistency of data.html b/docs/articles/Internal consistency of data.html deleted file mode 100644 index 8f726ba..0000000 --- a/docs/articles/Internal consistency of data.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Internal consistency of data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Internal consistency of data -

-

A measure based on the correlations between different items on the -same test or survey. It measures whether several items that propose to -measure the same general construct produce similar scores or results. -For example, if a respondent answered “Do you consider yourself -healthy?” as yes, and then in the same survey answered “Do you consider -yourself unhealthy?” as no, that is good internal consistency (94).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Internal consistency of data.md b/docs/articles/Internal consistency of data.md deleted file mode 100644 index 6ddc375..0000000 --- a/docs/articles/Internal consistency of data.md +++ /dev/null @@ -1,10 +0,0 @@ -# Internal consistency of data - -## Internal consistency of data - -A measure based on the correlations between different items on the same -test or survey. It measures whether several items that propose to -measure the same general construct produce similar scores or results. -For example, if a respondent answered “Do you consider yourself -healthy?” as yes, and then in the same survey answered “Do you consider -yourself unhealthy?” as no, that is good internal consistency (94). diff --git a/docs/articles/Internal responsiveness.html b/docs/articles/Internal responsiveness.html deleted file mode 100644 index 136ac66..0000000 --- a/docs/articles/Internal responsiveness.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Internal responsiveness • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Internal responsiveness -

-

Characterises the ability of a measure to change over a prespecified -time frame (65).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Internal responsiveness.md b/docs/articles/Internal responsiveness.md deleted file mode 100644 index 4761f18..0000000 --- a/docs/articles/Internal responsiveness.md +++ /dev/null @@ -1,6 +0,0 @@ -# Internal responsiveness - -## Internal responsiveness - -Characterises the ability of a measure to change over a prespecified -time frame (65). diff --git a/docs/articles/International Classification of Diseases (ICD).html b/docs/articles/International Classification of Diseases (ICD).html deleted file mode 100644 index d768997..0000000 --- a/docs/articles/International Classification of Diseases (ICD).html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -International Classification of Diseases (ICD) • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

International Classification of Diseases (ICD) -

-

A structured translation of each medical condition into an -alphanumeric code, which allows for the harmonization and comparison of -mortality statistics across time and locations. ICD is a gold standard -coding system for reporting cause of death data (10).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/International Classification of Diseases (ICD).md b/docs/articles/International Classification of Diseases (ICD).md deleted file mode 100644 index ee21e48..0000000 --- a/docs/articles/International Classification of Diseases (ICD).md +++ /dev/null @@ -1,8 +0,0 @@ -# International Classification of Diseases (ICD) - -## International Classification of Diseases (ICD) - -A structured translation of each medical condition into an alphanumeric -code, which allows for the harmonization and comparison of mortality -statistics across time and locations. ICD is a gold standard coding -system for reporting cause of death data (10). diff --git a/docs/articles/International Health Regulations.html b/docs/articles/International Health Regulations.html deleted file mode 100644 index 1e2c653..0000000 --- a/docs/articles/International Health Regulations.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -International Health Regulations • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

International Health Regulations -

-

It is an instrument of international law that is legally-binding on -196 countries, including the 194 WHO Member States. The International -Health Regulations grew out of the response to deadly epidemics that -once overran Europe. They create rights and obligations for countries, -including the requirement to report public health events (95).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/International Health Regulations.md b/docs/articles/International Health Regulations.md deleted file mode 100644 index 76fe91f..0000000 --- a/docs/articles/International Health Regulations.md +++ /dev/null @@ -1,9 +0,0 @@ -# International Health Regulations - -## International Health Regulations - -It is an instrument of international law that is legally-binding on 196 -countries, including the 194 WHO Member States. The International Health -Regulations grew out of the response to deadly epidemics that once -overran Europe. They create rights and obligations for countries, -including the requirement to report public health events (95). diff --git a/docs/articles/Interoperability.html b/docs/articles/Interoperability.html deleted file mode 100644 index edd5d23..0000000 --- a/docs/articles/Interoperability.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Interoperability • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Interoperability -

-

The ability of different applications to access, exchange, integrate -and use data in a coordinated manner through the use of shared -application interfaces and standards, within and across organizational, -regional and national boundaries, to provide timely and seamless -portability of information and optimize health outcomes (58).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Interoperability.md b/docs/articles/Interoperability.md deleted file mode 100644 index 6d6e55c..0000000 --- a/docs/articles/Interoperability.md +++ /dev/null @@ -1,9 +0,0 @@ -# Interoperability - -## Interoperability - -The ability of different applications to access, exchange, integrate and -use data in a coordinated manner through the use of shared application -interfaces and standards, within and across organizational, regional and -national boundaries, to provide timely and seamless portability of -information and optimize health outcomes (58). diff --git a/docs/articles/Intervention coverage.html b/docs/articles/Intervention coverage.html deleted file mode 100644 index a329b2b..0000000 --- a/docs/articles/Intervention coverage.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Intervention coverage • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Intervention coverage -

-

People receiving a specific service (i.e. treatment, care, activity -to improve health) among those who need it. It requires a well-defined -service that can be measured, and precise measurement of the population -in need of that service (96).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Intervention coverage.md b/docs/articles/Intervention coverage.md deleted file mode 100644 index 5e58c71..0000000 --- a/docs/articles/Intervention coverage.md +++ /dev/null @@ -1,8 +0,0 @@ -# Intervention coverage - -## Intervention coverage - -People receiving a specific service (i.e. treatment, care, activity to -improve health) among those who need it. It requires a well-defined -service that can be measured, and precise measurement of the population -in need of that service (96). diff --git a/docs/articles/Joint external evaluation.html b/docs/articles/Joint external evaluation.html deleted file mode 100644 index e0449b0..0000000 --- a/docs/articles/Joint external evaluation.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Joint external evaluation • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Joint external evaluation -

-

Voluntary, collaborative, multisectoral process to assess country -capacities to prevent, detect and rapidly respond to public health risks -(97).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Joint external evaluation.md b/docs/articles/Joint external evaluation.md deleted file mode 100644 index ecb5f9d..0000000 --- a/docs/articles/Joint external evaluation.md +++ /dev/null @@ -1,7 +0,0 @@ -# Joint external evaluation - -## Joint external evaluation - -Voluntary, collaborative, multisectoral process to assess country -capacities to prevent, detect and rapidly respond to public health risks -(97). diff --git a/docs/articles/Kappa statistic (K).html b/docs/articles/Kappa statistic (K).html deleted file mode 100644 index 3a4263b..0000000 --- a/docs/articles/Kappa statistic (K).html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Kappa statistic (K) • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Kappa statistic (K) -

-

A statistical measure of inter-rater reliability for categorical -variables (98).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Kappa statistic (K).md b/docs/articles/Kappa statistic (K).md deleted file mode 100644 index 0f2e3d6..0000000 --- a/docs/articles/Kappa statistic (K).md +++ /dev/null @@ -1,6 +0,0 @@ -# Kappa statistic (K) - -## Kappa statistic (K) - -A statistical measure of inter-rater reliability for categorical -variables (98). diff --git a/docs/articles/Linkage.html b/docs/articles/Linkage.html deleted file mode 100644 index 0955d7d..0000000 --- a/docs/articles/Linkage.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Linkage • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Linkage -

-

The process of combining data from different sources that relate to -the same person to create a new, enhanced data resource (99).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Linkage.md b/docs/articles/Linkage.md deleted file mode 100644 index 87cbc37..0000000 --- a/docs/articles/Linkage.md +++ /dev/null @@ -1,6 +0,0 @@ -# Linkage - -## Linkage - -The process of combining data from different sources that relate to the -same person to create a new, enhanced data resource (99). diff --git a/docs/articles/Logic model.html b/docs/articles/Logic model.html deleted file mode 100644 index 3195ce6..0000000 --- a/docs/articles/Logic model.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Logic model • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Logic model -

-

A diagram that identifies and illustrates the linear relationships -from programme inputs, processes, outputs, and outcomes to the impact -(100,101).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Logic model.md b/docs/articles/Logic model.md deleted file mode 100644 index 7917e47..0000000 --- a/docs/articles/Logic model.md +++ /dev/null @@ -1,7 +0,0 @@ -# Logic model - -## Logic model - -A diagram that identifies and illustrates the linear relationships from -programme inputs, processes, outputs, and outcomes to the impact -(100,101). diff --git a/docs/articles/Master facility list.html b/docs/articles/Master facility list.html deleted file mode 100644 index c94561f..0000000 --- a/docs/articles/Master facility list.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Master facility list • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Master facility list -

-

The unique, complete, up-to-date and uniquely coded list of all the -active and prior health facilities in the country that are officially -curated by the mandated agency. At a minimum, the list includes a unique -ID, location, type, and name of each facility (103).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Master facility list.md b/docs/articles/Master facility list.md deleted file mode 100644 index f2861e3..0000000 --- a/docs/articles/Master facility list.md +++ /dev/null @@ -1,8 +0,0 @@ -# Master facility list - -## Master facility list - -The unique, complete, up-to-date and uniquely coded list of all the -active and prior health facilities in the country that are officially -curated by the mandated agency. At a minimum, the list includes a unique -ID, location, type, and name of each facility (103). diff --git a/docs/articles/Mean.html b/docs/articles/Mean.html deleted file mode 100644 index 53e6381..0000000 --- a/docs/articles/Mean.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Mean • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Mean -

-

The average of a set of values (103).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Mean.md b/docs/articles/Mean.md deleted file mode 100644 index cd81a76..0000000 --- a/docs/articles/Mean.md +++ /dev/null @@ -1,5 +0,0 @@ -# Mean - -## Mean - -The average of a set of values (103). diff --git a/docs/articles/Measure.html b/docs/articles/Measure.html deleted file mode 100644 index fc28e2d..0000000 --- a/docs/articles/Measure.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Measure • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Measure -

-

A standard unit used to express the size, amount, or degree of -something (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Measure.md b/docs/articles/Measure.md deleted file mode 100644 index 27e1854..0000000 --- a/docs/articles/Measure.md +++ /dev/null @@ -1,6 +0,0 @@ -# Measure - -## Measure - -A standard unit used to express the size, amount, or degree of something -(23). diff --git a/docs/articles/Measurement level.html b/docs/articles/Measurement level.html deleted file mode 100644 index d17ced0..0000000 --- a/docs/articles/Measurement level.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Measurement level • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Measurement level -

-

The specific setting that the indicator is designed to -measure/monitor (e.g. global, national, subnational, facility, -household, community, school) (21,23,50).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Measurement level.md b/docs/articles/Measurement level.md deleted file mode 100644 index 5d9f6b2..0000000 --- a/docs/articles/Measurement level.md +++ /dev/null @@ -1,7 +0,0 @@ -# Measurement level - -## Measurement level - -The specific setting that the indicator is designed to measure/monitor -(e.g. global, national, subnational, facility, household, community, -school) (21,23,50). diff --git a/docs/articles/Measurement method.html b/docs/articles/Measurement method.html deleted file mode 100644 index d9a07f7..0000000 --- a/docs/articles/Measurement method.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Measurement method • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Measurement method -

-

How the data from data sources are used; this can be process or other -types of analyses that make use of the indicator (104).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Measurement method.md b/docs/articles/Measurement method.md deleted file mode 100644 index f09ccb4..0000000 --- a/docs/articles/Measurement method.md +++ /dev/null @@ -1,6 +0,0 @@ -# Measurement method - -## Measurement method - -How the data from data sources are used; this can be process or other -types of analyses that make use of the indicator (104). diff --git a/docs/articles/Measurement.html b/docs/articles/Measurement.html deleted file mode 100644 index b4d7778..0000000 --- a/docs/articles/Measurement.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Measurement • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Measurement -

-

Refers to the extent, dimension, quantity, etc. of an attribute -(23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Measurement.md b/docs/articles/Measurement.md deleted file mode 100644 index d3ae1dc..0000000 --- a/docs/articles/Measurement.md +++ /dev/null @@ -1,5 +0,0 @@ -# Measurement - -## Measurement - -Refers to the extent, dimension, quantity, etc. of an attribute (23). diff --git a/docs/articles/Median.html b/docs/articles/Median.html deleted file mode 100644 index 1b313ea..0000000 --- a/docs/articles/Median.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Median • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Median -

-

Middle point of a set of ordered numbers; half of the values are -higher than the median, and half of the values are lower (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Median.md b/docs/articles/Median.md deleted file mode 100644 index 595b3cc..0000000 --- a/docs/articles/Median.md +++ /dev/null @@ -1,6 +0,0 @@ -# Median - -## Median - -Middle point of a set of ordered numbers; half of the values are higher -than the median, and half of the values are lower (17). diff --git a/docs/articles/Medical certification of cause of death.html b/docs/articles/Medical certification of cause of death.html deleted file mode 100644 index 958431c..0000000 --- a/docs/articles/Medical certification of cause of death.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Medical certification of cause of death • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Medical certification of cause of death -

-

Describes the process of accurately identifying the sequence of -events that lead to death. It includes also recording of causes that -contributed to death but were not part of the sequence that led to death -(10).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Medical certification of cause of death.md b/docs/articles/Medical certification of cause of death.md deleted file mode 100644 index 4c930f9..0000000 --- a/docs/articles/Medical certification of cause of death.md +++ /dev/null @@ -1,8 +0,0 @@ -# Medical certification of cause of death - -## Medical certification of cause of death - -Describes the process of accurately identifying the sequence of events -that lead to death. It includes also recording of causes that -contributed to death but were not part of the sequence that led to death -(10). diff --git a/docs/articles/Metadata.html b/docs/articles/Metadata.html deleted file mode 100644 index 1a30445..0000000 --- a/docs/articles/Metadata.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Metadata • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Metadata -

-

Data that define or describe other data. They are the information -needed to explain and understand the indicator or values being presented -(105).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Metadata.md b/docs/articles/Metadata.md deleted file mode 100644 index b8afd73..0000000 --- a/docs/articles/Metadata.md +++ /dev/null @@ -1,6 +0,0 @@ -# Metadata - -## Metadata - -Data that define or describe other data. They are the information needed -to explain and understand the indicator or values being presented (105). diff --git a/docs/articles/Method of aggregate estimation.html b/docs/articles/Method of aggregate estimation.html deleted file mode 100644 index b8ccee6..0000000 --- a/docs/articles/Method of aggregate estimation.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Method of aggregate estimation • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Method of aggregate estimation -

-

Description of the methodology, including any mathematical formulas, -used for the calculation of the regional/global aggregates from country -values (106).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Method of aggregate estimation.md b/docs/articles/Method of aggregate estimation.md deleted file mode 100644 index 930f034..0000000 --- a/docs/articles/Method of aggregate estimation.md +++ /dev/null @@ -1,7 +0,0 @@ -# Method of aggregate estimation - -## Method of aggregate estimation - -Description of the methodology, including any mathematical formulas, -used for the calculation of the regional/global aggregates from country -values (106). diff --git a/docs/articles/Microdata.html b/docs/articles/Microdata.html deleted file mode 100644 index 41b14a5..0000000 --- a/docs/articles/Microdata.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Microdata • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Microdata -

-

Microdata are unit-level data obtained from sample surveys, censuses -and administrative systems. They provide information about -characteristics of individual people or entities such as households, -business enterprises, facilities, farms or even geographical areas such -as villages or towns (107).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Microdata.md b/docs/articles/Microdata.md deleted file mode 100644 index b3b9301..0000000 --- a/docs/articles/Microdata.md +++ /dev/null @@ -1,9 +0,0 @@ -# Microdata - -## Microdata - -Microdata are unit-level data obtained from sample surveys, censuses and -administrative systems. They provide information about characteristics -of individual people or entities such as households, business -enterprises, facilities, farms or even geographical areas such as -villages or towns (107). diff --git a/docs/articles/Monitoring and evaluation (M&E) framework.html b/docs/articles/Monitoring and evaluation (M&E) framework.html deleted file mode 100644 index 1e5ede8..0000000 --- a/docs/articles/Monitoring and evaluation (M&E) framework.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Monitoring and evaluation (M&E) framework • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Monitoring and evaluation (M&E) framework -

-

A structured and systematic tool used in project management and -programme implementation to assess performance, measure outcomes, and -ensure the achievement of objectives. It consists of several core -components, including clear project objectives, key performance -indicators, data collection methods, data sources, and responsibilities. -It defines how data will be collected, analysed and reported, ensuring -that the project or programme remains on track (100,101).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Monitoring and evaluation (M&E) framework.md b/docs/articles/Monitoring and evaluation (M&E) framework.md deleted file mode 100644 index 4284a64..0000000 --- a/docs/articles/Monitoring and evaluation (M&E) framework.md +++ /dev/null @@ -1,11 +0,0 @@ -# Monitoring and evaluation (M&E) framework - -## Monitoring and evaluation (M&E) framework - -A structured and systematic tool used in project management and -programme implementation to assess performance, measure outcomes, and -ensure the achievement of objectives. It consists of several core -components, including clear project objectives, key performance -indicators, data collection methods, data sources, and responsibilities. -It defines how data will be collected, analysed and reported, ensuring -that the project or programme remains on track (100,101). diff --git a/docs/articles/Monitoring and evaluation (M&E).html b/docs/articles/Monitoring and evaluation (M&E).html deleted file mode 100644 index 5ccd1c2..0000000 --- a/docs/articles/Monitoring and evaluation (M&E).html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Monitoring and evaluation (M&E) • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Monitoring and evaluation (M&E) -

-

framework A structured and systematic tool used in project management -and programme implementation to assess performance, measure outcomes, -and ensure the achievement of objectives. It consists of several core -components, including clear project objectives, key performance -indicators, data collection methods, data sources, and responsibilities. -It defines how data will be collected, analysed and reported, ensuring -that the project or programme remains on track (100,101).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Monitoring and evaluation (M&E).md b/docs/articles/Monitoring and evaluation (M&E).md deleted file mode 100644 index 9367450..0000000 --- a/docs/articles/Monitoring and evaluation (M&E).md +++ /dev/null @@ -1,11 +0,0 @@ -# Monitoring and evaluation (M&E) - -## Monitoring and evaluation (M&E) - -framework A structured and systematic tool used in project management -and programme implementation to assess performance, measure outcomes, -and ensure the achievement of objectives. It consists of several core -components, including clear project objectives, key performance -indicators, data collection methods, data sources, and responsibilities. -It defines how data will be collected, analysed and reported, ensuring -that the project or programme remains on track (100,101). diff --git a/docs/articles/Monitoring.html b/docs/articles/Monitoring.html deleted file mode 100644 index b8e8212..0000000 --- a/docs/articles/Monitoring.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Monitoring • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Monitoring -

-

The systematic and routine collection of information to assess -performance and progress towards specific targets and over an -established period of time (108).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Monitoring.md b/docs/articles/Monitoring.md deleted file mode 100644 index 72bd1bb..0000000 --- a/docs/articles/Monitoring.md +++ /dev/null @@ -1,7 +0,0 @@ -# Monitoring - -## Monitoring - -The systematic and routine collection of information to assess -performance and progress towards specific targets and over an -established period of time (108). diff --git a/docs/articles/Morbidity data.html b/docs/articles/Morbidity data.html deleted file mode 100644 index 346553b..0000000 --- a/docs/articles/Morbidity data.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Morbidity data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Morbidity data -

-

The information registered on the state of being symptomatic or -unhealthy due to a disease or health-related condition (110).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Morbidity data.md b/docs/articles/Morbidity data.md deleted file mode 100644 index 9af89c7..0000000 --- a/docs/articles/Morbidity data.md +++ /dev/null @@ -1,6 +0,0 @@ -# Morbidity data - -## Morbidity data - -The information registered on the state of being symptomatic or -unhealthy due to a disease or health-related condition (110). diff --git a/docs/articles/Mortality coder.html b/docs/articles/Mortality coder.html deleted file mode 100644 index f36c37c..0000000 --- a/docs/articles/Mortality coder.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Mortality coder • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Mortality coder -

-

The trained person that registers medical conditions and events -reported in Medical Certificate of Cause of Death forms to determine the -underlying cause of death and assign mortality codes using ICD rules and -principles (10).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Mortality coder.md b/docs/articles/Mortality coder.md deleted file mode 100644 index ae9e6a1..0000000 --- a/docs/articles/Mortality coder.md +++ /dev/null @@ -1,8 +0,0 @@ -# Mortality coder - -## Mortality coder - -The trained person that registers medical conditions and events reported -in Medical Certificate of Cause of Death forms to determine the -underlying cause of death and assign mortality codes using ICD rules and -principles (10). diff --git a/docs/articles/Mortality data.html b/docs/articles/Mortality data.html deleted file mode 100644 index 10708ff..0000000 --- a/docs/articles/Mortality data.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Mortality data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Mortality data -

-

Information on the number of deaths caused by an event or illness in -a specified time period. Measuring how many people die each year and why -they have died is one of the most informative ways of assessing the -effectiveness of a country’s health system. These data allow health -authorities to evaluate how they prioritize public health programmes -(10).N

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Mortality data.md b/docs/articles/Mortality data.md deleted file mode 100644 index adbd95f..0000000 --- a/docs/articles/Mortality data.md +++ /dev/null @@ -1,10 +0,0 @@ -# Mortality data - -## Mortality data - -Information on the number of deaths caused by an event or illness in a -specified time period. Measuring how many people die each year and why -they have died is one of the most informative ways of assessing the -effectiveness of a country’s health system. These data allow health -authorities to evaluate how they prioritize public health programmes -(10).N diff --git a/docs/articles/National health strategic plan.html b/docs/articles/National health strategic plan.html deleted file mode 100644 index be1cfb7..0000000 --- a/docs/articles/National health strategic plan.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -National health strategic plan • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

National health strategic plan -

-

A plan that includes a set of priorities and activities to achieve -key milestones that will have impact beyond the health sector. It -includes medium- and long-term expected outcomes, and concrete and -realistic allocation of resources to implement the activities within -clear timing. The plan concretizes priorities; keeps focus on medium- -and long-term goals without deviating from an optimal path. It -integrates the health sector; helps focus the policy dialogue on health -priorities; and guides operational planning, resource allocation and -health sector monitoring and evaluation (110).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/National health strategic plan.md b/docs/articles/National health strategic plan.md deleted file mode 100644 index d0302ad..0000000 --- a/docs/articles/National health strategic plan.md +++ /dev/null @@ -1,13 +0,0 @@ -# National health strategic plan - -## National health strategic plan - -A plan that includes a set of priorities and activities to achieve key -milestones that will have impact beyond the health sector. It includes -medium- and long-term expected outcomes, and concrete and realistic -allocation of resources to implement the activities within clear timing. -The plan concretizes priorities; keeps focus on medium- and long-term -goals without deviating from an optimal path. It integrates the health -sector; helps focus the policy dialogue on health priorities; and guides -operational planning, resource allocation and health sector monitoring -and evaluation (110). diff --git a/docs/articles/National statistics office.html b/docs/articles/National statistics office.html deleted file mode 100644 index 4f194d4..0000000 --- a/docs/articles/National statistics office.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -National statistics office • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

National statistics office -

-

Government agency or institution responsible for collecting, -analysing, using and disseminating statistical data related to a country -(111).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/National statistics office.md b/docs/articles/National statistics office.md deleted file mode 100644 index 5b1eddd..0000000 --- a/docs/articles/National statistics office.md +++ /dev/null @@ -1,6 +0,0 @@ -# National statistics office - -## National statistics office - -Government agency or institution responsible for collecting, analysing, -using and disseminating statistical data related to a country (111). diff --git a/docs/articles/Nationally representative.html b/docs/articles/Nationally representative.html deleted file mode 100644 index d461767..0000000 --- a/docs/articles/Nationally representative.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Nationally representative • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Nationally representative -

-

A survey or surveillance system that will use design methods and -standardized criteria scalable to national context using a sub-sample -that represents the target population in terms of age, sex, urban/ rural -and other categories of interest (112).A Z14

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Nationally representative.md b/docs/articles/Nationally representative.md deleted file mode 100644 index 2b1fa72..0000000 --- a/docs/articles/Nationally representative.md +++ /dev/null @@ -1,8 +0,0 @@ -# Nationally representative - -## Nationally representative - -A survey or surveillance system that will use design methods and -standardized criteria scalable to national context using a sub-sample -that represents the target population in terms of age, sex, urban/ rural -and other categories of interest (112).A Z14 diff --git a/docs/articles/Negative predictive value.html b/docs/articles/Negative predictive value.html deleted file mode 100644 index 6278155..0000000 --- a/docs/articles/Negative predictive value.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Negative predictive value • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Negative predictive value -

-

The probability that following a negative test result a given -individual will truly not have that specific disease. It is defined as -the number of true negatives (people who test negative who don’t have a -condition) divided by the total number of people who test negative -(113).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Negative predictive value.md b/docs/articles/Negative predictive value.md deleted file mode 100644 index 23e9307..0000000 --- a/docs/articles/Negative predictive value.md +++ /dev/null @@ -1,8 +0,0 @@ -# Negative predictive value - -## Negative predictive value - -The probability that following a negative test result a given individual -will truly not have that specific disease. It is defined as the number -of true negatives (people who test negative who don’t have a condition) -divided by the total number of people who test negative (113). diff --git a/docs/articles/Notifiable conditions.html b/docs/articles/Notifiable conditions.html deleted file mode 100644 index 66990a7..0000000 --- a/docs/articles/Notifiable conditions.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Notifiable conditions • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Notifiable conditions -

-

A disease that, when diagnosed, requires health providers (usually by -law) to report to national, state or local public health officials. -Notifiable diseases are of public interest due to reasons including -their contagiousness, severity or frequency (114).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Notifiable conditions.md b/docs/articles/Notifiable conditions.md deleted file mode 100644 index fa5d5a0..0000000 --- a/docs/articles/Notifiable conditions.md +++ /dev/null @@ -1,8 +0,0 @@ -# Notifiable conditions - -## Notifiable conditions - -A disease that, when diagnosed, requires health providers (usually by -law) to report to national, state or local public health officials. -Notifiable diseases are of public interest due to reasons including -their contagiousness, severity or frequency (114). diff --git a/docs/articles/Null hypothesis.html b/docs/articles/Null hypothesis.html deleted file mode 100644 index d7f6b71..0000000 --- a/docs/articles/Null hypothesis.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Null hypothesis • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Null hypothesis -

-

The claim that the effect being studied does not exist. It can also -be described as the hypothesis in which no relationship exists between -two sets of data or variables being analysed (115).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Null hypothesis.md b/docs/articles/Null hypothesis.md deleted file mode 100644 index 69fb2c5..0000000 --- a/docs/articles/Null hypothesis.md +++ /dev/null @@ -1,7 +0,0 @@ -# Null hypothesis - -## Null hypothesis - -The claim that the effect being studied does not exist. It can also be -described as the hypothesis in which no relationship exists between two -sets of data or variables being analysed (115). diff --git a/docs/articles/Numerator.html b/docs/articles/Numerator.html deleted file mode 100644 index 3ba0d6c..0000000 --- a/docs/articles/Numerator.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Numerator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Numerator -

-

Count of values captured by the indicator in a specified population. -The upper portion of a fraction used to calculate a rate or ratio -(5).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Numerator.md b/docs/articles/Numerator.md deleted file mode 100644 index b4e05ae..0000000 --- a/docs/articles/Numerator.md +++ /dev/null @@ -1,6 +0,0 @@ -# Numerator - -## Numerator - -Count of values captured by the indicator in a specified population. The -upper portion of a fraction used to calculate a rate or ratio (5). diff --git a/docs/articles/Odds ratio.html b/docs/articles/Odds ratio.html deleted file mode 100644 index 9304c69..0000000 --- a/docs/articles/Odds ratio.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Odds ratio • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Odds ratio -

-

A measure of association between an exposure and an outcome. It -represents the odds (or probability) that an outcome will occur given a -particular exposure, compared to the odds of the outcome occurring in -the absence of that exposure. The numerator is the proportion of the -event of interest, and the denominator is the proportion of the -non-event (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Odds ratio.md b/docs/articles/Odds ratio.md deleted file mode 100644 index b016408..0000000 --- a/docs/articles/Odds ratio.md +++ /dev/null @@ -1,10 +0,0 @@ -# Odds ratio - -## Odds ratio - -A measure of association between an exposure and an outcome. It -represents the odds (or probability) that an outcome will occur given a -particular exposure, compared to the odds of the outcome occurring in -the absence of that exposure. The numerator is the proportion of the -event of interest, and the denominator is the proportion of the -non-event (23). diff --git a/docs/articles/Outcome indicator.html b/docs/articles/Outcome indicator.html deleted file mode 100644 index 5954542..0000000 --- a/docs/articles/Outcome indicator.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Outcome indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Outcome indicator -

-

Measures whether the programme is achieving the expected -effects/changes in the short, intermediate and long term, such as -changes in intervention coverage or health-related behaviours. Some -programmes refer to their longest-term/ most distal outcome indicators -as impact indicators (21).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Outcome indicator.md b/docs/articles/Outcome indicator.md deleted file mode 100644 index f8e0b7b..0000000 --- a/docs/articles/Outcome indicator.md +++ /dev/null @@ -1,9 +0,0 @@ -# Outcome indicator - -## Outcome indicator - -Measures whether the programme is achieving the expected effects/changes -in the short, intermediate and long term, such as changes in -intervention coverage or health-related behaviours. Some programmes -refer to their longest-term/ most distal outcome indicators as impact -indicators (21). diff --git a/docs/articles/Outcome-adjusted coverage.html b/docs/articles/Outcome-adjusted coverage.html deleted file mode 100644 index d8ea219..0000000 --- a/docs/articles/Outcome-adjusted coverage.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Outcome-adjusted coverage • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Outcome-adjusted coverage -

-

The proportion of a population that benefits from an intervention -after considering the quality or effectiveness of the intervention. In -this measure, coverage is not just about access to services but also -reflects whether the intervention had a positive health impact. It -adjusts traditional intervention coverage estimates by incorporating the -actual outcomes of the health services provided (8).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Outcome-adjusted coverage.md b/docs/articles/Outcome-adjusted coverage.md deleted file mode 100644 index 2747bf5..0000000 --- a/docs/articles/Outcome-adjusted coverage.md +++ /dev/null @@ -1,10 +0,0 @@ -# Outcome-adjusted coverage - -## Outcome-adjusted coverage - -The proportion of a population that benefits from an intervention after -considering the quality or effectiveness of the intervention. In this -measure, coverage is not just about access to services but also reflects -whether the intervention had a positive health impact. It adjusts -traditional intervention coverage estimates by incorporating the actual -outcomes of the health services provided (8). diff --git a/docs/articles/Output indicator.html b/docs/articles/Output indicator.html deleted file mode 100644 index 3e96f0b..0000000 --- a/docs/articles/Output indicator.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Output indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Output indicator -

-

Measures the immediate products provided or services delivered as a -result of the processes conducted in a programme or project, such as -number of persons trained, number of children vaccinated (21,116).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Output indicator.md b/docs/articles/Output indicator.md deleted file mode 100644 index 95c482f..0000000 --- a/docs/articles/Output indicator.md +++ /dev/null @@ -1,7 +0,0 @@ -# Output indicator - -## Output indicator - -Measures the immediate products provided or services delivered as a -result of the processes conducted in a programme or project, such as -number of persons trained, number of children vaccinated (21,116). diff --git a/docs/articles/P value.html b/docs/articles/P value.html deleted file mode 100644 index 4db4424..0000000 --- a/docs/articles/P value.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -P value • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

P value -

-

The probability that a statistic would be as extreme as or more -extreme than observed if the null hypothesis were true (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/P value.md b/docs/articles/P value.md deleted file mode 100644 index cf7ee57..0000000 --- a/docs/articles/P value.md +++ /dev/null @@ -1,6 +0,0 @@ -# P value - -## P value - -The probability that a statistic would be as extreme as or more extreme -than observed if the null hypothesis were true (17). diff --git a/docs/articles/Percentage.html b/docs/articles/Percentage.html deleted file mode 100644 index ce640b4..0000000 --- a/docs/articles/Percentage.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Percentage • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Percentage -

-

Number or ratio that can be expressed as a fraction of 100 (117).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Percentage.md b/docs/articles/Percentage.md deleted file mode 100644 index e2d6a37..0000000 --- a/docs/articles/Percentage.md +++ /dev/null @@ -1,5 +0,0 @@ -# Percentage - -## Percentage - -Number or ratio that can be expressed as a fraction of 100 (117). diff --git a/docs/articles/Periodicity.html b/docs/articles/Periodicity.html deleted file mode 100644 index 2e38489..0000000 --- a/docs/articles/Periodicity.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Periodicity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Periodicity -

-

Data can be compiled continuously in systems such as civil -registries, cancer registries and surveillance systems of reportable -diseases. Data can also be compiled periodically, which is to say at -regular intervals or without predefined periodicity, and at a particular -point in time (23).A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Periodicity.md b/docs/articles/Periodicity.md deleted file mode 100644 index 4b2951b..0000000 --- a/docs/articles/Periodicity.md +++ /dev/null @@ -1,9 +0,0 @@ -# Periodicity - -## Periodicity - -Data can be compiled continuously in systems such as civil registries, -cancer registries and surveillance systems of reportable diseases. Data -can also be compiled periodically, which is to say at regular intervals -or without predefined periodicity, and at a particular point in time -(23).A diff --git a/docs/articles/Population attributable fraction.html b/docs/articles/Population attributable fraction.html deleted file mode 100644 index 77afe8c..0000000 --- a/docs/articles/Population attributable fraction.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Population attributable fraction • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Population attributable fraction -

-

The proportional reduction in population disease or mortality would -occur if exposure to a risk factor were reduced to an alternative ideal -exposure scenario. The number of deaths and DALYs attributed to a risk -factor is quantified by applying the population attributable fraction to -the total number of deaths or the total burden of disease (118).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Population attributable fraction.md b/docs/articles/Population attributable fraction.md deleted file mode 100644 index e762417..0000000 --- a/docs/articles/Population attributable fraction.md +++ /dev/null @@ -1,9 +0,0 @@ -# Population attributable fraction - -## Population attributable fraction - -The proportional reduction in population disease or mortality would -occur if exposure to a risk factor were reduced to an alternative ideal -exposure scenario. The number of deaths and DALYs attributed to a risk -factor is quantified by applying the population attributable fraction to -the total number of deaths or the total burden of disease (118). diff --git a/docs/articles/Population census.html b/docs/articles/Population census.html deleted file mode 100644 index 745abcb..0000000 --- a/docs/articles/Population census.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Population census • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Population census -

-

Is the total process of planning, collecting, compiling, evaluating, -disseminating and analysing demographic, economic and social data at the -smallest geographic level pertaining, at a specified time, to all -persons in a country or in a well-delimited part of a country (119).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Population census.md b/docs/articles/Population census.md deleted file mode 100644 index 2c5a64a..0000000 --- a/docs/articles/Population census.md +++ /dev/null @@ -1,8 +0,0 @@ -# Population census - -## Population census - -Is the total process of planning, collecting, compiling, evaluating, -disseminating and analysing demographic, economic and social data at the -smallest geographic level pertaining, at a specified time, to all -persons in a country or in a well-delimited part of a country (119). diff --git a/docs/articles/Population-based survey.html b/docs/articles/Population-based survey.html deleted file mode 100644 index 1808614..0000000 --- a/docs/articles/Population-based survey.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Population-based survey • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Population-based survey -

-

Descriptive cross-sectional epidemiological study that is useful for -calculating the prevalence of self-reported events or events measured -during the investigation, generally employing a representative sample -from the population of interest (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Population-based survey.md b/docs/articles/Population-based survey.md deleted file mode 100644 index cf5b9e0..0000000 --- a/docs/articles/Population-based survey.md +++ /dev/null @@ -1,8 +0,0 @@ -# Population-based survey - -## Population-based survey - -Descriptive cross-sectional epidemiological study that is useful for -calculating the prevalence of self-reported events or events measured -during the investigation, generally employing a representative sample -from the population of interest (23). diff --git a/docs/articles/Positive predictive value.html b/docs/articles/Positive predictive value.html deleted file mode 100644 index ea33e81..0000000 --- a/docs/articles/Positive predictive value.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Positive predictive value • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Positive predictive value -

-

Is the probability that following a positive test result, a given -individual will truly have that specific disease. It is defined as the -number of true positives (people who test positive and have a condition) -divided by the total number of people who test positive (113).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Positive predictive value.md b/docs/articles/Positive predictive value.md deleted file mode 100644 index 674cee7..0000000 --- a/docs/articles/Positive predictive value.md +++ /dev/null @@ -1,8 +0,0 @@ -# Positive predictive value - -## Positive predictive value - -Is the probability that following a positive test result, a given -individual will truly have that specific disease. It is defined as the -number of true positives (people who test positive and have a condition) -divided by the total number of people who test positive (113). diff --git a/docs/articles/Predictive validity.html b/docs/articles/Predictive validity.html deleted file mode 100644 index 54ed35a..0000000 --- a/docs/articles/Predictive validity.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Predictive validity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Predictive validity -

-

The degree to which predictions are confirmed by facts expressed in -terms of its ability to predict future outcomes or events. Predictive -validity is often used for impact indicators (25).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Predictive validity.md b/docs/articles/Predictive validity.md deleted file mode 100644 index bca2469..0000000 --- a/docs/articles/Predictive validity.md +++ /dev/null @@ -1,7 +0,0 @@ -# Predictive validity - -## Predictive validity - -The degree to which predictions are confirmed by facts expressed in -terms of its ability to predict future outcomes or events. Predictive -validity is often used for impact indicators (25). diff --git a/docs/articles/Preferred data sources.html b/docs/articles/Preferred data sources.html deleted file mode 100644 index f3a432d..0000000 --- a/docs/articles/Preferred data sources.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Preferred data sources • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Preferred data sources -

-

The recommended source of data for a specific health indicator. This -can include: civil registration and vital statistics systems; -surveillance; national population-based surveys; routine facility -information systems; health facility assessments; administrative data -sources; human resources information systems; laboratory information -systems (50,51).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Preferred data sources.md b/docs/articles/Preferred data sources.md deleted file mode 100644 index 4633a0f..0000000 --- a/docs/articles/Preferred data sources.md +++ /dev/null @@ -1,9 +0,0 @@ -# Preferred data sources - -## Preferred data sources - -The recommended source of data for a specific health indicator. This can -include: civil registration and vital statistics systems; surveillance; -national population-based surveys; routine facility information systems; -health facility assessments; administrative data sources; human -resources information systems; laboratory information systems (50,51). diff --git a/docs/articles/Prevalence rate.html b/docs/articles/Prevalence rate.html deleted file mode 100644 index 58db5a8..0000000 --- a/docs/articles/Prevalence rate.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Prevalence rate • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Prevalence rate -

-

Is the proportion of people in a population who have a particular -disease or attribute at a point in time or over a specified period of -time (120).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Prevalence rate.md b/docs/articles/Prevalence rate.md deleted file mode 100644 index f3c75db..0000000 --- a/docs/articles/Prevalence rate.md +++ /dev/null @@ -1,7 +0,0 @@ -# Prevalence rate - -## Prevalence rate - -Is the proportion of people in a population who have a particular -disease or attribute at a point in time or over a specified period of -time (120). diff --git a/docs/articles/Primary data.html b/docs/articles/Primary data.html deleted file mode 100644 index 3120bc7..0000000 --- a/docs/articles/Primary data.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Primary data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Primary data -

-

Data that are gathered first-hand for a specific purpose. Data are -reported as is, or with modest adjustment (121).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Primary data.md b/docs/articles/Primary data.md deleted file mode 100644 index 1acb239..0000000 --- a/docs/articles/Primary data.md +++ /dev/null @@ -1,6 +0,0 @@ -# Primary data - -## Primary data - -Data that are gathered first-hand for a specific purpose. Data are -reported as is, or with modest adjustment (121). diff --git a/docs/articles/Process indicator.html b/docs/articles/Process indicator.html deleted file mode 100644 index 375b3f8..0000000 --- a/docs/articles/Process indicator.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Process indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Process indicator -

-

Measures a programme’s activities. This indicates whether the -programme is being implemented as planned (e.g. health workforce -training, constructing a health facility, the process of registering -births and deaths) (21,116).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Process indicator.md b/docs/articles/Process indicator.md deleted file mode 100644 index b8ad955..0000000 --- a/docs/articles/Process indicator.md +++ /dev/null @@ -1,8 +0,0 @@ -# Process indicator - -## Process indicator - -Measures a programme’s activities. This indicates whether the programme -is being implemented as planned (e.g. health workforce training, -constructing a health facility, the process of registering births and -deaths) (21,116). diff --git a/docs/articles/Process of validation.html b/docs/articles/Process of validation.html deleted file mode 100644 index 9e52f12..0000000 --- a/docs/articles/Process of validation.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Process of validation • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Process of validation -

-

A description of how the indicator was validated to assess how -accurately it measures what it is intended to do. This glossary includes -some methods for validation (122).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Process of validation.md b/docs/articles/Process of validation.md deleted file mode 100644 index 029a794..0000000 --- a/docs/articles/Process of validation.md +++ /dev/null @@ -1,7 +0,0 @@ -# Process of validation - -## Process of validation - -A description of how the indicator was validated to assess how -accurately it measures what it is intended to do. This glossary includes -some methods for validation (122). diff --git a/docs/articles/Processed health data.html b/docs/articles/Processed health data.html deleted file mode 100644 index 9ef317c..0000000 --- a/docs/articles/Processed health data.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Processed health data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Processed health data -

-

Health statistics that have been calculated from raw health data, but -are not the result of synthesizing multiple data sources. Examples of -processing raw health data include cleaning data by removing implausible -values, calculating an indicator with an algorithm, or adjusting a -statistic for bias (24).A Z16

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Processed health data.md b/docs/articles/Processed health data.md deleted file mode 100644 index 34157d6..0000000 --- a/docs/articles/Processed health data.md +++ /dev/null @@ -1,9 +0,0 @@ -# Processed health data - -## Processed health data - -Health statistics that have been calculated from raw health data, but -are not the result of synthesizing multiple data sources. Examples of -processing raw health data include cleaning data by removing implausible -values, calculating an indicator with an algorithm, or adjusting a -statistic for bias (24).A Z16 diff --git a/docs/articles/Proportion.html b/docs/articles/Proportion.html deleted file mode 100644 index 940c5dc..0000000 --- a/docs/articles/Proportion.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Proportion • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Proportion -

-

The size, number or amount of one thing or group as compared to the -size, number or amount of another, when the numerator is a subset of the -denominator (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Proportion.md b/docs/articles/Proportion.md deleted file mode 100644 index 5f29adf..0000000 --- a/docs/articles/Proportion.md +++ /dev/null @@ -1,7 +0,0 @@ -# Proportion - -## Proportion - -The size, number or amount of one thing or group as compared to the -size, number or amount of another, when the numerator is a subset of the -denominator (23). diff --git a/docs/articles/Proxy health indicator.html b/docs/articles/Proxy health indicator.html deleted file mode 100644 index c6ac799..0000000 --- a/docs/articles/Proxy health indicator.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Proxy health indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Proxy health indicator -

-

An indicator that stands in for another indicator or topic that is -difficult to measure or for which data are limited (83).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Proxy health indicator.md b/docs/articles/Proxy health indicator.md deleted file mode 100644 index 25742f0..0000000 --- a/docs/articles/Proxy health indicator.md +++ /dev/null @@ -1,6 +0,0 @@ -# Proxy health indicator - -## Proxy health indicator - -An indicator that stands in for another indicator or topic that is -difficult to measure or for which data are limited (83). diff --git a/docs/articles/Public health surveillance system.html b/docs/articles/Public health surveillance system.html deleted file mode 100644 index e70083c..0000000 --- a/docs/articles/Public health surveillance system.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Public health surveillance system • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Public health surveillance system -

-

Is the system that systematically collects, analyses, and interprets -health- related data essential to planning, implementation and -evaluation of public health practice (123).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Public health surveillance system.md b/docs/articles/Public health surveillance system.md deleted file mode 100644 index f7e07ee..0000000 --- a/docs/articles/Public health surveillance system.md +++ /dev/null @@ -1,7 +0,0 @@ -# Public health surveillance system - -## Public health surveillance system - -Is the system that systematically collects, analyses, and interprets -health- related data essential to planning, implementation and -evaluation of public health practice (123). diff --git a/docs/articles/Publicly available.html b/docs/articles/Publicly available.html deleted file mode 100644 index 32d3fcd..0000000 --- a/docs/articles/Publicly available.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Publicly available • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Publicly available -

-

Information in any form that is generally accessible, without -restriction, to the public (124).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Publicly available.md b/docs/articles/Publicly available.md deleted file mode 100644 index 5a93217..0000000 --- a/docs/articles/Publicly available.md +++ /dev/null @@ -1,6 +0,0 @@ -# Publicly available - -## Publicly available - -Information in any form that is generally accessible, without -restriction, to the public (124). diff --git a/docs/articles/Punctuality.html b/docs/articles/Punctuality.html deleted file mode 100644 index 5819110..0000000 --- a/docs/articles/Punctuality.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Punctuality • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Punctuality -

-

The time lag between the release date of data and the target date on -which they were scheduled for release as announced in an official -release calendar (2).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Punctuality.md b/docs/articles/Punctuality.md deleted file mode 100644 index c40a8f5..0000000 --- a/docs/articles/Punctuality.md +++ /dev/null @@ -1,7 +0,0 @@ -# Punctuality - -## Punctuality - -The time lag between the release date of data and the target date on -which they were scheduled for release as announced in an official -release calendar (2). diff --git a/docs/articles/Quality-adjusted coverage.html b/docs/articles/Quality-adjusted coverage.html deleted file mode 100644 index c85f823..0000000 --- a/docs/articles/Quality-adjusted coverage.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Quality-adjusted coverage • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Quality-adjusted coverage -

-

An assessment metric that evaluates how effectively a health -intervention reaches a target population and the quality of care that is -provided. This measure combines intervention coverage rates with quality -measures to better understand the overall impact of health programmes -(8,125,126).R

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Quality-adjusted coverage.md b/docs/articles/Quality-adjusted coverage.md deleted file mode 100644 index fe0dd3b..0000000 --- a/docs/articles/Quality-adjusted coverage.md +++ /dev/null @@ -1,9 +0,0 @@ -# Quality-adjusted coverage - -## Quality-adjusted coverage - -An assessment metric that evaluates how effectively a health -intervention reaches a target population and the quality of care that is -provided. This measure combines intervention coverage rates with quality -measures to better understand the overall impact of health programmes -(8,125,126).R diff --git a/docs/articles/Rate.html b/docs/articles/Rate.html deleted file mode 100644 index 10ceca6..0000000 --- a/docs/articles/Rate.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Rate • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Rate -

-

An expression of the frequency with which an event occurs in a -defined population, usually in a specified period of time. The -components of a rate are the numerator, the denominator, the specified -time in which events occur, and usually a multiplier, that converts the -rate from a fraction or decimal to a whole number. The numerator is the -absolute number of occurrences of the event being studied in a specified -time. The denominator is the reference population (or population being -studied) at the same time (17,23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Rate.md b/docs/articles/Rate.md deleted file mode 100644 index 0fd466b..0000000 --- a/docs/articles/Rate.md +++ /dev/null @@ -1,12 +0,0 @@ -# Rate - -## Rate - -An expression of the frequency with which an event occurs in a defined -population, usually in a specified period of time. The components of a -rate are the numerator, the denominator, the specified time in which -events occur, and usually a multiplier, that converts the rate from a -fraction or decimal to a whole number. The numerator is the absolute -number of occurrences of the event being studied in a specified time. -The denominator is the reference population (or population being -studied) at the same time (17,23). diff --git a/docs/articles/Ratio.html b/docs/articles/Ratio.html deleted file mode 100644 index f19a2dc..0000000 --- a/docs/articles/Ratio.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Ratio • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Ratio -

-

The result of dividing one quantity by another without regard for -details such as a time dimension. Rates, proportions and percentages are -all types of ratios. The distinction between a proportion and a ratio is -that, whereas the numerator of a proportion is included in the -population defined by the denominator, this is not necessarily so for a -ratio, which expresses the relationship of two separate and distinct -quantities, neither of which is included in the other (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Ratio.md b/docs/articles/Ratio.md deleted file mode 100644 index 1c6bdbb..0000000 --- a/docs/articles/Ratio.md +++ /dev/null @@ -1,11 +0,0 @@ -# Ratio - -## Ratio - -The result of dividing one quantity by another without regard for -details such as a time dimension. Rates, proportions and percentages are -all types of ratios. The distinction between a proportion and a ratio is -that, whereas the numerator of a proportion is included in the -population defined by the denominator, this is not necessarily so for a -ratio, which expresses the relationship of two separate and distinct -quantities, neither of which is included in the other (17). diff --git a/docs/articles/Rationale.html b/docs/articles/Rationale.html deleted file mode 100644 index 1ed24b5..0000000 --- a/docs/articles/Rationale.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Rationale • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Rationale -

-

Importance of the indicator for public health response (127).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Rationale.md b/docs/articles/Rationale.md deleted file mode 100644 index f425eb3..0000000 --- a/docs/articles/Rationale.md +++ /dev/null @@ -1,5 +0,0 @@ -# Rationale - -## Rationale - -Importance of the indicator for public health response (127). diff --git a/docs/articles/Raw health data.html b/docs/articles/Raw health data.html deleted file mode 100644 index 137ee78..0000000 --- a/docs/articles/Raw health data.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Raw health data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Raw health data -

-

Measurements derived from primary data collection with no adjustments -or corrections (23,80).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Raw health data.md b/docs/articles/Raw health data.md deleted file mode 100644 index 7626e63..0000000 --- a/docs/articles/Raw health data.md +++ /dev/null @@ -1,6 +0,0 @@ -# Raw health data - -## Raw health data - -Measurements derived from primary data collection with no adjustments or -corrections (23,80). diff --git a/docs/articles/Record linkage.html b/docs/articles/Record linkage.html deleted file mode 100644 index 1a8086b..0000000 --- a/docs/articles/Record linkage.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Record linkage • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Record linkage -

-

The methodology of bringing together corresponding records from two -or more files or finding duplicates within files (128) .A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Record linkage.md b/docs/articles/Record linkage.md deleted file mode 100644 index cd5231f..0000000 --- a/docs/articles/Record linkage.md +++ /dev/null @@ -1,6 +0,0 @@ -# Record linkage - -## Record linkage - -The methodology of bringing together corresponding records from two or -more files or finding duplicates within files (128) .A diff --git a/docs/articles/Register.html b/docs/articles/Register.html deleted file mode 100644 index a225f4e..0000000 --- a/docs/articles/Register.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Register • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Register -

-

A list or file containing uniform information about individual -persons, collected in a systematic and comprehensive way, in order to -serve a predetermined purpose (130).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Register.md b/docs/articles/Register.md deleted file mode 100644 index b31bbd7..0000000 --- a/docs/articles/Register.md +++ /dev/null @@ -1,7 +0,0 @@ -# Register - -## Register - -A list or file containing uniform information about individual persons, -collected in a systematic and comprehensive way, in order to serve a -predetermined purpose (130). diff --git a/docs/articles/Registrar.html b/docs/articles/Registrar.html deleted file mode 100644 index 457406d..0000000 --- a/docs/articles/Registrar.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Registrar • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Registrar -

-

The official authorized by law to register the occurrence of vital -events and to represent the legal authority of government in the field -of civil registration

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Registrar.md b/docs/articles/Registrar.md deleted file mode 100644 index 4984bc5..0000000 --- a/docs/articles/Registrar.md +++ /dev/null @@ -1,7 +0,0 @@ -# Registrar - -## Registrar - -The official authorized by law to register the occurrence of vital -events and to represent the legal authority of government in the field -of civil registration diff --git a/docs/articles/Registration form.html b/docs/articles/Registration form.html deleted file mode 100644 index fcdba19..0000000 --- a/docs/articles/Registration form.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Registration form • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Registration form -

-

The registration form is the paper or electronic format that is used -to register a vital event (131).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Registration form.md b/docs/articles/Registration form.md deleted file mode 100644 index 6f0d560..0000000 --- a/docs/articles/Registration form.md +++ /dev/null @@ -1,6 +0,0 @@ -# Registration form - -## Registration form - -The registration form is the paper or electronic format that is used to -register a vital event (131). diff --git a/docs/articles/Registry.html b/docs/articles/Registry.html deleted file mode 100644 index 139983d..0000000 --- a/docs/articles/Registry.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Registry • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Registry -

-

A collection of information about individuals, usually focused on a -specific diagnosis or conditions. Registry data is stored in a database -and can provide health care providers and researchers with first-hand -information about people with specific conditions, both individually and -as a group, and over time. Patient registries are different from health -facility registers in that the former collect patient information that -is disease- or condition-specific whereas the later collect information -about the patient regardless of their condition or disease (130).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Registry.md b/docs/articles/Registry.md deleted file mode 100644 index 6047944..0000000 --- a/docs/articles/Registry.md +++ /dev/null @@ -1,12 +0,0 @@ -# Registry - -## Registry - -A collection of information about individuals, usually focused on a -specific diagnosis or conditions. Registry data is stored in a database -and can provide health care providers and researchers with first-hand -information about people with specific conditions, both individually and -as a group, and over time. Patient registries are different from health -facility registers in that the former collect patient information that -is disease- or condition-specific whereas the later collect information -about the patient regardless of their condition or disease (130). diff --git a/docs/articles/Regression.html b/docs/articles/Regression.html deleted file mode 100644 index 1fd80de..0000000 --- a/docs/articles/Regression.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Regression • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Regression -

-

A statistical technique that relates a dependent variable to one or -more independent (explanatory) variables (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Regression.md b/docs/articles/Regression.md deleted file mode 100644 index eedc3f1..0000000 --- a/docs/articles/Regression.md +++ /dev/null @@ -1,6 +0,0 @@ -# Regression - -## Regression - -A statistical technique that relates a dependent variable to one or more -independent (explanatory) variables (17). diff --git a/docs/articles/Relevance.html b/docs/articles/Relevance.html deleted file mode 100644 index fcdce91..0000000 --- a/docs/articles/Relevance.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Relevance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Relevance -

-

The degree to which the data meet the user needs. Indicators must -provide information that is appropriate and useful for guiding policies -and programmes as well as for decision-making (2,23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Relevance.md b/docs/articles/Relevance.md deleted file mode 100644 index a906312..0000000 --- a/docs/articles/Relevance.md +++ /dev/null @@ -1,7 +0,0 @@ -# Relevance - -## Relevance - -The degree to which the data meet the user needs. Indicators must -provide information that is appropriate and useful for guiding policies -and programmes as well as for decision-making (2,23). diff --git a/docs/articles/Reliability of data.html b/docs/articles/Reliability of data.html deleted file mode 100644 index b7254f6..0000000 --- a/docs/articles/Reliability of data.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Reliability of data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Reliability of data -

-

The degree to which the results obtained by a measurement/procedure -can be replicated. Consistency of the data when collected repeatedly -using the same procedures and under the same circumstances [synonym: -replicability] (13,23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Reliability of data.md b/docs/articles/Reliability of data.md deleted file mode 100644 index 903608d..0000000 --- a/docs/articles/Reliability of data.md +++ /dev/null @@ -1,8 +0,0 @@ -# Reliability of data - -## Reliability of data - -The degree to which the results obtained by a measurement/procedure can -be replicated. Consistency of the data when collected repeatedly using -the same procedures and under the same circumstances \[synonym: -replicability\] (13,23). diff --git a/docs/articles/Representativeness.html b/docs/articles/Representativeness.html deleted file mode 100644 index 6c07548..0000000 --- a/docs/articles/Representativeness.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Representativeness • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Representativeness -

-

The ability for the indicator to accurately describe the occurrence -of a health- related event over time and its distribution in the -population by place and person. This involves the absence of selection -bias with respect to the population that the indicator is intended to -represent (23,66).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Representativeness.md b/docs/articles/Representativeness.md deleted file mode 100644 index f2a7c5c..0000000 --- a/docs/articles/Representativeness.md +++ /dev/null @@ -1,9 +0,0 @@ -# Representativeness - -## Representativeness - -The ability for the indicator to accurately describe the occurrence of a -health- related event over time and its distribution in the population -by place and person. This involves the absence of selection bias with -respect to the population that the indicator is intended to represent -(23,66). diff --git a/docs/articles/Response rate.html b/docs/articles/Response rate.html deleted file mode 100644 index 0ea734e..0000000 --- a/docs/articles/Response rate.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Response rate • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Response rate -

-

The number of people who answered the survey divided by the number of -people in the sample (132).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Response rate.md b/docs/articles/Response rate.md deleted file mode 100644 index 0e5ecb0..0000000 --- a/docs/articles/Response rate.md +++ /dev/null @@ -1,6 +0,0 @@ -# Response rate - -## Response rate - -The number of people who answered the survey divided by the number of -people in the sample (132). diff --git a/docs/articles/Responsiveness.html b/docs/articles/Responsiveness.html deleted file mode 100644 index 9efbce4..0000000 --- a/docs/articles/Responsiveness.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Responsiveness • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Responsiveness -

-

An indicator’s ability to detect changes over time in response to -interventions, treatments, or natural progression of the condition (see -also: External responsiveness and Internal responsiveness (133).)

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Responsiveness.md b/docs/articles/Responsiveness.md deleted file mode 100644 index ccdd621..0000000 --- a/docs/articles/Responsiveness.md +++ /dev/null @@ -1,7 +0,0 @@ -# Responsiveness - -## Responsiveness - -An indicator’s ability to detect changes over time in response to -interventions, treatments, or natural progression of the condition (see -also: External responsiveness and Internal responsiveness (133).) diff --git a/docs/articles/Results framework.html b/docs/articles/Results framework.html deleted file mode 100644 index 351538a..0000000 --- a/docs/articles/Results framework.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Results framework • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Results framework -

-

A diagram that maps the direct causal relationships between -incremental steps or results of key activities all the way up to the -overall objective and goal of the programme or intervention. It includes -an overall goal, strategic objectives, and intermediate results -(100,101).A Z18

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Results framework.md b/docs/articles/Results framework.md deleted file mode 100644 index aa98bec..0000000 --- a/docs/articles/Results framework.md +++ /dev/null @@ -1,9 +0,0 @@ -# Results framework - -## Results framework - -A diagram that maps the direct causal relationships between incremental -steps or results of key activities all the way up to the overall -objective and goal of the programme or intervention. It includes an -overall goal, strategic objectives, and intermediate results (100,101).A -Z18 diff --git a/docs/articles/Routine data.html b/docs/articles/Routine data.html deleted file mode 100644 index 663f2d6..0000000 --- a/docs/articles/Routine data.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Routine data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Routine data -

-

Data generated as part of regular operational or administrative -processes within the health care system. These data are systematically -collected during the delivery of health services and the management of -health facilities. Routine data includes patient demographics, health -conditions, treatments and outcomes recorded in health facility -registers, electronic health records, and health management information -systems. It also covers information related to health service resources, -such as infrastructure, human resources, and financial transactions. The -primary purpose of routine data is to support daily operations, monitor -service delivery, and facilitate decision-making across various levels -of the health system. This is also referred to as administrative data -(134,135).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Routine data.md b/docs/articles/Routine data.md deleted file mode 100644 index 11b87bf..0000000 --- a/docs/articles/Routine data.md +++ /dev/null @@ -1,16 +0,0 @@ -# Routine data - -## Routine data - -Data generated as part of regular operational or administrative -processes within the health care system. These data are systematically -collected during the delivery of health services and the management of -health facilities. Routine data includes patient demographics, health -conditions, treatments and outcomes recorded in health facility -registers, electronic health records, and health management information -systems. It also covers information related to health service resources, -such as infrastructure, human resources, and financial transactions. The -primary purpose of routine data is to support daily operations, monitor -service delivery, and facilitate decision-making across various levels -of the health system. This is also referred to as administrative data -(134,135). diff --git a/docs/articles/Routine health information system.html b/docs/articles/Routine health information system.html deleted file mode 100644 index 5393db9..0000000 --- a/docs/articles/Routine health information system.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Routine health information system • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Routine health information system -

-

A system that generates data collected at public and private health -facilities and institutions, and at community-level health care posts -and clinics – at regular intervals of a year at minimum. The data give a -picture of health status, health services and health resources. Most of -the data are gathered by health care providers, by supervisors and -through routine health facility surveys. The sources of those data are -generally individual health records, records of services delivered, and -resource health records including financial, commodity or laboratory -records (51,86).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Routine health information system.md b/docs/articles/Routine health information system.md deleted file mode 100644 index a7b1d9a..0000000 --- a/docs/articles/Routine health information system.md +++ /dev/null @@ -1,13 +0,0 @@ -# Routine health information system - -## Routine health information system - -A system that generates data collected at public and private health -facilities and institutions, and at community-level health care posts -and clinics – at regular intervals of a year at minimum. The data give a -picture of health status, health services and health resources. Most of -the data are gathered by health care providers, by supervisors and -through routine health facility surveys. The sources of those data are -generally individual health records, records of services delivered, and -resource health records including financial, commodity or laboratory -records (51,86). diff --git a/docs/articles/Sample size.html b/docs/articles/Sample size.html deleted file mode 100644 index e42978c..0000000 --- a/docs/articles/Sample size.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Sample size • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Sample size -

-

Refers to the number of observations or data points gathered from a -population for statistical analysis. It is a critical element of -research design, significantly affecting the reliability and validity of -a study’s findings (17).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Sample size.md b/docs/articles/Sample size.md deleted file mode 100644 index ea1ea4d..0000000 --- a/docs/articles/Sample size.md +++ /dev/null @@ -1,8 +0,0 @@ -# Sample size - -## Sample size - -Refers to the number of observations or data points gathered from a -population for statistical analysis. It is a critical element of -research design, significantly affecting the reliability and validity of -a study’s findings (17). diff --git a/docs/articles/Sample.html b/docs/articles/Sample.html deleted file mode 100644 index 52db1f5..0000000 --- a/docs/articles/Sample.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Sample • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Sample -

-

Sample is a subset of a population (136).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Sample.md b/docs/articles/Sample.md deleted file mode 100644 index b033e8b..0000000 --- a/docs/articles/Sample.md +++ /dev/null @@ -1,5 +0,0 @@ -# Sample - -## Sample - -Sample is a subset of a population (136). diff --git a/docs/articles/Sampling error.html b/docs/articles/Sampling error.html deleted file mode 100644 index 9f68667..0000000 --- a/docs/articles/Sampling error.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Sampling error • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Sampling error -

-

That part of the difference between a population value and an -estimate thereof, derived from a random sample, which is due to the fact -that only a subset of the population is enumerated (137).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Sampling error.md b/docs/articles/Sampling error.md deleted file mode 100644 index 77061b6..0000000 --- a/docs/articles/Sampling error.md +++ /dev/null @@ -1,7 +0,0 @@ -# Sampling error - -## Sampling error - -That part of the difference between a population value and an estimate -thereof, derived from a random sample, which is due to the fact that -only a subset of the population is enumerated (137). diff --git a/docs/articles/Secondary data.html b/docs/articles/Secondary data.html deleted file mode 100644 index fa9ee7b..0000000 --- a/docs/articles/Secondary data.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Secondary data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Secondary data -

-

Data that was originally collected for other purposes. The data from -these existing sources are considered secondary. Although these data -were not created for the purpose at hand, they facilitate the -development of the required indicators. Data from a census, research, -information system, etc. are secondary data (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Secondary data.md b/docs/articles/Secondary data.md deleted file mode 100644 index 5733184..0000000 --- a/docs/articles/Secondary data.md +++ /dev/null @@ -1,9 +0,0 @@ -# Secondary data - -## Secondary data - -Data that was originally collected for other purposes. The data from -these existing sources are considered secondary. Although these data -were not created for the purpose at hand, they facilitate the -development of the required indicators. Data from a census, research, -information system, etc. are secondary data (23). diff --git a/docs/articles/Sensitivity analysis.html b/docs/articles/Sensitivity analysis.html deleted file mode 100644 index e965473..0000000 --- a/docs/articles/Sensitivity analysis.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Sensitivity analysis • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Sensitivity analysis -

-

A systematic approach to evaluate how the variation in the output of -a system or model can be attributed to different sources of variation in -its inputs. It involves examining the sensitivity of the model’s -outcomes or outputs to changes in individual input parameters, providing -insights into the relative importance of each parameter in influencing -the overall results (138).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Sensitivity analysis.md b/docs/articles/Sensitivity analysis.md deleted file mode 100644 index 01d141a..0000000 --- a/docs/articles/Sensitivity analysis.md +++ /dev/null @@ -1,10 +0,0 @@ -# Sensitivity analysis - -## Sensitivity analysis - -A systematic approach to evaluate how the variation in the output of a -system or model can be attributed to different sources of variation in -its inputs. It involves examining the sensitivity of the model’s -outcomes or outputs to changes in individual input parameters, providing -insights into the relative importance of each parameter in influencing -the overall results (138). diff --git a/docs/articles/Sex.html b/docs/articles/Sex.html deleted file mode 100644 index a52f8e9..0000000 --- a/docs/articles/Sex.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Sex • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Sex -

-

The biological and physiological characteristics of females, males -and intersex persons, such as chromosomes, hormones and reproductive -organs (68).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Sex.md b/docs/articles/Sex.md deleted file mode 100644 index 4317f66..0000000 --- a/docs/articles/Sex.md +++ /dev/null @@ -1,7 +0,0 @@ -# Sex - -## Sex - -The biological and physiological characteristics of females, males and -intersex persons, such as chromosomes, hormones and reproductive organs -(68). diff --git a/docs/articles/Stakeholder.html b/docs/articles/Stakeholder.html deleted file mode 100644 index ea35fae..0000000 --- a/docs/articles/Stakeholder.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Stakeholder • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Stakeholder -

-

Interested parties, group or organization who may affect, be affected -by, or perceive itself to be affected by a decision, activity or outcome -of a project or programme (139).A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Stakeholder.md b/docs/articles/Stakeholder.md deleted file mode 100644 index df4e3b3..0000000 --- a/docs/articles/Stakeholder.md +++ /dev/null @@ -1,7 +0,0 @@ -# Stakeholder - -## Stakeholder - -Interested parties, group or organization who may affect, be affected -by, or perceive itself to be affected by a decision, activity or outcome -of a project or programme (139).A diff --git a/docs/articles/Standard operating procedures.html b/docs/articles/Standard operating procedures.html deleted file mode 100644 index 7ee2d9c..0000000 --- a/docs/articles/Standard operating procedures.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Standard operating procedures • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Standard operating procedures -

-

A set of step-by-step documented instructions created by an -organization to ensure consistency in carrying out tasks and that -standards are followed (140).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Standard operating procedures.md b/docs/articles/Standard operating procedures.md deleted file mode 100644 index 589e16e..0000000 --- a/docs/articles/Standard operating procedures.md +++ /dev/null @@ -1,7 +0,0 @@ -# Standard operating procedures - -## Standard operating procedures - -A set of step-by-step documented instructions created by an organization -to ensure consistency in carrying out tasks and that standards are -followed (140). diff --git a/docs/articles/Statistical model.html b/docs/articles/Statistical model.html deleted file mode 100644 index eec85fb..0000000 --- a/docs/articles/Statistical model.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Statistical model • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Statistical model -

-

A mathematical model that embodies a set of statistical assumptions -concerning the generation of sample data (and similar data from a larger -population) (141).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Statistical model.md b/docs/articles/Statistical model.md deleted file mode 100644 index 33aae45..0000000 --- a/docs/articles/Statistical model.md +++ /dev/null @@ -1,7 +0,0 @@ -# Statistical model - -## Statistical model - -A mathematical model that embodies a set of statistical assumptions -concerning the generation of sample data (and similar data from a larger -population) (141). diff --git a/docs/articles/Statistical significance.html b/docs/articles/Statistical significance.html deleted file mode 100644 index 9501d51..0000000 --- a/docs/articles/Statistical significance.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Statistical significance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Statistical significance -

-

Mathematical measure of the probability that a result is likely due -to chance or another factor. That is the probability of rejecting the -null hypothesis when the null hypothesis is actually true (142).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Statistical significance.md b/docs/articles/Statistical significance.md deleted file mode 100644 index a5758a6..0000000 --- a/docs/articles/Statistical significance.md +++ /dev/null @@ -1,7 +0,0 @@ -# Statistical significance - -## Statistical significance - -Mathematical measure of the probability that a result is likely due to -chance or another factor. That is the probability of rejecting the null -hypothesis when the null hypothesis is actually true (142). diff --git a/docs/articles/Statistics.html b/docs/articles/Statistics.html deleted file mode 100644 index 154f047..0000000 --- a/docs/articles/Statistics.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Statistics • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Statistics -

-

The science of using information discovered from collecting, -organizing and studying numbers (26,27,143).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Statistics.md b/docs/articles/Statistics.md deleted file mode 100644 index 075c2a8..0000000 --- a/docs/articles/Statistics.md +++ /dev/null @@ -1,6 +0,0 @@ -# Statistics - -## Statistics - -The science of using information discovered from collecting, organizing -and studying numbers (26,27,143). diff --git a/docs/articles/Stratification.html b/docs/articles/Stratification.html deleted file mode 100644 index 5a33469..0000000 --- a/docs/articles/Stratification.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Stratification • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Stratification -

-

The process of sorting data of subjects into defined segments or -groups. This method can be used when sampling a population for -conducting a survey or this can be used for analysis to control for -confounding (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Stratification.md b/docs/articles/Stratification.md deleted file mode 100644 index fd22bb5..0000000 --- a/docs/articles/Stratification.md +++ /dev/null @@ -1,7 +0,0 @@ -# Stratification - -## Stratification - -The process of sorting data of subjects into defined segments or groups. -This method can be used when sampling a population for conducting a -survey or this can be used for analysis to control for confounding (23). diff --git a/docs/articles/Subnational.html b/docs/articles/Subnational.html deleted file mode 100644 index 6780c6e..0000000 --- a/docs/articles/Subnational.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Subnational • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Subnational -

-

Geographical unit below national level. Subnational levels may -indicate administrative divisions such as region, district or -municipality levels, but may also indicate other divisions such as -health districts.

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Subnational.md b/docs/articles/Subnational.md deleted file mode 100644 index b1b6c97..0000000 --- a/docs/articles/Subnational.md +++ /dev/null @@ -1,7 +0,0 @@ -# Subnational - -## Subnational - -Geographical unit below national level. Subnational levels may indicate -administrative divisions such as region, district or municipality -levels, but may also indicate other divisions such as health districts. diff --git a/docs/articles/Surveillance.html b/docs/articles/Surveillance.html deleted file mode 100644 index 10a0e7c..0000000 --- a/docs/articles/Surveillance.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Surveillance • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Surveillance -

-

The continuous, systematic collection, analysis, interpretation, and -dissemination of data needed for the planning, implementation and -evaluation of public health actions. Some examples are public health -surveillance system, indicator-based surveillance, disease surveillance -system, demographic surveillance system, etc. (144).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Surveillance.md b/docs/articles/Surveillance.md deleted file mode 100644 index 0ed3486..0000000 --- a/docs/articles/Surveillance.md +++ /dev/null @@ -1,9 +0,0 @@ -# Surveillance - -## Surveillance - -The continuous, systematic collection, analysis, interpretation, and -dissemination of data needed for the planning, implementation and -evaluation of public health actions. Some examples are public health -surveillance system, indicator-based surveillance, disease surveillance -system, demographic surveillance system, etc. (144). diff --git a/docs/articles/Survey data.html b/docs/articles/Survey data.html deleted file mode 100644 index 0f994af..0000000 --- a/docs/articles/Survey data.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Survey data • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Survey data -

-

A survey is an investigation about the characteristics of a given -population by means of collecting data from a sample of that population -and estimating their characteristics through the systematic use of -statistical methodology (145).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Survey data.md b/docs/articles/Survey data.md deleted file mode 100644 index 5f44438..0000000 --- a/docs/articles/Survey data.md +++ /dev/null @@ -1,8 +0,0 @@ -# Survey data - -## Survey data - -A survey is an investigation about the characteristics of a given -population by means of collecting data from a sample of that population -and estimating their characteristics through the systematic use of -statistical methodology (145). diff --git a/docs/articles/Survey.html b/docs/articles/Survey.html deleted file mode 100644 index 0c344c9..0000000 --- a/docs/articles/Survey.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Survey • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Survey -

-

A structured list of questions that collect data on a specific -population (117).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Survey.md b/docs/articles/Survey.md deleted file mode 100644 index ce9eb9f..0000000 --- a/docs/articles/Survey.md +++ /dev/null @@ -1,6 +0,0 @@ -# Survey - -## Survey - -A structured list of questions that collect data on a specific -population (117). diff --git a/docs/articles/Sustainability.html b/docs/articles/Sustainability.html deleted file mode 100644 index 5ca9523..0000000 --- a/docs/articles/Sustainability.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Sustainability • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Sustainability -

-

The source’s potential to remain relevant and be of the quality -needed to generate information over time. This depends not only on the -periodicity of the data collection, but on the availability of the -financial resources needed to sustain that source of data, the presence -of a legal framework, political will, among other factors (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Sustainability.md b/docs/articles/Sustainability.md deleted file mode 100644 index 29e5090..0000000 --- a/docs/articles/Sustainability.md +++ /dev/null @@ -1,9 +0,0 @@ -# Sustainability - -## Sustainability - -The source’s potential to remain relevant and be of the quality needed -to generate information over time. This depends not only on the -periodicity of the data collection, but on the availability of the -financial resources needed to sustain that source of data, the presence -of a legal framework, political will, among other factors (23). diff --git a/docs/articles/Sustainable Development Goals (SDGs).html b/docs/articles/Sustainable Development Goals (SDGs).html deleted file mode 100644 index 343eac4..0000000 --- a/docs/articles/Sustainable Development Goals (SDGs).html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Sustainable Development Goals (SDGs) • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Sustainable Development Goals (SDGs) -

-

These are 17 global objectives that were agreed by Member States of -the United Nations and aim to transform our world. They are a call to -action to end poverty and inequality, protect the planet, and ensure -that all people enjoy health, justice and prosperity. It is critical -that no one is left behind (104).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Sustainable Development Goals (SDGs).md b/docs/articles/Sustainable Development Goals (SDGs).md deleted file mode 100644 index 14a5761..0000000 --- a/docs/articles/Sustainable Development Goals (SDGs).md +++ /dev/null @@ -1,9 +0,0 @@ -# Sustainable Development Goals (SDGs) - -## Sustainable Development Goals (SDGs) - -These are 17 global objectives that were agreed by Member States of the -United Nations and aim to transform our world. They are a call to action -to end poverty and inequality, protect the planet, and ensure that all -people enjoy health, justice and prosperity. It is critical that no one -is left behind (104). diff --git a/docs/articles/Target population.html b/docs/articles/Target population.html deleted file mode 100644 index 09074c9..0000000 --- a/docs/articles/Target population.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Target population • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Target population -

-

A population about which information is wanted and estimates are -required. It can be a group of individuals who meet specific criteria -for inclusion in a survey. In relation to health care, it is often a -group of individuals in need of a specific intervention or service -(146).A Z20

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Target population.md b/docs/articles/Target population.md deleted file mode 100644 index 9f1073f..0000000 --- a/docs/articles/Target population.md +++ /dev/null @@ -1,9 +0,0 @@ -# Target population - -## Target population - -A population about which information is wanted and estimates are -required. It can be a group of individuals who meet specific criteria -for inclusion in a survey. In relation to health care, it is often a -group of individuals in need of a specific intervention or service -(146).A Z20 diff --git a/docs/articles/Themes.html b/docs/articles/Themes.html deleted file mode 100644 index 915316d..0000000 --- a/docs/articles/Themes.html +++ /dev/null @@ -1,753 +0,0 @@ - - - - - - - -Themes • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - - - - - - - - - - -
-

Quality of Care measurement -

- ------ - - - - - - -
Care -cascadeOutcome-adjusted -coverageQuality-adjusted -coverageEffective -coverage
-
- -
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Themes.md b/docs/articles/Themes.md deleted file mode 100644 index b39ab00..0000000 --- a/docs/articles/Themes.md +++ /dev/null @@ -1,108 +0,0 @@ -# Themes - -## Data source,collection, and collation - -| | | | | -|:---|:---|:---|:---| -| [Data accessibility](https://openwashdata.github.io/glossarywho/articles/Data%20accessibility.html) | [Data type](https://openwashdata.github.io/glossarywho/articles/Data%20type.html) | [Primary data](https://openwashdata.github.io/glossarywho/articles/Primary%20data.html) | [Data collection level](https://openwashdata.github.io/glossarywho/articles/Data%20collection%20level.html) | -| [Digital health](https://openwashdata.github.io/glossarywho/articles/Digital%20health.html) | [Response rate](https://openwashdata.github.io/glossarywho/articles/Response%20rate.html) | [Data collection method](https://openwashdata.github.io/glossarywho/articles/Data%20collection%20method.html) | [Geospatial data](https://openwashdata.github.io/glossarywho/articles/Geospatial%20data.html) | -| [Secondary data](https://openwashdata.github.io/glossarywho/articles/Secondary%20data.html) | [Data element](https://openwashdata.github.io/glossarywho/articles/Data%20element.html) | [Health data](https://openwashdata.github.io/glossarywho/articles/Health%20data.html) | [Sex](https://openwashdata.github.io/glossarywho/articles/Sex.html) | -| [Data information pyramid](https://openwashdata.github.io/glossarywho/articles/Data%20information%20pyramid.html) | [Home-based record](https://openwashdata.github.io/glossarywho/articles/Home-based%20record.html) | [Survey](https://openwashdata.github.io/glossarywho/articles/Survey.html) | [Data inputs](https://openwashdata.github.io/glossarywho/articles/Data%20inputs.html) | -| [Measurement level](https://openwashdata.github.io/glossarywho/articles/Measurement%20level.html) | [Survey data](https://openwashdata.github.io/glossarywho/articles/Survey%20data.html) | [Data integration](https://openwashdata.github.io/glossarywho/articles/Data%20integration.html) | [Microdata](https://openwashdata.github.io/glossarywho/articles/Microdata.html) | -| [Surveillance](https://openwashdata.github.io/glossarywho/articles/Surveillance.html) | [Data life cycle](https://openwashdata.github.io/glossarywho/articles/Data%20life%20cycle.html) | [Population-based survey](https://openwashdata.github.io/glossarywho/articles/Population-based%20survey.html) | [Understandable/simplicity](https://openwashdata.github.io/glossarywho/articles/Understandable%20or%20simplicty.html) | -| [Data source](https://openwashdata.github.io/glossarywho/articles/Data%20source.html) | [Population census](https://openwashdata.github.io/glossarywho/articles/Population%20census.html) | [Unit of measure](https://openwashdata.github.io/glossarywho/articles/Unit%20of%20measure.html) | [Data standards](https://openwashdata.github.io/glossarywho/articles/Data%20standards.html) | -| [Preferred data sources](https://openwashdata.github.io/glossarywho/articles/Preferred%20data%20sources.html) | | | | - -## Data security, protection, governance and standards - -| | | | | -|:---|:---|:---|:---| -| [Compliance](https://openwashdata.github.io/glossarywho/articles/Compliance.html) | [Data steward](https://openwashdata.github.io/glossarywho/articles/Data%20steward.html) | [Mortality data](https://openwashdata.github.io/glossarywho/articles/Mortality%20data.html) | [Confidentiality](https://openwashdata.github.io/glossarywho/articles/Confidentiality.html) | -| [Data stewardship](https://openwashdata.github.io/glossarywho/articles/Data%20stewardship.html) | [National health strategic plan](https://openwashdata.github.io/glossarywho/articles/National%20health%20strategic%20plan.html) | [Data access control](https://openwashdata.github.io/glossarywho/articles/Data%20access%20control.html) | [Focal point](https://openwashdata.github.io/glossarywho/articles/Focal%20point.html) | -| [National statistics office](https://openwashdata.github.io/glossarywho/articles/National%20statistics%20office.html) | [Data anonymization](https://openwashdata.github.io/glossarywho/articles/Data%20anonymization.html) | [International Classification of Diseases (ICD)](https://openwashdata.github.io/glossarywho/articles/International%20Classification%20of%20Diseases%20(ICD).html) | [Notifiable conditions](https://openwashdata.github.io/glossarywho/articles/Notifiable%20conditions.html) | -| [Data consent](https://openwashdata.github.io/glossarywho/articles/Data%20consent.html) | [International Health Regulations](https://openwashdata.github.io/glossarywho/articles/International%20Health%20Regulations.html) | [Publicly available](https://openwashdata.github.io/glossarywho/articles/Publicly%20available.html) | [Data custodian](https://openwashdata.github.io/glossarywho/articles/Data%20custodian.html) | -| [Master facility list](https://openwashdata.github.io/glossarywho/articles/Master%20facility%20list.html) | [Stakeholder](https://openwashdata.github.io/glossarywho/articles/Stakeholder.html) | [Data governance](https://openwashdata.github.io/glossarywho/articles/Data%20governance.html) | [Medical Certification of Cause of Death](https://openwashdata.github.io/glossarywho/articles/Medical%20certification%20of%20cause%20of%20death.html) | -| [Standard operating procedures](https://openwashdata.github.io/glossarywho/articles/Standard%20operating%20procedures.html) | [Data privacy](https://openwashdata.github.io/glossarywho/articles/Data%20privacy.html) | [Morbidity data](https://openwashdata.github.io/glossarywho/articles/Morbidity%20data.html) | [Data provider](https://openwashdata.github.io/glossarywho/articles/Data%20provider.html) | -| [Mortality coder](https://openwashdata.github.io/glossarywho/articles/Mortality%20coder.html) | [Transparency](https://openwashdata.github.io/glossarywho/articles/Transparency.html) | [Data security](https://openwashdata.github.io/glossarywho/articles/Data%20security.html) | | - -## Disaggregation of public health data/indicators - -| | | | | -|:---|:---|:---|:---| -| [Administrative area](https://openwashdata.github.io/glossarywho/articles/Administrative%20area.html) | [Disaggregation](https://openwashdata.github.io/glossarywho/articles/Disaggregation.html) | [Global Health Observatory](https://openwashdata.github.io/glossarywho/articles/Global%20Health%20Observatory.html) | [Age groupings](https://openwashdata.github.io/glossarywho/articles/Age%20groupings.html) | -| [Gender](https://openwashdata.github.io/glossarywho/articles/Gender.html) | [Granularity](https://openwashdata.github.io/glossarywho/articles/Granularity.html) | [Age specific mortality rate](https://openwashdata.github.io/glossarywho/articles/Age-specific%20mortality%20rate.html) | [Geocoding](https://openwashdata.github.io/glossarywho/articles/Geocoding.html) | -| [Health inequality](https://openwashdata.github.io/glossarywho/articles/Health%20inequality.html) | [Catchment area](https://openwashdata.github.io/glossarywho/articles/Catchment%20area.html) | [Geo-enablement](https://openwashdata.github.io/glossarywho/articles/Geo-enablement.html) | [Health inequity](https://openwashdata.github.io/glossarywho/articles/Health%20inequity.html) | -| [Causes of death](https://openwashdata.github.io/glossarywho/articles/Causes%20of%20death.html) | [Geographic accessibility](https://openwashdata.github.io/glossarywho/articles/Geographic%20accessibility.html) | [Subnational](https://openwashdata.github.io/glossarywho/articles/Subnational.html) | | - -## Estimation methods - -| | | | | -|:---|:---|:---|:---| -| [Covariates](https://openwashdata.github.io/glossarywho/articles/Covariates.html) | [Global health estimates](https://openwashdata.github.io/glossarywho/articles/Global%20health%20estimates.html) | [Method of aggregate estimation](https://openwashdata.github.io/glossarywho/articles/Method%20of%20aggregate%20estimation.html) | [Estimation method](https://openwashdata.github.io/glossarywho/articles/Estimation%20method.html) | -| [Health estimates](https://openwashdata.github.io/glossarywho/articles/Health%20estimates.html) | | | | - -## Health Information systems - -| | | | | -|:---|:---|:---|:---| -| [Birth registration data](https://openwashdata.github.io/glossarywho/articles/Birth%20registration%20data.html) | [Health management information system](https://openwashdata.github.io/glossarywho/articles/Health%20management%20information%20system.html) | [Registry](https://openwashdata.github.io/glossarywho/articles/Registry.html) | [Civil registration and vital statistics](https://openwashdata.github.io/glossarywho/articles/Civil%20registration%20and%20vital%20statistics.html) | -| [Health facility census](https://openwashdata.github.io/glossarywho/articles/Health%20facility%20census.html) | [Register](https://openwashdata.github.io/glossarywho/articles/Register.html) | [Death registration data](https://openwashdata.github.io/glossarywho/articles/Death%20registration%20data.html) | [Health facility survey](https://openwashdata.github.io/glossarywho/articles/Health%20facility%20survey.html) | -| [Registrar](https://openwashdata.github.io/glossarywho/articles/Registrar.html) | [Death registration desk](https://openwashdata.github.io/glossarywho/articles/Death%20registration%20desk.html) | [Health survey](https://openwashdata.github.io/glossarywho/articles/Health%20survey.html) | [Registration form](https://openwashdata.github.io/glossarywho/articles/Registration%20form.html) | -| [Disease surveillance system](https://openwashdata.github.io/glossarywho/articles/Disease%20surveillance%20system.html) | [Individual health record](https://openwashdata.github.io/glossarywho/articles/Individual%20health%20record.html) | [Verbal autopsy](https://openwashdata.github.io/glossarywho/articles/Verbal%20autopsy.html) | [Event-based surveillance](https://openwashdata.github.io/glossarywho/articles/Event-based%20surveillance.html) | -| [Public health surveillance system](https://openwashdata.github.io/glossarywho/articles/Public%20health%20surveillance%20system.html) | [Vital event](https://openwashdata.github.io/glossarywho/articles/Vital%20event.html) | [Geographic information systems](https://openwashdata.github.io/glossarywho/articles/Geographic%20information%20systems.html) | [Raw health data](https://openwashdata.github.io/glossarywho/articles/Raw%20health%20data.html) | -| [Vital statistics](https://openwashdata.github.io/glossarywho/articles/Vital%20statistics.html) | [Health and demographic surveillance system](https://openwashdata.github.io/glossarywho/articles/Health%20and%20demographic%20surveillance%20system.html) | [Routine data](https://openwashdata.github.io/glossarywho/articles/Routine%20data.html) | [Health information system](https://openwashdata.github.io/glossarywho/articles/Health%20information%20system.html) | -| [Routine health information system](https://openwashdata.github.io/glossarywho/articles/Routine%20health%20information%20system.html) | | | | - -## Indicator Terminology - -| | | | | -|:---|:---|:---|:---| -| [Composite indicator](https://openwashdata.github.io/glossarywho/articles/Composite%20indicator.html) | [Metadata](https://openwashdata.github.io/glossarywho/articles/Metadata.html) | [Output indicator](https://openwashdata.github.io/glossarywho/articles/Output%20indicator.html) | [Core indicator](https://openwashdata.github.io/glossarywho/articles/Core%20indicator.html) | -| [Indicator classification](https://openwashdata.github.io/glossarywho/articles/Indicator%20classification.html) | [Process indicator](https://openwashdata.github.io/glossarywho/articles/Process%20indicator.html) | [Domain](https://openwashdata.github.io/glossarywho/articles/Domain.html) | [Indicator definition](https://openwashdata.github.io/glossarywho/articles/Indicator%20definition.html) | -| [Proxy health indicator](https://openwashdata.github.io/glossarywho/articles/Proxy%20health%20indicator.html) | [Health indicator](https://openwashdata.github.io/glossarywho/articles/Health%20indicator.html) | [Input indicator](https://openwashdata.github.io/glossarywho/articles/Input%20indicator.html) | [Rationale](https://openwashdata.github.io/glossarywho/articles/Rationale.html) | -| [Impact indicator](https://openwashdata.github.io/glossarywho/articles/Impact%20indicator.html) | [Logic model](https://openwashdata.github.io/glossarywho/articles/Logic%20model.html) | [Tracer indicator](https://openwashdata.github.io/glossarywho/articles/Tracer%20indicator.html) | [Indicator-based surveillance](https://openwashdata.github.io/glossarywho/articles/Indicator-based%20surveillance.html) | -| [Outcome indicator](https://openwashdata.github.io/glossarywho/articles/Outcome%20indicator.html) | | | | - -## Methods to assess data quality - -| | | | | -|:---|:---|:---|:---| -| [Accuracy](https://openwashdata.github.io/glossarywho/articles/Accuracy.html) | [Data quality assurance](https://openwashdata.github.io/glossarywho/articles/Data%20quality%20assurance.html) | [Punctuality](https://openwashdata.github.io/glossarywho/articles/Punctuality.html) | [Completeness of reporting](https://openwashdata.github.io/glossarywho/articles/Completeness%20of%20reporting.html) | -| [Internal consistency of data](https://openwashdata.github.io/glossarywho/articles/Internal%20consistency%20of%20data.html) | [Relevance](https://openwashdata.github.io/glossarywho/articles/Relevance.html) | [Construct validity](https://openwashdata.github.io/glossarywho/articles/Construct%20validity.html) | [Internal responsiveness](https://openwashdata.github.io/glossarywho/articles/Internal%20responsiveness.html) | -| [Reliability of data](https://openwashdata.github.io/glossarywho/articles/Reliability%20of%20data.html) | [Content validity](https://openwashdata.github.io/glossarywho/articles/Content%20validity.html) | [External consistency of data](https://openwashdata.github.io/glossarywho/articles/External%20consistency%20of%20data.html) | [Representativeness](https://openwashdata.github.io/glossarywho/articles/Representativeness.html) | -| [Convergent validity](https://openwashdata.github.io/glossarywho/articles/Convergent%20validity.html) | [External responsiveness](https://openwashdata.github.io/glossarywho/articles/External%20responsiveness.html) | [Responsiveness](https://openwashdata.github.io/glossarywho/articles/Responsiveness.html) | [Credibility](https://openwashdata.github.io/glossarywho/articles/Credibility.html) | -| [Feasibility](https://openwashdata.github.io/glossarywho/articles/Feasibility.html) | [Sustainability](https://openwashdata.github.io/glossarywho/articles/Sustainability.html) | [Criterion validity](https://openwashdata.github.io/glossarywho/articles/Criterion%20validity.html) | [Gold standard](https://openwashdata.github.io/glossarywho/articles/Gold%20standard.html) | -| [Timeliness](https://openwashdata.github.io/glossarywho/articles/Timeliness.html) | [Data integrity](https://openwashdata.github.io/glossarywho/articles/Data%20integrity.html) | [Predictive validity](https://openwashdata.github.io/glossarywho/articles/Predictive%20validity.html) | [Usefulness or utility](https://openwashdata.github.io/glossarywho/articles/Usefulness%20or%20Utility.html) | -| [Data quality](https://openwashdata.github.io/glossarywho/articles/Data%20quality.html) | [Process of validation](https://openwashdata.github.io/glossarywho/articles/Process%20of%20validation.html) | [Validity](https://openwashdata.github.io/glossarywho/articles/Validity.html) | [Data quality assessment](https://openwashdata.github.io/glossarywho/articles/Data%20quality%20assessment.html) | - -## Monitoring and evaluation terms - -| | | | | -|:---|:---|:---|:---| -| [Accountability](https://openwashdata.github.io/glossarywho/articles/Accountability.html) | [Joint external evaluation](https://openwashdata.github.io/glossarywho/articles/Joint%20external%20evaluation.html) | [Results framework](https://openwashdata.github.io/glossarywho/articles/Results%20framework.html) | [Evaluation](https://openwashdata.github.io/glossarywho/articles/Evaluation.html) | -| [Monitoring](https://openwashdata.github.io/glossarywho/articles/Monitoring.html) | [Target population](https://openwashdata.github.io/glossarywho/articles/Target%20population.html) | [Health impact assessment](https://openwashdata.github.io/glossarywho/articles/Health%20impact%20assessment.html) | [Monitoring and evaluation framework](https://openwashdata.github.io/glossarywho/articles/Monitoring%20and%20evaluation%20framework.html) | - -## Quality of Care measurement - -| | | | | -|:---|:---|:---|:---| -| [Care cascade](https://openwashdata.github.io/glossarywho/articles/Care%20cascade.html) | [Outcome-adjusted coverage](https://openwashdata.github.io/glossarywho/articles/Outcome-adjusted%20coverage.html) | [Quality-adjusted coverage](https://openwashdata.github.io/glossarywho/articles/Quality-adjusted%20coverage.html) | [Effective coverage](https://openwashdata.github.io/glossarywho/articles/Effective%20coverage.html) | - -## Statistical and analytical terms - -| | | | | -|:---|:---|:---|:---| -| [Chi-square test](https://openwashdata.github.io/glossarywho/articles/Chi-square%20(%CF%872)%20test.html) | [Interoperability](https://openwashdata.github.io/glossarywho/articles/Interoperability.html) | [P value](https://openwashdata.github.io/glossarywho/articles/P%20value.html) | [Confounding](https://openwashdata.github.io/glossarywho/articles/Confounding.html) | -| [Kappa Statistic (K)](https://openwashdata.github.io/glossarywho/articles/Kappa%20statistic%20(K).html) | [Rate](https://openwashdata.github.io/glossarywho/articles/Rate.html) | [Correlation analysis](https://openwashdata.github.io/glossarywho/articles/Correlation%20analysis.html) | [Linkage](https://openwashdata.github.io/glossarywho/articles/Linkage.html) | -| [Ratio](https://openwashdata.github.io/glossarywho/articles/Ratio.html) | [Count](https://openwashdata.github.io/glossarywho/articles/Count.html) | [Mean](https://openwashdata.github.io/glossarywho/articles/Mean.html) | [Record linkage](https://openwashdata.github.io/glossarywho/articles/Record%20linkage.html) | -| [Data](https://openwashdata.github.io/glossarywho/articles/Data.html) | [Measure](https://openwashdata.github.io/glossarywho/articles/Measure.html) | [Regression](https://openwashdata.github.io/glossarywho/articles/Regression.html) | [Data harmonization](https://openwashdata.github.io/glossarywho/articles/Data%20harmonization.html) | -| [Measurement](https://openwashdata.github.io/glossarywho/articles/Measurement.html) | [Sample](https://openwashdata.github.io/glossarywho/articles/Sample.html) | [Data triangulation](https://openwashdata.github.io/glossarywho/articles/Data%20triangulation.html) | [Measurement method](https://openwashdata.github.io/glossarywho/articles/Measurement%20method.html) | -| [Sample size](https://openwashdata.github.io/glossarywho/articles/Sample%20size.html) | [Denominator](https://openwashdata.github.io/glossarywho/articles/Denominator.html) | [Median](https://openwashdata.github.io/glossarywho/articles/Median.html) | [Sampling error](https://openwashdata.github.io/glossarywho/articles/Sampling%20error.html) | -| [Descriptive analysis](https://openwashdata.github.io/glossarywho/articles/Descriptive%20analysis.html) | National representative | [Sensitivity analysis](https://openwashdata.github.io/glossarywho/articles/Sensitivity%20analysis.html) | [Disability adjusted life years](https://openwashdata.github.io/glossarywho/articles/Disability%20adjusted%20life%20years%20(DALYs).html) | -| [Negative predictive value](https://openwashdata.github.io/glossarywho/articles/Negative%20predictive%20value.html) | [Statistical model](https://openwashdata.github.io/glossarywho/articles/Statistical%20model.html) | [Ecological analysis](https://openwashdata.github.io/glossarywho/articles/Ecological%20analysis.html) | [Null hypothesis](https://openwashdata.github.io/glossarywho/articles/Null%20hypothesis.html) | -| [Statistical significance](https://openwashdata.github.io/glossarywho/articles/Statistical%20significance.html) | [Ecological fallacy](https://openwashdata.github.io/glossarywho/articles/Ecological%20fallacy.html) | [Numerator](https://openwashdata.github.io/glossarywho/articles/Numerator.html) | [Statistics](https://openwashdata.github.io/glossarywho/articles/Statistics.html) | -| [Effect size](https://openwashdata.github.io/glossarywho/articles/Effect%20size.html) | [Odds ratio](https://openwashdata.github.io/glossarywho/articles/Odds%20ratio.html) | [Stratification](https://openwashdata.github.io/glossarywho/articles/Stratification.html) | [Geospatial analysis](https://openwashdata.github.io/glossarywho/articles/Geospatial%20analysis.html) | -| [Percentage](https://openwashdata.github.io/glossarywho/articles/Percentage.html) | [Trend](https://openwashdata.github.io/glossarywho/articles/Trend.html) | [Healthy life expectancy at birth](https://openwashdata.github.io/glossarywho/articles/Healthy%20life%20expectancy%20at%20birth.html) | [Periodicity](https://openwashdata.github.io/glossarywho/articles/Periodicity.html) | -| [Uncertainty measure](https://openwashdata.github.io/glossarywho/articles/Uncertainty%20measure.html) | [Heaping of data](https://openwashdata.github.io/glossarywho/articles/Heaping%20of%20data.html) | [Population attributable fraction](https://openwashdata.github.io/glossarywho/articles/Population%20attributable%20fraction.html) | [Weighting](https://openwashdata.github.io/glossarywho/articles/Weighting.html) | -| [Years lived with disability](https://openwashdata.github.io/glossarywho/articles/Years%20lived%20with%20disability.html) | [Interaction](https://openwashdata.github.io/glossarywho/articles/Interaction.html) | [Processed health data](https://openwashdata.github.io/glossarywho/articles/Processed%20health%20data.html) | [Intervention coverage](https://openwashdata.github.io/glossarywho/articles/Intervention%20coverage.html) | -| [Proportion](https://openwashdata.github.io/glossarywho/articles/Proportion.html) | | | | diff --git a/docs/articles/Timeliness.html b/docs/articles/Timeliness.html deleted file mode 100644 index e77fadd..0000000 --- a/docs/articles/Timeliness.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Timeliness • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Timeliness -

-

When the data is quickly available and accessible for use. In the -context of data quality, the degree to which reports are submitted on -time according to established deadlines. Timeliness involves the -availability and reliability of the data at the time it is needed to -construct related indicators. Thus, timely indicators provide better -opportunities for making health-related decisions (13,23,66).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Timeliness.md b/docs/articles/Timeliness.md deleted file mode 100644 index 5b53ec4..0000000 --- a/docs/articles/Timeliness.md +++ /dev/null @@ -1,10 +0,0 @@ -# Timeliness - -## Timeliness - -When the data is quickly available and accessible for use. In the -context of data quality, the degree to which reports are submitted on -time according to established deadlines. Timeliness involves the -availability and reliability of the data at the time it is needed to -construct related indicators. Thus, timely indicators provide better -opportunities for making health-related decisions (13,23,66). diff --git a/docs/articles/Tracer indicator.html b/docs/articles/Tracer indicator.html deleted file mode 100644 index 74ad081..0000000 --- a/docs/articles/Tracer indicator.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Tracer indicator • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Tracer indicator -

-

A highly specified indicator chosen as an example to represent a -broader health topic (83).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Tracer indicator.md b/docs/articles/Tracer indicator.md deleted file mode 100644 index 7315274..0000000 --- a/docs/articles/Tracer indicator.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tracer indicator - -## Tracer indicator - -A highly specified indicator chosen as an example to represent a broader -health topic (83). diff --git a/docs/articles/Transparency.html b/docs/articles/Transparency.html deleted file mode 100644 index 3f5df9a..0000000 --- a/docs/articles/Transparency.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Transparency • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Transparency -

-

Any information or communication relating to the processing of -personal data is easily accessible and easy to understand, and that -clear and plain language be used. Individuals should be made aware of -risks, rules, safeguards and rights in relation to the processing of -personal data and how to exercise their rights in relation to such -processing (147).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Transparency.md b/docs/articles/Transparency.md deleted file mode 100644 index ffe3a0b..0000000 --- a/docs/articles/Transparency.md +++ /dev/null @@ -1,10 +0,0 @@ -# Transparency - -## Transparency - -Any information or communication relating to the processing of personal -data is easily accessible and easy to understand, and that clear and -plain language be used. Individuals should be made aware of risks, -rules, safeguards and rights in relation to the processing of personal -data and how to exercise their rights in relation to such processing -(147). diff --git a/docs/articles/Trend.html b/docs/articles/Trend.html deleted file mode 100644 index 8e00839..0000000 --- a/docs/articles/Trend.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Trend • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Trend -

-

A pattern found in multiple standardized measurements over time; it -is used to describe if the data is showing an upward or downward -movement for a specified time period (148).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Trend.md b/docs/articles/Trend.md deleted file mode 100644 index 5bd4757..0000000 --- a/docs/articles/Trend.md +++ /dev/null @@ -1,7 +0,0 @@ -# Trend - -## Trend - -A pattern found in multiple standardized measurements over time; it is -used to describe if the data is showing an upward or downward movement -for a specified time period (148). diff --git a/docs/articles/Uncertainty measure.html b/docs/articles/Uncertainty measure.html deleted file mode 100644 index b371b9c..0000000 --- a/docs/articles/Uncertainty measure.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Uncertainty measure • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Uncertainty measure -

-

Relates to how the estimate might differ from the “true value” . -Common measures of uncertainty include standard error, standard -deviation, confidence interval, coefficient of variation and statistical -significance (149).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Uncertainty measure.md b/docs/articles/Uncertainty measure.md deleted file mode 100644 index 195e9e1..0000000 --- a/docs/articles/Uncertainty measure.md +++ /dev/null @@ -1,8 +0,0 @@ -# Uncertainty measure - -## Uncertainty measure - -Relates to how the estimate might differ from the “true value” . Common -measures of uncertainty include standard error, standard deviation, -confidence interval, coefficient of variation and statistical -significance (149). diff --git a/docs/articles/Understandable or simplicty.html b/docs/articles/Understandable or simplicty.html deleted file mode 100644 index 1de31e9..0000000 --- a/docs/articles/Understandable or simplicty.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Understandable or simplicty • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Understandable or simplicty -

-

When an indicator is presented in a clear, concise and easily -comprehensible way. The indicator must be understood by those -responsible for taking action and, specifically, by those responsible -for decision-making (23,60).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Understandable or simplicty.md b/docs/articles/Understandable or simplicty.md deleted file mode 100644 index 81678a9..0000000 --- a/docs/articles/Understandable or simplicty.md +++ /dev/null @@ -1,8 +0,0 @@ -# Understandable or simplicty - -## Understandable or simplicty - -When an indicator is presented in a clear, concise and easily -comprehensible way. The indicator must be understood by those -responsible for taking action and, specifically, by those responsible -for decision-making (23,60). diff --git a/docs/articles/Unit of measure.html b/docs/articles/Unit of measure.html deleted file mode 100644 index 80a1127..0000000 --- a/docs/articles/Unit of measure.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Unit of measure • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Unit of measure -

-

Unit of measure in which the indicator is presented (e.g. deaths per -1000 live births; US$; litres per person per year). Note: Percentage is -not considered a unit of measure and indicators that are presented as -percentages should have the unit of measure field filled in as ‘n/a’

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Unit of measure.md b/docs/articles/Unit of measure.md deleted file mode 100644 index 8c479d1..0000000 --- a/docs/articles/Unit of measure.md +++ /dev/null @@ -1,8 +0,0 @@ -# Unit of measure - -## Unit of measure - -Unit of measure in which the indicator is presented (e.g. deaths per -1000 live births; US\$; litres per person per year). Note: Percentage is -not considered a unit of measure and indicators that are presented as -percentages should have the unit of measure field filled in as ‘n/a’ diff --git a/docs/articles/Usefulness or Utility.html b/docs/articles/Usefulness or Utility.html deleted file mode 100644 index 53c542a..0000000 --- a/docs/articles/Usefulness or Utility.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Usefulness or Utility • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Usefulness or Utility -

-

If the indicator is useful for programme improvement and policy -issues (60).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Usefulness or Utility.md b/docs/articles/Usefulness or Utility.md deleted file mode 100644 index dee5173..0000000 --- a/docs/articles/Usefulness or Utility.md +++ /dev/null @@ -1,6 +0,0 @@ -# Usefulness or Utility - -## Usefulness or Utility - -If the indicator is useful for programme improvement and policy issues -(60). diff --git a/docs/articles/Validity.html b/docs/articles/Validity.html deleted file mode 100644 index 6a235e9..0000000 --- a/docs/articles/Validity.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Validity • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Validity -

-

Ability of an indicator to measure what it is intended to measure -(i.e. absence of distortions, bias or systematic errors). The most -relevant biases are those related to selection of the study population -and the quality of the information compiled (23).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Validity.md b/docs/articles/Validity.md deleted file mode 100644 index 497ac40..0000000 --- a/docs/articles/Validity.md +++ /dev/null @@ -1,8 +0,0 @@ -# Validity - -## Validity - -Ability of an indicator to measure what it is intended to measure -(i.e. absence of distortions, bias or systematic errors). The most -relevant biases are those related to selection of the study population -and the quality of the information compiled (23). diff --git a/docs/articles/Verbal autopsy.html b/docs/articles/Verbal autopsy.html deleted file mode 100644 index db50fec..0000000 --- a/docs/articles/Verbal autopsy.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Verbal autopsy • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Verbal autopsy -

-

An interview carried out with family members or caregivers of the -deceased using a structured questionnaire to elicit signs and symptoms -and other pertinent information that can later be used to assign a -probable underlying cause of death (150).A

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Verbal autopsy.md b/docs/articles/Verbal autopsy.md deleted file mode 100644 index 1fc553d..0000000 --- a/docs/articles/Verbal autopsy.md +++ /dev/null @@ -1,8 +0,0 @@ -# Verbal autopsy - -## Verbal autopsy - -An interview carried out with family members or caregivers of the -deceased using a structured questionnaire to elicit signs and symptoms -and other pertinent information that can later be used to assign a -probable underlying cause of death (150).A diff --git a/docs/articles/Vital event.html b/docs/articles/Vital event.html deleted file mode 100644 index 8afc139..0000000 --- a/docs/articles/Vital event.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Vital event • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Vital event -

-

Events that are captured through civil registration and vital -statistic systems, which usually include live birth, death, fetal death, -marriage, divorce, annulment of marriage, judicial separation of -marriage, adoption, legitimation, recognition of parenthood, or change -of name or nationality (151).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Vital event.md b/docs/articles/Vital event.md deleted file mode 100644 index 6eeed1e..0000000 --- a/docs/articles/Vital event.md +++ /dev/null @@ -1,9 +0,0 @@ -# Vital event - -## Vital event - -Events that are captured through civil registration and vital statistic -systems, which usually include live birth, death, fetal death, marriage, -divorce, annulment of marriage, judicial separation of marriage, -adoption, legitimation, recognition of parenthood, or change of name or -nationality (151). diff --git a/docs/articles/Vital statistics.html b/docs/articles/Vital statistics.html deleted file mode 100644 index e550a2f..0000000 --- a/docs/articles/Vital statistics.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Vital statistics • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Vital statistics -

-

The systematic record of vital events such as birth, marriage, -divorce, adoption, death, and cause of death to generate data and -statistics (152).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Vital statistics.md b/docs/articles/Vital statistics.md deleted file mode 100644 index c5fe587..0000000 --- a/docs/articles/Vital statistics.md +++ /dev/null @@ -1,7 +0,0 @@ -# Vital statistics - -## Vital statistics - -The systematic record of vital events such as birth, marriage, divorce, -adoption, death, and cause of death to generate data and statistics -(152). diff --git a/docs/articles/Weighting.html b/docs/articles/Weighting.html deleted file mode 100644 index 33c8ef4..0000000 --- a/docs/articles/Weighting.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Weighting • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Weighting -

-

A technique used to adjust data to reflect the known population -profile. It is used to balance out any significant variance between -actual and target profile. Weighted analyses of population-based surveys -allow us to generalize findings to a larger or more general population. -This approach aims to provide unbiased estimates of descriptive -statistics or model parameters of the population of interest, which may -be a general population or major population subgroup. Incorporating -weights in the analyses can be crucial to achieve statistically valid, -representative population-based findings in surveys and to make -adjustments for sampling errors (153).Y

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Weighting.md b/docs/articles/Weighting.md deleted file mode 100644 index 47f334f..0000000 --- a/docs/articles/Weighting.md +++ /dev/null @@ -1,14 +0,0 @@ -# Weighting - -## Weighting - -A technique used to adjust data to reflect the known population profile. -It is used to balance out any significant variance between actual and -target profile. Weighted analyses of population-based surveys allow us -to generalize findings to a larger or more general population. This -approach aims to provide unbiased estimates of descriptive statistics or -model parameters of the population of interest, which may be a general -population or major population subgroup. Incorporating weights in the -analyses can be crucial to achieve statistically valid, representative -population-based findings in surveys and to make adjustments for -sampling errors (153).Y diff --git a/docs/articles/Years lived with disability.html b/docs/articles/Years lived with disability.html deleted file mode 100644 index be95a71..0000000 --- a/docs/articles/Years lived with disability.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Years lived with disability • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Years lived with disability -

-

Represents the equivalent of one full year of healthy life lost due -to disability or ill- health. The prevalence of years lived with -disability are calculated as the prevalence of each non-fatal condition -multiplied by its disability weight (155).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Years lived with disability.md b/docs/articles/Years lived with disability.md deleted file mode 100644 index 22fc416..0000000 --- a/docs/articles/Years lived with disability.md +++ /dev/null @@ -1,8 +0,0 @@ -# Years lived with disability - -## Years lived with disability - -Represents the equivalent of one full year of healthy life lost due to -disability or ill- health. The prevalence of years lived with disability -are calculated as the prevalence of each non-fatal condition multiplied -by its disability weight (155). diff --git a/docs/articles/Years of life lost.html b/docs/articles/Years of life lost.html deleted file mode 100644 index da7573f..0000000 --- a/docs/articles/Years of life lost.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Years of life lost • glossarywho - - - - - - - - - Skip to contents - - -
- - - - -
-
- - - -
-

Years of life lost -

-

Represents the loss of one year of life. Years of life lost are -calculated from the number of deaths multiplied by a global standard -life expectancy at the age at which death occurs (154).

-
-
-
- - - -
- - - -
-
- - - - - - - diff --git a/docs/articles/Years of life lost.md b/docs/articles/Years of life lost.md deleted file mode 100644 index 8c4c159..0000000 --- a/docs/articles/Years of life lost.md +++ /dev/null @@ -1,7 +0,0 @@ -# Years of life lost - -## Years of life lost - -Represents the loss of one year of life. Years of life lost are -calculated from the number of deaths multiplied by a global standard -life expectancy at the age at which death occurs (154). diff --git a/docs/articles/index.html b/docs/articles/index.html deleted file mode 100644 index 3ffb698..0000000 --- a/docs/articles/index.html +++ /dev/null @@ -1,514 +0,0 @@ - -Articles • glossarywho - Skip to contents - - -
-
-
- -
-

Themes

-
- -
Themes
-
-
-
-

Definitions

-
- -
Accountability
-
-
Accuracy
-
-
Administrative area
-
-
Age groupings
-
-
Age-specific mortality rate
-
-
Birth registration data
-
-
Care cascade
-
-
Catchment area
-
-
Causes of death
-
-
Chi-square (χ2) test
-
-
Civil registration and vital statistics
-
-
Completeness of reporting
-
-
Compliance
-
-
Composite indicator
-
-
Confidentiality
-
-
Confounding
-
-
Construct validity
-
-
Content validity
-
-
Convergent validity
-
-
Core indicator
-
-
Correlation analysis
-
-
Count
-
-
Covariates
-
-
Credibility
-
-
Criterion validity
-
-
Data access control
-
-
Data accessibility
-
-
Data anonymization
-
-
Data collection level
-
-
Data collection method
-
-
Data consent
-
-
Data custodian
-
-
Data element
-
-
Data governance
-
-
Data harmonization
-
-
Data information pyramid
-
-
Data inputs
-
-
Data integration
-
-
Data integrity
-
-
Data life cycle
-
-
Data privacy
-
-
Data provider
-
-
Data quality assurance
-
-
Data quality assessment
-
-
Data quality
-
-
Data security
-
-
Data source
-
-
Data standards
-
-
Data steward
-
-
Data stewardship
-
-
Data triangulation
-
-
Data type
-
-
Data
-
-
Death registration data
-
-
Death registration desk
-
-
Delineated geographical areas within
-
-
Denominator
-
-
Descriptive cross-sectional
-
-
Descriptive analysis
-
-
Digital health
-
-
Disability adjusted life years (DALYs)
-
-
Disaggregation
-
-
Disease surveillance system
-
-
Domain
-
-
Ecological analysis
-
-
Ecological fallacy
-
-
Effect size
-
-
Effective coverage
-
-
Estimation method
-
-
Evaluation
-
-
Event-based surveillance
-
-
External consistency of data
-
-
External responsiveness
-
-
Feasibility
-
-
Focal point
-
-
Gender
-
-
Geo-enablement
-
-
Geocoding
-
-
Geographic accessibility
-
-
Geographic information systems
-
-
Geospatial analysis
-
-
Geospatial data
-
-
Global health estimates
-
-
Global Health Observatory
-
-
Gold standard
-
-
Government agency or institution
-
-
Granularity
-
-
Health and demographic surveillance system
-
-
Health data
-
-
Health estimates
-
-
Health facility census
-
-
Health facility survey
-
-
Health impact assessment
-
-
Health indicator
-
-
Health inequality
-
-
Health inequity
-
-
Health information system
-
-
Health management information system
-
-
Health survey
-
-
Healthy life expectancy at birth
-
-
Heaping of data
-
-
Home-based record
-
-
Impact indicator
-
-
Imputation
-
-
Incidence rate
-
-
Indicator classification
-
-
Indicator definition
-
-
Indicator-based surveillance commonly
-
-
Indicator-based surveillance
-
-
Individual health record
-
-
Input indicator
-
-
Interaction
-
-
Internal consistency of data
-
-
Internal responsiveness
-
-
International Classification of Diseases (ICD)
-
-
International Health Regulations
-
-
Interoperability
-
-
Intervention coverage
-
-
Joint external evaluation
-
-
Kappa statistic (K)
-
-
Linkage
-
-
Logic model
-
-
Master facility list
-
-
Mean
-
-
Measure
-
-
Measurement method
-
-
Measurement level
-
-
Measurement
-
-
Median
-
-
Medical certification of cause of death
-
-
Metadata
-
-
Method of aggregate estimation
-
-
Microdata
-
-
Monitoring and evaluation (M&E) framework
-
-
Monitoring
-
-
Morbidity data
-
-
Mortality coder
-
-
Mortality data
-
-
National health strategic plan
-
-
National statistics office
-
-
Nationally representative
-
-
Negative predictive value
-
-
Notifiable conditions
-
-
Null hypothesis
-
-
Numerator
-
-
Odds ratio
-
-
Outcome indicator
-
-
Outcome-adjusted coverage
-
-
Output indicator
-
-
P value
-
-
Percentage
-
-
Periodicity
-
-
Population attributable fraction
-
-
Population-based survey
-
-
Population census
-
-
Positive predictive value
-
-
Predictive validity
-
-
Preferred data sources
-
-
Prevalence rate
-
-
Primary data
-
-
Process indicator
-
-
Process of validation
-
-
Processed health data
-
-
Proportion
-
-
Proxy health indicator
-
-
Public health surveillance system
-
-
Publicly available
-
-
Punctuality
-
-
Quality-adjusted coverage
-
-
Rate
-
-
Ratio
-
-
Rationale
-
-
Raw health data
-
-
Record linkage
-
-
Register
-
-
Registrar
-
-
Registration form
-
-
Registry
-
-
Regression
-
-
Relevance
-
-
Reliability of data
-
-
Representativeness
-
-
Response rate
-
-
Responsiveness
-
-
Results framework
-
-
Routine data
-
-
Routine health information system
-
-
Sample size
-
-
Sample
-
-
Sampling error
-
-
Secondary data
-
-
Sensitivity analysis
-
-
Sex
-
-
Stakeholder
-
-
Standard operating procedures
-
-
Statistical model
-
-
Statistical significance
-
-
Statistics
-
-
Stratification
-
-
Subnational
-
-
Surveillance
-
-
Survey data
-
-
Survey
-
-
Sustainability
-
-
Sustainable Development Goals (SDGs)
-
-
Target population
-
-
Timeliness
-
-
Tracer indicator
-
-
Transparency
-
-
Trend
-
-
Uncertainty measure
-
-
Unit of measure
-
-
Usefulness or Utility
-
-
Understandable or simplicty
-
-
Validity
-
-
Verbal autopsy
-
-
Vital event
-
-
Vital statistics
-
-
Weighting
-
-
Years lived with disability
-
-
Years of life lost
-
-
-
- - -
- - - -
- - - - - - - diff --git a/docs/articles/index.md b/docs/articles/index.md deleted file mode 100644 index 12da07c..0000000 --- a/docs/articles/index.md +++ /dev/null @@ -1,392 +0,0 @@ -# Articles - -### Themes - -- [Themes](https://openwashdata.github.io/glossarywho/articles/Themes.md): - -### Definitions - -- [Accountability](https://openwashdata.github.io/glossarywho/articles/Accountability.md): -- [Accuracy](https://openwashdata.github.io/glossarywho/articles/Accuracy.md): -- [Administrative - area](https://openwashdata.github.io/glossarywho/articles/Administrative%20area.md): -- [Age - groupings](https://openwashdata.github.io/glossarywho/articles/Age%20groupings.md): -- [Age-specific mortality - rate](https://openwashdata.github.io/glossarywho/articles/Age-specific%20mortality%20rate.md): -- [Birth registration - data](https://openwashdata.github.io/glossarywho/articles/Birth%20registration%20data.md): -- [Care - cascade](https://openwashdata.github.io/glossarywho/articles/Care%20cascade.md): -- [Catchment - area](https://openwashdata.github.io/glossarywho/articles/Catchment%20area.md): -- [Causes of - death](https://openwashdata.github.io/glossarywho/articles/Causes%20of%20death.md): -- [Chi-square (χ2) - test](https://openwashdata.github.io/glossarywho/articles/Chi-square%20(%CF%872)%20test.md): -- [Civil registration and vital - statistics](https://openwashdata.github.io/glossarywho/articles/Civil%20registration%20and%20vital%20statistics.md): -- [Completeness of - reporting](https://openwashdata.github.io/glossarywho/articles/Completeness%20of%20reporting.md): -- [Compliance](https://openwashdata.github.io/glossarywho/articles/Compliance.md): -- [Composite - indicator](https://openwashdata.github.io/glossarywho/articles/Composite%20indicator.md): -- [Confidentiality](https://openwashdata.github.io/glossarywho/articles/Confidentiality.md): -- [Confounding](https://openwashdata.github.io/glossarywho/articles/Confounding.md): -- [Construct - validity](https://openwashdata.github.io/glossarywho/articles/Construct%20validity.md): -- [Content - validity](https://openwashdata.github.io/glossarywho/articles/Content%20validity.md): -- [Convergent - validity](https://openwashdata.github.io/glossarywho/articles/Convergent%20validity.md): -- [Core - indicator](https://openwashdata.github.io/glossarywho/articles/Core%20indicator.md): -- [Correlation - analysis](https://openwashdata.github.io/glossarywho/articles/Correlation%20analysis.md): -- [Count](https://openwashdata.github.io/glossarywho/articles/Count.md): -- [Covariates](https://openwashdata.github.io/glossarywho/articles/Covariates.md): -- [Credibility](https://openwashdata.github.io/glossarywho/articles/Credibility.md): -- [Criterion - validity](https://openwashdata.github.io/glossarywho/articles/Criterion%20validity.md): -- [Data access - control](https://openwashdata.github.io/glossarywho/articles/Data%20access%20control.md): -- [Data - accessibility](https://openwashdata.github.io/glossarywho/articles/Data%20accessibility.md): -- [Data - anonymization](https://openwashdata.github.io/glossarywho/articles/Data%20anonymization.md): -- [Data collection - level](https://openwashdata.github.io/glossarywho/articles/Data%20collection%20level.md): -- [Data collection - method](https://openwashdata.github.io/glossarywho/articles/Data%20collection%20method.md): -- [Data - consent](https://openwashdata.github.io/glossarywho/articles/Data%20consent.md): -- [Data - custodian](https://openwashdata.github.io/glossarywho/articles/Data%20custodian.md): -- [Data - element](https://openwashdata.github.io/glossarywho/articles/Data%20element.md): -- [Data - governance](https://openwashdata.github.io/glossarywho/articles/Data%20governance.md): -- [Data - harmonization](https://openwashdata.github.io/glossarywho/articles/Data%20harmonization.md): -- [Data information - pyramid](https://openwashdata.github.io/glossarywho/articles/Data%20information%20pyramid.md): -- [Data - inputs](https://openwashdata.github.io/glossarywho/articles/Data%20inputs.md): -- [Data - integration](https://openwashdata.github.io/glossarywho/articles/Data%20integration.md): -- [Data - integrity](https://openwashdata.github.io/glossarywho/articles/Data%20integrity.md): -- [Data life - cycle](https://openwashdata.github.io/glossarywho/articles/Data%20life%20cycle.md): -- [Data - privacy](https://openwashdata.github.io/glossarywho/articles/Data%20privacy.md): -- [Data - provider](https://openwashdata.github.io/glossarywho/articles/Data%20provider.md): -- [Data quality - assurance](https://openwashdata.github.io/glossarywho/articles/Data%20quality%20assurance.md): -- [Data quality - assessment](https://openwashdata.github.io/glossarywho/articles/Data%20quality%20assessment.md): -- [Data - quality](https://openwashdata.github.io/glossarywho/articles/Data%20quality.md): -- [Data - security](https://openwashdata.github.io/glossarywho/articles/Data%20security.md): -- [Data - source](https://openwashdata.github.io/glossarywho/articles/Data%20source.md): -- [Data - standards](https://openwashdata.github.io/glossarywho/articles/Data%20standards.md): -- [Data - steward](https://openwashdata.github.io/glossarywho/articles/Data%20steward.md): -- [Data - stewardship](https://openwashdata.github.io/glossarywho/articles/Data%20stewardship.md): -- [Data - triangulation](https://openwashdata.github.io/glossarywho/articles/Data%20triangulation.md): -- [Data - type](https://openwashdata.github.io/glossarywho/articles/Data%20type.md): -- [Data](https://openwashdata.github.io/glossarywho/articles/Data.md): -- [Death registration - data](https://openwashdata.github.io/glossarywho/articles/Death%20registration%20data.md): -- [Death registration - desk](https://openwashdata.github.io/glossarywho/articles/Death%20registration%20desk.md): -- [Delineated geographical areas - within](https://openwashdata.github.io/glossarywho/articles/Delineated%20geographical%20areas%20within.md): -- [Denominator](https://openwashdata.github.io/glossarywho/articles/Denominator.md): -- [Descriptive - cross-sectional](https://openwashdata.github.io/glossarywho/articles/Descriptive%20%20cross-sectional.md): -- [Descriptive - analysis](https://openwashdata.github.io/glossarywho/articles/Descriptive%20analysis.md): -- [Digital - health](https://openwashdata.github.io/glossarywho/articles/Digital%20health.md): -- [Disability adjusted life years - (DALYs)](https://openwashdata.github.io/glossarywho/articles/Disability%20adjusted%20life%20years%20(DALYs).md): -- [Disaggregation](https://openwashdata.github.io/glossarywho/articles/Disaggregation.md): -- [Disease surveillance - system](https://openwashdata.github.io/glossarywho/articles/Disease%20surveillance%20system.md): -- [Domain](https://openwashdata.github.io/glossarywho/articles/Domain.md): -- [Ecological - analysis](https://openwashdata.github.io/glossarywho/articles/Ecological%20analysis.md): -- [Ecological - fallacy](https://openwashdata.github.io/glossarywho/articles/Ecological%20fallacy.md): -- [Effect - size](https://openwashdata.github.io/glossarywho/articles/Effect%20size.md): -- [Effective - coverage](https://openwashdata.github.io/glossarywho/articles/Effective%20coverage.md): -- [Estimation - method](https://openwashdata.github.io/glossarywho/articles/Estimation%20method.md): -- [Evaluation](https://openwashdata.github.io/glossarywho/articles/Evaluation.md): -- [Event-based - surveillance](https://openwashdata.github.io/glossarywho/articles/Event-based%20surveillance.md): -- [External consistency of - data](https://openwashdata.github.io/glossarywho/articles/External%20consistency%20of%20data.md): -- [External - responsiveness](https://openwashdata.github.io/glossarywho/articles/External%20responsiveness.md): -- [Feasibility](https://openwashdata.github.io/glossarywho/articles/Feasibility.md): -- [Focal - point](https://openwashdata.github.io/glossarywho/articles/Focal%20point.md): -- [Gender](https://openwashdata.github.io/glossarywho/articles/Gender.md): -- [Geo-enablement](https://openwashdata.github.io/glossarywho/articles/Geo-enablement.md): -- [Geocoding](https://openwashdata.github.io/glossarywho/articles/Geocoding.md): -- [Geographic - accessibility](https://openwashdata.github.io/glossarywho/articles/Geographic%20accessibility.md): -- [Geographic information - systems](https://openwashdata.github.io/glossarywho/articles/Geographic%20information%20systems.md): -- [Geospatial - analysis](https://openwashdata.github.io/glossarywho/articles/Geospatial%20analysis.md): -- [Geospatial - data](https://openwashdata.github.io/glossarywho/articles/Geospatial%20data.md): -- [Global health - estimates](https://openwashdata.github.io/glossarywho/articles/Global%20health%20estimates.md): -- [Global Health - Observatory](https://openwashdata.github.io/glossarywho/articles/Global%20Health%20Observatory.md): -- [Gold - standard](https://openwashdata.github.io/glossarywho/articles/Gold%20standard.md): -- [Government agency or - institution](https://openwashdata.github.io/glossarywho/articles/Government%20agency%20or%20institution.md): -- [Granularity](https://openwashdata.github.io/glossarywho/articles/Granularity.md): -- [Health and demographic surveillance - system](https://openwashdata.github.io/glossarywho/articles/Health%20and%20demographic%20surveillance%20system.md): -- [Health - data](https://openwashdata.github.io/glossarywho/articles/Health%20data.md): -- [Health - estimates](https://openwashdata.github.io/glossarywho/articles/Health%20estimates.md): -- [Health facility - census](https://openwashdata.github.io/glossarywho/articles/Health%20facility%20census.md): -- [Health facility - survey](https://openwashdata.github.io/glossarywho/articles/Health%20facility%20survey.md): -- [Health impact - assessment](https://openwashdata.github.io/glossarywho/articles/Health%20impact%20assessment.md): -- [Health - indicator](https://openwashdata.github.io/glossarywho/articles/Health%20indicator.md): -- [Health - inequality](https://openwashdata.github.io/glossarywho/articles/Health%20inequality.md): -- [Health - inequity](https://openwashdata.github.io/glossarywho/articles/Health%20inequity.md): -- [Health information - system](https://openwashdata.github.io/glossarywho/articles/Health%20information%20system.md): -- [Health management information - system](https://openwashdata.github.io/glossarywho/articles/Health%20management%20information%20system.md): -- [Health - survey](https://openwashdata.github.io/glossarywho/articles/Health%20survey.md): -- [Healthy life expectancy at - birth](https://openwashdata.github.io/glossarywho/articles/Healthy%20life%20expectancy%20at%20birth.md): -- [Heaping of - data](https://openwashdata.github.io/glossarywho/articles/Heaping%20of%20data.md): -- [Home-based - record](https://openwashdata.github.io/glossarywho/articles/Home-based%20record.md): -- [Impact - indicator](https://openwashdata.github.io/glossarywho/articles/Impact%20indicator.md): -- [Imputation](https://openwashdata.github.io/glossarywho/articles/Imputation.md): -- [Incidence - rate](https://openwashdata.github.io/glossarywho/articles/Incidence%20rate.md): -- [Indicator - classification](https://openwashdata.github.io/glossarywho/articles/Indicator%20classification.md): -- [Indicator - definition](https://openwashdata.github.io/glossarywho/articles/Indicator%20definition.md): -- [Indicator-based surveillance - commonly](https://openwashdata.github.io/glossarywho/articles/Indicator-based%20surveillance%20commonly.md): -- [Indicator-based - surveillance](https://openwashdata.github.io/glossarywho/articles/Indicator-based%20surveillance.md): -- [Individual health - record](https://openwashdata.github.io/glossarywho/articles/Individual%20health%20record.md): -- [Input - indicator](https://openwashdata.github.io/glossarywho/articles/Input%20indicator.md): -- [Interaction](https://openwashdata.github.io/glossarywho/articles/Interaction.md): -- [Internal consistency of - data](https://openwashdata.github.io/glossarywho/articles/Internal%20consistency%20of%20data.md): -- [Internal - responsiveness](https://openwashdata.github.io/glossarywho/articles/Internal%20responsiveness.md): -- [International Classification of Diseases - (ICD)](https://openwashdata.github.io/glossarywho/articles/International%20Classification%20of%20Diseases%20(ICD).md): -- [International Health - Regulations](https://openwashdata.github.io/glossarywho/articles/International%20Health%20Regulations.md): -- [Interoperability](https://openwashdata.github.io/glossarywho/articles/Interoperability.md): -- [Intervention - coverage](https://openwashdata.github.io/glossarywho/articles/Intervention%20coverage.md): -- [Joint external - evaluation](https://openwashdata.github.io/glossarywho/articles/Joint%20external%20evaluation.md): -- [Kappa statistic - (K)](https://openwashdata.github.io/glossarywho/articles/Kappa%20statistic%20(K).md): -- [Linkage](https://openwashdata.github.io/glossarywho/articles/Linkage.md): -- [Logic - model](https://openwashdata.github.io/glossarywho/articles/Logic%20model.md): -- [Master facility - list](https://openwashdata.github.io/glossarywho/articles/Master%20facility%20list.md): -- [Mean](https://openwashdata.github.io/glossarywho/articles/Mean.md): -- [Measure](https://openwashdata.github.io/glossarywho/articles/Measure.md): -- [Measurement - method](https://openwashdata.github.io/glossarywho/articles/Measurement%20method.md): -- [Measurement - level](https://openwashdata.github.io/glossarywho/articles/Measurement%20level.md): -- [Measurement](https://openwashdata.github.io/glossarywho/articles/Measurement.md): -- [Median](https://openwashdata.github.io/glossarywho/articles/Median.md): -- [Medical certification of cause of - death](https://openwashdata.github.io/glossarywho/articles/Medical%20certification%20of%20cause%20of%20death.md): -- [Metadata](https://openwashdata.github.io/glossarywho/articles/Metadata.md): -- [Method of aggregate - estimation](https://openwashdata.github.io/glossarywho/articles/Method%20of%20aggregate%20estimation.md): -- [Microdata](https://openwashdata.github.io/glossarywho/articles/Microdata.md): -- [Monitoring and evaluation (M&E) - framework](https://openwashdata.github.io/glossarywho/articles/Monitoring%20and%20evaluation%20(M&E)%20framework.md): -- [Monitoring](https://openwashdata.github.io/glossarywho/articles/Monitoring.md): -- [Morbidity - data](https://openwashdata.github.io/glossarywho/articles/Morbidity%20data.md): -- [Mortality - coder](https://openwashdata.github.io/glossarywho/articles/Mortality%20coder.md): -- [Mortality - data](https://openwashdata.github.io/glossarywho/articles/Mortality%20data.md): -- [National health strategic - plan](https://openwashdata.github.io/glossarywho/articles/National%20health%20strategic%20plan.md): -- [National statistics - office](https://openwashdata.github.io/glossarywho/articles/National%20statistics%20office.md): -- [Nationally - representative](https://openwashdata.github.io/glossarywho/articles/Nationally%20representative.md): -- [Negative predictive - value](https://openwashdata.github.io/glossarywho/articles/Negative%20predictive%20value.md): -- [Notifiable - conditions](https://openwashdata.github.io/glossarywho/articles/Notifiable%20conditions.md): -- [Null - hypothesis](https://openwashdata.github.io/glossarywho/articles/Null%20hypothesis.md): -- [Numerator](https://openwashdata.github.io/glossarywho/articles/Numerator.md): -- [Odds - ratio](https://openwashdata.github.io/glossarywho/articles/Odds%20ratio.md): -- [Outcome - indicator](https://openwashdata.github.io/glossarywho/articles/Outcome%20indicator.md): -- [Outcome-adjusted - coverage](https://openwashdata.github.io/glossarywho/articles/Outcome-adjusted%20coverage.md): -- [Output - indicator](https://openwashdata.github.io/glossarywho/articles/Output%20indicator.md): -- [P - value](https://openwashdata.github.io/glossarywho/articles/P%20value.md): -- [Percentage](https://openwashdata.github.io/glossarywho/articles/Percentage.md): -- [Periodicity](https://openwashdata.github.io/glossarywho/articles/Periodicity.md): -- [Population attributable - fraction](https://openwashdata.github.io/glossarywho/articles/Population%20attributable%20fraction.md): -- [Population-based - survey](https://openwashdata.github.io/glossarywho/articles/Population-based%20survey.md): -- [Population - census](https://openwashdata.github.io/glossarywho/articles/Population%20census.md): -- [Positive predictive - value](https://openwashdata.github.io/glossarywho/articles/Positive%20predictive%20value.md): -- [Predictive - validity](https://openwashdata.github.io/glossarywho/articles/Predictive%20validity.md): -- [Preferred data - sources](https://openwashdata.github.io/glossarywho/articles/Preferred%20data%20sources.md): -- [Prevalence - rate](https://openwashdata.github.io/glossarywho/articles/Prevalence%20rate.md): -- [Primary - data](https://openwashdata.github.io/glossarywho/articles/Primary%20data.md): -- [Process - indicator](https://openwashdata.github.io/glossarywho/articles/Process%20indicator.md): -- [Process of - validation](https://openwashdata.github.io/glossarywho/articles/Process%20of%20validation.md): -- [Processed health - data](https://openwashdata.github.io/glossarywho/articles/Processed%20health%20data.md): -- [Proportion](https://openwashdata.github.io/glossarywho/articles/Proportion.md): -- [Proxy health - indicator](https://openwashdata.github.io/glossarywho/articles/Proxy%20health%20indicator.md): -- [Public health surveillance - system](https://openwashdata.github.io/glossarywho/articles/Public%20health%20surveillance%20system.md): -- [Publicly - available](https://openwashdata.github.io/glossarywho/articles/Publicly%20available.md): -- [Punctuality](https://openwashdata.github.io/glossarywho/articles/Punctuality.md): -- [Quality-adjusted - coverage](https://openwashdata.github.io/glossarywho/articles/Quality-adjusted%20coverage.md): -- [Rate](https://openwashdata.github.io/glossarywho/articles/Rate.md): -- [Ratio](https://openwashdata.github.io/glossarywho/articles/Ratio.md): -- [Rationale](https://openwashdata.github.io/glossarywho/articles/Rationale.md): -- [Raw health - data](https://openwashdata.github.io/glossarywho/articles/Raw%20health%20data.md): -- [Record - linkage](https://openwashdata.github.io/glossarywho/articles/Record%20linkage.md): -- [Register](https://openwashdata.github.io/glossarywho/articles/Register.md): -- [Registrar](https://openwashdata.github.io/glossarywho/articles/Registrar.md): -- [Registration - form](https://openwashdata.github.io/glossarywho/articles/Registration%20form.md): -- [Registry](https://openwashdata.github.io/glossarywho/articles/Registry.md): -- [Regression](https://openwashdata.github.io/glossarywho/articles/Regression.md): -- [Relevance](https://openwashdata.github.io/glossarywho/articles/Relevance.md): -- [Reliability of - data](https://openwashdata.github.io/glossarywho/articles/Reliability%20of%20data.md): -- [Representativeness](https://openwashdata.github.io/glossarywho/articles/Representativeness.md): -- [Response - rate](https://openwashdata.github.io/glossarywho/articles/Response%20rate.md): -- [Responsiveness](https://openwashdata.github.io/glossarywho/articles/Responsiveness.md): -- [Results - framework](https://openwashdata.github.io/glossarywho/articles/Results%20framework.md): -- [Routine - data](https://openwashdata.github.io/glossarywho/articles/Routine%20data.md): -- [Routine health information - system](https://openwashdata.github.io/glossarywho/articles/Routine%20health%20information%20system.md): -- [Sample - size](https://openwashdata.github.io/glossarywho/articles/Sample%20size.md): -- [Sample](https://openwashdata.github.io/glossarywho/articles/Sample.md): -- [Sampling - error](https://openwashdata.github.io/glossarywho/articles/Sampling%20error.md): -- [Secondary - data](https://openwashdata.github.io/glossarywho/articles/Secondary%20data.md): -- [Sensitivity - analysis](https://openwashdata.github.io/glossarywho/articles/Sensitivity%20analysis.md): -- [Sex](https://openwashdata.github.io/glossarywho/articles/Sex.md): -- [Stakeholder](https://openwashdata.github.io/glossarywho/articles/Stakeholder.md): -- [Standard operating - procedures](https://openwashdata.github.io/glossarywho/articles/Standard%20operating%20procedures.md): -- [Statistical - model](https://openwashdata.github.io/glossarywho/articles/Statistical%20model.md): -- [Statistical - significance](https://openwashdata.github.io/glossarywho/articles/Statistical%20significance.md): -- [Statistics](https://openwashdata.github.io/glossarywho/articles/Statistics.md): -- [Stratification](https://openwashdata.github.io/glossarywho/articles/Stratification.md): -- [Subnational](https://openwashdata.github.io/glossarywho/articles/Subnational.md): -- [Surveillance](https://openwashdata.github.io/glossarywho/articles/Surveillance.md): -- [Survey - data](https://openwashdata.github.io/glossarywho/articles/Survey%20data.md): -- [Survey](https://openwashdata.github.io/glossarywho/articles/Survey.md): -- [Sustainability](https://openwashdata.github.io/glossarywho/articles/Sustainability.md): -- [Sustainable Development Goals - (SDGs)](https://openwashdata.github.io/glossarywho/articles/Sustainable%20Development%20Goals%20(SDGs).md): -- [Target - population](https://openwashdata.github.io/glossarywho/articles/Target%20population.md): -- [Timeliness](https://openwashdata.github.io/glossarywho/articles/Timeliness.md): -- [Tracer - indicator](https://openwashdata.github.io/glossarywho/articles/Tracer%20indicator.md): -- [Transparency](https://openwashdata.github.io/glossarywho/articles/Transparency.md): -- [Trend](https://openwashdata.github.io/glossarywho/articles/Trend.md): -- [Uncertainty - measure](https://openwashdata.github.io/glossarywho/articles/Uncertainty%20measure.md): -- [Unit of - measure](https://openwashdata.github.io/glossarywho/articles/Unit%20of%20measure.md): -- [Usefulness or - Utility](https://openwashdata.github.io/glossarywho/articles/Usefulness%20or%20Utility.md): -- [Understandable or - simplicty](https://openwashdata.github.io/glossarywho/articles/Understandable%20or%20simplicty.md): -- [Validity](https://openwashdata.github.io/glossarywho/articles/Validity.md): -- [Verbal - autopsy](https://openwashdata.github.io/glossarywho/articles/Verbal%20autopsy.md): -- [Vital - event](https://openwashdata.github.io/glossarywho/articles/Vital%20event.md): -- [Vital - statistics](https://openwashdata.github.io/glossarywho/articles/Vital%20statistics.md): -- [Weighting](https://openwashdata.github.io/glossarywho/articles/Weighting.md): -- [Years lived with - disability](https://openwashdata.github.io/glossarywho/articles/Years%20lived%20with%20disability.md): -- [Years of life - lost](https://openwashdata.github.io/glossarywho/articles/Years%20of%20life%20lost.md): diff --git a/docs/authors.html b/docs/authors.html deleted file mode 100644 index 6bb6284..0000000 --- a/docs/authors.html +++ /dev/null @@ -1,89 +0,0 @@ - -Authors and Citation • glossarywho - Skip to contents - - -
-
-
- -
-

Authors

- -
  • -

    Yash Dubey. Maintainer, author. -

    -
  • -
- -
-

Citation

-

Source: inst/CITATION

- -

Dubey Y (2025). -“glossarywho: WHO Glossary.” -doi:10.5281/zenodo.14754017. -https://github.com/openwashdata/glossarywho. -

-
@Misc{dubey:2025,
-  title = {glossarywho: WHO Glossary},
-  author = {Yash Dubey},
-  year = {2025},
-  doi = {10.5281/zenodo.14754017},
-  url = {https://github.com/openwashdata/glossarywho},
-  abstract = {This package provides access to a tidy version of the WHO Glossary (https://www.who.int/publications/i/item/9789240105485) and thematic areas for each term.},
-  version = {0.1.0},
-}
-
- -
- - -
- - - -
- - - - - - - diff --git a/docs/authors.md b/docs/authors.md deleted file mode 100644 index 8262c6d..0000000 --- a/docs/authors.md +++ /dev/null @@ -1,25 +0,0 @@ -# Authors and Citation - -## Authors - -- **Yash Dubey**. Maintainer, author. - [](https://orcid.org/0009-0001-2849-970X) - -## Citation - -Source: -[`inst/CITATION`](https://github.com/openwashdata/glossarywho/blob/HEAD/inst/CITATION) - -Dubey Y (2025). “glossarywho: WHO Glossary.” -[doi:10.5281/zenodo.14754017](https://doi.org/10.5281/zenodo.14754017). -. - - @Misc{dubey:2025, - title = {glossarywho: WHO Glossary}, - author = {Yash Dubey}, - year = {2025}, - doi = {10.5281/zenodo.14754017}, - url = {https://github.com/openwashdata/glossarywho}, - abstract = {This package provides access to a tidy version of the WHO Glossary (https://www.who.int/publications/i/item/9789240105485) and thematic areas for each term.}, - version = {0.1.0}, - } diff --git a/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js b/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js deleted file mode 100644 index e8f21f7..0000000 --- a/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v5.3.1 (https://getbootstrap.com/) - * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); -//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map b/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map deleted file mode 100644 index 3863da8..0000000 --- a/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","value","_unused","defineProperty","configurable","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","forEach","styles","assign","effect","_ref2","initialStyles","position","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","round","getUAString","uaData","userAgentData","brands","isArray","item","brand","version","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","len","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","computeStyles$1","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","display","popperConfig","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","Offcanvas","blur","completeCallback","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","scrollTo","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute, executeAfterTransition, getElement, reflow } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both