From b352c458aae56b5a8693f7de21cf77a4efbccc0c Mon Sep 17 00:00:00 2001 From: Ken Butler Date: Mon, 15 Jan 2024 13:12:35 -0500 Subject: [PATCH 1/2] rebuild lecture notes (with quarto render) --- _freeze/ancova/execute-results/html.json | 4 +- _freeze/ancova/execute-results/tex.json | 4 +- .../ancova/figure-beamer/ancova-plot-1.pdf | Bin 6688 -> 6673 bytes .../figure-beamer/unnamed-chunk-4-1.pdf | Bin 7338 -> 7350 bytes .../figure-beamer/unnamed-chunk-6-1.pdf | Bin 7334 -> 7352 bytes .../figure-revealjs/unnamed-chunk-4-1.png | Bin 44534 -> 43859 bytes .../figure-revealjs/unnamed-chunk-6-1.png | Bin 49319 -> 48721 bytes _freeze/bootstrap_R/execute-results/html.json | 4 +- _freeze/bootstrap_R/execute-results/tex.json | 4 +- .../figure-beamer/bootstrap-R-10-1.pdf | Bin 5310 -> 5295 bytes .../figure-beamer/bootstrap-R-12-1.pdf | Bin 5289 -> 5274 bytes .../figure-beamer/bootstrap-R-15-1.pdf | Bin 5284 -> 5269 bytes .../figure-beamer/bootstrap-R-17-1.pdf | Bin 5299 -> 5284 bytes .../figure-beamer/bootstrap-R-19-1.pdf | Bin 5276 -> 5261 bytes _freeze/choosing/execute-results/tex.json | 4 +- _freeze/logistic/execute-results/html.json | 4 +- _freeze/logistic/execute-results/tex.json | 4 +- .../logistic/figure-beamer/bLogistic-28-1.pdf | Bin 8471 -> 8456 bytes .../figure-beamer/unnamed-chunk-1-1.pdf | Bin 6444 -> 6448 bytes .../figure-beamer/unnamed-chunk-11-1.pdf | Bin 9827 -> 9900 bytes .../figure-beamer/unnamed-chunk-16-1.pdf | Bin 7716 -> 7701 bytes .../figure-beamer/unnamed-chunk-19-1.pdf | Bin 7746 -> 7731 bytes .../figure-beamer/unnamed-chunk-2-1.pdf | Bin 5659 -> 5644 bytes .../figure-beamer/unnamed-chunk-20-1.pdf | Bin 7716 -> 7701 bytes .../figure-beamer/virtusentella-1.pdf | Bin 9896 -> 9881 bytes .../figure-revealjs/unnamed-chunk-1-1.png | Bin 24668 -> 24014 bytes .../figure-revealjs/unnamed-chunk-11-1.png | Bin 91076 -> 90114 bytes _quarto.yml | 20 +- ancova.html | 8 +- ancova.pdf | Bin 65965 -> 66008 bytes ancova.qmd | 4 +- anova.pdf | Bin 186582 -> 186586 bytes asphalt.pdf | Bin 174443 -> 174442 bytes bootstrap.pdf | Bin 202928 -> 202929 bytes bootstrap_R.html | 107 +- bootstrap_R.pdf | Bin 68672 -> 63413 bytes bootstrap_R.qmd | 12 +- choosing.html | 3704 +++++++++++++++-- choosing.pdf | Bin 75950 -> 69894 bytes choosing_files/execute-results/html.json | 23 - choosing_files/execute-results/tex.json | 16 - .../libs/bootstrap/bootstrap-icons.css | 2018 --------- .../libs/bootstrap/bootstrap-icons.woff | Bin 164168 -> 0 bytes .../libs/bootstrap/bootstrap.min.css | 10 - .../libs/bootstrap/bootstrap.min.js | 7 - .../libs/clipboard/clipboard.min.js | 7 - .../libs/pagedtable-1.1/css/pagedtable.css | 142 - .../libs/pagedtable-1.1/js/pagedtable.js | 1151 ----- choosing_files/libs/quarto-html/anchor.min.js | 9 - .../libs/quarto-html/light-border.css | 1 - choosing_files/libs/quarto-html/popper.min.js | 6 - .../libs/quarto-html/quarto-html.min.css | 1 - .../quarto-syntax-highlighting.css | 203 - choosing_files/libs/quarto-html/quarto.js | 884 ---- choosing_files/libs/quarto-html/tabby.min.js | 418 -- choosing_files/libs/quarto-html/tippy.css | 1 - .../libs/quarto-html/tippy.umd.min.js | 2 - choosing_files/libs/revealjs/dist/reset.css | 30 - choosing_files/libs/revealjs/dist/reveal.css | 8 - .../libs/revealjs/dist/reveal.esm.js | 9 - .../libs/revealjs/dist/reveal.esm.js.map | 1 - choosing_files/libs/revealjs/dist/reveal.js | 9 - .../libs/revealjs/dist/reveal.js.map | 1 - .../dist/theme/fonts/league-gothic/LICENSE | 2 - .../fonts/league-gothic/league-gothic.css | 10 - .../fonts/league-gothic/league-gothic.eot | Bin 25696 -> 0 bytes .../fonts/league-gothic/league-gothic.ttf | Bin 64256 -> 0 bytes .../fonts/league-gothic/league-gothic.woff | Bin 30764 -> 0 bytes .../dist/theme/fonts/source-sans-pro/LICENSE | 45 - .../source-sans-pro-italic.eot | Bin 75720 -> 0 bytes .../source-sans-pro-italic.ttf | Bin 238084 -> 0 bytes .../source-sans-pro-italic.woff | Bin 98556 -> 0 bytes .../source-sans-pro-regular.eot | Bin 88070 -> 0 bytes .../source-sans-pro-regular.ttf | Bin 288008 -> 0 bytes .../source-sans-pro-regular.woff | Bin 114324 -> 0 bytes .../source-sans-pro-semibold.eot | Bin 89897 -> 0 bytes .../source-sans-pro-semibold.ttf | Bin 284640 -> 0 bytes .../source-sans-pro-semibold.woff | Bin 115648 -> 0 bytes .../source-sans-pro-semibolditalic.eot | Bin 75706 -> 0 bytes .../source-sans-pro-semibolditalic.ttf | Bin 240944 -> 0 bytes .../source-sans-pro-semibolditalic.woff | Bin 98816 -> 0 bytes .../fonts/source-sans-pro/source-sans-pro.css | 39 - .../libs/revealjs/dist/theme/quarto.css | 5 - .../plugin/highlight/highlight.esm.js | 5 - .../revealjs/plugin/highlight/highlight.js | 5 - .../revealjs/plugin/highlight/monokai.css | 71 - .../libs/revealjs/plugin/highlight/plugin.js | 439 -- .../revealjs/plugin/highlight/zenburn.css | 80 - .../revealjs/plugin/markdown/markdown.esm.js | 1 - .../libs/revealjs/plugin/markdown/markdown.js | 1 - .../libs/revealjs/plugin/markdown/plugin.js | 475 --- .../libs/revealjs/plugin/math/katex.js | 96 - .../libs/revealjs/plugin/math/math.esm.js | 1 - .../libs/revealjs/plugin/math/math.js | 1 - .../libs/revealjs/plugin/math/mathjax2.js | 89 - .../libs/revealjs/plugin/math/mathjax3.js | 77 - .../libs/revealjs/plugin/math/plugin.js | 15 - .../libs/revealjs/plugin/notes/notes.esm.js | 1 - .../libs/revealjs/plugin/notes/notes.js | 1 - .../libs/revealjs/plugin/notes/plugin.js | 236 -- .../revealjs/plugin/notes/speaker-view.html | 884 ---- .../revealjs/plugin/pdf-export/pdfexport.js | 111 - .../revealjs/plugin/pdf-export/plugin.yml | 2 - .../quarto-line-highlight/line-highlight.css | 31 - .../quarto-line-highlight/line-highlight.js | 351 -- .../plugin/quarto-line-highlight/plugin.yml | 4 - .../revealjs/plugin/quarto-support/footer.css | 110 - .../revealjs/plugin/quarto-support/plugin.yml | 5 - .../revealjs/plugin/quarto-support/support.js | 290 -- .../libs/revealjs/plugin/reveal-menu/menu.css | 346 -- .../libs/revealjs/plugin/reveal-menu/menu.js | 1 - .../revealjs/plugin/reveal-menu/plugin.yml | 9 - .../plugin/reveal-menu/quarto-menu.css | 68 - .../plugin/reveal-menu/quarto-menu.js | 43 - .../libs/revealjs/plugin/search/plugin.js | 243 -- .../libs/revealjs/plugin/search/search.esm.js | 7 - .../libs/revealjs/plugin/search/search.js | 7 - .../libs/revealjs/plugin/zoom/plugin.js | 264 -- .../libs/revealjs/plugin/zoom/zoom.esm.js | 4 - .../libs/revealjs/plugin/zoom/zoom.js | 4 - cluster.pdf | Bin 1800537 -> 1800533 bytes dates_and_times.pdf | Bin 47252 -> 47253 bytes dip.pdf | Bin 49006 -> 49000 bytes discrim.pdf | Bin 162655 -> 162653 bytes factor.pdf | Bin 324523 -> 324525 bytes functions.pdf | Bin 74798 -> 74797 bytes graphs.pdf | Bin 176776 -> 176778 bytes inference_1.pdf | Bin 314302 -> 314300 bytes inference_2.pdf | Bin 83198 -> 83202 bytes inference_3.pdf | Bin 71289 -> 71286 bytes inference_4a.pdf | Bin 151760 -> 151759 bytes inference_4b.pdf | Bin 394947 -> 394960 bytes inference_5a.pdf | Bin 30634 -> 30632 bytes inference_5b.pdf | Bin 95052 -> 95046 bytes logistic.html | 16 +- logistic.pdf | Bin 172970 -> 173096 bytes logistic.qmd | 10 +- manova.pdf | Bin 84708 -> 84712 bytes multiway.pdf | Bin 148280 -> 148275 bytes numsum.pdf | Bin 30954 -> 30948 bytes outline_c32.pdf | Bin 38733 -> 38734 bytes outline_c33.pdf | Bin 38192 -> 38202 bytes outline_d29.pdf | Bin 38257 -> 38260 bytes princomp.pdf | Bin 143426 -> 143420 bytes profile.pdf | Bin 118801 -> 118810 bytes readfile.pdf | Bin 213616 -> 213615 bytes regression.pdf | Bin 377588 -> 377588 bytes reports.pdf | Bin 1964894 -> 1964899 bytes running.pdf | Bin 771175 -> 771175 bytes survival.pdf | Bin 160955 -> 160947 bytes tidy_extra.pdf | Bin 49711 -> 49715 bytes tidying.pdf | Bin 80570 -> 80577 bytes vector_matrix.pdf | Bin 49127 -> 49123 bytes wider_wrong.pdf | Bin 34889 -> 34889 bytes windmill.pdf | Bin 136759 -> 136759 bytes with_categ.pdf | Bin 51023 -> 51023 bytes 156 files changed, 3434 insertions(+), 9911 deletions(-) delete mode 100644 choosing_files/execute-results/html.json delete mode 100644 choosing_files/execute-results/tex.json delete mode 100644 choosing_files/libs/bootstrap/bootstrap-icons.css delete mode 100644 choosing_files/libs/bootstrap/bootstrap-icons.woff delete mode 100644 choosing_files/libs/bootstrap/bootstrap.min.css delete mode 100644 choosing_files/libs/bootstrap/bootstrap.min.js delete mode 100644 choosing_files/libs/clipboard/clipboard.min.js delete mode 100644 choosing_files/libs/pagedtable-1.1/css/pagedtable.css delete mode 100644 choosing_files/libs/pagedtable-1.1/js/pagedtable.js delete mode 100644 choosing_files/libs/quarto-html/anchor.min.js delete mode 100644 choosing_files/libs/quarto-html/light-border.css delete mode 100644 choosing_files/libs/quarto-html/popper.min.js delete mode 100644 choosing_files/libs/quarto-html/quarto-html.min.css delete mode 100644 choosing_files/libs/quarto-html/quarto-syntax-highlighting.css delete mode 100644 choosing_files/libs/quarto-html/quarto.js delete mode 100644 choosing_files/libs/quarto-html/tabby.min.js delete mode 100644 choosing_files/libs/quarto-html/tippy.css delete mode 100644 choosing_files/libs/quarto-html/tippy.umd.min.js delete mode 100644 choosing_files/libs/revealjs/dist/reset.css delete mode 100644 choosing_files/libs/revealjs/dist/reveal.css delete mode 100644 choosing_files/libs/revealjs/dist/reveal.esm.js delete mode 100644 choosing_files/libs/revealjs/dist/reveal.esm.js.map delete mode 100644 choosing_files/libs/revealjs/dist/reveal.js delete mode 100644 choosing_files/libs/revealjs/dist/reveal.js.map delete mode 100644 choosing_files/libs/revealjs/dist/theme/fonts/league-gothic/LICENSE delete mode 100644 choosing_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.css delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff delete mode 100644 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/LICENSE delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf delete mode 100755 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff delete mode 100644 choosing_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css delete mode 100644 choosing_files/libs/revealjs/dist/theme/quarto.css delete mode 100644 choosing_files/libs/revealjs/plugin/highlight/highlight.esm.js delete mode 100644 choosing_files/libs/revealjs/plugin/highlight/highlight.js delete mode 100644 choosing_files/libs/revealjs/plugin/highlight/monokai.css delete mode 100644 choosing_files/libs/revealjs/plugin/highlight/plugin.js delete mode 100644 choosing_files/libs/revealjs/plugin/highlight/zenburn.css delete mode 100644 choosing_files/libs/revealjs/plugin/markdown/markdown.esm.js delete mode 100644 choosing_files/libs/revealjs/plugin/markdown/markdown.js delete mode 100755 choosing_files/libs/revealjs/plugin/markdown/plugin.js delete mode 100755 choosing_files/libs/revealjs/plugin/math/katex.js delete mode 100644 choosing_files/libs/revealjs/plugin/math/math.esm.js delete mode 100644 choosing_files/libs/revealjs/plugin/math/math.js delete mode 100644 choosing_files/libs/revealjs/plugin/math/mathjax2.js delete mode 100644 choosing_files/libs/revealjs/plugin/math/mathjax3.js delete mode 100644 choosing_files/libs/revealjs/plugin/math/plugin.js delete mode 100644 choosing_files/libs/revealjs/plugin/notes/notes.esm.js delete mode 100644 choosing_files/libs/revealjs/plugin/notes/notes.js delete mode 100644 choosing_files/libs/revealjs/plugin/notes/plugin.js delete mode 100644 choosing_files/libs/revealjs/plugin/notes/speaker-view.html delete mode 100644 choosing_files/libs/revealjs/plugin/pdf-export/pdfexport.js delete mode 100644 choosing_files/libs/revealjs/plugin/pdf-export/plugin.yml delete mode 100644 choosing_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.css delete mode 100644 choosing_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.js delete mode 100644 choosing_files/libs/revealjs/plugin/quarto-line-highlight/plugin.yml delete mode 100644 choosing_files/libs/revealjs/plugin/quarto-support/footer.css delete mode 100644 choosing_files/libs/revealjs/plugin/quarto-support/plugin.yml delete mode 100644 choosing_files/libs/revealjs/plugin/quarto-support/support.js delete mode 100644 choosing_files/libs/revealjs/plugin/reveal-menu/menu.css delete mode 100644 choosing_files/libs/revealjs/plugin/reveal-menu/menu.js delete mode 100644 choosing_files/libs/revealjs/plugin/reveal-menu/plugin.yml delete mode 100644 choosing_files/libs/revealjs/plugin/reveal-menu/quarto-menu.css delete mode 100644 choosing_files/libs/revealjs/plugin/reveal-menu/quarto-menu.js delete mode 100644 choosing_files/libs/revealjs/plugin/search/plugin.js delete mode 100644 choosing_files/libs/revealjs/plugin/search/search.esm.js delete mode 100644 choosing_files/libs/revealjs/plugin/search/search.js delete mode 100644 choosing_files/libs/revealjs/plugin/zoom/plugin.js delete mode 100644 choosing_files/libs/revealjs/plugin/zoom/zoom.esm.js delete mode 100644 choosing_files/libs/revealjs/plugin/zoom/zoom.js diff --git a/_freeze/ancova/execute-results/html.json b/_freeze/ancova/execute-results/html.json index e8e5ee1..43e72fc 100644 --- a/_freeze/ancova/execute-results/html.json +++ b/_freeze/ancova/execute-results/html.json @@ -1,7 +1,7 @@ { - "hash": "39e30dfec49e66a4ffc46ebb3db688c2", + "hash": "1a46e4f6302227d07b496793324ee69b", "result": { - "markdown": "---\ntitle: \"Analysis of Covariance\"\n---\n\n\n\n\n## Analysis of covariance\n\n\n* ANOVA: explanatory variables categorical (divide data into groups)\n\n* traditionally, analysis of covariance has categorical $x$'s plus one numerical $x$ (\"covariate\") to be adjusted for.\n\n* `lm` handles this too.\n\n* Simple example: two treatments (drugs) (`a` and `b`), with before and after scores. \n\n\n* Does knowing before score and/or treatment help to predict after score?\n\n* Is after score different by treatment/before score?\n\n\n\n\n\n## Data\n\nTreatment, before, after: \n\n\n\\scriptsize\n```\na 5 20\na 10 23\na 12 30\na 9 25\na 23 34\na 21 40\na 14 27\na 18 38\na 6 24\na 13 31\nb 7 19\nb 12 26\nb 27 33\nb 24 35\nb 18 30\nb 22 31\nb 26 34\nb 21 28\nb 14 23\nb 9 22\n```\n\\normalsize\n\n\n## Packages\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\nlibrary(broom)\nlibrary(marginaleffects)\n```\n:::\n\n\nthe last of these for predictions.\n\n## Read in data\n\n\n::: {.cell}\n\n```{.r .cell-code}\nurl <- \"http://ritsokiguess.site/datafiles/ancova.txt\"\nprepost <- read_delim(url, \" \")\nprepost\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n\n## Making a plot\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(prepost, aes(x = before, y = after, colour = drug)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-revealjs/ancova-plot-1.png){width=960}\n:::\n:::\n\n\n\n\n## Comments \n\n* As before score goes up, after score goes up.\n\n* Red points (drug A) generally above blue points (drug B), for\ncomparable before score.\n\n* Suggests before score effect *and* drug effect.\n\n\n## The means\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost %>%\n group_by(drug) %>%\n summarize(\n before_mean = mean(before),\n after_mean = mean(after)\n )\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n* Mean \"after\" score slightly higher for treatment A.\n\n* Mean \"before\" score much higher for treatment B.\n\n* Greater *improvement* on treatment A. \n\n\n\n## Testing for interaction\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.1 <- lm(after ~ before * drug, data = prepost)\nanova(prepost.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n* Interaction not significant. Will remove later.\n\n## Predictions\n\nSet up values to predict for:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before after \n Length:20 Min. : 5.00 Min. :19.00 \n Class :character 1st Qu.: 9.75 1st Qu.:23.75 \n Mode :character Median :14.00 Median :29.00 \n Mean :15.55 Mean :28.65 \n 3rd Qu.:21.25 3rd Qu.:33.25 \n Max. :27.00 Max. :40.00 \n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(before = c(9.75, 14, 21.25), \n drug = c(\"a\", \"b\"), model = prepost.1)\n```\n:::\n\n\n## and then\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.1, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n## Predictions (with interaction included), plotted\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(model = prepost.1, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-revealjs/unnamed-chunk-4-1.png){width=960}\n:::\n:::\n\n\nLines almost parallel, but not quite.\n\n\n\n## Taking out interaction\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.2 <- update(prepost.1, . ~ . - before:drug)\nanova(prepost.2)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\\normalsize\n\n\n* Take out non-significant interaction.\n\n* `before` and `drug` strongly significant.\n\n* Do predictions again and plot them.\n\n## Predictions\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.2, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n## Plot of predicted values\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(prepost.2, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-revealjs/unnamed-chunk-6-1.png){width=960}\n:::\n:::\n\n\nThis time the lines are *exactly* parallel. No-interaction model forces them\nto have the same slope. \n\n\n\n## Different look at model output\n\n\n* `anova(prepost.2)` tests for significant effect of\nbefore score and of drug, but doesn't help with interpretation.\n\n* `summary(prepost.2)` views as regression with slopes:\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nlm(formula = after ~ before + drug, data = prepost)\n\nResiduals:\n Min 1Q Median 3Q Max \n-3.6348 -2.5099 -0.2038 1.8871 4.7453 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 18.3600 1.5115 12.147 8.35e-10 ***\nbefore 0.8275 0.0955 8.665 1.21e-07 ***\ndrugb -5.1547 1.2876 -4.003 0.000921 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 2.682 on 17 degrees of freedom\nMultiple R-squared: 0.817,\tAdjusted R-squared: 0.7955 \nF-statistic: 37.96 on 2 and 17 DF, p-value: 5.372e-07\n```\n:::\n:::\n\n\n\\normalsize \n\n\n\n\n## Understanding those slopes\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(prepost.2)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\\normalsize\n\n\n\n* `before` ordinary numerical variable; `drug`\ncategorical. \n\n* `lm` uses first category `druga` as baseline.\n\n* Intercept is prediction of after score for before score 0 and\n*drug A*.\n\n* `before` slope is predicted change in after score when\nbefore score increases by 1 (usual slope)\n\n* Slope for `drugb` is *change* in predicted after\nscore for being on drug B rather than drug A. Same for *any*\nbefore score (no interaction).\n\n\n\n## Summary\n\n\n* ANCOVA model: fits different regression line for each group,\npredicting response from covariate.\n\n* ANCOVA model with interaction between factor and covariate\nallows different slopes for each line.\n\n* Sometimes those lines can cross over!\n\n* If interaction not significant, take out. Lines then parallel.\n\n* With parallel lines, groups have consistent effect regardless\nof value of covariate.\n\n", + "markdown": "---\ntitle: \"Analysis of Covariance\"\n---\n\n\n\n\n## Analysis of covariance\n\n\n* ANOVA: explanatory variables categorical (divide data into groups)\n\n* traditionally, analysis of covariance has categorical $x$'s plus one numerical $x$ (\"covariate\") to be adjusted for.\n\n* `lm` handles this too.\n\n* Simple example: two treatments (drugs) (`a` and `b`), with before and after scores. \n\n\n* Does knowing before score and/or treatment help to predict after score?\n\n* Is after score different by treatment/before score?\n\n\n\n\n\n## Data\n\nTreatment, before, after: \n\n\n\\scriptsize\n```\na 5 20\na 10 23\na 12 30\na 9 25\na 23 34\na 21 40\na 14 27\na 18 38\na 6 24\na 13 31\nb 7 19\nb 12 26\nb 27 33\nb 24 35\nb 18 30\nb 22 31\nb 26 34\nb 21 28\nb 14 23\nb 9 22\n```\n\\normalsize\n\n\n## Packages\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\nlibrary(broom)\nlibrary(marginaleffects)\n```\n:::\n\n\nthe last of these for predictions.\n\n## Read in data\n\n\n::: {.cell}\n\n```{.r .cell-code}\nurl <- \"http://ritsokiguess.site/datafiles/ancova.txt\"\nprepost <- read_delim(url, \" \")\nprepost\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n\n## Making a plot\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(prepost, aes(x = before, y = after, colour = drug)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-revealjs/ancova-plot-1.png){width=960}\n:::\n:::\n\n\n\n\n## Comments \n\n* As before score goes up, after score goes up.\n\n* Red points (drug A) generally above blue points (drug B), for\ncomparable before score.\n\n* Suggests before score effect *and* drug effect.\n\n\n## The means\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost %>%\n group_by(drug) %>%\n summarize(\n before_mean = mean(before),\n after_mean = mean(after)\n )\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n* Mean \"after\" score slightly higher for treatment A.\n\n* Mean \"before\" score much higher for treatment B.\n\n* Greater *improvement* on treatment A. \n\n\n\n## Testing for interaction\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.1 <- lm(after ~ before * drug, data = prepost)\nanova(prepost.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n* Interaction not significant. Will remove later.\n\n## Predictions\n\nSet up values to predict for:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before after \n Length:20 Min. : 5.00 Min. :19.00 \n Class :character 1st Qu.: 9.75 1st Qu.:23.75 \n Mode :character Median :14.00 Median :29.00 \n Mean :15.55 Mean :28.65 \n 3rd Qu.:21.25 3rd Qu.:33.25 \n Max. :27.00 Max. :40.00 \n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(before = c(9.75, 14, 21.25), \n drug = c(\"a\", \"b\"), model = prepost.1)\n```\n:::\n\n\n## and then\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.1, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n## Predictions (with interaction included), plotted\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(model = prepost.1, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-revealjs/unnamed-chunk-4-1.png){width=960}\n:::\n:::\n\n\nLines almost parallel, but not quite.\n\n\n\n## Taking out interaction\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.2 <- update(prepost.1, . ~ . - before:drug)\nanova(prepost.2)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\\normalsize\n\n\n* Take out non-significant interaction.\n\n* `before` and `drug` strongly significant.\n\n* Do predictions again and plot them.\n\n## Predictions\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.2, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n## Plot of predicted values\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(prepost.2, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-revealjs/unnamed-chunk-6-1.png){width=960}\n:::\n:::\n\n\nThis time the lines are *exactly* parallel. No-interaction model forces them\nto have the same slope. \n\n\n\n## Different look at model output\n\n\n* `anova(prepost.2)` tests for significant effect of\nbefore score and of drug, but doesn't help with interpretation.\n\n* `summary(prepost.2)` views as regression with slopes:\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nlm(formula = after ~ before + drug, data = prepost)\n\nResiduals:\n Min 1Q Median 3Q Max \n-3.6348 -2.5099 -0.2038 1.8871 4.7453 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 18.3600 1.5115 12.147 8.35e-10 ***\nbefore 0.8275 0.0955 8.665 1.21e-07 ***\ndrugb -5.1547 1.2876 -4.003 0.000921 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 2.682 on 17 degrees of freedom\nMultiple R-squared: 0.817,\tAdjusted R-squared: 0.7955 \nF-statistic: 37.96 on 2 and 17 DF, p-value: 5.372e-07\n```\n:::\n:::\n\n\n\\normalsize \n\n\n\n\n## Understanding those slopes\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(prepost.2)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\\normalsize\n\n\n\n* `before` ordinary numerical variable; `drug`\ncategorical. \n\n* `lm` uses first category `druga` as baseline.\n\n* Intercept is prediction of after score for before score 0 and\n*drug A*.\n\n* `before` slope is predicted change in after score when\nbefore score increases by 1 (usual slope)\n\n* Slope for `drugb` is *change* in predicted after\nscore for being on drug B rather than drug A. Same for *any*\nbefore score (no interaction).\n\n\n\n## Summary\n\n\n* ANCOVA model: fits different regression line for each group,\npredicting response from covariate.\n\n* ANCOVA model with interaction between factor and covariate\nallows different slopes for each line.\n\n* Sometimes those lines can cross over!\n\n* If interaction not significant, take out. Lines then parallel.\n\n* With parallel lines, groups have consistent effect regardless\nof value of covariate.\n\n", "supporting": [ "ancova_files/figure-revealjs" ], diff --git a/_freeze/ancova/execute-results/tex.json b/_freeze/ancova/execute-results/tex.json index 89a1cf8..e0e3a78 100644 --- a/_freeze/ancova/execute-results/tex.json +++ b/_freeze/ancova/execute-results/tex.json @@ -1,7 +1,7 @@ { - "hash": "39e30dfec49e66a4ffc46ebb3db688c2", + "hash": "1a46e4f6302227d07b496793324ee69b", "result": { - "markdown": "---\ntitle: \"Analysis of Covariance\"\n---\n\n\n\n\n\n## Analysis of covariance\n\n\n* ANOVA: explanatory variables categorical (divide data into groups)\n\n* traditionally, analysis of covariance has categorical $x$'s plus one numerical $x$ (\"covariate\") to be adjusted for.\n\n* `lm` handles this too.\n\n* Simple example: two treatments (drugs) (`a` and `b`), with before and after scores. \n\n\n* Does knowing before score and/or treatment help to predict after score?\n\n* Is after score different by treatment/before score?\n\n\n\n\n\n## Data\n\nTreatment, before, after: \n\n\n\\scriptsize\n```\na 5 20\na 10 23\na 12 30\na 9 25\na 23 34\na 21 40\na 14 27\na 18 38\na 6 24\na 13 31\nb 7 19\nb 12 26\nb 27 33\nb 24 35\nb 18 30\nb 22 31\nb 26 34\nb 21 28\nb 14 23\nb 9 22\n```\n\\normalsize\n\n\n## Packages\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\nlibrary(broom)\nlibrary(marginaleffects)\n```\n:::\n\n\n\nthe last of these for predictions.\n\n## Read in data\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nurl <- \"http://ritsokiguess.site/datafiles/ancova.txt\"\nprepost <- read_delim(url, \" \")\nprepost\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 20 x 3\n drug before after\n \n 1 a 5 20\n 2 a 10 23\n 3 a 12 30\n 4 a 9 25\n 5 a 23 34\n 6 a 21 40\n 7 a 14 27\n 8 a 18 38\n 9 a 6 24\n10 a 13 31\n11 b 7 19\n12 b 12 26\n13 b 27 33\n14 b 24 35\n15 b 18 30\n16 b 22 31\n17 b 26 34\n18 b 21 28\n19 b 14 23\n20 b 9 22\n```\n:::\n:::\n\n\n\n\n\n## Making a plot\n\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(prepost, aes(x = before, y = after, colour = drug)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-beamer/ancova-plot-1.pdf)\n:::\n:::\n\n\n\n\n\n## Comments \n\n* As before score goes up, after score goes up.\n\n* Red points (drug A) generally above blue points (drug B), for\ncomparable before score.\n\n* Suggests before score effect *and* drug effect.\n\n\n## The means\n\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost %>%\n group_by(drug) %>%\n summarize(\n before_mean = mean(before),\n after_mean = mean(after)\n )\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 2 x 3\n drug before_mean after_mean\n \n1 a 13.1 29.2\n2 b 18 28.1\n```\n:::\n:::\n\n\n \n\n\n* Mean \"after\" score slightly higher for treatment A.\n\n* Mean \"before\" score much higher for treatment B.\n\n* Greater *improvement* on treatment A. \n\n\n\n## Testing for interaction\n\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.1 <- lm(after ~ before * drug, data = prepost)\nanova(prepost.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nAnalysis of Variance Table\n\nResponse: after\n Df Sum Sq Mean Sq F value Pr(>F) \nbefore 1 430.92 430.92 62.6894 6.34e-07 ***\ndrug 1 115.31 115.31 16.7743 0.0008442 ***\nbefore:drug 1 12.34 12.34 1.7948 0.1990662 \nResiduals 16 109.98 6.87 \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n```\n:::\n:::\n\n\n \n\n\n* Interaction not significant. Will remove later.\n\n## Predictions\n\nSet up values to predict for:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before after \n Length:20 Min. : 5.00 Min. :19.00 \n Class :character 1st Qu.: 9.75 1st Qu.:23.75 \n Mode :character Median :14.00 Median :29.00 \n Mean :15.55 Mean :28.65 \n 3rd Qu.:21.25 3rd Qu.:33.25 \n Max. :27.00 Max. :40.00 \n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(before = c(9.75, 14, 21.25), \n drug = c(\"a\", \"b\"), model = prepost.1)\n```\n:::\n\n\n\n## and then\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.1, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before estimate\n1 a 9.75 25.93250\n2 b 9.75 22.14565\n3 a 14.00 30.07784\n4 b 14.00 25.21304\n5 a 21.25 37.14929\n6 b 21.25 30.44565\n```\n:::\n:::\n\n\n\\normalsize\n\n## Predictions (with interaction included), plotted\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(model = prepost.1, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-beamer/unnamed-chunk-4-1.pdf)\n:::\n:::\n\n\n\nLines almost parallel, but not quite.\n\n\n\n## Taking out interaction\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.2 <- update(prepost.1, . ~ . - before:drug)\nanova(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nAnalysis of Variance Table\n\nResponse: after\n Df Sum Sq Mean Sq F value Pr(>F) \nbefore 1 430.92 430.92 59.890 5.718e-07 ***\ndrug 1 115.31 115.31 16.025 0.0009209 ***\nResiduals 17 122.32 7.20 \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n```\n:::\n:::\n\n\n \n\\normalsize\n\n\n* Take out non-significant interaction.\n\n* `before` and `drug` strongly significant.\n\n* Do predictions again and plot them.\n\n## Predictions\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.2, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before estimate\n1 a 9.75 26.42794\n2 b 9.75 21.27328\n3 a 14.00 29.94473\n4 b 14.00 24.79007\n5 a 21.25 35.94397\n6 b 21.25 30.78931\n```\n:::\n:::\n\n\n\n\n## Plot of predicted values\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(prepost.2, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-beamer/unnamed-chunk-6-1.pdf)\n:::\n:::\n\n\n\nThis time the lines are *exactly* parallel. No-interaction model forces them\nto have the same slope. \n\n\n\n## Different look at model output\n\n\n* `anova(prepost.2)` tests for significant effect of\nbefore score and of drug, but doesn't help with interpretation.\n\n* `summary(prepost.2)` views as regression with slopes:\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nlm(formula = after ~ before + drug, data = prepost)\n\nResiduals:\n Min 1Q Median 3Q Max \n-3.6348 -2.5099 -0.2038 1.8871 4.7453 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 18.3600 1.5115 12.147 8.35e-10 ***\nbefore 0.8275 0.0955 8.665 1.21e-07 ***\ndrugb -5.1547 1.2876 -4.003 0.000921 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 2.682 on 17 degrees of freedom\nMultiple R-squared: 0.817,\tAdjusted R-squared: 0.7955 \nF-statistic: 37.96 on 2 and 17 DF, p-value: 5.372e-07\n```\n:::\n:::\n\n\n\n\\normalsize \n\n\n\n\n## Understanding those slopes\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 3 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) 18.4 1.51 12.1 8.35e-10\n2 before 0.827 0.0955 8.66 1.21e- 7\n3 drugb -5.15 1.29 -4.00 9.21e- 4\n```\n:::\n:::\n\n\n\n\\normalsize\n\n\n\n* `before` ordinary numerical variable; `drug`\ncategorical. \n\n* `lm` uses first category `druga` as baseline.\n\n* Intercept is prediction of after score for before score 0 and\n*drug A*.\n\n* `before` slope is predicted change in after score when\nbefore score increases by 1 (usual slope)\n\n* Slope for `drugb` is *change* in predicted after\nscore for being on drug B rather than drug A. Same for *any*\nbefore score (no interaction).\n\n\n\n## Summary\n\n\n* ANCOVA model: fits different regression line for each group,\npredicting response from covariate.\n\n* ANCOVA model with interaction between factor and covariate\nallows different slopes for each line.\n\n* Sometimes those lines can cross over!\n\n* If interaction not significant, take out. Lines then parallel.\n\n* With parallel lines, groups have consistent effect regardless\nof value of covariate.\n\n", + "markdown": "---\ntitle: \"Analysis of Covariance\"\n---\n\n\n\n\n\n## Analysis of covariance\n\n\n* ANOVA: explanatory variables categorical (divide data into groups)\n\n* traditionally, analysis of covariance has categorical $x$'s plus one numerical $x$ (\"covariate\") to be adjusted for.\n\n* `lm` handles this too.\n\n* Simple example: two treatments (drugs) (`a` and `b`), with before and after scores. \n\n\n* Does knowing before score and/or treatment help to predict after score?\n\n* Is after score different by treatment/before score?\n\n\n\n\n\n## Data\n\nTreatment, before, after: \n\n\n\\scriptsize\n```\na 5 20\na 10 23\na 12 30\na 9 25\na 23 34\na 21 40\na 14 27\na 18 38\na 6 24\na 13 31\nb 7 19\nb 12 26\nb 27 33\nb 24 35\nb 18 30\nb 22 31\nb 26 34\nb 21 28\nb 14 23\nb 9 22\n```\n\\normalsize\n\n\n## Packages\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\nlibrary(broom)\nlibrary(marginaleffects)\n```\n:::\n\n\n\nthe last of these for predictions.\n\n## Read in data\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nurl <- \"http://ritsokiguess.site/datafiles/ancova.txt\"\nprepost <- read_delim(url, \" \")\nprepost\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 20 x 3\n drug before after\n \n 1 a 5 20\n 2 a 10 23\n 3 a 12 30\n 4 a 9 25\n 5 a 23 34\n 6 a 21 40\n 7 a 14 27\n 8 a 18 38\n 9 a 6 24\n10 a 13 31\n11 b 7 19\n12 b 12 26\n13 b 27 33\n14 b 24 35\n15 b 18 30\n16 b 22 31\n17 b 26 34\n18 b 21 28\n19 b 14 23\n20 b 9 22\n```\n:::\n:::\n\n\n\n\n\n## Making a plot\n\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(prepost, aes(x = before, y = after, colour = drug)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-beamer/ancova-plot-1.pdf)\n:::\n:::\n\n\n\n\n\n## Comments \n\n* As before score goes up, after score goes up.\n\n* Red points (drug A) generally above blue points (drug B), for\ncomparable before score.\n\n* Suggests before score effect *and* drug effect.\n\n\n## The means\n\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost %>%\n group_by(drug) %>%\n summarize(\n before_mean = mean(before),\n after_mean = mean(after)\n )\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 2 x 3\n drug before_mean after_mean\n \n1 a 13.1 29.2\n2 b 18 28.1\n```\n:::\n:::\n\n\n \n\n\n* Mean \"after\" score slightly higher for treatment A.\n\n* Mean \"before\" score much higher for treatment B.\n\n* Greater *improvement* on treatment A. \n\n\n\n## Testing for interaction\n\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.1 <- lm(after ~ before * drug, data = prepost)\nanova(prepost.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nAnalysis of Variance Table\n\nResponse: after\n Df Sum Sq Mean Sq F value Pr(>F) \nbefore 1 430.92 430.92 62.6894 6.34e-07 ***\ndrug 1 115.31 115.31 16.7743 0.0008442 ***\nbefore:drug 1 12.34 12.34 1.7948 0.1990662 \nResiduals 16 109.98 6.87 \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n```\n:::\n:::\n\n\n \n\n\n* Interaction not significant. Will remove later.\n\n## Predictions\n\nSet up values to predict for:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before after \n Length:20 Min. : 5.00 Min. :19.00 \n Class :character 1st Qu.: 9.75 1st Qu.:23.75 \n Mode :character Median :14.00 Median :29.00 \n Mean :15.55 Mean :28.65 \n 3rd Qu.:21.25 3rd Qu.:33.25 \n Max. :27.00 Max. :40.00 \n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(before = c(9.75, 14, 21.25), \n drug = c(\"a\", \"b\"), model = prepost.1)\n```\n:::\n\n\n\n## and then\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.1, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before estimate\n1 a 9.75 25.93250\n2 b 9.75 22.14565\n3 a 14.00 30.07784\n4 b 14.00 25.21304\n5 a 21.25 37.14929\n6 b 21.25 30.44565\n```\n:::\n:::\n\n\n\\normalsize\n\n## Predictions (with interaction included), plotted\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(model = prepost.1, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-beamer/unnamed-chunk-4-1.pdf)\n:::\n:::\n\n\n\nLines almost parallel, but not quite.\n\n\n\n## Taking out interaction\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nprepost.2 <- update(prepost.1, . ~ . - before:drug)\nanova(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nAnalysis of Variance Table\n\nResponse: after\n Df Sum Sq Mean Sq F value Pr(>F) \nbefore 1 430.92 430.92 59.890 5.718e-07 ***\ndrug 1 115.31 115.31 16.025 0.0009209 ***\nResiduals 17 122.32 7.20 \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n```\n:::\n:::\n\n\n \n\\normalsize\n\n\n* Take out non-significant interaction.\n\n* `before` and `drug` strongly significant.\n\n* Do predictions again and plot them.\n\n## Predictions\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(prepost.2, newdata = new)) %>% \n select(drug, before, estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n drug before estimate\n1 a 9.75 26.42794\n2 b 9.75 21.27328\n3 a 14.00 29.94473\n4 b 14.00 24.79007\n5 a 21.25 35.94397\n6 b 21.25 30.78931\n```\n:::\n:::\n\n\n\n\n## Plot of predicted values\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(prepost.2, condition = c(\"before\", \"drug\"))\n```\n\n::: {.cell-output-display}\n![](ancova_files/figure-beamer/unnamed-chunk-6-1.pdf)\n:::\n:::\n\n\n\nThis time the lines are *exactly* parallel. No-interaction model forces them\nto have the same slope. \n\n\n\n## Different look at model output\n\n\n* `anova(prepost.2)` tests for significant effect of\nbefore score and of drug, but doesn't help with interpretation.\n\n* `summary(prepost.2)` views as regression with slopes:\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nlm(formula = after ~ before + drug, data = prepost)\n\nResiduals:\n Min 1Q Median 3Q Max \n-3.6348 -2.5099 -0.2038 1.8871 4.7453 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 18.3600 1.5115 12.147 8.35e-10 ***\nbefore 0.8275 0.0955 8.665 1.21e-07 ***\ndrugb -5.1547 1.2876 -4.003 0.000921 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 2.682 on 17 degrees of freedom\nMultiple R-squared: 0.817,\tAdjusted R-squared: 0.7955 \nF-statistic: 37.96 on 2 and 17 DF, p-value: 5.372e-07\n```\n:::\n:::\n\n\n\n\\normalsize \n\n\n\n\n## Understanding those slopes\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(prepost.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 3 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) 18.4 1.51 12.1 8.35e-10\n2 before 0.827 0.0955 8.66 1.21e- 7\n3 drugb -5.15 1.29 -4.00 9.21e- 4\n```\n:::\n:::\n\n\n\n\\normalsize\n\n\n\n* `before` ordinary numerical variable; `drug`\ncategorical. \n\n* `lm` uses first category `druga` as baseline.\n\n* Intercept is prediction of after score for before score 0 and\n*drug A*.\n\n* `before` slope is predicted change in after score when\nbefore score increases by 1 (usual slope)\n\n* Slope for `drugb` is *change* in predicted after\nscore for being on drug B rather than drug A. Same for *any*\nbefore score (no interaction).\n\n\n\n## Summary\n\n\n* ANCOVA model: fits different regression line for each group,\npredicting response from covariate.\n\n* ANCOVA model with interaction between factor and covariate\nallows different slopes for each line.\n\n* Sometimes those lines can cross over!\n\n* If interaction not significant, take out. Lines then parallel.\n\n* With parallel lines, groups have consistent effect regardless\nof value of covariate.\n\n", "supporting": [ "ancova_files/figure-beamer" ], diff --git a/_freeze/ancova/figure-beamer/ancova-plot-1.pdf b/_freeze/ancova/figure-beamer/ancova-plot-1.pdf index 4634a40f8b002ae29038f1945c88784e69cd52a9..9451afc06361949285c6a1a49a22599b5393e7e5 100644 GIT binary patch delta 259 zcmZ2rGSOs1D3`j4fuW(Pp|PQXiJ2yszHfetOJYf?f`*Hgk%1AC+~gWAJw~I=tGS-? zFq%%DD6VRVkTlmdFjY4&P{*Smq-64Q@h}Zj1&xr@2nCWiT3@uHa%}q>P%-k%@-JA?uO)Z?vO^wZ+-5f0pUCj+G k>=bMWDv4FFv*Ri*Nh~U^a}0Ise<`~Uy| delta 256 zcmbPevcP0RD3`jifu(`Dp`nqHv9TtXzHfetOJYf?f`*Hgk%1AC+~gWAJx0ULtGS-? zFd9vsD6VRVB&lm)qHbWIj!!>O$>itaVbVql8X>6>3O<=-sR}?FjPz4d%k*7RlQI+Y zCi_Z=vzmYeHm6GXF~%7=8ylOrx>~rII~tq18ai6ISvVRvx*D1qTeumU7`xdi*br0_ et6*oxRa}x-R8motn#N^jWNyTzs_N?R#svVa&p@#N diff --git a/_freeze/ancova/figure-beamer/unnamed-chunk-4-1.pdf b/_freeze/ancova/figure-beamer/unnamed-chunk-4-1.pdf index a15d6f6e308fb92dcddadfc4c5e91f82b3fcaf9b..217fc6a6793633bd5b70c8968913f16da65d0928 100644 GIT binary patch delta 2958 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 HErtFKoqS}n delta 2960 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 diff --git a/_freeze/ancova/figure-beamer/unnamed-chunk-6-1.pdf b/_freeze/ancova/figure-beamer/unnamed-chunk-6-1.pdf index 4530a59795f168378b7e44765d3b5e7e54529d69..3d2ae2c8b8c3673d52115b9c52796154b98d79ee 100644 GIT binary patch delta 2840 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 diff --git a/_freeze/ancova/figure-revealjs/unnamed-chunk-4-1.png b/_freeze/ancova/figure-revealjs/unnamed-chunk-4-1.png index b6f410104e5030d3ddaa22adaad194f587f57f24..99604e49987f521b8b6bfd8a813033c9b0054803 100644 GIT binary patch literal 43859 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

jlZe+MQ%L#dke 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 literal 44534 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 diff --git a/_freeze/ancova/figure-revealjs/unnamed-chunk-6-1.png b/_freeze/ancova/figure-revealjs/unnamed-chunk-6-1.png index d0f2084949995f855860eb919225a0315fcf98c4..5ec9ff295258a90ede322afcc257d5221ea8e63c 100644 GIT binary patch literal 48721 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 IyY2n|3&DMNp#T5? diff --git a/_freeze/bootstrap_R/execute-results/html.json b/_freeze/bootstrap_R/execute-results/html.json index 89f90fb..f323c82 100644 --- a/_freeze/bootstrap_R/execute-results/html.json +++ b/_freeze/bootstrap_R/execute-results/html.json @@ -1,7 +1,7 @@ { - "hash": "b39d3bfbe34481136f1fea8772965337", + "hash": "7c19f4123ee146ced18cb67d9535aa9a", "result": { - "markdown": "---\ntitle: \"Bootstrap for sampling distribution of sample mean\"\n---\n\n\n\n## Assessing assumptions\n\n- Our $t$-tests assume normality of variable being tested\n- but, Central Limit Theorem says that normality matters less if sample is \"large\"\n- in practice \"approximate normality\" is enough, but how do we assess whether what we have is normal enough?\n- so far, use histogram/boxplot and make a call, allowing for sample size.\n\n## What actually has to be normal\n\n- is: **sampling distribution of sample mean**\n- the distribution of sample mean over *all possible samples*\n- but we only have *one* sample!\n- Idea: assume our sample is representative of the population, and draw samples from our sample (!), with replacement.\n- This gives an idea of what different samples from the population might look like.\n- Called *bootstrap*, after expression \"to pull yourself up by your own bootstraps\".\n\n## Packages\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n\n## Blue Jays attendances\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\njays$attendance\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 48414 17264 15086 14433 21397 34743 44794 14184 15606 18581 19217 21519\n[13] 21312 30430 42917 42419 29306 15062 16402 19014 21195 33086 37929 15168\n[25] 17276\n```\n:::\n:::\n\n\n- A bootstrap sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ns <- sample(jays$attendance, replace = TRUE)\ns\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 21195 34743 21312 44794 16402 19014 34743 21195 17264 18581 19014 19217\n[13] 34743 19217 14433 15062 16402 15062 34743 15062 15086 15168 15086 48414\n[25] 30430\n```\n:::\n:::\n\n\n## Getting mean of bootstrap sample\n\n- A bootstrap sample is same size as original, but contains repeated values (eg. 15062) and missing ones (42917).\n- We need the mean of our bootstrap sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(s)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 23055.28\n```\n:::\n:::\n\n\n- This is a little different from the mean of our actual sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(jays$attendance)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 25070.16\n```\n:::\n:::\n\n\n- Want a sense of how the sample mean might vary, if we were able to take repeated samples from our population.\n- Idea: take lots of *bootstrap* samples, and see how *their* sample means vary.\n\n## Setting up bootstrap sampling\n\n- Begin by setting up a dataframe that contains a row for each bootstrap sample. I usually call this column `sim`. Do just 4 to get the idea:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4)\n```\n\n::: {.cell-output-display}\n`````{=html}\n

\n`````\n:::\n:::\n\n\n## Drawing the bootstrap samples\n\n- Then set up to work one row at a time, and draw a bootstrap sample of the attendances in each row:\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n- Each row of our dataframe contains *all* of a bootstrap sample of 25 observations drawn with replacement from the attendances.\n\n\\normalsize\n\n## Sample means\n\n- Find the mean of each sample:\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n- These are (four simulated values of) the bootstrapped sampling distribution of the sample mean.\n\n## Make a histogram of them\n\n- rather pointless here, but to get the idea:\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 3) -> g\n```\n:::\n\n\\normalsize\n\n## The (pointless) histogram\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-10-1.png){width=960}\n:::\n:::\n\n\n## Now do again with a decent number of bootstrap samples\n\n- say 1000, and put a decent number of bins on the histogram also:\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) -> g\n```\n:::\n\n\\normalsize\n\n## The (better) histogram\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-12-1.png){width=960}\n:::\n:::\n\n\n## Comments\n\n- This is very close to normal\n- The bootstrap says that the sampling distribution of the sample mean is close to normal, even though the distribution of the data is not\n- A sample size of 25 is big enough to overcome the skewness that we saw\n- This is the Central Limit Theorem in practice\n- It is surprisingly powerful.\n- Thus, the $t$-test is actually perfectly good here.\n\n## Comments on the code 1/2\n\n- You might have been wondering about this:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Comments on the code 2/2\n\n\n- how did we squeeze all 25 sample values into one cell?\n - sample is a so-called \"list-column\" that can contain anything.\n- why did we have to put `list()` around the `sample()`?\n - because `sample` produces a collection of numbers, not just a single one\n - the `list()` signals this: \"make a list-column of samples\".\n \n \n## Two samples\n\n- Assumption: *both* samples are from a normal distribution.\n- In practice, each sample is \"normal enough\" given its sample size, since Central Limit Theorem will help.\n- Use bootstrap on each group independently, as above.\n\n## Kids learning to read\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(kids, aes(x=group, y=score)) + geom_boxplot()\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-15-1.png){width=960}\n:::\n:::\n\n\n\n## Getting just the control group \n\n- Use `filter` to select rows where something is true:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"c\") -> controls\ncontrols\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Bootstrap these\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(controls$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-17-1.png){width=960}\n:::\n:::\n\n\n## ... and the treatment group:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"t\") -> treats\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(treats$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-19-1.png){width=960}\n:::\n:::\n\n\n## Comments\n\n- sampling distributions of sample means both look pretty normal\n- as we thought, no problems with our two-sample $t$ at all.\n\n", + "markdown": "---\ntitle: \"Bootstrap for sampling distribution of sample mean\"\n---\n\n\n## Assessing assumptions\n\n- Our $t$-tests assume normality of variable being tested\n- but, Central Limit Theorem says that normality matters less if\n sample is \"large\"\n- in practice \"approximate normality\" is enough, but how do we assess\n whether what we have is normal enough?\n- so far, use histogram/boxplot and make a call, allowing for sample\n size.\n\n## What actually has to be normal\n\n- is: **sampling distribution of sample mean**\n- the distribution of sample mean over *all possible samples*\n- but we only have *one* sample!\n- Idea: assume our sample is representative of the population, and\n draw samples from our sample (!), with replacement.\n- This gives an idea of what different samples from the population\n might look like.\n- Called *bootstrap*, after expression \"to pull yourself up by your\n own bootstraps\".\n\n## Packages\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n## Blue Jays attendances\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\njays$attendance\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 48414 17264 15086 14433 21397 34743 44794 14184 15606 18581 19217 21519\n[13] 21312 30430 42917 42419 29306 15062 16402 19014 21195 33086 37929 15168\n[25] 17276\n```\n:::\n:::\n\n\n- A bootstrap sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ns <- sample(jays$attendance, replace = TRUE)\ns\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 21195 34743 21312 44794 16402 19014 34743 21195 17264 18581 19014 19217\n[13] 34743 19217 14433 15062 16402 15062 34743 15062 15086 15168 15086 48414\n[25] 30430\n```\n:::\n:::\n\n\n- It is easier to see what is happening if we sort both the actual\n attendances and the bootstrap sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsort(jays$attendance)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 14184 14433 15062 15086 15168 15606 16402 17264 17276 18581 19014 19217\n[13] 21195 21312 21397 21519 29306 30430 33086 34743 37929 42419 42917 44794\n[25] 48414\n```\n:::\n\n```{.r .cell-code}\nsort(s)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 14433 15062 15062 15062 15086 15086 15168 16402 16402 17264 18581 19014\n[13] 19014 19217 19217 21195 21195 21312 30430 34743 34743 34743 34743 44794\n[25] 48414\n```\n:::\n:::\n\n\n## Getting mean of bootstrap sample\n\n- A bootstrap sample is same size as original, but contains repeated\n values (eg. 15062) and missing ones (42917).\n- We need the mean of our bootstrap sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(s)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 23055.28\n```\n:::\n:::\n\n\n- This is a little different from the mean of our actual sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(jays$attendance)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 25070.16\n```\n:::\n:::\n\n\n- Want a sense of how the sample mean might vary, if we were able to\n take repeated samples from our population.\n- Idea: take lots of *bootstrap* samples, and see how *their* sample\n means vary.\n\n## Setting up bootstrap sampling\n\n- Begin by setting up a dataframe that contains a row for each\n bootstrap sample. I usually call this column `sim`. Do just 4 to get\n the idea:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Drawing the bootstrap samples\n\n- Then set up to work one row at a time, and draw a bootstrap sample\n of the attendances in each row:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n- Each row of our dataframe contains *all* of a bootstrap sample of 25\n observations drawn with replacement from the attendances.\n\n## Sample means\n\n- Find the mean of each sample:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n- These are (four simulated values of) the bootstrapped sampling\n distribution of the sample mean.\n\n## Make a histogram of them\n\n- rather pointless here, but to get the idea:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 3) -> g\n```\n:::\n\n\n## The (pointless) histogram\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-10-1.png){width=960}\n:::\n:::\n\n\n## Now do again with a decent number of bootstrap samples\n\n- say 1000, and put a decent number of bins on the histogram also:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) -> g\n```\n:::\n\n\n## The (better) histogram\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-12-1.png){width=960}\n:::\n:::\n\n\n## Comments\n\n- This is very close to normal\n- The bootstrap says that the sampling distribution of the sample mean\n is close to normal, even though the distribution of the data is not\n- A sample size of 25 is big enough to overcome the skewness that we\n saw\n- This is the Central Limit Theorem in practice\n- It is surprisingly powerful.\n- Thus, the $t$-test is actually perfectly good here.\n\n## Comments on the code 1/2\n\n- You might have been wondering about this:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Comments on the code 2/2\n\n- how did we squeeze all 25 sample values into one cell?\n - sample is a so-called \"list-column\" that can contain anything.\n- why did we have to put `list()` around the `sample()`?\n - because `sample` produces a collection of numbers, not just a\n single one\n - the `list()` signals this: \"make a list-column of samples\".\n\n## Two samples\n\n- Assumption: *both* samples are from a normal distribution.\n- In this case, each sample should be \"normal enough\" given its sample\n size, since Central Limit Theorem will help.\n- Use bootstrap on each group independently, as above.\n\n## Kids learning to read\n\n\n::: {.cell}\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(kids, aes(x=group, y=score)) + geom_boxplot()\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-15-1.png){width=960}\n:::\n:::\n\n\n## Getting just the control group\n\n- Use `filter` to select rows where something is true:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"c\") -> controls\ncontrols\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Bootstrap these\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(controls$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-17-1.png){width=960}\n:::\n:::\n\n\n## ... and the treatment group:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"t\") -> treats\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(treats$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-revealjs/bootstrap-R-19-1.png){width=960}\n:::\n:::\n\n\n## Comments\n\n- sampling distributions of sample means both look pretty normal\n- as we thought, no problems with our two-sample $t$ at all.\n", "supporting": [ "bootstrap_R_files/figure-revealjs" ], diff --git a/_freeze/bootstrap_R/execute-results/tex.json b/_freeze/bootstrap_R/execute-results/tex.json index efd6dd4..d9ae06d 100644 --- a/_freeze/bootstrap_R/execute-results/tex.json +++ b/_freeze/bootstrap_R/execute-results/tex.json @@ -1,7 +1,7 @@ { - "hash": "b39d3bfbe34481136f1fea8772965337", + "hash": "7c19f4123ee146ced18cb67d9535aa9a", "result": { - "markdown": "---\ntitle: \"Bootstrap for sampling distribution of sample mean\"\n---\n\n\n\n\n## Assessing assumptions\n\n- Our $t$-tests assume normality of variable being tested\n- but, Central Limit Theorem says that normality matters less if sample is \"large\"\n- in practice \"approximate normality\" is enough, but how do we assess whether what we have is normal enough?\n- so far, use histogram/boxplot and make a call, allowing for sample size.\n\n## What actually has to be normal\n\n- is: **sampling distribution of sample mean**\n- the distribution of sample mean over *all possible samples*\n- but we only have *one* sample!\n- Idea: assume our sample is representative of the population, and draw samples from our sample (!), with replacement.\n- This gives an idea of what different samples from the population might look like.\n- Called *bootstrap*, after expression \"to pull yourself up by your own bootstraps\".\n\n## Packages\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n\n\n## Blue Jays attendances\n\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\njays$attendance\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 48414 17264 15086 14433 21397 34743 44794 14184 15606 18581 19217 21519\n[13] 21312 30430 42917 42419 29306 15062 16402 19014 21195 33086 37929 15168\n[25] 17276\n```\n:::\n:::\n\n\n\n- A bootstrap sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ns <- sample(jays$attendance, replace = TRUE)\ns\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 21195 34743 21312 44794 16402 19014 34743 21195 17264 18581 19014 19217\n[13] 34743 19217 14433 15062 16402 15062 34743 15062 15086 15168 15086 48414\n[25] 30430\n```\n:::\n:::\n\n\n\n## Getting mean of bootstrap sample\n\n- A bootstrap sample is same size as original, but contains repeated values (eg. 15062) and missing ones (42917).\n- We need the mean of our bootstrap sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(s)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 23055.28\n```\n:::\n:::\n\n\n\n- This is a little different from the mean of our actual sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(jays$attendance)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 25070.16\n```\n:::\n:::\n\n\n\n- Want a sense of how the sample mean might vary, if we were able to take repeated samples from our population.\n- Idea: take lots of *bootstrap* samples, and see how *their* sample means vary.\n\n## Setting up bootstrap sampling\n\n- Begin by setting up a dataframe that contains a row for each bootstrap sample. I usually call this column `sim`. Do just 4 to get the idea:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 1\n sim\n \n1 1\n2 2\n3 3\n4 4\n```\n:::\n:::\n\n\n\n## Drawing the bootstrap samples\n\n- Then set up to work one row at a time, and draw a bootstrap sample of the attendances in each row:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 2\n# Rowwise: \n sim sample \n \n1 1 \n2 2 \n3 3 \n4 4 \n```\n:::\n:::\n\n\n\\normalsize\n\n- Each row of our dataframe contains *all* of a bootstrap sample of 25 observations drawn with replacement from the attendances.\n\n\\normalsize\n\n## Sample means\n\n- Find the mean of each sample:\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 3\n# Rowwise: \n sim sample my_mean\n \n1 1 28472.\n2 2 28648.\n3 3 23329.\n4 4 24808.\n```\n:::\n:::\n\n\n\\normalsize\n\n- These are (four simulated values of) the bootstrapped sampling distribution of the sample mean.\n\n## Make a histogram of them\n\n- rather pointless here, but to get the idea:\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 3) -> g\n```\n:::\n\n\n\\normalsize\n\n## The (pointless) histogram\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-10-1.pdf)\n:::\n:::\n\n\n\n## Now do again with a decent number of bootstrap samples\n\n- say 1000, and put a decent number of bins on the histogram also:\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) -> g\n```\n:::\n\n\n\\normalsize\n\n## The (better) histogram\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-12-1.pdf)\n:::\n:::\n\n\n\n## Comments\n\n- This is very close to normal\n- The bootstrap says that the sampling distribution of the sample mean is close to normal, even though the distribution of the data is not\n- A sample size of 25 is big enough to overcome the skewness that we saw\n- This is the Central Limit Theorem in practice\n- It is surprisingly powerful.\n- Thus, the $t$-test is actually perfectly good here.\n\n## Comments on the code 1/2\n\n- You might have been wondering about this:\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 2\n# Rowwise: \n sim sample \n \n1 1 \n2 2 \n3 3 \n4 4 \n```\n:::\n:::\n\n\n\n## Comments on the code 2/2\n\n\n- how did we squeeze all 25 sample values into one cell?\n - sample is a so-called \"list-column\" that can contain anything.\n- why did we have to put `list()` around the `sample()`?\n - because `sample` produces a collection of numbers, not just a single one\n - the `list()` signals this: \"make a list-column of samples\".\n \n \n## Two samples\n\n- Assumption: *both* samples are from a normal distribution.\n- In practice, each sample is \"normal enough\" given its sample size, since Central Limit Theorem will help.\n- Use bootstrap on each group independently, as above.\n\n## Kids learning to read\n\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(kids, aes(x=group, y=score)) + geom_boxplot()\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-15-1.pdf)\n:::\n:::\n\n\n\n\n## Getting just the control group \n\n- Use `filter` to select rows where something is true:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"c\") -> controls\ncontrols\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 23 x 2\n group score\n \n 1 c 42\n 2 c 33\n 3 c 46\n 4 c 37\n 5 c 43\n 6 c 41\n 7 c 10\n 8 c 42\n 9 c 55\n10 c 19\n# i 13 more rows\n```\n:::\n:::\n\n\n\n## Bootstrap these\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(controls$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-17-1.pdf)\n:::\n:::\n\n\n\n## ... and the treatment group:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"t\") -> treats\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(treats$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-19-1.pdf)\n:::\n:::\n\n\n\n## Comments\n\n- sampling distributions of sample means both look pretty normal\n- as we thought, no problems with our two-sample $t$ at all.\n\n", + "markdown": "---\ntitle: \"Bootstrap for sampling distribution of sample mean\"\n---\n\n\n\n## Assessing assumptions\n\n- Our $t$-tests assume normality of variable being tested\n- but, Central Limit Theorem says that normality matters less if\n sample is \"large\"\n- in practice \"approximate normality\" is enough, but how do we assess\n whether what we have is normal enough?\n- so far, use histogram/boxplot and make a call, allowing for sample\n size.\n\n## What actually has to be normal\n\n- is: **sampling distribution of sample mean**\n- the distribution of sample mean over *all possible samples*\n- but we only have *one* sample!\n- Idea: assume our sample is representative of the population, and\n draw samples from our sample (!), with replacement.\n- This gives an idea of what different samples from the population\n might look like.\n- Called *bootstrap*, after expression \"to pull yourself up by your\n own bootstraps\".\n\n## Packages\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n\n## Blue Jays attendances\n\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\njays$attendance\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 48414 17264 15086 14433 21397 34743 44794 14184 15606 18581 19217 21519\n[13] 21312 30430 42917 42419 29306 15062 16402 19014 21195 33086 37929 15168\n[25] 17276\n```\n:::\n:::\n\n\n\n- A bootstrap sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ns <- sample(jays$attendance, replace = TRUE)\ns\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 21195 34743 21312 44794 16402 19014 34743 21195 17264 18581 19014 19217\n[13] 34743 19217 14433 15062 16402 15062 34743 15062 15086 15168 15086 48414\n[25] 30430\n```\n:::\n:::\n\n\n\n- It is easier to see what is happening if we sort both the actual\n attendances and the bootstrap sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsort(jays$attendance)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 14184 14433 15062 15086 15168 15606 16402 17264 17276 18581 19014 19217\n[13] 21195 21312 21397 21519 29306 30430 33086 34743 37929 42419 42917 44794\n[25] 48414\n```\n:::\n\n```{.r .cell-code}\nsort(s)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 14433 15062 15062 15062 15086 15086 15168 16402 16402 17264 18581 19014\n[13] 19014 19217 19217 21195 21195 21312 30430 34743 34743 34743 34743 44794\n[25] 48414\n```\n:::\n:::\n\n\n\n## Getting mean of bootstrap sample\n\n- A bootstrap sample is same size as original, but contains repeated\n values (eg. 15062) and missing ones (42917).\n- We need the mean of our bootstrap sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(s)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 23055.28\n```\n:::\n:::\n\n\n\n- This is a little different from the mean of our actual sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmean(jays$attendance)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 25070.16\n```\n:::\n:::\n\n\n\n- Want a sense of how the sample mean might vary, if we were able to\n take repeated samples from our population.\n- Idea: take lots of *bootstrap* samples, and see how *their* sample\n means vary.\n\n## Setting up bootstrap sampling\n\n- Begin by setting up a dataframe that contains a row for each\n bootstrap sample. I usually call this column `sim`. Do just 4 to get\n the idea:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 1\n sim\n \n1 1\n2 2\n3 3\n4 4\n```\n:::\n:::\n\n\n\n## Drawing the bootstrap samples\n\n- Then set up to work one row at a time, and draw a bootstrap sample\n of the attendances in each row:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 2\n# Rowwise: \n sim sample \n \n1 1 \n2 2 \n3 3 \n4 4 \n```\n:::\n:::\n\n\n\n- Each row of our dataframe contains *all* of a bootstrap sample of 25\n observations drawn with replacement from the attendances.\n\n## Sample means\n\n- Find the mean of each sample:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 3\n# Rowwise: \n sim sample my_mean\n \n1 1 28472.\n2 2 28648.\n3 3 23329.\n4 4 24808.\n```\n:::\n:::\n\n\n\n- These are (four simulated values of) the bootstrapped sampling\n distribution of the sample mean.\n\n## Make a histogram of them\n\n- rather pointless here, but to get the idea:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 3) -> g\n```\n:::\n\n\n\n## The (pointless) histogram\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-10-1.pdf)\n:::\n:::\n\n\n\n## Now do again with a decent number of bootstrap samples\n\n- say 1000, and put a decent number of bins on the histogram also:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) -> g\n```\n:::\n\n\n\n## The (better) histogram\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-12-1.pdf)\n:::\n:::\n\n\n\n## Comments\n\n- This is very close to normal\n- The bootstrap says that the sampling distribution of the sample mean\n is close to normal, even though the distribution of the data is not\n- A sample size of 25 is big enough to overcome the skewness that we\n saw\n- This is the Central Limit Theorem in practice\n- It is surprisingly powerful.\n- Thus, the $t$-test is actually perfectly good here.\n\n## Comments on the code 1/2\n\n- You might have been wondering about this:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:4) %>% \n rowwise() %>% \n mutate(sample = list(sample(jays$attendance, replace = TRUE)))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 2\n# Rowwise: \n sim sample \n \n1 1 \n2 2 \n3 3 \n4 4 \n```\n:::\n:::\n\n\n\n## Comments on the code 2/2\n\n- how did we squeeze all 25 sample values into one cell?\n - sample is a so-called \"list-column\" that can contain anything.\n- why did we have to put `list()` around the `sample()`?\n - because `sample` produces a collection of numbers, not just a\n single one\n - the `list()` signals this: \"make a list-column of samples\".\n\n## Two samples\n\n- Assumption: *both* samples are from a normal distribution.\n- In this case, each sample should be \"normal enough\" given its sample\n size, since Central Limit Theorem will help.\n- Use bootstrap on each group independently, as above.\n\n## Kids learning to read\n\n\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 44 x 2\n group score\n \n 1 t 24\n 2 t 61\n 3 t 59\n 4 t 46\n 5 t 43\n 6 t 44\n 7 t 52\n 8 t 43\n 9 t 58\n10 t 67\n# i 34 more rows\n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nggplot(kids, aes(x=group, y=score)) + geom_boxplot()\n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-15-1.pdf)\n:::\n:::\n\n\n\n## Getting just the control group\n\n- Use `filter` to select rows where something is true:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"c\") -> controls\ncontrols\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 23 x 2\n group score\n \n 1 c 42\n 2 c 33\n 3 c 46\n 4 c 37\n 5 c 43\n 6 c 41\n 7 c 10\n 8 c 42\n 9 c 55\n10 c 19\n# i 13 more rows\n```\n:::\n:::\n\n\n\n## Bootstrap these\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(controls$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-17-1.pdf)\n:::\n:::\n\n\n\n## ... and the treatment group:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nkids %>% filter(group==\"t\") -> treats\ntibble(sim = 1:1000) %>% \n rowwise() %>% \n mutate(sample = list(sample(treats$score, replace = TRUE))) %>% \n mutate(my_mean = mean(sample)) %>% \n ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) \n```\n\n::: {.cell-output-display}\n![](bootstrap_R_files/figure-beamer/bootstrap-R-19-1.pdf)\n:::\n:::\n\n\n\n## Comments\n\n- sampling distributions of sample means both look pretty normal\n- as we thought, no problems with our two-sample $t$ at all.\n", "supporting": [ "bootstrap_R_files/figure-beamer" ], diff --git a/_freeze/bootstrap_R/figure-beamer/bootstrap-R-10-1.pdf b/_freeze/bootstrap_R/figure-beamer/bootstrap-R-10-1.pdf index 4ad461baad7d1f12dd3453fbb663985969231396..2f877c4e4d02d403879901916d43e6c59aa9a676 100644 GIT binary patch delta 257 zcmdm|xn6U_XBKr614BboLt_JTBNI(7ec${Pm&B4(1q~M~BLgEOxye$jdW=S!Jz1af zFq%%*7g9AuNSf*zn5r8XsN>NOQZl(!C``jtK_etJLcu4qEL8z$gR!PUc0poEMsaGQ zLRo52ab|v=f|;JNp6O;G;Q+=M6LS+&O9MwUb5~abBTG{wH&Z7=V+#XAV`DQn6DKJ!U2piE|!L72ChzKhRy~CE@l>nrcP$2 wW-czy=7!G3mWFl;Hs*!|l*B67*>M$@Bo>ua6s4wdnOInwaH*=g`nz!f02?|*I{*Lx diff --git a/_freeze/bootstrap_R/figure-beamer/bootstrap-R-12-1.pdf b/_freeze/bootstrap_R/figure-beamer/bootstrap-R-12-1.pdf index 17829066d9d3ade7f9362cab19ef3101ea5f23dc..8b5adc16845246e0bf85ebcc12bed493641fbfb2 100644 GIT binary patch delta 241 zcmZ3fIZJcHJr;En14BboLt_JTBQs4dec${Pm&B4(1q~M~BLgEOxyh`odW=S!O<14u zFq%%55>hoplGHUYRW~qD$EP2tWO9K}n1HE*Mo4Oef=^~ysshjk^a}0M-^dng9R* delta 274 zcmbQGxl(h(Jr;Fi0}Dd~LqijDBLht?ec${Pm&B4(1q~M~BLgEOxyh`odW?pfO<14u zFd9vk5>hopNE+%In5Y{VsN>NOQZl(fD9qeQK_etJLcu4qEL8z$gOPqpYMH)EYEoum zo~A-}L1IZpacZJMS!z*nW`3T6nVzwp2}sH2cS3%Qab`y5=5Cf2F0QVQrUn)Uu8w8~ xE+(dCriSLmW{&0-ZgvVb1eL@p*x7Lvmn0UIR1~GAahX_{8*{0uy863u0RV)XMk@dS diff --git a/_freeze/bootstrap_R/figure-beamer/bootstrap-R-15-1.pdf b/_freeze/bootstrap_R/figure-beamer/bootstrap-R-15-1.pdf index 7cd2a7cca38d16449d540f1b6e1e2995cf1a9f65..c0a5e5e6a4973216948e9f29469b552e2f156a99 100644 GIT binary patch delta 258 zcmZ3YIaPDRO%`<%14BboLt_JTBQs4dec${Pm&B4(1q~M~BLgEOxk;>gj7FRFS)cMS znobrKQZ+=9(={+vH!x7gryZzda<)*IhN*%^NNR+FPi9%F0?-0uO@-`&#FC8S)I^1{ z)S}|d{5%CSJ!3u7%|C?v7~|X=-OSA#ja{5PjGfF(4NMIU3@uE}Or7l% iYzQieRj{+;DlSPZDyb++P2)1LFg4~gjE0-_S)cMS z8ch}zQZ+=9(={+rH!x7gryZzda<)*Iw2^{FNNR+FPi9%F0?+~@{gl))eV5dv%*4FO z7lp)GO+W&hUkdp##yJ@pS(+JJSU6gm8JJiYn;IILxj4I+nmIXIT3EQcx!5V#5L6PY dU}wiwT#{H+Qc;we#${q*X2GSZ>gw;t1pwVeKiL2P diff --git a/_freeze/bootstrap_R/figure-beamer/bootstrap-R-17-1.pdf b/_freeze/bootstrap_R/figure-beamer/bootstrap-R-17-1.pdf index 3bc795eb268b3f64dbf6de26aabde75b62e91dfe..db21cddfc842942f1484f4f2f2d42868b2554d30 100644 GIT binary patch delta 259 zcmdn2xkPir3l?<~14BboLt_JTBXdnIec${Pm&B4(1q~M~BLgEOxyk&jdW=S!?O31k zFq%$Q5mGfolGHUYRW~qD$EP2tWO9{In1-o>Mo4Oef=^~ysshjkV@-wZg2a-H;?zWi zvecsD%=|nBGd*KH)6ML{evEOZre>xFhAz$qmZnY?h87lvrcNf#j+V|wE`}DaCT@;) j3N{3l#46a?aTS*&7L`;KrKWM2SeRLGsj9mAyKw;k$|yiZ delta 256 zcmZ3Yxmk0=3l?=_0}Dd~LqijDBSTFtec${Pm&B4(1q~M~BLgEOxyk&jdW?pf?O31k zFd9u(5mGfolGHUYQ8zG9$EP2tWO9{In6#0CMo4Oef=^~ysshjkBmI=rGJTiSq|C&; z$q$6YSxrC!n|}!TF~+$$n>d@9S{fUhJDIovX%hoWV`nEvS0h(fb7xmKb2|kaf=Xf) c?CiLTOA?DpDvDCmxJ)c8jJZ@*UH#p-0B>7B*Z=?k diff --git a/_freeze/bootstrap_R/figure-beamer/bootstrap-R-19-1.pdf b/_freeze/bootstrap_R/figure-beamer/bootstrap-R-19-1.pdf index 4de1a189c496012d605c8c1e1172b9c7c5b7bc4c..f4ae3fdd92a9dc1e72c885ee8338a1a3689f4015 100644 GIT binary patch delta 243 zcmbQE*{iwXB8$3-fuW(Pp|OFvk+~+9zHfetOJYf?f`*Hgk%1AC+~glDdW=S!)mfkN zFq%&06;kCxlGHUYo$MeaiY}Ba6sBRSpb?T9q2QBQmZ|_W(O6R6^V`CF@OLJE<3j+%aS2tr9I|Unp fN@5l4?6`_c5{pVIic-_KOe{=Hxl~nM{oS|#n6W+e delta 258 zcmeCxoTItnB8$4QfrX)gp`nSnk)bA+zHfetOJYf?f`*Hgk%1AC+~glDdW?pf)mfkN zFd9wf6;kCxlGHUYnd~4WiY}Ba6lQLupb?T9q2QBQmZ|_W(MUffwM^e7H7PSOPg5bg zAh9H)I5knBEVZaOGe1wkOwU-)1f*p1Lm@xLI8zrl3nw!dQzJuTOD9Vc6AM=(BO_N+ sM>j_c0|N_3Gdl$vf=Xf)?CiLTOA?DpDvDCmxJ)d}47gNPUH#p-0Mt4{p#T5? diff --git a/_freeze/choosing/execute-results/tex.json b/_freeze/choosing/execute-results/tex.json index b6df1ec..d682186 100644 --- a/_freeze/choosing/execute-results/tex.json +++ b/_freeze/choosing/execute-results/tex.json @@ -1,7 +1,7 @@ { - "hash": "1a27c83e2f5ea4aee31a32c65b194163", + "hash": "8a1b88b16954fb13b78c31ee298ba634", "result": { - "markdown": "---\ntitle: \"Choosing things in dataframes\"\n---\n\n\n\n## Packages\n\nThe usual:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n\n\n## Doing things with data frames\nLet’s go back to our Australian athletes: \n\n\n\n::: {.cell}\n\n:::\n\n\n\n\\scriptsize\n\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 4.56 13.3 42.2 13.6 20 19.2 49 11.3 53.1\n 2 female Netba~ 4.15 6 38 12.7 59 21.2 110. 25.3 47.1\n 3 female Netba~ 4.16 7.6 37.5 12.3 22 21.4 89 19.4 53.4\n 4 female Netba~ 4.32 6.4 37.7 12.3 30 21.0 98.3 19.6 48.8\n 5 female Netba~ 4.06 5.8 38.7 12.8 78 21.8 122. 23.1 56.0\n 6 female Netba~ 4.12 6.1 36.6 11.8 21 21.4 90.4 16.9 56.4\n 7 female Netba~ 4.17 5 37.4 12.7 109 21.5 107. 21.3 53.1\n 8 female Netba~ 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4\n 9 female Netba~ 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0\n10 female Netba~ 4.44 9.7 41.4 14.1 64 22.8 126. 25.0 51.6\n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n## Choosing a column\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 1\n Sport \n \n 1 Netball\n 2 Netball\n 3 Netball\n 4 Netball\n 5 Netball\n 6 Netball\n 7 Netball\n 8 Netball\n 9 Netball\n10 Netball\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing several columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport, Hg, BMI)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sport Hg BMI\n \n 1 Netball 13.6 19.2\n 2 Netball 12.7 21.2\n 3 Netball 12.3 21.4\n 4 Netball 12.3 21.0\n 5 Netball 12.8 21.8\n 6 Netball 11.8 21.4\n 7 Netball 12.7 21.5\n 8 Netball 12.4 24.4\n 9 Netball 12.4 22.6\n10 Netball 14.1 22.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing consecutive columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sex:WCC)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sex Sport RCC WCC\n \n 1 female Netball 4.56 13.3\n 2 female Netball 4.15 6 \n 3 female Netball 4.16 7.6\n 4 female Netball 4.32 6.4\n 5 female Netball 4.06 5.8\n 6 female Netball 4.12 6.1\n 7 female Netball 4.17 5 \n 8 female Netball 3.8 6.6\n 9 female Netball 3.96 5.5\n10 female Netball 4.44 9.7\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing all-but some columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(-(RCC:LBM))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sex Sport Ht Wt\n \n 1 female Netball 177. 59.9\n 2 female Netball 173. 63 \n 3 female Netball 176 66.3\n 4 female Netball 170. 60.7\n 5 female Netball 183 72.9\n 6 female Netball 178. 67.9\n 7 female Netball 177. 67.5\n 8 female Netball 174. 74.1\n 9 female Netball 174. 68.2\n10 female Netball 174. 68.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Select-helpers\nOther ways to select columns: those whose name:\n\n- `starts_with` something\n- `ends_with` something\n- `contains` something\n- `matches` a “regular expression”\n- `everything()` select all the columns\n\n## Columns whose names begin with S \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(starts_with(\"S\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sex Sport SSF\n \n 1 female Netball 49 \n 2 female Netball 110. \n 3 female Netball 89 \n 4 female Netball 98.3\n 5 female Netball 122. \n 6 female Netball 90.4\n 7 female Netball 107. \n 8 female Netball 157. \n 9 female Netball 101. \n10 female Netball 126. \n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Columns whose names end with C\n\neither uppercase or lowercase:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"c\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n RCC WCC Hc\n \n 1 4.56 13.3 42.2\n 2 4.15 6 38 \n 3 4.16 7.6 37.5\n 4 4.32 6.4 37.7\n 5 4.06 5.8 38.7\n 6 4.12 6.1 36.6\n 7 4.17 5 37.4\n 8 3.8 6.6 36.5\n 9 3.96 5.5 36.3\n10 4.44 9.7 41.4\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Case-sensitive\n\nThis works with any of the select-helpers:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"C\", ignore.case=FALSE))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n RCC WCC\n \n 1 4.56 13.3\n 2 4.15 6 \n 3 4.16 7.6\n 4 4.32 6.4\n 5 4.06 5.8\n 6 4.12 6.1\n 7 4.17 5 \n 8 3.8 6.6\n 9 3.96 5.5\n10 4.44 9.7\n# i 192 more rows\n```\n:::\n:::\n\n\n\n\n## Column names containing letter R\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(contains(\"r\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sport RCC Ferr\n \n 1 Netball 4.56 20\n 2 Netball 4.15 59\n 3 Netball 4.16 22\n 4 Netball 4.32 30\n 5 Netball 4.06 78\n 6 Netball 4.12 21\n 7 Netball 4.17 109\n 8 Netball 3.8 102\n 9 Netball 3.96 71\n10 Netball 4.44 64\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Exactly two characters, ending with T\n\nIn regular expression terms, this is `^.t$`:\n\n- `^` means “start of text”\n- `.` means “exactly one character, but could be anything”\n- `$` means “end of text”.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(matches(\"^.t$\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n Ht Wt\n \n 1 177. 59.9\n 2 173. 63 \n 3 176 66.3\n 4 170. 60.7\n 5 183 72.9\n 6 178. 67.9\n 7 177. 67.5\n 8 174. 74.1\n 9 174. 68.2\n10 174. 68.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing columns by property\n\n- Use `where` as with summarizing several columns\n- eg, to choose text columns:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(where(is.character))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n Sex Sport \n \n 1 female Netball\n 2 female Netball\n 3 female Netball\n 4 female Netball\n 5 female Netball\n 6 female Netball\n 7 female Netball\n 8 female Netball\n 9 female Netball\n10 female Netball\n# i 192 more rows\n```\n:::\n:::\n\n\n\n\n## Choosing rows by number \n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice(16:25)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 10 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 4.25 10.7 39.5 13.2 127 24.5 157. 26.5 54.5\n 2 female Netba~ 4.46 10.9 39.7 13.7 102 24.0 116. 23.0 57.2\n 3 female Netba~ 4.4 9.3 40.4 13.6 86 26.2 182. 30.1 54.4\n 4 female Netba~ 4.83 8.4 41.8 13.4 40 20.0 71.6 13.9 57.6\n 5 female Netba~ 4.23 6.9 38.3 12.6 50 25.7 144. 26.6 61.5\n 6 female Netba~ 4.24 8.4 37.6 12.5 58 25.6 201. 35.5 53.5\n 7 female Netba~ 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1\n 8 female Netba~ 4.03 8.5 37.7 13 51 23.4 104. 19.6 55.4\n 9 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3\n10 female BBall 4.41 8.3 38.2 12.7 68 20.7 103. 21.3 58.6\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n\n\n## Non-consecutive rows \n\n\\tiny\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice(10, 13, 17, 42)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Netball 4.44 9.7 41.4 14.1 64 22.8 126. 25.0 51.6\n2 female Netball 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3\n3 female Netball 4.46 10.9 39.7 13.7 102 24.0 116. 23.0 57.2\n4 female Row 4.37 8.1 41.8 14.3 53 23.5 98 21.8 63.0\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n\\normalsize\n\n## A random sample of rows\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice_sample(n=8)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Row 4.87 6.4 44.8 15 64 20.2 99.8 20.1 52.7\n2 male Tennis 5.66 8.3 50.2 17.7 38 23.8 56.5 10.0 72 \n3 male T400m 4.55 5.55 42.6 14.4 106 21.2 34.1 6.06 57 \n4 female BBall 4.35 7.8 41.4 14.1 30 22.0 118. 23.3 48.3\n5 male Row 5.22 6 46.6 15.7 72 25.1 43.1 7.49 83 \n6 male WPolo 4.63 14.3 44.8 15 133 25.4 49.5 8.97 79 \n7 male WPolo 4.91 10.2 45 15.2 234 23.7 56.5 10.1 68 \n8 male Row 5.22 8.4 47.5 16.2 89 25.3 44.5 9.36 79 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n## Rows for which something is true\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 11 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n 2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n 3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n 4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n 5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n 6 female Tennis 5.16 7.2 44.3 14.5 88 18.3 61.9 12.9 48.8\n 7 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9\n 8 male Tennis 5.66 8.3 50.2 17.7 38 23.8 56.5 10.0 72 \n 9 male Tennis 5.03 6.4 42.7 14.3 122 22.0 47.6 8.51 68 \n10 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 \n11 male Tennis 5.38 6.3 46 15.7 32 21.1 34.9 6.26 72 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n## More complicated selections\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\", RCC < 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n6 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9\n7 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Another way to do \"and\"\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\") %>% \n filter(RCC < 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n6 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9\n7 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n\n## Either/Or\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\" | RCC > 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 66 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Row 5.02 6.4 44.8 15.2 48 19.8 91 19.2 53.6\n 2 female T400m 5.31 9.5 47.1 15.9 29 21.4 57.9 11.1 57.5\n 3 female Field 5.33 9.3 47 15 62 25.3 103. 19.5 59.9\n 4 female TSprnt 5.16 8.2 45.3 14.7 34 20.3 46.1 10.2 51.5\n 5 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n 6 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n 7 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n 8 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n 9 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n10 female Tennis 5.16 7.2 44.3 14.5 88 18.3 61.9 12.9 48.8\n# i 56 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Sorting into order\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4\n 2 female Netba~ 3.9 6.3 35.9 12.1 78 20.1 70 15.0 57.3\n 3 female T400m 3.9 6 38.9 13.5 16 19.4 48.4 10.5 53.7\n 4 female Row 3.91 7.3 37.6 12.9 43 22.3 126. 25.2 54.8\n 5 female Netba~ 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1\n 6 female Row 3.95 3.3 36.9 12.5 40 24.5 74.9 16.4 63.0\n 7 female Netba~ 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0\n 8 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3\n 9 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n10 female Netba~ 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3\n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Breaking ties by another variable\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC, BMI)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4\n 2 female T400m 3.9 6 38.9 13.5 16 19.4 48.4 10.5 53.7\n 3 female Netba~ 3.9 6.3 35.9 12.1 78 20.1 70 15.0 57.3\n 4 female Row 3.91 7.3 37.6 12.9 43 22.3 126. 25.2 54.8\n 5 female Netba~ 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1\n 6 female Row 3.95 3.3 36.9 12.5 40 24.5 74.9 16.4 63.0\n 7 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3\n 8 female Netba~ 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0\n 9 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n10 female Netba~ 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3\n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Descending order\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(BMI))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 male Field 5.48 6.2 48.2 16.3 94 34.4 82.7 13.9 106 \n 2 male Field 4.96 8.3 45.3 15.7 141 33.7 114. 17.4 89 \n 3 male Field 5.48 4.6 49.4 18 132 32.5 55.7 8.51 102 \n 4 female Field 4.75 7.5 43.8 15.2 90 31.9 132. 23.0 73.0\n 5 male Field 5.01 8.9 46 15.9 212 30.2 112. 19.9 78 \n 6 male Field 5.01 8.9 46 15.9 212 30.2 96.9 18.1 80 \n 7 male Field 5.09 8.9 46.3 15.4 44 30.0 71.1 14.0 88 \n 8 female Field 4.58 5.8 42.1 14.7 164 28.6 110. 21.3 68.9\n 9 female Field 4.51 9 39.7 14.3 36 28.1 136. 24.9 63.0\n10 male WPolo 5.34 6.2 49.8 17.2 143 27.8 75.7 13.5 82 \n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## “The top ones”\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:7) %>%\n select(Sport, Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 2\n Sport Wt\n \n1 Field 123.\n2 BBall 114.\n3 Field 111.\n4 Field 108.\n5 Field 103.\n6 WPolo 101 \n7 BBall 100.\n```\n:::\n:::\n\n\n\n## Another way\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice_max(order_by = Wt, n=7) %>% \n select(Sport, Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 2\n Sport Wt\n \n1 Field 123.\n2 BBall 114.\n3 Field 111.\n4 Field 108.\n5 Field 103.\n6 WPolo 101 \n7 BBall 100.\n```\n:::\n:::\n\n\n\n\n## Create new variables from old ones\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n mutate(wt_lb = Wt * 2.2) %>%\n select(Sport, Sex, Wt, wt_lb) %>% \n arrange(Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sport Sex Wt wt_lb\n \n 1 Gym female 37.8 83.2\n 2 Gym female 43.8 96.4\n 3 Gym female 45.1 99.2\n 4 Tennis female 45.8 101. \n 5 Tennis female 47.4 104. \n 6 Gym female 47.8 105. \n 7 T400m female 49.2 108. \n 8 Row female 49.8 110. \n 9 T400m female 50.9 112. \n10 Netball female 51.9 114. \n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Turning the result into a number\nOutput is always data frame unless you explicitly turn it into something\nelse, eg. the weight of the heaviest athlete, as a number:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(Wt)) %>% pluck(\"Wt\", 1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 123.2\n```\n:::\n:::\n\n\n\nOr the 20 heaviest weights in descending order:\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pluck(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90\n[10] 97.90 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60\n[19] 94.25 94.20\n```\n:::\n:::\n\n\n\n## Another way to do the last one\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pull(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90\n[10] 97.90 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60\n[19] 94.25 94.20\n```\n:::\n:::\n\n\n\n`pull` grabs the column you name *as a vector* (of whatever it contains).\n\n## To find the mean height of the women athletes\nTwo ways:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% group_by(Sex) %>% summarize(m = mean(Ht))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 2 x 2\n Sex m\n \n1 female 175.\n2 male 186.\n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n filter(Sex == \"female\") %>%\n summarize(m = mean(Ht))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 1\n m\n \n1 175.\n```\n:::\n:::\n\n\n\n\\normalsize\n\n## Summary of data selection/arrangement \"verbs\" {.smaller}\n\n | Verb | Purpose|\n |:-----|:-------------------------------|\n |`select` | Choose columns|\n |`slice` | Choose rows by number|\n |`slice_sample` | Choose random rows |\n |`slice_max` | Choose rows with largest values on a variable (also `slice_min`) |\n |`filter` | Choose rows satisfying conditions|\n | `arrange` | Sort in order by column(s) |\n | `mutate` | Create new variables | \n | `group_by` | Create groups to work with|\n |`summarize` | Calculate summary statistics (by groups if defined) |\n | `pluck` | Extract items from data frame |\n | `pull` | Extract a single column from a data frame as a vector|\n\n \n## Looking things up in another data frame\n\n- Suppose you are working in the nails department of a hardware store and you find that you have sold these items:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_sales.csv\"\nsales <- read_csv(my_url)\nsales\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n product_code sales\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\n\n## Product descriptions and prices\n\n- but you don't remember what these product codes are, and you would like to know the total revenue from these sales.\n\n- Fortunately you found a list of product descriptions and prices:\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_desc.csv\"\ndesc <- read_csv(my_url)\ndesc\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 5\n product_code description size qty price\n \n1 061-4525-2 spike nail \"10\\\"\" 1 1.49\n2 061-5329-4 masonry nail \"1.5\\\"\" 112 8.19\n3 061-5344-6 finishing nail \"1\\\"\" 1298 6.99\n4 061-5375-2 roofing nail \"1.25\\\"\" 192 6.99\n5 061-5388-2 framing nail \"4\\\"\" 25 8.19\n6 161-0090-0 wood nail \"1\\\"\" 25 2.39\n7 161-0199-4 panel nail \"1-5/8\\\"\" 20 4.69\n```\n:::\n:::\n\n\n\n- the `size` values are measured in inches (symbol `\"`), but R uses the same symbol for the start and end of text, so the `\"` representing \"inches\" is \"escaped\". Hence the odd look.\n\n\\normalsize\n\n## The lookup\n\n- How do you \"look up\" the product codes to find the product descriptions and prices?\n- `left_join`.\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n product_code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n## What we have\n\n- this looks up all the rows in the *first* dataframe that are also in the *second*. \n- by default matches all columns with same name in two dataframes (`product_code` here)\n- get *all* columns in *both* dataframes. The rows are the ones for that `product_code`.\n\nSo now can work out how much the total revenue was:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc) %>% \n mutate(product_revenue = sales*price) %>% \n summarize(total_revenue = sum(product_revenue))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 1\n total_revenue\n \n1 178.\n```\n:::\n:::\n\n\n\n\n## More comments\n\n- if any product codes are not matched, you get NA in the added columns\n- anything in the *second* dataframe that was not in the first does not appear (here, any products that were not sold)\n- other variations (examples follow):\n - if there are two columns with the same name in the two dataframes, and you only want to match on one, use `by` with one column name\n - if the columns you want to look up have different names in the two dataframes, use `by` with a \"named list\"\n\n## Matching on only some matching names\n\n- Suppose the `sales` dataframe *also* had a column `qty` (which was the quantity sold): \n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"qty\"=\"sales\") -> sales1\nsales1\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n product_code qty\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\\normalsize\n\n- The `qty` in `sales1` is the quantity sold, but the `qty` in `desc` is the number of nails in a package. These should *not* be matched: they are different things.\n\n## Matching only on product code\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales1 %>% \n left_join(desc, join_by(product_code))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n product_code qty.x description size qty.y price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n- Get `qty.x` (from `sales1`) and `qty.y` (from `desc`).\n\n## Matching on different names 1/2\n\n- Suppose the product code in `sales` was just `code`:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"code\" = \"product_code\") -> sales2\nsales2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n code sales\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\\normalsize\n\n- How to match the two product codes that have different names?\n\n## Matching on different names 2/2\n\n- Use `by`, but like this:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales2 %>% \n left_join(desc, join_by(code == product_code))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n## Other types of join\n\n- `right_join`: interchanges roles, looking up keys from second dataframe in first.\n- `anti_join`: give me all the rows in the first dataframe that are *not* in the second. (Use this eg. to see whether the product descriptions are incomplete.)\n- `full_join`: give me all the rows in both dataframes, with missings as needed.\n\n## Full join here\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% full_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 6\n product_code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n7 061-5329-4 NA masonry nail \"1.5\\\"\" 112 8.19\n```\n:::\n:::\n\n\n\\normalsize\n\n- The missing `sales` for \"masonry nail\" says that it was in the lookup table `desc`, but we didn't sell any.\n\n\n## The same thing, but with `anti_join`\n\nAnything in first df but not in second?\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndesc %>% anti_join(sales)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 5\n product_code description size qty price\n \n1 061-5329-4 masonry nail \"1.5\\\"\" 112 8.19\n```\n:::\n:::\n\n\n\nMasonry nails are the only thing in our product description file that we did not sell any of.\n\n", + "markdown": "---\ntitle: \"Choosing things in dataframes\"\n---\n\n\n\n## Packages\n\nThe usual:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n\n## Doing things with data frames\n\nLet's go back to our Australian athletes:\n\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n 1 female Netball 4.56 13.3 42.2 13.6 20 19.2 49 11.3 53.1 177.\n 2 female Netball 4.15 6 38 12.7 59 21.2 110. 25.3 47.1 173.\n 3 female Netball 4.16 7.6 37.5 12.3 22 21.4 89 19.4 53.4 176 \n 4 female Netball 4.32 6.4 37.7 12.3 30 21.0 98.3 19.6 48.8 170.\n 5 female Netball 4.06 5.8 38.7 12.8 78 21.8 122. 23.1 56.0 183 \n 6 female Netball 4.12 6.1 36.6 11.8 21 21.4 90.4 16.9 56.4 178.\n 7 female Netball 4.17 5 37.4 12.7 109 21.5 107. 21.3 53.1 177.\n 8 female Netball 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4 174.\n 9 female Netball 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0 174.\n10 female Netball 4.44 9.7 41.4 14.1 64 22.8 126. 25.0 51.6 174.\n# i 192 more rows\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Choosing a column\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 1\n Sport \n \n 1 Netball\n 2 Netball\n 3 Netball\n 4 Netball\n 5 Netball\n 6 Netball\n 7 Netball\n 8 Netball\n 9 Netball\n10 Netball\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing several columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport, Hg, BMI)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sport Hg BMI\n \n 1 Netball 13.6 19.2\n 2 Netball 12.7 21.2\n 3 Netball 12.3 21.4\n 4 Netball 12.3 21.0\n 5 Netball 12.8 21.8\n 6 Netball 11.8 21.4\n 7 Netball 12.7 21.5\n 8 Netball 12.4 24.4\n 9 Netball 12.4 22.6\n10 Netball 14.1 22.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing consecAutive columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sex:WCC)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sex Sport RCC WCC\n \n 1 female Netball 4.56 13.3\n 2 female Netball 4.15 6 \n 3 female Netball 4.16 7.6\n 4 female Netball 4.32 6.4\n 5 female Netball 4.06 5.8\n 6 female Netball 4.12 6.1\n 7 female Netball 4.17 5 \n 8 female Netball 3.8 6.6\n 9 female Netball 3.96 5.5\n10 female Netball 4.44 9.7\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing all-but some columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(-(RCC:LBM))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sex Sport Ht Wt\n \n 1 female Netball 177. 59.9\n 2 female Netball 173. 63 \n 3 female Netball 176 66.3\n 4 female Netball 170. 60.7\n 5 female Netball 183 72.9\n 6 female Netball 178. 67.9\n 7 female Netball 177. 67.5\n 8 female Netball 174. 74.1\n 9 female Netball 174. 68.2\n10 female Netball 174. 68.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Select-helpers\n\nOther ways to select columns: those whose name:\n\n- `starts_with` something\n- `ends_with` something\n- `contains` something\n- `matches` a \"regular expression\"\n- `everything()` select all the columns\n\n## Columns whose names Abegin with S\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(starts_with(\"S\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sex Sport SSF\n \n 1 female Netball 49 \n 2 female Netball 110. \n 3 female Netball 89 \n 4 female Netball 98.3\n 5 female Netball 122. \n 6 female Netball 90.4\n 7 female Netball 107. \n 8 female Netball 157. \n 9 female Netball 101. \n10 female Netball 126. \n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Columns whose names end with C\n\neither uppercase or lowercase:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"c\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n RCC WCC Hc\n \n 1 4.56 13.3 42.2\n 2 4.15 6 38 \n 3 4.16 7.6 37.5\n 4 4.32 6.4 37.7\n 5 4.06 5.8 38.7\n 6 4.12 6.1 36.6\n 7 4.17 5 37.4\n 8 3.8 6.6 36.5\n 9 3.96 5.5 36.3\n10 4.44 9.7 41.4\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Case-sensitive\n\nThis works with any of the select-helpers:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"C\", ignore.case=FALSE))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n RCC WCC\n \n 1 4.56 13.3\n 2 4.15 6 \n 3 4.16 7.6\n 4 4.32 6.4\n 5 4.06 5.8\n 6 4.12 6.1\n 7 4.17 5 \n 8 3.8 6.6\n 9 3.96 5.5\n10 4.44 9.7\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Column names containing letter R\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(contains(\"r\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sport RCC Ferr\n \n 1 Netball 4.56 20\n 2 Netball 4.15 59\n 3 Netball 4.16 22\n 4 Netball 4.32 30\n 5 Netball 4.06 78\n 6 Netball 4.12 21\n 7 Netball 4.17 109\n 8 Netball 3.8 102\n 9 Netball 3.96 71\n10 Netball 4.44 64\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Exactly two characters, ending with T\n\nIn regular expression terms, this is `^.t$`:\n\n- `^` means \"start of text\"\n- `.` means \"exactly one character, but could be anything\"\n- `$` means \"end of text\".\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(matches(\"^.t$\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n Ht Wt\n \n 1 177. 59.9\n 2 173. 63 \n 3 176 66.3\n 4 170. 60.7\n 5 183 72.9\n 6 178. 67.9\n 7 177. 67.5\n 8 174. 74.1\n 9 174. 68.2\n10 174. 68.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing columns by property\n\n- Use `where` as with summarizing several columns\n- eg, to choose text columns:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(where(is.character))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n Sex Sport \n \n 1 female Netball\n 2 female Netball\n 3 female Netball\n 4 female Netball\n 5 female Netball\n 6 female Netball\n 7 female Netball\n 8 female Netball\n 9 female Netball\n10 female Netball\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing rows by number\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice(16:25)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 10 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n 1 female Netball 4.25 10.7 39.5 13.2 127 24.5 157. 26.5 54.5 174 \n 2 female Netball 4.46 10.9 39.7 13.7 102 24.0 116. 23.0 57.2 176 \n 3 female Netball 4.4 9.3 40.4 13.6 86 26.2 182. 30.1 54.4 172.\n 4 female Netball 4.83 8.4 41.8 13.4 40 20.0 71.6 13.9 57.6 183.\n 5 female Netball 4.23 6.9 38.3 12.6 50 25.7 144. 26.6 61.5 180.\n 6 female Netball 4.24 8.4 37.6 12.5 58 25.6 201. 35.5 53.5 180.\n 7 female Netball 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1 180.\n 8 female Netball 4.03 8.5 37.7 13 51 23.4 104. 19.6 55.4 172.\n 9 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3 196.\n10 female BBall 4.41 8.3 38.2 12.7 68 20.7 103. 21.3 58.6 190.\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Non-consecutive rows\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice(10, 13, 17, 42)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n1 female Netball 4.44 9.7 41.4 14.1 64 22.8 126. 25.0 51.6 174.\n2 female Netball 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3 174.\n3 female Netball 4.46 10.9 39.7 13.7 102 24.0 116. 23.0 57.2 176 \n4 female Row 4.37 8.1 41.8 14.3 53 23.5 98 21.8 63.0 185.\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## A random sample of rows\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice_sample(n=8)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n1 female T400m 4.2 6.5 39.1 13 51 20.1 36.8 9.91 47.6 162 \n2 female Row 4.57 6.6 42.8 14.5 85 20.8 114. 21.5 52.8 180.\n3 male TSprnt 4.64 9 42.9 14.9 122 24.0 38.9 7.52 77 186 \n4 male Field 5.11 9.6 48.2 16.7 103 27.4 65.9 11.7 83 186.\n5 male Row 5.18 6.5 45.4 14.9 93 19.7 54 10.8 48 165.\n6 female Row 4.51 8.3 43.7 14.7 34 21.3 69.9 18.0 56.3 180.\n7 female BBall 4.14 5 36.4 11.6 21 21.9 105. 19.9 55.4 178.\n8 female Row 4.41 5.9 41.1 13.5 41 24.0 124. 22.4 61.7 182.\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Rows for which something is true\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 11 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n 1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6 168.\n 2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0 178.\n 3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5 162.\n 4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8 172.\n 5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2 167.\n 6 female Tennis 5.16 7.2 44.3 14.5 88 18.3 61.9 12.9 48.8 175 \n 7 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9 158.\n 8 male Tennis 5.66 8.3 50.2 17.7 38 23.8 56.5 10.0 72 184.\n 9 male Tennis 5.03 6.4 42.7 14.3 122 22.0 47.6 8.51 68 183.\n10 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 178.\n11 male Tennis 5.38 6.3 46 15.7 32 21.1 34.9 6.26 72 191.\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## More complicated selections\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\", RCC < 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6 168.\n2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0 178.\n3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5 162.\n4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8 172.\n5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2 167.\n6 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9 158.\n7 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 178.\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Another way to do \"and\"\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\") %>% \n filter(RCC < 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6 168.\n2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0 178.\n3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5 162.\n4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8 172.\n5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2 167.\n6 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9 158.\n7 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 178.\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Either/Or\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\" | RCC > 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 66 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n 1 female Row 5.02 6.4 44.8 15.2 48 19.8 91 19.2 53.6 183.\n 2 female T400m 5.31 9.5 47.1 15.9 29 21.4 57.9 11.1 57.5 174.\n 3 female Field 5.33 9.3 47 15 62 25.3 103. 19.5 59.9 172.\n 4 female TSprnt 5.16 8.2 45.3 14.7 34 20.3 46.1 10.2 51.5 168 \n 5 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6 168.\n 6 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0 178.\n 7 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5 162.\n 8 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8 172.\n 9 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2 167.\n10 female Tennis 5.16 7.2 44.3 14.5 88 18.3 61.9 12.9 48.8 175 \n# i 56 more rows\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Sorting into order\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n 1 female Netball 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4 174.\n 2 female Netball 3.9 6.3 35.9 12.1 78 20.1 70 15.0 57.3 183.\n 3 female T400m 3.9 6 38.9 13.5 16 19.4 48.4 10.5 53.7 176 \n 4 female Row 3.91 7.3 37.6 12.9 43 22.3 126. 25.2 54.8 181.\n 5 female Netball 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1 180.\n 6 female Row 3.95 3.3 36.9 12.5 40 24.5 74.9 16.4 63.0 175.\n 7 female Netball 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0 174.\n 8 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3 196.\n 9 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6 168.\n10 female Netball 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3 174.\n# i 192 more rows\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Breaking ties by another variable\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC, BMI)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n 1 female Netball 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4 174.\n 2 female T400m 3.9 6 38.9 13.5 16 19.4 48.4 10.5 53.7 176 \n 3 female Netball 3.9 6.3 35.9 12.1 78 20.1 70 15.0 57.3 183.\n 4 female Row 3.91 7.3 37.6 12.9 43 22.3 126. 25.2 54.8 181.\n 5 female Netball 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1 180.\n 6 female Row 3.95 3.3 36.9 12.5 40 24.5 74.9 16.4 63.0 175.\n 7 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3 196.\n 8 female Netball 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0 174.\n 9 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6 168.\n10 female Netball 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3 174.\n# i 192 more rows\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## Descending order\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(BMI))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM Ht\n \n 1 male Field 5.48 6.2 48.2 16.3 94 34.4 82.7 13.9 106 189.\n 2 male Field 4.96 8.3 45.3 15.7 141 33.7 114. 17.4 89 179.\n 3 male Field 5.48 4.6 49.4 18 132 32.5 55.7 8.51 102 185 \n 4 female Field 4.75 7.5 43.8 15.2 90 31.9 132. 23.0 73.0 172.\n 5 male Field 5.01 8.9 46 15.9 212 30.2 112. 19.9 78 180.\n 6 male Field 5.01 8.9 46 15.9 212 30.2 96.9 18.1 80 180.\n 7 male Field 5.09 8.9 46.3 15.4 44 30.0 71.1 14.0 88 185.\n 8 female Field 4.58 5.8 42.1 14.7 164 28.6 110. 21.3 68.9 175 \n 9 female Field 4.51 9 39.7 14.3 36 28.1 136. 24.9 63.0 173.\n10 male WPolo 5.34 6.2 49.8 17.2 143 27.8 75.7 13.5 82 185.\n# i 192 more rows\n# i 1 more variable: Wt \n```\n:::\n:::\n\n\n\n## \"The top ones\"\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:7) %>%\n select(Sport, Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 2\n Sport Wt\n \n1 Field 123.\n2 BBall 114.\n3 Field 111.\n4 Field 108.\n5 Field 103.\n6 WPolo 101 \n7 BBall 100.\n```\n:::\n:::\n\n\n\n## Another way\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice_max(order_by = Wt, n=7) %>% \n select(Sport, Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 2\n Sport Wt\n \n1 Field 123.\n2 BBall 114.\n3 Field 111.\n4 Field 108.\n5 Field 103.\n6 WPolo 101 \n7 BBall 100.\n```\n:::\n:::\n\n\n\n## Create new variables from old ones\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n mutate(wt_lb = Wt * 2.2) %>%\n select(Sport, Sex, Wt, wt_lb) %>% \n arrange(Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sport Sex Wt wt_lb\n \n 1 Gym female 37.8 83.2\n 2 Gym female 43.8 96.4\n 3 Gym female 45.1 99.2\n 4 Tennis female 45.8 101. \n 5 Tennis female 47.4 104. \n 6 Gym female 47.8 105. \n 7 T400m female 49.2 108. \n 8 Row female 49.8 110. \n 9 T400m female 50.9 112. \n10 Netball female 51.9 114. \n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Turning the result into a number\n\nOutput is always data frame unless you explicitly turn it into something\nelse, eg. the weight of the heaviest athlete, as a number:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(Wt)) %>% pluck(\"Wt\", 1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 123.2\n```\n:::\n:::\n\n\n\nOr the 20 heaviest weights in descending order:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pluck(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90 97.90\n[11] 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60 94.25 94.20\n```\n:::\n:::\n\n\n\n## Another way to do the last one\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pull(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90 97.90\n[11] 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60 94.25 94.20\n```\n:::\n:::\n\n\n\n`pull` grabs the column you name *as a vector* (of whatever it\ncontains).\n\n## To find the mean height of the women athletes\n\nTwo ways:\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% group_by(Sex) %>% summarize(m = mean(Ht))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 2 x 2\n Sex m\n \n1 female 175.\n2 male 186.\n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n filter(Sex == \"female\") %>%\n summarize(m = mean(Ht))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 1\n m\n \n1 175.\n```\n:::\n:::\n\n\n\n\\normalsize\n\n## Summary of data selection/arrangement \"verbs\" {.smaller}\n\n| Verb | Purpose |\n|:---------------|:-------------------------------------------------------|\n| `select` | Choose columns |\n| `slice` | Choose rows by number |\n| `slice_sample` | Choose random rows |\n| `slice_max` | Choose rows with largest values on a variable (also `slice_min`) |\n| `filter` | Choose rows satisfying conditions |\n| `arrange` | Sort in order by column(s) |\n| `mutate` | Create new variables |\n| `group_by` | Create groups to work with |\n| `summarize` | Calculate summary statistics (by groups if defined) |\n| `pluck` | Extract items from data frame |\n| `pull` | Extract a single column from a data frame as a vector |\n\n## Looking things up in another data frame\n\n- Suppose you are working in the nails department of a hardware store\n and you find that you have sold these items:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_sales.csv\"\nsales <- read_csv(my_url)\nsales\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n product_code sales\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\n## Product descriptions and prices\n\n- but you don't remember what these product codes are, and you would\n like to know the total revenue from these sales.\n\n- Fortunately you found a list of product descriptions and prices:\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_desc.csv\"\ndesc <- read_csv(my_url)\ndesc\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 5\n product_code description size qty price\n \n1 061-4525-2 spike nail \"10\\\"\" 1 1.49\n2 061-5329-4 masonry nail \"1.5\\\"\" 112 8.19\n3 061-5344-6 finishing nail \"1\\\"\" 1298 6.99\n4 061-5375-2 roofing nail \"1.25\\\"\" 192 6.99\n5 061-5388-2 framing nail \"4\\\"\" 25 8.19\n6 161-0090-0 wood nail \"1\\\"\" 25 2.39\n7 161-0199-4 panel nail \"1-5/8\\\"\" 20 4.69\n```\n:::\n:::\n\n\n\n- the `size` values are measured in inches (symbol `\"`), but R uses\n the same symbol for the start and end of text, so the `\"`\n representing \"inches\" is \"escaped\". Hence the odd look.\n\n\\normalsize\n\n## The lookup\n\n- How do you \"look up\" the product codes to find the product\n descriptions and prices?\n- `left_join`.\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n product_code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n## What we have\n\n- this looks up all the rows in the *first* dataframe that are also in\n the *second*.\n- by default matches all columns with same name in two dataframes\n (`product_code` here)\n- get *all* columns in *both* dataframes. The rows are the ones for\n that `product_code`.\n\nSo now can work out how much the total revenue was:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc) %>% \n mutate(product_revenue = sales*price) %>% \n summarize(total_revenue = sum(product_revenue))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 1\n total_revenue\n \n1 178.\n```\n:::\n:::\n\n\n\n## More comments\n\n- if any product codes are not matched, you get NA in the added\n columns\n- anything in the *second* dataframe that was not in the first does\n not appear (here, any products that were not sold)\n- other variations (examples follow):\n - if there are two columns with the same name in the two\n dataframes, and you only want to match on one, use `by` with one\n column name\n - if the columns you want to look up have different names in the\n two dataframes, use `by` with a \"named list\"\n\n## Matching on only some matching names\n\n- Suppose the `sales` dataframe *also* had a column `qty` (which was\n the quantity sold):\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"qty\"=\"sales\") -> sales1\nsales1\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n product_code qty\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\n\\normalsize\n\n- The `qty` in `sales1` is the quantity sold, but the `qty` in `desc`\n is the number of nails in a package. These should *not* be matched:\n they are different things.\n\n## Matching only on product code\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales1 %>% \n left_join(desc, join_by(product_code))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n product_code qty.x description size qty.y price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nsales1 %>% \n left_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 5\n product_code qty description size price\n \n1 061-5344-6 10 NA\n2 161-0090-0 6 NA\n3 061-5388-2 2 NA\n4 161-0199-4 8 NA\n5 061-5375-2 5 NA\n6 061-4525-2 3 NA\n```\n:::\n:::\n\n\n\n- Get `qty.x` (from `sales1`) and `qty.y` (from `desc`).\n\n## Matching on different names 1/2\n\n- Suppose the product code in `sales` was just `code`:\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"code\" = \"product_code\") -> sales2\nsales2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n code sales\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\n\\normalsize\n\n- How to match the two product codes that have different names?\n\n## Matching on different names 2/2\n\n- Use `join_by`, but like this:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales2 %>% \n left_join(desc, join_by(code == product_code))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n## Other types of join\n\n- `right_join`: interchanges roles, looking up keys from second\n dataframe in first.\n- `anti_join`: give me all the rows in the first dataframe that are\n *not* in the second. (Use this eg. to see whether the product\n descriptions are incomplete.)\n- `full_join`: give me all the rows in both dataframes, with missings\n as needed.\n\n## Full join here\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% full_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 6\n product_code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n7 061-5329-4 NA masonry nail \"1.5\\\"\" 112 8.19\n```\n:::\n:::\n\n\n\n\\normalsize\n\n- The missing `sales` for \"masonry nail\" says that it was in the\n lookup table `desc`, but we didn't sell any.\n\n## The same thing, but with `anti_join`\n\nAnything in first df but not in second?\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndesc %>% anti_join(sales)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 5\n product_code description size qty price\n \n1 061-5329-4 masonry nail \"1.5\\\"\" 112 8.19\n```\n:::\n\n```{.r .cell-code}\nsales %>% anti_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 0 x 2\n# i 2 variables: product_code , sales \n```\n:::\n:::\n\n\n\nMasonry nails are the only thing in our product description file that we\ndid not sell any of.\n", "supporting": [ "choosing_files" ], diff --git a/_freeze/logistic/execute-results/html.json b/_freeze/logistic/execute-results/html.json index 16a8921..c3c68ce 100644 --- a/_freeze/logistic/execute-results/html.json +++ b/_freeze/logistic/execute-results/html.json @@ -1,7 +1,7 @@ { - "hash": "d00d4260f0342837f54c858773a0870d", + "hash": "e6b7540e15c08007b53f23b153419a27", "result": { - "markdown": "---\ntitle: \"Logistic Regression\"\n---\n\n\n\n## Logistic regression\n\n\n* When response variable is measured/counted, regression can work well.\n\n* But what if response is yes/no, lived/died, success/failure?\n\n* Model *probability* of success.\n\n* Probability must be between 0 and 1; need method that ensures this.\n\n* *Logistic regression* does this. In R, is a\n*generalized linear model* with binomial \"family\": \n\n::: {.cell}\n\n```{.r .cell-code}\nglm(y ~ x, family=\"binomial\")\n```\n:::\n\n\n\n* Begin with simplest case.\n\n\n\n## Packages\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(MASS)\nlibrary(tidyverse)\nlibrary(marginaleffects)\nlibrary(broom)\nlibrary(nnet)\nlibrary(conflicted)\nconflict_prefer(\"select\", \"dplyr\")\nconflict_prefer(\"filter\", \"dplyr\")\nconflict_prefer(\"rename\", \"dplyr\")\nconflict_prefer(\"summarize\", \"dplyr\")\n```\n:::\n\n\n \n\n\n## The rats, part 1\n\n\n* Rats given dose of some poison; either live or die:\n\n\\small\n```\ndose status\n0 lived\n1 died\n2 lived\n3 lived\n4 died\n5 died\n```\n\n\\normalsize\n\n## Read in: \n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat.txt\"\nrats <- read_delim(my_url, \" \")\nrats\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n## Basic logistic regression\n\n\n* Make response into a factor first:\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nrats2 <- rats %>% mutate(status = factor(status))\n```\n:::\n\n\\normalsize\n \n\n\n* then fit model:\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nstatus.1 <- glm(status ~ dose, family = \"binomial\", data = rats2)\n```\n:::\n\n\\normalsize\n \n\n \n\n\n## Output\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(status.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = status ~ dose, family = \"binomial\", data = rats2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 1.6841 1.7979 0.937 0.349\ndose -0.6736 0.6140 -1.097 0.273\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 8.3178 on 5 degrees of freedom\nResidual deviance: 6.7728 on 4 degrees of freedom\nAIC: 10.773\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\\normalsize\n\n\n## Interpreting the output\n\n\n* Like (multiple) regression, get\ntests of significance of individual $x$'s\n\n* Here not significant (only 6 observations).\n\n* \"Slope\" for dose is negative, meaning that as dose increases, probability of event modelled (survival) decreases.\n\n\n\n\n\n## Output part 2: predicted survival probs\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(status.1)) %>% \n select(dose, estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize \n\n## On a graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(status.1, condition = \"dose\")\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-1-1.png){width=960}\n:::\n:::\n\n\n\n## The rats, more\n\n\n* More realistic: more rats at each dose (say 10).\n\n* Listing each rat on one line makes a big data file.\n\n* Use format below: dose, number of survivals, number of deaths.\n\n```\n\ndose lived died\n0 10 0\n1 7 3 \n2 6 4 \n3 4 6 \n4 2 8 \n5 1 9 \n\n```\n\n\n* 6 lines of data correspond to 60 actual rats.\n\n* Saved in `rat2.txt`.\n\n\n\n## These data\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat2.txt\"\nrat2 <- read_delim(my_url, \" \")\nrat2\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n## Create response matrix:\n\n- Each row contains *multiple* observations.\n- Create *two-column* response:\n - \\#survivals in first column, \n - \\#deaths in second.\n\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nresponse <- with(rat2, cbind(lived, died))\nresponse\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n lived died\n[1,] 10 0\n[2,] 7 3\n[3,] 6 4\n[4,] 4 6\n[5,] 2 8\n[6,] 1 9\n```\n:::\n:::\n\n\\normalsize\n\n- Response is R `matrix`:\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nclass(response)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] \"matrix\" \"array\" \n```\n:::\n:::\n\n\\normalsize\n\n \n## Fit logistic regression\n\n- using response you just made:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrat2.1 <- glm(response ~ dose,\n family = \"binomial\",\n data = rat2\n)\n```\n:::\n\n\n\n\n\n## Output\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(rat2.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = response ~ dose, family = \"binomial\", data = rat2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) 2.3619 0.6719 3.515 0.000439 ***\ndose -0.9448 0.2351 -4.018 5.87e-05 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 27.530 on 5 degrees of freedom\nResidual deviance: 2.474 on 4 degrees of freedom\nAIC: 18.94\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\\normalsize\n\n\n## Predicted survival probs\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = rat2.1, dose = 0:5)\ncbind(predictions(rat2.1, newdata = new))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n## On a picture\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(rat2.1, newdata = new)) %>% \n select(estimate, conf.low, conf.high, dose) %>% \n ggplot(aes(x = dose, y = estimate, \n ymin = conf.low, ymax = conf.high)) + \n geom_line() + geom_ribbon(alpha = 0.3)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-2-1.png){width=960}\n:::\n:::\n\n\n\n## Comments\n\n\n\n* Significant effect of dose. \n\n* Effect of larger dose is to *decrease* survival probability\n(\"slope\" negative; also see in decreasing predictions.)\n\n* Confidence intervals around prediction narrower (more data).\n\n## Multiple logistic regression\n\n\n* With more than one $x$, works much like multiple regression.\n\n* Example: study of patients with blood poisoning severe enough to warrant surgery. Relate survival to other potential risk factors.\n\n* Variables, 1=present, 0=absent:\n\n\n * survival (death from sepsis=1), response\n * shock\n * malnutrition\n * alcoholism\n * age (as numerical variable)\n * bowel infarction\n\n\n* See what relates to death.\n\n\n\n## Read in data\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \n \"http://ritsokiguess.site/datafiles/sepsis.txt\"\nsepsis <- read_delim(my_url, \" \")\n```\n:::\n\n \n## Make sure categoricals really are\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% \n mutate(across(-age, \\(x) factor(x))) -> sepsis\n```\n:::\n\n\n\n## The data (some)\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n## Fit model\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.1 <- glm(death ~ shock + malnut + alcohol + age +\n bowelinf,\nfamily = \"binomial\",\ndata = sepsis\n)\n```\n:::\n\n\n \n\n\n## Output part 1\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(sepsis.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n\n* All P-values fairly small\n\n* but `malnut` not significant: remove.\n\n\n\n## Removing `malnut`\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 <- update(sepsis.1, . ~ . - malnut)\ntidy(sepsis.2)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n\n* Everything significant now.\n\n\n\n## Comments\n\n\n* Most of the original $x$'s helped predict death. Only `malnut` seemed not to add anything.\n\n* Removed `malnut` and tried again.\n\n* Everything remaining is significant (though `bowelinf`\nactually became *less* significant).\n\n* All coefficients are *positive*, so having any of the risk\nfactors (or being older)\n*increases* risk of death. \n\n\n## Predictions from model without \"malnut\"\n\n\n* A few (rows of original dataframe) chosen \"at random\":\n\n\\tiny\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% slice(c(4, 1, 2, 11, 32)) -> new\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, conf.low, conf.high, shock:bowelinf)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n## Comments \n\n* Survival chances pretty good if no risk factors, though decreasing with age.\n\n* Having more than one risk factor reduces survival chances dramatically.\n\n* Usually good job of predicting survival; sometimes death predicted to survive.\n\n## Another way to assess effects\n\nof `age`:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = sepsis.2, age = seq(30, 70, 10))\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n## Assessing age effect \n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, shock:age)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Assessing shock effect\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(shock = c(0, 1), model = sepsis.2)\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, death:shock)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n## Assessing proportionality of odds for age\n\n\n* An assumption we made is that log-odds of survival depends\nlinearly on age.\n\n* Hard to get your head around, but \nbasic idea is that survival chances go continuously up (or down)\nwith age, instead of (for example) going up and then down.\n\n* In this case, seems reasonable, but should check:\n\n\n## Residuals vs.\\ age\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 %>% augment(sepsis) %>% \n ggplot(aes(x = age, y = .resid)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/virtusentella-1.png){width=960}\n:::\n:::\n\n \n## Comments\n\n* No apparent problems overall.\n\n* Confusing \"line\" across: no risk factors, survived. \n\n\n\n## Probability and odds\n\n* For probability $p$, odds is $p/(1-p)$:\n\n\n \\begin{tabular}{rrrl}\n \\hline\n Prob.\\ & Odds & log-odds & in words\\\\\n \\hline\n 0.5 & $0.5/0.5=1/1=1.00$ & $0.00$ & ``even money''\\\\\n 0.1 & $0.1/0.9=1/9=0.11$ & $-2.20$ & ``9 to 1''\\\\\n 0.4 & $0.4/0.6=1/1.5=0.67$ & $-0.41$ & ``1.5 to 1''\\\\\n 0.8 & $0.8/0.2=4/1=4.00$ & $1.39$ & ``4 to 1 on''\\\\\n \\hline\n \\end{tabular}\n\n\n* Gamblers use odds: if you win at 9 to 1 odds, get original\nstake back plus 9 times the stake.\n\n* Probability has to be between 0 and 1\n\n* Odds between 0 and infinity\n\n* *Log*-odds can be anything: any log-odds corresponds to\nvalid probability.\n\n\n\n## Odds ratio\n\n\n* Suppose 90 of 100 men drank wine last week, but only 20 of 100 women.\n\n* Prob of man drinking wine $90/100=0.9$, woman $20/100=0.2$.\n\n* Odds of man drinking wine $0.9/0.1=9$, woman $0.2/0.8=0.25$.\n\n* Ratio of odds is $9/0.25=36$.\n\n* Way of quantifying difference between men and women: ``odds of\ndrinking wine 36 times larger for males than females''. \n\n\n\n## Sepsis data again\n\n\n* Recall prediction of probability of death from risk factors:\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy <- tidy(sepsis.2)\nsepsis.2.tidy\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n* Slopes in column `estimate`.\n\n\n\n## Multiplying the odds\n\n\n* Can interpret slopes by taking \"exp\" of them. We ignore intercept.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy %>% \n mutate(exp_coeff=exp(estimate)) %>% \n select(term, exp_coeff)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Interpretation\n\n\\small\n\n::: {.cell}\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n* These say \"how much do you *multiply* odds of death by\nfor increase of 1 in corresponding risk factor?\" Or, what is odds\nratio for that factor being 1 (present) vs.\\ 0 (absent)?\n\n* Eg.\\ being alcoholic vs.\\ not increases odds of death by 24 times\n\n* One year older multiplies odds by about 1.1 times. Over 40 years,\nabout $1.09^{40}=31$ times. \n\n\n\n## Odds ratio and relative risk\n\n\n* **Relative risk** is ratio of probabilities.\n\n* Above: 90 of 100 men (0.9) drank wine, 20 of 100 women (0.2).\n\n* Relative risk 0.9/0.2=4.5. (odds ratio was 36).\n\n* When probabilities small, relative risk and odds ratio similar.\n\n* Eg.\\ prob of man having disease 0.02, woman 0.01.\n\n* Relative risk $0.02/0.01=2$.\n\n## Odds ratio vs.\\ relative risk\n\n- Odds for men and for women:\n\n\n::: {.cell}\n\n```{.r .cell-code}\n(od1 <- 0.02 / 0.98) # men\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.02040816\n```\n:::\n\n```{.r .cell-code}\n(od2 <- 0.01 / 0.99) # women\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.01010101\n```\n:::\n:::\n\n\n- Odds ratio \n\n\n::: {.cell}\n\n```{.r .cell-code}\nod1 / od2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 2.020408\n```\n:::\n:::\n\n\n\n- Very close to relative risk of 2.\n\n\n## More than 2 response categories\n\n\n* With 2 response categories, model the probability of one, and prob of other is one minus that. So doesn't matter which category you model.\n\n* With more than 2 categories, have to think more carefully about the categories: are they\n\n\n* *ordered*: you can put them in a natural order (like low, medium, high)\n\n* *nominal*: ordering the categories doesn't make sense (like red, green, blue).\n\n\n* R handles both kinds of response; learn how.\n\n\n\n## Ordinal response: the miners\n\n\n* \nModel probability of being in given category *or lower*.\n\n* Example: coal-miners often suffer disease pneumoconiosis. Likelihood of disease believed to be greater \namong miners who have worked longer. \n\n* Severity of disease measured on categorical scale: none,\nmoderate, severe.\n\n## Miners data\n\n* Data are frequencies:\n\n```\nExposure None Moderate Severe\n5.8 98 0 0\n15.0 51 2 1\n21.5 34 6 3\n27.5 35 5 8\n33.5 32 10 9\n39.5 23 7 8\n46.0 12 6 10\n51.5 4 2 5\n```\n\n\n\n\n## Reading the data\n\nData in aligned columns with more than one space between, so: \n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/miners-tab.txt\"\nfreqs <- read_table(my_url)\n```\n:::\n\n\\normalsize\n\n\n## The data\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n## Tidying \n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>%\n pivot_longer(-Exposure, names_to = \"Severity\", values_to = \"Freq\") %>%\n mutate(Severity = fct_inorder(Severity)) -> miners\n```\n:::\n\n\n \n\n\n## Result\n\n\\tiny\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n \n\n\n## Plot proportions against exposure\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nminers %>% \n group_by(Exposure) %>% \n mutate(proportion = Freq / sum(Freq)) -> prop\nggplot(prop, aes(x = Exposure, y = proportion,\n colour = Severity)) + \n geom_point() + geom_smooth(se = F)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/bLogistic-28-1.png){width=960}\n:::\n:::\n\n\\normalsize\n\n\n## Reminder of data setup\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\\normalsize\n\n\n\n## Fitting ordered logistic model\n\nUse function `polr` from package `MASS`. Like `glm`.\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners\n)\n```\n:::\n\n \n\n\n## Output: not very illuminating\n\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners,\n Hess = TRUE\n)\n```\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(sev.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\npolr(formula = Severity ~ Exposure, data = miners, weights = Freq, \n Hess = TRUE)\n\nCoefficients:\n Value Std. Error t value\nExposure 0.0959 0.01194 8.034\n\nIntercepts:\n Value Std. Error t value\nNone|Moderate 3.9558 0.4097 9.6558\nModerate|Severe 4.8690 0.4411 11.0383\n\nResidual Deviance: 416.9188 \nAIC: 422.9188 \n```\n:::\n:::\n\n\\normalsize\n \n\n## Does exposure have an effect?\nFit model without `Exposure`, and compare\nusing `anova`. Note `1` for model with just intercept:\n\n\n::: {.cell}\n\n:::\n\n\n \n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.0 <- polr(Severity ~ 1, weights = Freq, data = miners)\nanova(sev.0, sev.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\nExposure definitely has effect on severity of disease. \n\n\n## Another way\n\n\n* What (if anything) can we drop from model with `exposure`?\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(sev.1, test = \"Chisq\")\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n* Nothing. Exposure definitely has effect.\n\n\n\n## Predicted probabilities 1/2\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>% select(Exposure) -> new\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n## Predicted probabilities 2/2\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sev.1, newdata = new)) %>%\n select(group, estimate, Exposure) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n## Plot of predicted probabilities\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(model = sev.1, condition = c(\"Exposure\", \"group\"),\n type = \"probs\") +\n geom_point(data = prop, aes(x = Exposure, y = proportion, \n colour = Severity)) -> ggg\n```\n:::\n\n\n## The graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\nggg\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-11-1.png){width=960}\n:::\n:::\n\n\n\n## Comments\n\n\n* Model appears to match data well enough.\n\n- As exposure goes up, prob of None\ngoes down, Severe goes up (sharply for high exposure).\n\n- So more exposure means worse disease.\n\n\n## Unordered responses\n\n\n* With unordered (nominal) responses, can use *generalized logit*.\n\n* Example: 735 people, record age and sex (male 0, female 1), which of 3 brands of some product preferred.\n\n* Data in `mlogit.csv` separated by commas (so\n`read_csv` will work):\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/mlogit.csv\"\nbrandpref <- read_csv(my_url)\n```\n:::\n\n \n\n\n\n\n## The data (some)\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n## Bashing into shape\n\n\n* `sex` and `brand` not meaningful as numbers, so\nturn into factors:\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n mutate(sex = ifelse(sex == 1, \"female\", \"male\"), \n sex = factor(sex),\n brand = factor(brand)\n ) -> brandpref\n```\n:::\n\n \n \n## Fitting model \n\n* We use `multinom` from package `nnet`. Works\nlike `polr`.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.1 <- multinom(brand ~ age + sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 12 (6 variable)\ninitial value 807.480032 \niter 10 value 702.990572\nfinal value 702.970704 \nconverged\n```\n:::\n:::\n\n \n\n\n## Can we drop anything?\n\n\n* Unfortunately `drop1` seems not to work:\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(brands.1, test = \"Chisq\", trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \n```\n:::\n\n::: {.cell-output .cell-output-error}\n```\nError in if (trace) {: argument is not interpretable as logical\n```\n:::\n:::\n\n\n* So, fall back on fitting model without what you want to test, and\ncomparing using `anova`. \n\n\n\n## Do age/sex help predict brand? 1/3\n\nFit models without each of age and sex:\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.2 <- multinom(brand ~ age, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \niter 10 value 706.796323\niter 10 value 706.796322\nfinal value 706.796322 \nconverged\n```\n:::\n\n```{.r .cell-code}\nbrands.3 <- multinom(brand ~ sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \nfinal value 791.861266 \nconverged\n```\n:::\n:::\n\n \n\n\n## Do age/sex help predict brand? 2/3\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(brands.2, brands.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n\n```{.r .cell-code}\nanova(brands.3, brands.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n## Do age/sex help predict brand? 3/3\n\n\n* `age` definitely significant (second `anova`)\n\n* `sex` significant also (first `anova`), though P-value less dramatic\n\n* Keep both.\n- Expect to see a large effect of `age`, and a smaller one of `sex`.\n\n\n\n\n## Another way to build model\n\n\n* Start from model with everything and run `step`:\n\n\n::: {.cell}\n\n:::\n\n\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nstep(brands.1, trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \ntrying - sex \n```\n:::\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\nmultinom(formula = brand ~ age + sex)\n\nCoefficients:\n (Intercept) age sexmale\n2 -11.25127 0.3682202 -0.5237736\n3 -22.25571 0.6859149 -0.4658215\n\nResidual Deviance: 1405.941 \nAIC: 1417.941 \n```\n:::\n:::\n\n\\normalsize\n \n\n* Final model contains both `age` and `sex` so neither\ncould be removed.\n\n\n## Making predictions\n\nFind age 5-number summary, and the two sexes:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n brand sex age \n 1:207 female:466 Min. :24.0 \n 2:307 male :269 1st Qu.:32.0 \n 3:221 Median :32.0 \n Mean :32.9 \n 3rd Qu.:34.0 \n Max. :38.0 \n```\n:::\n:::\n\n\nSpace the ages out a bit for prediction (see over).\n\n\\normalsize\n\n## Combinations\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(age = c(24, 30, 33, 35, 38), \n sex = c(\"female\", \"male\"), model = brands.1)\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## The predictions\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(brands.1, newdata = new)) %>%\n select(group, estimate, age, sex) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Comments\n\n* Young males prefer brand 1, \nbut older males prefer brand 3.\n\n* Females similar, but like brand 1 less and\nbrand 2 more.\n\n- A clear `brand` effect, but the `sex` effect is less clear. \n\n## Making a plot\n\n- `plot_cap` doesn't quite work\n- so don't draw, edit, *then* make graph:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(brands.1, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g\n```\n:::\n\n\n## The graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-16-1.png){width=960}\n:::\n:::\n\n \n\n## Digesting the plot\n\n\n* Brand vs.\\ age: younger people (of both genders) prefer brand\n1, but older people (of both genders) prefer brand 3. (Explains\nsignificant age effect.)\n\n* Brand vs.\\ sex: females (solid) like brand 1 less than males\n(dashed), like brand 2 more (for all ages). \n\n* Not much brand difference between genders (solid and dashed\nlines of same colours close), but enough to be significant.\n\n* Model didn't include interaction, so modelled effect of gender\non brand same for each age, modelled effect of age same for each\ngender. (See also later.) \n\n\n## Alternative data format\n\nSummarize all people of same brand preference, same sex, same age on one line of data file with frequency on end:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n```\n1 0 24 1\n1 0 26 2\n1 0 27 4\n1 0 28 4\n1 0 29 7\n1 0 30 3\n...\n```\n\nWhole data set in 65 lines not 735! But how?\n\n\n## Getting alternative data format\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n group_by(age, sex, brand) %>%\n summarize(Freq = n()) %>%\n ungroup() -> b\nb\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n## Fitting models, almost the same\n\n\n* Just have to remember `weights` to incorporate\nfrequencies.\n\n* Otherwise `multinom` assumes you have just 1 obs\non each line!\n\n* Again turn (numerical) `sex` and `brand` into factors:\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nb %>%\n mutate(sex = factor(sex)) %>%\n mutate(brand = factor(brand)) -> bf\nb.1 <- multinom(brand ~ age + sex, data = bf, weights = Freq)\nb.2 <- multinom(brand ~ age, data = bf, weights = Freq)\n```\n:::\n\n\\normalsize\n\n\n\n## P-value for `sex` identical\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(b.2, b.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\nSame P-value as before, so we haven't changed anything important.\n\n\n\n\n## Trying interaction between age and gender\n\n\n::: {.cell}\n\n:::\n\n\n \n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.4 <- update(brands.1, . ~ . + age:sex)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 15 (8 variable)\ninitial value 807.480032 \niter 10 value 703.191146\niter 20 value 702.572260\niter 30 value 702.570900\niter 30 value 702.570893\niter 30 value 702.570893\nfinal value 702.570893 \nconverged\n```\n:::\n\n```{.r .cell-code}\nanova(brands.1, brands.4)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\\normalsize\n\n* No evidence that effect of age on brand preference differs for\nthe two genders.\n\n## Make graph again\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(brands.4, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g4\n```\n:::\n\n\n\n## Not much difference in the graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng4\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-19-1.png){width=960}\n:::\n:::\n\n\n## Compare model without interaction\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-20-1.png){width=960}\n:::\n:::\n", + "markdown": "---\ntitle: \"Logistic Regression\"\n---\n\n\n\n## Logistic regression\n\n\n* When response variable is measured/counted, regression can work well.\n\n* But what if response is yes/no, lived/died, success/failure?\n\n* Model *probability* of success.\n\n* Probability must be between 0 and 1; need method that ensures this.\n\n* *Logistic regression* does this. In R, is a\n*generalized linear model* with binomial \"family\": \n\n::: {.cell}\n\n```{.r .cell-code}\nglm(y ~ x, family=\"binomial\")\n```\n:::\n\n\n\n* Begin with simplest case.\n\n\n\n## Packages\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(MASS)\nlibrary(tidyverse)\nlibrary(marginaleffects)\nlibrary(broom)\nlibrary(nnet)\nlibrary(conflicted)\nconflict_prefer(\"select\", \"dplyr\")\nconflict_prefer(\"filter\", \"dplyr\")\nconflict_prefer(\"rename\", \"dplyr\")\nconflict_prefer(\"summarize\", \"dplyr\")\n```\n:::\n\n\n \n\n\n## The rats, part 1\n\n\n* Rats given dose of some poison; either live or die:\n\n\\small\n```\ndose status\n0 lived\n1 died\n2 lived\n3 lived\n4 died\n5 died\n```\n\n\\normalsize\n\n## Read in: \n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat.txt\"\nrats <- read_delim(my_url, \" \")\nrats\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n## Basic logistic regression\n\n\n* Make response into a factor first:\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nrats2 <- rats %>% mutate(status = factor(status))\n```\n:::\n\n\\normalsize\n \n\n\n* then fit model:\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nstatus.1 <- glm(status ~ dose, family = \"binomial\", data = rats2)\n```\n:::\n\n\\normalsize\n \n\n \n\n\n## Output\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(status.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = status ~ dose, family = \"binomial\", data = rats2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 1.6841 1.7979 0.937 0.349\ndose -0.6736 0.6140 -1.097 0.273\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 8.3178 on 5 degrees of freedom\nResidual deviance: 6.7728 on 4 degrees of freedom\nAIC: 10.773\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\\normalsize\n\n\n## Interpreting the output\n\n\n* Like (multiple) regression, get\ntests of significance of individual $x$'s\n\n* Here not significant (only 6 observations).\n\n* \"Slope\" for dose is negative, meaning that as dose increases, probability of event modelled (survival) decreases.\n\n\n\n\n\n## Output part 2: predicted survival probs\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(status.1)) %>% \n select(dose, estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize \n\n## On a graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(status.1, condition = \"dose\")\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-1-1.png){width=960}\n:::\n:::\n\n\n\n## The rats, more\n\n\n* More realistic: more rats at each dose (say 10).\n\n* Listing each rat on one line makes a big data file.\n\n* Use format below: dose, number of survivals, number of deaths.\n\n```\n\ndose lived died\n0 10 0\n1 7 3 \n2 6 4 \n3 4 6 \n4 2 8 \n5 1 9 \n\n```\n\n\n* 6 lines of data correspond to 60 actual rats.\n\n* Saved in `rat2.txt`.\n\n\n\n## These data\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat2.txt\"\nrat2 <- read_delim(my_url, \" \")\nrat2\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n## Create response matrix:\n\n- Each row contains *multiple* observations.\n- Create *two-column* response:\n - \\#survivals in first column, \n - \\#deaths in second.\n\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nresponse <- with(rat2, cbind(lived, died))\nresponse\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n lived died\n[1,] 10 0\n[2,] 7 3\n[3,] 6 4\n[4,] 4 6\n[5,] 2 8\n[6,] 1 9\n```\n:::\n:::\n\n\\normalsize\n\n- Response is R `matrix`:\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nclass(response)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] \"matrix\" \"array\" \n```\n:::\n:::\n\n\\normalsize\n\n \n## Fit logistic regression\n\n- using response you just made:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrat2.1 <- glm(response ~ dose,\n family = \"binomial\",\n data = rat2\n)\n```\n:::\n\n\n\n\n\n## Output\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(rat2.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = response ~ dose, family = \"binomial\", data = rat2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) 2.3619 0.6719 3.515 0.000439 ***\ndose -0.9448 0.2351 -4.018 5.87e-05 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 27.530 on 5 degrees of freedom\nResidual deviance: 2.474 on 4 degrees of freedom\nAIC: 18.94\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\\normalsize\n\n\n## Predicted survival probs\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = rat2.1, dose = 0:5)\ncbind(predictions(rat2.1, newdata = new))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n## On a picture\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(rat2.1, newdata = new)) %>% \n select(estimate, conf.low, conf.high, dose) %>% \n ggplot(aes(x = dose, y = estimate, \n ymin = conf.low, ymax = conf.high)) + \n geom_line() + geom_ribbon(alpha = 0.3)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-2-1.png){width=960}\n:::\n:::\n\n\n\n## Comments\n\n\n\n* Significant effect of dose. \n\n* Effect of larger dose is to *decrease* survival probability\n(\"slope\" negative; also see in decreasing predictions.)\n\n* Confidence intervals around prediction narrower (more data).\n\n## Multiple logistic regression\n\n\n* With more than one $x$, works much like multiple regression.\n\n* Example: study of patients with blood poisoning severe enough to warrant surgery. Relate survival to other potential risk factors.\n\n* Variables, 1=present, 0=absent:\n\n\n * survival (death from sepsis=1), response\n * shock\n * malnutrition\n * alcoholism\n * age (as numerical variable)\n * bowel infarction\n\n\n* See what relates to death.\n\n\n\n## Read in data\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \n \"http://ritsokiguess.site/datafiles/sepsis.txt\"\nsepsis <- read_delim(my_url, \" \")\n```\n:::\n\n \n## Make sure categoricals really are\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% \n mutate(across(-age, \\(x) factor(x))) -> sepsis\n```\n:::\n\n\n\n## The data (some)\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n## Fit model\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.1 <- glm(death ~ shock + malnut + alcohol + age +\n bowelinf,\nfamily = \"binomial\",\ndata = sepsis\n)\n```\n:::\n\n\n \n\n\n## Output part 1\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(sepsis.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n\n* All P-values fairly small\n\n* but `malnut` not significant: remove.\n\n\n\n## Removing `malnut`\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 <- update(sepsis.1, . ~ . - malnut)\ntidy(sepsis.2)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n \n\n\n\n* Everything significant now.\n\n\n\n## Comments\n\n\n* Most of the original $x$'s helped predict death. Only `malnut` seemed not to add anything.\n\n* Removed `malnut` and tried again.\n\n* Everything remaining is significant (though `bowelinf`\nactually became *less* significant).\n\n* All coefficients are *positive*, so having any of the risk\nfactors (or being older)\n*increases* risk of death. \n\n\n## Predictions from model without \"malnut\"\n\n\n* A few (rows of original dataframe) chosen \"at random\":\n\n\\tiny\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% slice(c(4, 1, 2, 11, 32)) -> new\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, conf.low, conf.high, shock:bowelinf)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n## Comments \n\n* Survival chances pretty good if no risk factors, though decreasing with age.\n\n* Having more than one risk factor reduces survival chances dramatically.\n\n* Usually good job of predicting survival; sometimes death predicted to survive.\n\n## Another way to assess effects\n\nof `age`:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = sepsis.2, age = seq(30, 70, 10))\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n## Assessing age effect \n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, shock:age)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Assessing shock effect\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(shock = c(0, 1), model = sepsis.2)\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, death:shock)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n## Assessing proportionality of odds for age\n\n\n* An assumption we made is that log-odds of survival depends\nlinearly on age.\n\n* Hard to get your head around, but \nbasic idea is that survival chances go continuously up (or down)\nwith age, instead of (for example) going up and then down.\n\n* In this case, seems reasonable, but should check:\n\n\n## Residuals vs.\\ age\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 %>% augment(sepsis) %>% \n ggplot(aes(x = age, y = .resid)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/virtusentella-1.png){width=960}\n:::\n:::\n\n \n## Comments\n\n* No apparent problems overall.\n\n* Confusing \"line\" across: no risk factors, survived. \n\n\n\n## Probability and odds\n\n* For probability $p$, odds is $p/(1-p)$:\n\n\n \\begin{tabular}{rrrl}\n \\hline\n Prob.\\ & Odds & log-odds & in words\\\\\n \\hline\n 0.5 & $0.5/0.5=1/1=1.00$ & $0.00$ & ``even money''\\\\\n 0.1 & $0.1/0.9=1/9=0.11$ & $-2.20$ & ``9 to 1''\\\\\n 0.4 & $0.4/0.6=1/1.5=0.67$ & $-0.41$ & ``1.5 to 1''\\\\\n 0.8 & $0.8/0.2=4/1=4.00$ & $1.39$ & ``4 to 1 on''\\\\\n \\hline\n \\end{tabular}\n\n\n* Gamblers use odds: if you win at 9 to 1 odds, get original\nstake back plus 9 times the stake.\n\n* Probability has to be between 0 and 1\n\n* Odds between 0 and infinity\n\n* *Log*-odds can be anything: any log-odds corresponds to\nvalid probability.\n\n\n\n## Odds ratio\n\n\n* Suppose 90 of 100 men drank wine last week, but only 20 of 100 women.\n\n* Prob of man drinking wine $90/100=0.9$, woman $20/100=0.2$.\n\n* Odds of man drinking wine $0.9/0.1=9$, woman $0.2/0.8=0.25$.\n\n* Ratio of odds is $9/0.25=36$.\n\n* Way of quantifying difference between men and women: ``odds of\ndrinking wine 36 times larger for males than females''. \n\n\n\n## Sepsis data again\n\n\n* Recall prediction of probability of death from risk factors:\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy <- tidy(sepsis.2)\nsepsis.2.tidy\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n* Slopes in column `estimate`.\n\n\n\n## Multiplying the odds\n\n\n* Can interpret slopes by taking \"exp\" of them. We ignore intercept.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy %>% \n mutate(exp_coeff=exp(estimate)) %>% \n select(term, exp_coeff)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Interpretation\n\n\\small\n\n::: {.cell}\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n* These say \"how much do you *multiply* odds of death by\nfor increase of 1 in corresponding risk factor?\" Or, what is odds\nratio for that factor being 1 (present) vs.\\ 0 (absent)?\n\n* Eg.\\ being alcoholic vs.\\ not increases odds of death by 24 times\n\n* One year older multiplies odds by about 1.1 times. Over 40 years,\nabout $1.09^{40}=31$ times. \n\n\n\n## Odds ratio and relative risk\n\n\n* **Relative risk** is ratio of probabilities.\n\n* Above: 90 of 100 men (0.9) drank wine, 20 of 100 women (0.2).\n\n* Relative risk 0.9/0.2=4.5. (odds ratio was 36).\n\n* When probabilities small, relative risk and odds ratio similar.\n\n* Eg.\\ prob of man having disease 0.02, woman 0.01.\n\n* Relative risk $0.02/0.01=2$.\n\n## Odds ratio vs.\\ relative risk\n\n- Odds for men and for women:\n\n\n::: {.cell}\n\n```{.r .cell-code}\n(od1 <- 0.02 / 0.98) # men\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.02040816\n```\n:::\n\n```{.r .cell-code}\n(od2 <- 0.01 / 0.99) # women\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.01010101\n```\n:::\n:::\n\n\n- Odds ratio \n\n\n::: {.cell}\n\n```{.r .cell-code}\nod1 / od2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 2.020408\n```\n:::\n:::\n\n\n\n- Very close to relative risk of 2.\n\n\n## More than 2 response categories\n\n\n* With 2 response categories, model the probability of one, and prob of other is one minus that. So doesn't matter which category you model.\n\n* With more than 2 categories, have to think more carefully about the categories: are they\n\n\n* *ordered*: you can put them in a natural order (like low, medium, high)\n\n* *nominal*: ordering the categories doesn't make sense (like red, green, blue).\n\n\n* R handles both kinds of response; learn how.\n\n\n\n## Ordinal response: the miners\n\n\n* \nModel probability of being in given category *or lower*.\n\n* Example: coal-miners often suffer disease pneumoconiosis. Likelihood of disease believed to be greater \namong miners who have worked longer. \n\n* Severity of disease measured on categorical scale: none,\nmoderate, severe.\n\n## Miners data\n\n* Data are frequencies:\n\n```\nExposure None Moderate Severe\n5.8 98 0 0\n15.0 51 2 1\n21.5 34 6 3\n27.5 35 5 8\n33.5 32 10 9\n39.5 23 7 8\n46.0 12 6 10\n51.5 4 2 5\n```\n\n\n\n\n## Reading the data\n\nData in aligned columns with more than one space between, so: \n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/miners-tab.txt\"\nfreqs <- read_table(my_url)\n```\n:::\n\n\\normalsize\n\n\n## The data\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n## Tidying \n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>%\n pivot_longer(-Exposure, names_to = \"Severity\", values_to = \"Freq\") %>%\n mutate(Severity = fct_inorder(Severity)) -> miners\n```\n:::\n\n\n \n\n\n## Result\n\n\\tiny\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n \n\n\n## Plot proportions against exposure\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nminers %>% \n group_by(Exposure) %>% \n mutate(proportion = Freq / sum(Freq)) -> prop\nggplot(prop, aes(x = Exposure, y = proportion,\n colour = Severity)) + \n geom_point() + geom_smooth(se = F)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/bLogistic-28-1.png){width=960}\n:::\n:::\n\n\\normalsize\n\n\n## Reminder of data setup\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\\normalsize\n\n\n\n## Fitting ordered logistic model\n\nUse function `polr` from package `MASS`. Like `glm`.\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners\n)\n```\n:::\n\n \n\n\n## Output: not very illuminating\n\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners,\n Hess = TRUE\n)\n```\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(sev.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\npolr(formula = Severity ~ Exposure, data = miners, weights = Freq, \n Hess = TRUE)\n\nCoefficients:\n Value Std. Error t value\nExposure 0.0959 0.01194 8.034\n\nIntercepts:\n Value Std. Error t value\nNone|Moderate 3.9558 0.4097 9.6558\nModerate|Severe 4.8690 0.4411 11.0383\n\nResidual Deviance: 416.9188 \nAIC: 422.9188 \n```\n:::\n:::\n\n\\normalsize\n \n\n## Does exposure have an effect?\nFit model without `Exposure`, and compare\nusing `anova`. Note `1` for model with just intercept:\n\n\n::: {.cell}\n\n:::\n\n\n \n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.0 <- polr(Severity ~ 1, weights = Freq, data = miners)\nanova(sev.0, sev.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\nExposure definitely has effect on severity of disease. \n\n\n## Another way\n\n\n* What (if anything) can we drop from model with `exposure`?\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(sev.1, test = \"Chisq\")\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n* Nothing. Exposure definitely has effect.\n\n\n\n## Predicted probabilities 1/2\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>% select(Exposure) -> new\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n## Predicted probabilities 2/2\n\n\\small\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sev.1, newdata = new)) %>%\n select(group, estimate, Exposure) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n## Plot of predicted probabilities\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(model = sev.1, condition = c(\"Exposure\", \"group\"),\n type = \"probs\") +\n geom_point(data = prop, aes(x = Exposure, y = proportion, \n colour = Severity)) -> ggg\n```\n:::\n\n\n## The graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\nggg\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-11-1.png){width=960}\n:::\n:::\n\n\n\n## Comments\n\n\n* Model appears to match data well enough.\n\n- As exposure goes up, prob of None\ngoes down, Severe goes up (sharply for high exposure).\n\n- So more exposure means worse disease.\n\n\n## Unordered responses\n\n\n* With unordered (nominal) responses, can use *generalized logit*.\n\n* Example: 735 people, record age and sex (male 0, female 1), which of 3 brands of some product preferred.\n\n* Data in `mlogit.csv` separated by commas (so\n`read_csv` will work):\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/mlogit.csv\"\nbrandpref <- read_csv(my_url)\n```\n:::\n\n \n\n\n\n\n## The data (some)\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n\n## Bashing into shape\n\n\n* `sex` and `brand` not meaningful as numbers, so\nturn into factors:\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n mutate(sex = ifelse(sex == 1, \"female\", \"male\"), \n sex = factor(sex),\n brand = factor(brand)\n ) -> brandpref\n```\n:::\n\n \n \n## Fitting model \n\n* We use `multinom` from package `nnet`. Works\nlike `polr`.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.1 <- multinom(brand ~ age + sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 12 (6 variable)\ninitial value 807.480032 \niter 10 value 702.990572\nfinal value 702.970704 \nconverged\n```\n:::\n:::\n\n \n\n\n## Can we drop anything?\n\n\n* Unfortunately `drop1` seems not to work:\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(brands.1, test = \"Chisq\", trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \n```\n:::\n\n::: {.cell-output .cell-output-error}\n```\nError in if (trace) {: argument is not interpretable as logical\n```\n:::\n:::\n\n\n* So, fall back on fitting model without what you want to test, and\ncomparing using `anova`. \n\n\n\n## Do age/sex help predict brand? 1/3\n\nFit models without each of age and sex:\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.2 <- multinom(brand ~ age, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \niter 10 value 706.796323\niter 10 value 706.796322\nfinal value 706.796322 \nconverged\n```\n:::\n\n```{.r .cell-code}\nbrands.3 <- multinom(brand ~ sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \nfinal value 791.861266 \nconverged\n```\n:::\n:::\n\n \n\n\n## Do age/sex help predict brand? 2/3\n\n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(brands.2, brands.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n\n```{.r .cell-code}\nanova(brands.3, brands.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\n\n## Do age/sex help predict brand? 3/3\n\n\n* `age` definitely significant (second `anova`)\n\n* `sex` significant also (first `anova`), though P-value less dramatic\n\n* Keep both.\n- Expect to see a large effect of `age`, and a smaller one of `sex`.\n\n\n\n\n## Another way to build model\n\n\n* Start from model with everything and run `step`:\n\n\n::: {.cell}\n\n:::\n\n\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nstep(brands.1, trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \ntrying - sex \n```\n:::\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\nmultinom(formula = brand ~ age + sex)\n\nCoefficients:\n (Intercept) age sexmale\n2 -11.25127 0.3682202 -0.5237736\n3 -22.25571 0.6859149 -0.4658215\n\nResidual Deviance: 1405.941 \nAIC: 1417.941 \n```\n:::\n:::\n\n\\normalsize\n \n\n* Final model contains both `age` and `sex` so neither\ncould be removed.\n\n\n## Making predictions\n\nFind age 5-number summary, and the two sexes:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n brand sex age \n 1:207 female:466 Min. :24.0 \n 2:307 male :269 1st Qu.:32.0 \n 3:221 Median :32.0 \n Mean :32.9 \n 3rd Qu.:34.0 \n Max. :38.0 \n```\n:::\n:::\n\n\nSpace the ages out a bit for prediction (see over).\n\n\\normalsize\n\n## Combinations\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(age = c(24, 30, 33, 35, 38), \n sex = c(\"female\", \"male\"), model = brands.1)\nnew\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## The predictions\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(brands.1, newdata = new)) %>%\n select(group, estimate, age, sex) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n## Comments\n\n* Young males prefer brand 1, \nbut older males prefer brand 3.\n\n* Females similar, but like brand 1 less and\nbrand 2 more.\n\n- A clear `brand` effect, but the `sex` effect is less clear. \n\n## Making a plot\n\n- `plot_predictions` doesn't quite work\n- so don't draw, edit, *then* make graph:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(brands.1, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g\n```\n:::\n\n\n## The graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-16-1.png){width=960}\n:::\n:::\n\n \n\n## Digesting the plot\n\n\n* Brand vs.\\ age: younger people (of both genders) prefer brand\n1, but older people (of both genders) prefer brand 3. (Explains\nsignificant age effect.)\n\n* Brand vs.\\ sex: females (solid) like brand 1 less than males\n(dashed), like brand 2 more (for all ages). \n\n* Not much brand difference between genders (solid and dashed\nlines of same colours close), but enough to be significant.\n\n* Model didn't include interaction, so modelled effect of gender\non brand same for each age, modelled effect of age same for each\ngender. (See also later.) \n\n\n## Alternative data format\n\nSummarize all people of same brand preference, same sex, same age on one line of data file with frequency on end:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n\n```\n1 0 24 1\n1 0 26 2\n1 0 27 4\n1 0 28 4\n1 0 29 7\n1 0 30 3\n...\n```\n\nWhole data set in 65 lines not 735! But how?\n\n\n## Getting alternative data format\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n group_by(age, sex, brand) %>%\n summarize(Freq = n()) %>%\n ungroup() -> b\nb\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\n## Fitting models, almost the same\n\n\n* Just have to remember `weights` to incorporate\nfrequencies.\n\n* Otherwise `multinom` assumes you have just 1 obs\non each line!\n\n* Again turn (numerical) `sex` and `brand` into factors:\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nb %>%\n mutate(sex = factor(sex)) %>%\n mutate(brand = factor(brand)) -> bf\nb.1 <- multinom(brand ~ age + sex, data = bf, weights = Freq)\nb.2 <- multinom(brand ~ age, data = bf, weights = Freq)\n```\n:::\n\n\\normalsize\n\n\n\n## P-value for `sex` identical\n\n\\footnotesize\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(b.2, b.1)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\\normalsize\n\nSame P-value as before, so we haven't changed anything important.\n\n\n\n\n## Trying interaction between age and gender\n\n\n::: {.cell}\n\n:::\n\n\n \n\\scriptsize\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.4 <- update(brands.1, . ~ . + age:sex)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 15 (8 variable)\ninitial value 807.480032 \niter 10 value 703.191146\niter 20 value 702.572260\niter 30 value 702.570900\niter 30 value 702.570893\niter 30 value 702.570893\nfinal value 702.570893 \nconverged\n```\n:::\n\n```{.r .cell-code}\nanova(brands.1, brands.4)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
\n \n
\n`````\n:::\n:::\n\n\n \n\\normalsize\n\n* No evidence that effect of age on brand preference differs for\nthe two genders.\n\n## Make graph again\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(brands.4, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g4\n```\n:::\n\n\n\n## Not much difference in the graph\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng4\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-19-1.png){width=960}\n:::\n:::\n\n\n## Compare model without interaction\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-revealjs/unnamed-chunk-20-1.png){width=960}\n:::\n:::\n", "supporting": [ "logistic_files/figure-revealjs" ], diff --git a/_freeze/logistic/execute-results/tex.json b/_freeze/logistic/execute-results/tex.json index d733b5f..3b008bf 100644 --- a/_freeze/logistic/execute-results/tex.json +++ b/_freeze/logistic/execute-results/tex.json @@ -1,7 +1,7 @@ { - "hash": "d00d4260f0342837f54c858773a0870d", + "hash": "e6b7540e15c08007b53f23b153419a27", "result": { - "markdown": "---\ntitle: \"Logistic Regression\"\n---\n\n\n\n\n## Logistic regression\n\n\n* When response variable is measured/counted, regression can work well.\n\n* But what if response is yes/no, lived/died, success/failure?\n\n* Model *probability* of success.\n\n* Probability must be between 0 and 1; need method that ensures this.\n\n* *Logistic regression* does this. In R, is a\n*generalized linear model* with binomial \"family\": \n\n\n::: {.cell}\n\n```{.r .cell-code}\nglm(y ~ x, family=\"binomial\")\n```\n:::\n\n\n\n\n* Begin with simplest case.\n\n\n\n## Packages\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(MASS)\nlibrary(tidyverse)\nlibrary(marginaleffects)\nlibrary(broom)\nlibrary(nnet)\nlibrary(conflicted)\nconflict_prefer(\"select\", \"dplyr\")\nconflict_prefer(\"filter\", \"dplyr\")\nconflict_prefer(\"rename\", \"dplyr\")\nconflict_prefer(\"summarize\", \"dplyr\")\n```\n:::\n\n\n\n \n\n\n## The rats, part 1\n\n\n* Rats given dose of some poison; either live or die:\n\n\\small\n```\ndose status\n0 lived\n1 died\n2 lived\n3 lived\n4 died\n5 died\n```\n\n\\normalsize\n\n## Read in: \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat.txt\"\nrats <- read_delim(my_url, \" \")\nrats\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n dose status\n \n1 0 lived \n2 1 died \n3 2 lived \n4 3 lived \n5 4 died \n6 5 died \n```\n:::\n:::\n\n\n \n\n\n## Basic logistic regression\n\n\n* Make response into a factor first:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrats2 <- rats %>% mutate(status = factor(status))\n```\n:::\n\n\n\\normalsize\n \n\n\n* then fit model:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nstatus.1 <- glm(status ~ dose, family = \"binomial\", data = rats2)\n```\n:::\n\n\n\\normalsize\n \n\n \n\n\n## Output\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(status.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = status ~ dose, family = \"binomial\", data = rats2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 1.6841 1.7979 0.937 0.349\ndose -0.6736 0.6140 -1.097 0.273\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 8.3178 on 5 degrees of freedom\nResidual deviance: 6.7728 on 4 degrees of freedom\nAIC: 10.773\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Interpreting the output\n\n\n* Like (multiple) regression, get\ntests of significance of individual $x$'s\n\n* Here not significant (only 6 observations).\n\n* \"Slope\" for dose is negative, meaning that as dose increases, probability of event modelled (survival) decreases.\n\n\n\n\n\n## Output part 2: predicted survival probs\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(status.1)) %>% \n select(dose, estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n dose estimate\n1 0 0.8434490\n2 1 0.7331122\n3 2 0.5834187\n4 3 0.4165813\n5 4 0.2668878\n6 5 0.1565510\n```\n:::\n:::\n\n\n\\normalsize \n\n## On a graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(status.1, condition = \"dose\")\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-1-1.pdf)\n:::\n:::\n\n\n\n\n## The rats, more\n\n\n* More realistic: more rats at each dose (say 10).\n\n* Listing each rat on one line makes a big data file.\n\n* Use format below: dose, number of survivals, number of deaths.\n\n```\n\ndose lived died\n0 10 0\n1 7 3 \n2 6 4 \n3 4 6 \n4 2 8 \n5 1 9 \n\n```\n\n\n* 6 lines of data correspond to 60 actual rats.\n\n* Saved in `rat2.txt`.\n\n\n\n## These data\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat2.txt\"\nrat2 <- read_delim(my_url, \" \")\nrat2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 3\n dose lived died\n \n1 0 10 0\n2 1 7 3\n3 2 6 4\n4 3 4 6\n5 4 2 8\n6 5 1 9\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Create response matrix:\n\n- Each row contains *multiple* observations.\n- Create *two-column* response:\n - \\#survivals in first column, \n - \\#deaths in second.\n\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nresponse <- with(rat2, cbind(lived, died))\nresponse\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n lived died\n[1,] 10 0\n[2,] 7 3\n[3,] 6 4\n[4,] 4 6\n[5,] 2 8\n[6,] 1 9\n```\n:::\n:::\n\n\n\\normalsize\n\n- Response is R `matrix`:\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclass(response)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] \"matrix\" \"array\" \n```\n:::\n:::\n\n\n\\normalsize\n\n \n## Fit logistic regression\n\n- using response you just made:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrat2.1 <- glm(response ~ dose,\n family = \"binomial\",\n data = rat2\n)\n```\n:::\n\n\n\n\n\n\n## Output\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(rat2.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = response ~ dose, family = \"binomial\", data = rat2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) 2.3619 0.6719 3.515 0.000439 ***\ndose -0.9448 0.2351 -4.018 5.87e-05 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 27.530 on 5 degrees of freedom\nResidual deviance: 2.474 on 4 degrees of freedom\nAIC: 18.94\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Predicted survival probs\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = rat2.1, dose = 0:5)\ncbind(predictions(rat2.1, newdata = new))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n rowid estimate p.value s.value conf.low conf.high dose\n1 1 0.9138762 0.0004389651 11.153606 0.73983042 0.9753671 0\n2 2 0.8048905 0.0031438277 8.313262 0.61695841 0.9135390 1\n3 3 0.6159474 0.1721141940 2.538562 0.44876099 0.7595916 2\n4 4 0.3840526 0.1721142921 2.538561 0.24040837 0.5512390 3\n5 5 0.1951095 0.0031438384 8.313257 0.08646093 0.3830417 4\n6 6 0.0861238 0.0004389668 11.153600 0.02463288 0.2601697 5\n```\n:::\n:::\n\n\n \n\n## On a picture\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(rat2.1, newdata = new)) %>% \n select(estimate, conf.low, conf.high, dose) %>% \n ggplot(aes(x = dose, y = estimate, \n ymin = conf.low, ymax = conf.high)) + \n geom_line() + geom_ribbon(alpha = 0.3)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-2-1.pdf)\n:::\n:::\n\n\n\n\n## Comments\n\n\n\n* Significant effect of dose. \n\n* Effect of larger dose is to *decrease* survival probability\n(\"slope\" negative; also see in decreasing predictions.)\n\n* Confidence intervals around prediction narrower (more data).\n\n## Multiple logistic regression\n\n\n* With more than one $x$, works much like multiple regression.\n\n* Example: study of patients with blood poisoning severe enough to warrant surgery. Relate survival to other potential risk factors.\n\n* Variables, 1=present, 0=absent:\n\n\n * survival (death from sepsis=1), response\n * shock\n * malnutrition\n * alcoholism\n * age (as numerical variable)\n * bowel infarction\n\n\n* See what relates to death.\n\n\n\n## Read in data\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \n \"http://ritsokiguess.site/datafiles/sepsis.txt\"\nsepsis <- read_delim(my_url, \" \")\n```\n:::\n\n\n \n## Make sure categoricals really are\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% \n mutate(across(-age, \\(x) factor(x))) -> sepsis\n```\n:::\n\n\n\n\n## The data (some)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 106 x 6\n death shock malnut alcohol age bowelinf\n \n 1 0 0 0 0 56 0 \n 2 0 0 0 0 80 0 \n 3 0 0 0 0 61 0 \n 4 0 0 0 0 26 0 \n 5 0 0 0 0 53 0 \n 6 1 0 1 0 87 0 \n 7 0 0 0 0 21 0 \n 8 1 0 0 1 69 0 \n 9 0 0 0 0 57 0 \n10 0 0 1 0 76 0 \n# i 96 more rows\n```\n:::\n:::\n\n\n\n \n\n\n## Fit model\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.1 <- glm(death ~ shock + malnut + alcohol + age +\n bowelinf,\nfamily = \"binomial\",\ndata = sepsis\n)\n```\n:::\n\n\n\n \n\n\n## Output part 1\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(sepsis.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) -9.75 2.54 -3.84 0.000124\n2 shock1 3.67 1.16 3.15 0.00161 \n3 malnut1 1.22 0.728 1.67 0.0948 \n4 alcohol1 3.35 0.982 3.42 0.000635\n5 age 0.0922 0.0303 3.04 0.00237 \n6 bowelinf1 2.80 1.16 2.40 0.0162 \n```\n:::\n:::\n\n\n \n\n\n\n* All P-values fairly small\n\n* but `malnut` not significant: remove.\n\n\n\n## Removing `malnut`\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 <- update(sepsis.1, . ~ . - malnut)\ntidy(sepsis.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) -8.89 2.32 -3.84 0.000124\n2 shock1 3.70 1.10 3.35 0.000797\n3 alcohol1 3.19 0.917 3.47 0.000514\n4 age 0.0898 0.0292 3.07 0.00211 \n5 bowelinf1 2.39 1.07 2.23 0.0260 \n```\n:::\n:::\n\n\n \n\n\n\n* Everything significant now.\n\n\n\n## Comments\n\n\n* Most of the original $x$'s helped predict death. Only `malnut` seemed not to add anything.\n\n* Removed `malnut` and tried again.\n\n* Everything remaining is significant (though `bowelinf`\nactually became *less* significant).\n\n* All coefficients are *positive*, so having any of the risk\nfactors (or being older)\n*increases* risk of death. \n\n\n## Predictions from model without \"malnut\"\n\n\n* A few (rows of original dataframe) chosen \"at random\":\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% slice(c(4, 1, 2, 11, 32)) -> new\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 6\n death shock malnut alcohol age bowelinf\n \n1 0 0 0 0 26 0 \n2 0 0 0 0 56 0 \n3 0 0 0 0 80 0 \n4 1 0 0 1 66 1 \n5 1 0 0 1 49 0 \n```\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, conf.low, conf.high, shock:bowelinf)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n estimate conf.low conf.high shock malnut alcohol age bowelinf\n1 0.001415347 6.272642e-05 0.03103047 0 0 0 26 0\n2 0.020552383 4.102504e-03 0.09656596 0 0 0 56 0\n3 0.153416834 5.606838e-02 0.35603441 0 0 0 80 0\n4 0.931290137 5.490986e-01 0.99341482 0 0 1 66 1\n5 0.213000997 7.639063e-02 0.46967947 0 0 1 49 0\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Comments \n\n* Survival chances pretty good if no risk factors, though decreasing with age.\n\n* Having more than one risk factor reduces survival chances dramatically.\n\n* Usually good job of predicting survival; sometimes death predicted to survive.\n\n## Another way to assess effects\n\nof `age`:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = sepsis.2, age = seq(30, 70, 10))\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n death shock alcohol bowelinf age\n1 0 0 0 0 30\n2 0 0 0 0 40\n3 0 0 0 0 50\n4 0 0 0 0 60\n5 0 0 0 0 70\n```\n:::\n:::\n\n\n\n\n## Assessing age effect \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, shock:age)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n estimate shock alcohol bowelinf age\n1 0.002026053 0 0 0 30\n2 0.004960283 0 0 0 40\n3 0.012092515 0 0 0 50\n4 0.029179226 0 0 0 60\n5 0.068729752 0 0 0 70\n```\n:::\n:::\n\n\n\n## Assessing shock effect\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(shock = c(0, 1), model = sepsis.2)\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n death alcohol age bowelinf shock\n1 0 0 51.28302 0 0\n2 0 0 51.28302 0 1\n```\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, death:shock)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n estimate death alcohol age bowelinf shock\n1 0.01354973 0 0 51.28302 0 0\n2 0.35742607 0 0 51.28302 0 1\n```\n:::\n:::\n\n\n\\normalsize\n\n## Assessing proportionality of odds for age\n\n\n* An assumption we made is that log-odds of survival depends\nlinearly on age.\n\n* Hard to get your head around, but \nbasic idea is that survival chances go continuously up (or down)\nwith age, instead of (for example) going up and then down.\n\n* In this case, seems reasonable, but should check:\n\n\n## Residuals vs.\\ age\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 %>% augment(sepsis) %>% \n ggplot(aes(x = age, y = .resid)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/virtusentella-1.pdf)\n:::\n:::\n\n\n \n## Comments\n\n* No apparent problems overall.\n\n* Confusing \"line\" across: no risk factors, survived. \n\n\n\n## Probability and odds\n\n* For probability $p$, odds is $p/(1-p)$:\n\n\n \\begin{tabular}{rrrl}\n \\hline\n Prob.\\ & Odds & log-odds & in words\\\\\n \\hline\n 0.5 & $0.5/0.5=1/1=1.00$ & $0.00$ & ``even money''\\\\\n 0.1 & $0.1/0.9=1/9=0.11$ & $-2.20$ & ``9 to 1''\\\\\n 0.4 & $0.4/0.6=1/1.5=0.67$ & $-0.41$ & ``1.5 to 1''\\\\\n 0.8 & $0.8/0.2=4/1=4.00$ & $1.39$ & ``4 to 1 on''\\\\\n \\hline\n \\end{tabular}\n\n\n* Gamblers use odds: if you win at 9 to 1 odds, get original\nstake back plus 9 times the stake.\n\n* Probability has to be between 0 and 1\n\n* Odds between 0 and infinity\n\n* *Log*-odds can be anything: any log-odds corresponds to\nvalid probability.\n\n\n\n## Odds ratio\n\n\n* Suppose 90 of 100 men drank wine last week, but only 20 of 100 women.\n\n* Prob of man drinking wine $90/100=0.9$, woman $20/100=0.2$.\n\n* Odds of man drinking wine $0.9/0.1=9$, woman $0.2/0.8=0.25$.\n\n* Ratio of odds is $9/0.25=36$.\n\n* Way of quantifying difference between men and women: ``odds of\ndrinking wine 36 times larger for males than females''. \n\n\n\n## Sepsis data again\n\n\n* Recall prediction of probability of death from risk factors:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy <- tidy(sepsis.2)\nsepsis.2.tidy\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) -8.89 2.32 -3.84 0.000124\n2 shock1 3.70 1.10 3.35 0.000797\n3 alcohol1 3.19 0.917 3.47 0.000514\n4 age 0.0898 0.0292 3.07 0.00211 \n5 bowelinf1 2.39 1.07 2.23 0.0260 \n```\n:::\n:::\n\n\n\n \n\n\n* Slopes in column `estimate`.\n\n\n\n## Multiplying the odds\n\n\n* Can interpret slopes by taking \"exp\" of them. We ignore intercept.\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy %>% \n mutate(exp_coeff=exp(estimate)) %>% \n select(term, exp_coeff)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 2\n term exp_coeff\n \n1 (Intercept) 0.000137\n2 shock1 40.5 \n3 alcohol1 24.2 \n4 age 1.09 \n5 bowelinf1 10.9 \n```\n:::\n:::\n\n\n\n## Interpretation\n\n\\small\n\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 2\n term exp_coeff\n \n1 (Intercept) 0.000137\n2 shock1 40.5 \n3 alcohol1 24.2 \n4 age 1.09 \n5 bowelinf1 10.9 \n```\n:::\n:::\n\n\n\\normalsize\n\n\n* These say \"how much do you *multiply* odds of death by\nfor increase of 1 in corresponding risk factor?\" Or, what is odds\nratio for that factor being 1 (present) vs.\\ 0 (absent)?\n\n* Eg.\\ being alcoholic vs.\\ not increases odds of death by 24 times\n\n* One year older multiplies odds by about 1.1 times. Over 40 years,\nabout $1.09^{40}=31$ times. \n\n\n\n## Odds ratio and relative risk\n\n\n* **Relative risk** is ratio of probabilities.\n\n* Above: 90 of 100 men (0.9) drank wine, 20 of 100 women (0.2).\n\n* Relative risk 0.9/0.2=4.5. (odds ratio was 36).\n\n* When probabilities small, relative risk and odds ratio similar.\n\n* Eg.\\ prob of man having disease 0.02, woman 0.01.\n\n* Relative risk $0.02/0.01=2$.\n\n## Odds ratio vs.\\ relative risk\n\n- Odds for men and for women:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n(od1 <- 0.02 / 0.98) # men\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.02040816\n```\n:::\n\n```{.r .cell-code}\n(od2 <- 0.01 / 0.99) # women\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.01010101\n```\n:::\n:::\n\n\n\n- Odds ratio \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nod1 / od2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 2.020408\n```\n:::\n:::\n\n\n\n\n- Very close to relative risk of 2.\n\n\n## More than 2 response categories\n\n\n* With 2 response categories, model the probability of one, and prob of other is one minus that. So doesn't matter which category you model.\n\n* With more than 2 categories, have to think more carefully about the categories: are they\n\n\n* *ordered*: you can put them in a natural order (like low, medium, high)\n\n* *nominal*: ordering the categories doesn't make sense (like red, green, blue).\n\n\n* R handles both kinds of response; learn how.\n\n\n\n## Ordinal response: the miners\n\n\n* \nModel probability of being in given category *or lower*.\n\n* Example: coal-miners often suffer disease pneumoconiosis. Likelihood of disease believed to be greater \namong miners who have worked longer. \n\n* Severity of disease measured on categorical scale: none,\nmoderate, severe.\n\n## Miners data\n\n* Data are frequencies:\n\n```\nExposure None Moderate Severe\n5.8 98 0 0\n15.0 51 2 1\n21.5 34 6 3\n27.5 35 5 8\n33.5 32 10 9\n39.5 23 7 8\n46.0 12 6 10\n51.5 4 2 5\n```\n\n\n\n\n## Reading the data\n\nData in aligned columns with more than one space between, so: \n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/miners-tab.txt\"\nfreqs <- read_table(my_url)\n```\n:::\n\n\n\\normalsize\n\n\n## The data\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 4\n Exposure None Moderate Severe\n \n1 5.8 98 0 0\n2 15 51 2 1\n3 21.5 34 6 3\n4 27.5 35 5 8\n5 33.5 32 10 9\n6 39.5 23 7 8\n7 46 12 6 10\n8 51.5 4 2 5\n```\n:::\n:::\n\n\n\n \n\n\n## Tidying \n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>%\n pivot_longer(-Exposure, names_to = \"Severity\", values_to = \"Freq\") %>%\n mutate(Severity = fct_inorder(Severity)) -> miners\n```\n:::\n\n\n\n \n\n\n## Result\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 24 x 3\n Exposure Severity Freq\n \n 1 5.8 None 98\n 2 5.8 Moderate 0\n 3 5.8 Severe 0\n 4 15 None 51\n 5 15 Moderate 2\n 6 15 Severe 1\n 7 21.5 None 34\n 8 21.5 Moderate 6\n 9 21.5 Severe 3\n10 27.5 None 35\n# i 14 more rows\n```\n:::\n:::\n\n\n\\normalsize\n \n\n\n## Plot proportions against exposure\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nminers %>% \n group_by(Exposure) %>% \n mutate(proportion = Freq / sum(Freq)) -> prop\nggplot(prop, aes(x = Exposure, y = proportion,\n colour = Severity)) + \n geom_point() + geom_smooth(se = F)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/bLogistic-28-1.pdf)\n:::\n:::\n\n\n\\normalsize\n\n\n## Reminder of data setup\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 24 x 3\n Exposure Severity Freq\n \n 1 5.8 None 98\n 2 5.8 Moderate 0\n 3 5.8 Severe 0\n 4 15 None 51\n 5 15 Moderate 2\n 6 15 Severe 1\n 7 21.5 None 34\n 8 21.5 Moderate 6\n 9 21.5 Severe 3\n10 27.5 None 35\n# i 14 more rows\n```\n:::\n:::\n\n\n\n \n\\normalsize\n\n\n\n## Fitting ordered logistic model\n\nUse function `polr` from package `MASS`. Like `glm`.\n\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners\n)\n```\n:::\n\n\n \n\n\n## Output: not very illuminating\n\n\n\\scriptsize\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners,\n Hess = TRUE\n)\n```\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(sev.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\npolr(formula = Severity ~ Exposure, data = miners, weights = Freq, \n Hess = TRUE)\n\nCoefficients:\n Value Std. Error t value\nExposure 0.0959 0.01194 8.034\n\nIntercepts:\n Value Std. Error t value\nNone|Moderate 3.9558 0.4097 9.6558\nModerate|Severe 4.8690 0.4411 11.0383\n\nResidual Deviance: 416.9188 \nAIC: 422.9188 \n```\n:::\n:::\n\n\n\\normalsize\n \n\n## Does exposure have an effect?\nFit model without `Exposure`, and compare\nusing `anova`. Note `1` for model with just intercept:\n\n\n\n::: {.cell}\n\n:::\n\n\n\n \n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.0 <- polr(Severity ~ 1, weights = Freq, data = miners)\nanova(sev.0, sev.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of ordinal regression models\n\nResponse: Severity\n Model Resid. df Resid. Dev Test Df LR stat.\n1 1 369 505.1621 \n2 Exposure 368 416.9188 1 vs 2 1 88.24324\n Pr(Chi)\n1 \n2 0\n```\n:::\n:::\n\n\n\\normalsize\n\nExposure definitely has effect on severity of disease. \n\n\n## Another way\n\n\n* What (if anything) can we drop from model with `exposure`?\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(sev.1, test = \"Chisq\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nSingle term deletions\n\nModel:\nSeverity ~ Exposure\n Df AIC LRT Pr(>Chi) \n 422.92 \nExposure 1 509.16 88.243 < 2.2e-16 ***\n---\nSignif. codes: \n0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n```\n:::\n:::\n\n\n\n \n\n\n* Nothing. Exposure definitely has effect.\n\n\n\n## Predicted probabilities 1/2\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>% select(Exposure) -> new\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 1\n Exposure\n \n1 5.8\n2 15 \n3 21.5\n4 27.5\n5 33.5\n6 39.5\n7 46 \n8 51.5\n```\n:::\n:::\n\n\n\n\n## Predicted probabilities 2/2\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sev.1, newdata = new)) %>%\n select(group, estimate, Exposure) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 4\n Exposure None Moderate Severe\n \n1 5.8 0.968 0.0191 0.0132\n2 15 0.925 0.0433 0.0314\n3 21.5 0.869 0.0739 0.0569\n4 27.5 0.789 0.114 0.0969\n5 33.5 0.678 0.162 0.160 \n6 39.5 0.542 0.205 0.253 \n7 46 0.388 0.224 0.388 \n8 51.5 0.272 0.210 0.517 \n```\n:::\n:::\n\n\n\\normalsize\n\n## Plot of predicted probabilities\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(model = sev.1, condition = c(\"Exposure\", \"group\"),\n type = \"probs\") +\n geom_point(data = prop, aes(x = Exposure, y = proportion, \n colour = Severity)) -> ggg\n```\n:::\n\n\n\n## The graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nggg\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-11-1.pdf)\n:::\n:::\n\n\n\n\n## Comments\n\n\n* Model appears to match data well enough.\n\n- As exposure goes up, prob of None\ngoes down, Severe goes up (sharply for high exposure).\n\n- So more exposure means worse disease.\n\n\n## Unordered responses\n\n\n* With unordered (nominal) responses, can use *generalized logit*.\n\n* Example: 735 people, record age and sex (male 0, female 1), which of 3 brands of some product preferred.\n\n* Data in `mlogit.csv` separated by commas (so\n`read_csv` will work):\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/mlogit.csv\"\nbrandpref <- read_csv(my_url)\n```\n:::\n\n\n \n\n\n\n\n## The data (some)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 735 x 3\n brand sex age\n \n 1 1 0 24\n 2 1 0 26\n 3 1 0 26\n 4 1 1 27\n 5 1 1 27\n 6 3 1 27\n 7 1 0 27\n 8 1 0 27\n 9 1 1 27\n10 1 0 27\n# i 725 more rows\n```\n:::\n:::\n\n\n\n \n\n\n## Bashing into shape\n\n\n* `sex` and `brand` not meaningful as numbers, so\nturn into factors:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n mutate(sex = ifelse(sex == 1, \"female\", \"male\"), \n sex = factor(sex),\n brand = factor(brand)\n ) -> brandpref\n```\n:::\n\n\n \n \n## Fitting model \n\n* We use `multinom` from package `nnet`. Works\nlike `polr`.\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.1 <- multinom(brand ~ age + sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 12 (6 variable)\ninitial value 807.480032 \niter 10 value 702.990572\nfinal value 702.970704 \nconverged\n```\n:::\n:::\n\n\n \n\n\n## Can we drop anything?\n\n\n* Unfortunately `drop1` seems not to work:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(brands.1, test = \"Chisq\", trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \n```\n:::\n\n::: {.cell-output .cell-output-error}\n```\nError in if (trace) {: argument is not interpretable as logical\n```\n:::\n:::\n\n\n\n* So, fall back on fitting model without what you want to test, and\ncomparing using `anova`. \n\n\n\n## Do age/sex help predict brand? 1/3\n\nFit models without each of age and sex:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.2 <- multinom(brand ~ age, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \niter 10 value 706.796323\niter 10 value 706.796322\nfinal value 706.796322 \nconverged\n```\n:::\n\n```{.r .cell-code}\nbrands.3 <- multinom(brand ~ sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \nfinal value 791.861266 \nconverged\n```\n:::\n:::\n\n\n \n\n\n## Do age/sex help predict brand? 2/3\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(brands.2, brands.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df LR stat.\n1 age 1466 1413.593 \n2 age + sex 1464 1405.941 1 vs 2 2 7.651236\n Pr(Chi)\n1 \n2 0.02180496\n```\n:::\n\n```{.r .cell-code}\nanova(brands.3, brands.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df LR stat.\n1 sex 1466 1583.723 \n2 age + sex 1464 1405.941 1 vs 2 2 177.7811\n Pr(Chi)\n1 \n2 0\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Do age/sex help predict brand? 3/3\n\n\n* `age` definitely significant (second `anova`)\n\n* `sex` significant also (first `anova`), though P-value less dramatic\n\n* Keep both.\n- Expect to see a large effect of `age`, and a smaller one of `sex`.\n\n\n\n\n## Another way to build model\n\n\n* Start from model with everything and run `step`:\n\n\n\n::: {.cell}\n\n:::\n\n\n\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nstep(brands.1, trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \ntrying - sex \n```\n:::\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\nmultinom(formula = brand ~ age + sex)\n\nCoefficients:\n (Intercept) age sexmale\n2 -11.25127 0.3682202 -0.5237736\n3 -22.25571 0.6859149 -0.4658215\n\nResidual Deviance: 1405.941 \nAIC: 1417.941 \n```\n:::\n:::\n\n\n\\normalsize\n \n\n* Final model contains both `age` and `sex` so neither\ncould be removed.\n\n\n## Making predictions\n\nFind age 5-number summary, and the two sexes:\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n brand sex age \n 1:207 female:466 Min. :24.0 \n 2:307 male :269 1st Qu.:32.0 \n 3:221 Median :32.0 \n Mean :32.9 \n 3rd Qu.:34.0 \n Max. :38.0 \n```\n:::\n:::\n\n\n\nSpace the ages out a bit for prediction (see over).\n\n\\normalsize\n\n## Combinations\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(age = c(24, 30, 33, 35, 38), \n sex = c(\"female\", \"male\"), model = brands.1)\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n brand age sex\n1 2 24 female\n2 2 24 male\n3 2 30 female\n4 2 30 male\n5 2 33 female\n6 2 33 male\n7 2 35 female\n8 2 35 male\n9 2 38 female\n10 2 38 male\n```\n:::\n:::\n\n\n\n## The predictions\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(brands.1, newdata = new)) %>%\n select(group, estimate, age, sex) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 10 x 5\n age sex `1` `2` `3`\n \n 1 24 female 0.915 0.0819 0.00279\n 2 24 male 0.948 0.0502 0.00181\n 3 30 female 0.500 0.407 0.0933 \n 4 30 male 0.625 0.302 0.0732 \n 5 33 female 0.203 0.500 0.297 \n 6 33 male 0.296 0.432 0.272 \n 7 35 female 0.0840 0.432 0.484 \n 8 35 male 0.131 0.397 0.472 \n 9 38 female 0.0162 0.252 0.732 \n10 38 male 0.0260 0.239 0.735 \n```\n:::\n:::\n\n\n\n## Comments\n\n* Young males prefer brand 1, \nbut older males prefer brand 3.\n\n* Females similar, but like brand 1 less and\nbrand 2 more.\n\n- A clear `brand` effect, but the `sex` effect is less clear. \n\n## Making a plot\n\n- `plot_cap` doesn't quite work\n- so don't draw, edit, *then* make graph:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(brands.1, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g\n```\n:::\n\n\n\n## The graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-16-1.pdf)\n:::\n:::\n\n\n \n\n## Digesting the plot\n\n\n* Brand vs.\\ age: younger people (of both genders) prefer brand\n1, but older people (of both genders) prefer brand 3. (Explains\nsignificant age effect.)\n\n* Brand vs.\\ sex: females (solid) like brand 1 less than males\n(dashed), like brand 2 more (for all ages). \n\n* Not much brand difference between genders (solid and dashed\nlines of same colours close), but enough to be significant.\n\n* Model didn't include interaction, so modelled effect of gender\non brand same for each age, modelled effect of age same for each\ngender. (See also later.) \n\n\n## Alternative data format\n\nSummarize all people of same brand preference, same sex, same age on one line of data file with frequency on end:\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 735 x 3\n brand sex age\n \n 1 1 male 24\n 2 1 male 26\n 3 1 male 26\n 4 1 female 27\n 5 1 female 27\n 6 3 female 27\n 7 1 male 27\n 8 1 male 27\n 9 1 female 27\n10 1 male 27\n# i 725 more rows\n```\n:::\n:::\n\n\n\n\n```\n1 0 24 1\n1 0 26 2\n1 0 27 4\n1 0 28 4\n1 0 29 7\n1 0 30 3\n...\n```\n\nWhole data set in 65 lines not 735! But how?\n\n\n## Getting alternative data format\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n group_by(age, sex, brand) %>%\n summarize(Freq = n()) %>%\n ungroup() -> b\nb\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 65 x 4\n age sex brand Freq\n \n 1 24 male 1 1\n 2 26 male 1 2\n 3 27 female 1 4\n 4 27 female 3 1\n 5 27 male 1 4\n 6 28 female 1 6\n 7 28 female 2 2\n 8 28 female 3 1\n 9 28 male 1 4\n10 28 male 3 2\n# i 55 more rows\n```\n:::\n:::\n\n\n\n \n\n## Fitting models, almost the same\n\n\n* Just have to remember `weights` to incorporate\nfrequencies.\n\n* Otherwise `multinom` assumes you have just 1 obs\non each line!\n\n* Again turn (numerical) `sex` and `brand` into factors:\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nb %>%\n mutate(sex = factor(sex)) %>%\n mutate(brand = factor(brand)) -> bf\nb.1 <- multinom(brand ~ age + sex, data = bf, weights = Freq)\nb.2 <- multinom(brand ~ age, data = bf, weights = Freq)\n```\n:::\n\n\n\\normalsize\n\n\n\n## P-value for `sex` identical\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(b.2, b.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df LR stat.\n1 age 126 1413.593 \n2 age + sex 124 1405.941 1 vs 2 2 7.651236\n Pr(Chi)\n1 \n2 0.02180496\n```\n:::\n:::\n\n\n\\normalsize\n\nSame P-value as before, so we haven't changed anything important.\n\n\n\n\n## Trying interaction between age and gender\n\n\n\n::: {.cell}\n\n:::\n\n\n\n \n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.4 <- update(brands.1, . ~ . + age:sex)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 15 (8 variable)\ninitial value 807.480032 \niter 10 value 703.191146\niter 20 value 702.572260\niter 30 value 702.570900\niter 30 value 702.570893\niter 30 value 702.570893\nfinal value 702.570893 \nconverged\n```\n:::\n\n```{.r .cell-code}\nanova(brands.1, brands.4)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df\n1 age + sex 1464 1405.941 \n2 age + sex + age:sex 1462 1405.142 1 vs 2 2\n LR stat. Pr(Chi)\n1 \n2 0.7996223 0.6704466\n```\n:::\n:::\n\n\n\n \n\\normalsize\n\n* No evidence that effect of age on brand preference differs for\nthe two genders.\n\n## Make graph again\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_cap(brands.4, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g4\n```\n:::\n\n\n\n\n## Not much difference in the graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng4\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-19-1.pdf)\n:::\n:::\n\n\n\n## Compare model without interaction\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-20-1.pdf)\n:::\n:::\n", + "markdown": "---\ntitle: \"Logistic Regression\"\n---\n\n\n\n\n## Logistic regression\n\n\n* When response variable is measured/counted, regression can work well.\n\n* But what if response is yes/no, lived/died, success/failure?\n\n* Model *probability* of success.\n\n* Probability must be between 0 and 1; need method that ensures this.\n\n* *Logistic regression* does this. In R, is a\n*generalized linear model* with binomial \"family\": \n\n\n::: {.cell}\n\n```{.r .cell-code}\nglm(y ~ x, family=\"binomial\")\n```\n:::\n\n\n\n\n* Begin with simplest case.\n\n\n\n## Packages\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(MASS)\nlibrary(tidyverse)\nlibrary(marginaleffects)\nlibrary(broom)\nlibrary(nnet)\nlibrary(conflicted)\nconflict_prefer(\"select\", \"dplyr\")\nconflict_prefer(\"filter\", \"dplyr\")\nconflict_prefer(\"rename\", \"dplyr\")\nconflict_prefer(\"summarize\", \"dplyr\")\n```\n:::\n\n\n\n \n\n\n## The rats, part 1\n\n\n* Rats given dose of some poison; either live or die:\n\n\\small\n```\ndose status\n0 lived\n1 died\n2 lived\n3 lived\n4 died\n5 died\n```\n\n\\normalsize\n\n## Read in: \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat.txt\"\nrats <- read_delim(my_url, \" \")\nrats\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n dose status\n \n1 0 lived \n2 1 died \n3 2 lived \n4 3 lived \n5 4 died \n6 5 died \n```\n:::\n:::\n\n\n \n\n\n## Basic logistic regression\n\n\n* Make response into a factor first:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrats2 <- rats %>% mutate(status = factor(status))\n```\n:::\n\n\n\\normalsize\n \n\n\n* then fit model:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nstatus.1 <- glm(status ~ dose, family = \"binomial\", data = rats2)\n```\n:::\n\n\n\\normalsize\n \n\n \n\n\n## Output\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(status.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = status ~ dose, family = \"binomial\", data = rats2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 1.6841 1.7979 0.937 0.349\ndose -0.6736 0.6140 -1.097 0.273\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 8.3178 on 5 degrees of freedom\nResidual deviance: 6.7728 on 4 degrees of freedom\nAIC: 10.773\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Interpreting the output\n\n\n* Like (multiple) regression, get\ntests of significance of individual $x$'s\n\n* Here not significant (only 6 observations).\n\n* \"Slope\" for dose is negative, meaning that as dose increases, probability of event modelled (survival) decreases.\n\n\n\n\n\n## Output part 2: predicted survival probs\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(status.1)) %>% \n select(dose, estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n dose estimate\n1 0 0.8434490\n2 1 0.7331122\n3 2 0.5834187\n4 3 0.4165813\n5 4 0.2668878\n6 5 0.1565510\n```\n:::\n:::\n\n\n\\normalsize \n\n## On a graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(status.1, condition = \"dose\")\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-1-1.pdf)\n:::\n:::\n\n\n\n\n## The rats, more\n\n\n* More realistic: more rats at each dose (say 10).\n\n* Listing each rat on one line makes a big data file.\n\n* Use format below: dose, number of survivals, number of deaths.\n\n```\n\ndose lived died\n0 10 0\n1 7 3 \n2 6 4 \n3 4 6 \n4 2 8 \n5 1 9 \n\n```\n\n\n* 6 lines of data correspond to 60 actual rats.\n\n* Saved in `rat2.txt`.\n\n\n\n## These data\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/rat2.txt\"\nrat2 <- read_delim(my_url, \" \")\nrat2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 3\n dose lived died\n \n1 0 10 0\n2 1 7 3\n3 2 6 4\n4 3 4 6\n5 4 2 8\n6 5 1 9\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Create response matrix:\n\n- Each row contains *multiple* observations.\n- Create *two-column* response:\n - \\#survivals in first column, \n - \\#deaths in second.\n\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nresponse <- with(rat2, cbind(lived, died))\nresponse\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n lived died\n[1,] 10 0\n[2,] 7 3\n[3,] 6 4\n[4,] 4 6\n[5,] 2 8\n[6,] 1 9\n```\n:::\n:::\n\n\n\\normalsize\n\n- Response is R `matrix`:\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclass(response)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] \"matrix\" \"array\" \n```\n:::\n:::\n\n\n\\normalsize\n\n \n## Fit logistic regression\n\n- using response you just made:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrat2.1 <- glm(response ~ dose,\n family = \"binomial\",\n data = rat2\n)\n```\n:::\n\n\n\n\n\n\n## Output\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(rat2.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = response ~ dose, family = \"binomial\", data = rat2)\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) 2.3619 0.6719 3.515 0.000439 ***\ndose -0.9448 0.2351 -4.018 5.87e-05 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 27.530 on 5 degrees of freedom\nResidual deviance: 2.474 on 4 degrees of freedom\nAIC: 18.94\n\nNumber of Fisher Scoring iterations: 4\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Predicted survival probs\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = rat2.1, dose = 0:5)\ncbind(predictions(rat2.1, newdata = new))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n rowid estimate p.value s.value conf.low conf.high dose\n1 1 0.9138762 0.0004389651 11.153606 0.73983042 0.9753671 0\n2 2 0.8048905 0.0031438277 8.313262 0.61695841 0.9135390 1\n3 3 0.6159474 0.1721141934 2.538562 0.44876099 0.7595916 2\n4 4 0.3840526 0.1721142946 2.538561 0.24040837 0.5512390 3\n5 5 0.1951095 0.0031438386 8.313257 0.08646093 0.3830417 4\n6 6 0.0861238 0.0004389668 11.153600 0.02463288 0.2601697 5\n```\n:::\n:::\n\n\n \n\n## On a picture\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(rat2.1, newdata = new)) %>% \n select(estimate, conf.low, conf.high, dose) %>% \n ggplot(aes(x = dose, y = estimate, \n ymin = conf.low, ymax = conf.high)) + \n geom_line() + geom_ribbon(alpha = 0.3)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-2-1.pdf)\n:::\n:::\n\n\n\n\n## Comments\n\n\n\n* Significant effect of dose. \n\n* Effect of larger dose is to *decrease* survival probability\n(\"slope\" negative; also see in decreasing predictions.)\n\n* Confidence intervals around prediction narrower (more data).\n\n## Multiple logistic regression\n\n\n* With more than one $x$, works much like multiple regression.\n\n* Example: study of patients with blood poisoning severe enough to warrant surgery. Relate survival to other potential risk factors.\n\n* Variables, 1=present, 0=absent:\n\n\n * survival (death from sepsis=1), response\n * shock\n * malnutrition\n * alcoholism\n * age (as numerical variable)\n * bowel infarction\n\n\n* See what relates to death.\n\n\n\n## Read in data\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \n \"http://ritsokiguess.site/datafiles/sepsis.txt\"\nsepsis <- read_delim(my_url, \" \")\n```\n:::\n\n\n \n## Make sure categoricals really are\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% \n mutate(across(-age, \\(x) factor(x))) -> sepsis\n```\n:::\n\n\n\n\n## The data (some)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 106 x 6\n death shock malnut alcohol age bowelinf\n \n 1 0 0 0 0 56 0 \n 2 0 0 0 0 80 0 \n 3 0 0 0 0 61 0 \n 4 0 0 0 0 26 0 \n 5 0 0 0 0 53 0 \n 6 1 0 1 0 87 0 \n 7 0 0 0 0 21 0 \n 8 1 0 0 1 69 0 \n 9 0 0 0 0 57 0 \n10 0 0 1 0 76 0 \n# i 96 more rows\n```\n:::\n:::\n\n\n\n \n\n\n## Fit model\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.1 <- glm(death ~ shock + malnut + alcohol + age +\n bowelinf,\nfamily = \"binomial\",\ndata = sepsis\n)\n```\n:::\n\n\n\n \n\n\n## Output part 1\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntidy(sepsis.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) -9.75 2.54 -3.84 0.000124\n2 shock1 3.67 1.16 3.15 0.00161 \n3 malnut1 1.22 0.728 1.67 0.0948 \n4 alcohol1 3.35 0.982 3.42 0.000635\n5 age 0.0922 0.0303 3.04 0.00237 \n6 bowelinf1 2.80 1.16 2.40 0.0162 \n```\n:::\n:::\n\n\n \n\n\n\n* All P-values fairly small\n\n* but `malnut` not significant: remove.\n\n\n\n## Removing `malnut`\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 <- update(sepsis.1, . ~ . - malnut)\ntidy(sepsis.2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) -8.89 2.32 -3.84 0.000124\n2 shock1 3.70 1.10 3.35 0.000797\n3 alcohol1 3.19 0.917 3.47 0.000514\n4 age 0.0898 0.0292 3.07 0.00211 \n5 bowelinf1 2.39 1.07 2.23 0.0260 \n```\n:::\n:::\n\n\n \n\n\n\n* Everything significant now.\n\n\n\n## Comments\n\n\n* Most of the original $x$'s helped predict death. Only `malnut` seemed not to add anything.\n\n* Removed `malnut` and tried again.\n\n* Everything remaining is significant (though `bowelinf`\nactually became *less* significant).\n\n* All coefficients are *positive*, so having any of the risk\nfactors (or being older)\n*increases* risk of death. \n\n\n## Predictions from model without \"malnut\"\n\n\n* A few (rows of original dataframe) chosen \"at random\":\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis %>% slice(c(4, 1, 2, 11, 32)) -> new\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 6\n death shock malnut alcohol age bowelinf\n \n1 0 0 0 0 26 0 \n2 0 0 0 0 56 0 \n3 0 0 0 0 80 0 \n4 1 0 0 1 66 1 \n5 1 0 0 1 49 0 \n```\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, conf.low, conf.high, shock:bowelinf)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n estimate conf.low conf.high shock malnut alcohol age bowelinf\n1 0.001415347 6.272642e-05 0.03103047 0 0 0 26 0\n2 0.020552383 4.102504e-03 0.09656596 0 0 0 56 0\n3 0.153416834 5.606838e-02 0.35603441 0 0 0 80 0\n4 0.931290137 5.490986e-01 0.99341482 0 0 1 66 1\n5 0.213000997 7.639063e-02 0.46967947 0 0 1 49 0\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Comments \n\n* Survival chances pretty good if no risk factors, though decreasing with age.\n\n* Having more than one risk factor reduces survival chances dramatically.\n\n* Usually good job of predicting survival; sometimes death predicted to survive.\n\n## Another way to assess effects\n\nof `age`:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(model = sepsis.2, age = seq(30, 70, 10))\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n death shock alcohol bowelinf age\n1 0 0 0 0 30\n2 0 0 0 0 40\n3 0 0 0 0 50\n4 0 0 0 0 60\n5 0 0 0 0 70\n```\n:::\n:::\n\n\n\n\n## Assessing age effect \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, shock:age)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n estimate shock alcohol bowelinf age\n1 0.002026053 0 0 0 30\n2 0.004960283 0 0 0 40\n3 0.012092515 0 0 0 50\n4 0.029179226 0 0 0 60\n5 0.068729752 0 0 0 70\n```\n:::\n:::\n\n\n\n## Assessing shock effect\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(shock = c(0, 1), model = sepsis.2)\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n death alcohol age bowelinf shock\n1 0 0 51.28302 0 0\n2 0 0 51.28302 0 1\n```\n:::\n\n```{.r .cell-code}\ncbind(predictions(sepsis.2, newdata = new)) %>% \n select(estimate, death:shock)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n estimate death alcohol age bowelinf shock\n1 0.01354973 0 0 51.28302 0 0\n2 0.35742607 0 0 51.28302 0 1\n```\n:::\n:::\n\n\n\\normalsize\n\n## Assessing proportionality of odds for age\n\n\n* An assumption we made is that log-odds of survival depends\nlinearly on age.\n\n* Hard to get your head around, but \nbasic idea is that survival chances go continuously up (or down)\nwith age, instead of (for example) going up and then down.\n\n* In this case, seems reasonable, but should check:\n\n\n## Residuals vs.\\ age\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2 %>% augment(sepsis) %>% \n ggplot(aes(x = age, y = .resid)) +\n geom_point()\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/virtusentella-1.pdf)\n:::\n:::\n\n\n \n## Comments\n\n* No apparent problems overall.\n\n* Confusing \"line\" across: no risk factors, survived. \n\n\n\n## Probability and odds\n\n* For probability $p$, odds is $p/(1-p)$:\n\n\n \\begin{tabular}{rrrl}\n \\hline\n Prob.\\ & Odds & log-odds & in words\\\\\n \\hline\n 0.5 & $0.5/0.5=1/1=1.00$ & $0.00$ & ``even money''\\\\\n 0.1 & $0.1/0.9=1/9=0.11$ & $-2.20$ & ``9 to 1''\\\\\n 0.4 & $0.4/0.6=1/1.5=0.67$ & $-0.41$ & ``1.5 to 1''\\\\\n 0.8 & $0.8/0.2=4/1=4.00$ & $1.39$ & ``4 to 1 on''\\\\\n \\hline\n \\end{tabular}\n\n\n* Gamblers use odds: if you win at 9 to 1 odds, get original\nstake back plus 9 times the stake.\n\n* Probability has to be between 0 and 1\n\n* Odds between 0 and infinity\n\n* *Log*-odds can be anything: any log-odds corresponds to\nvalid probability.\n\n\n\n## Odds ratio\n\n\n* Suppose 90 of 100 men drank wine last week, but only 20 of 100 women.\n\n* Prob of man drinking wine $90/100=0.9$, woman $20/100=0.2$.\n\n* Odds of man drinking wine $0.9/0.1=9$, woman $0.2/0.8=0.25$.\n\n* Ratio of odds is $9/0.25=36$.\n\n* Way of quantifying difference between men and women: ``odds of\ndrinking wine 36 times larger for males than females''. \n\n\n\n## Sepsis data again\n\n\n* Recall prediction of probability of death from risk factors:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy <- tidy(sepsis.2)\nsepsis.2.tidy\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 5\n term estimate std.error statistic p.value\n \n1 (Intercept) -8.89 2.32 -3.84 0.000124\n2 shock1 3.70 1.10 3.35 0.000797\n3 alcohol1 3.19 0.917 3.47 0.000514\n4 age 0.0898 0.0292 3.07 0.00211 \n5 bowelinf1 2.39 1.07 2.23 0.0260 \n```\n:::\n:::\n\n\n\n \n\n\n* Slopes in column `estimate`.\n\n\n\n## Multiplying the odds\n\n\n* Can interpret slopes by taking \"exp\" of them. We ignore intercept.\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsepsis.2.tidy %>% \n mutate(exp_coeff=exp(estimate)) %>% \n select(term, exp_coeff)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 2\n term exp_coeff\n \n1 (Intercept) 0.000137\n2 shock1 40.5 \n3 alcohol1 24.2 \n4 age 1.09 \n5 bowelinf1 10.9 \n```\n:::\n:::\n\n\n\n## Interpretation\n\n\\small\n\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 5 x 2\n term exp_coeff\n \n1 (Intercept) 0.000137\n2 shock1 40.5 \n3 alcohol1 24.2 \n4 age 1.09 \n5 bowelinf1 10.9 \n```\n:::\n:::\n\n\n\\normalsize\n\n\n* These say \"how much do you *multiply* odds of death by\nfor increase of 1 in corresponding risk factor?\" Or, what is odds\nratio for that factor being 1 (present) vs.\\ 0 (absent)?\n\n* Eg.\\ being alcoholic vs.\\ not increases odds of death by 24 times\n\n* One year older multiplies odds by about 1.1 times. Over 40 years,\nabout $1.09^{40}=31$ times. \n\n\n\n## Odds ratio and relative risk\n\n\n* **Relative risk** is ratio of probabilities.\n\n* Above: 90 of 100 men (0.9) drank wine, 20 of 100 women (0.2).\n\n* Relative risk 0.9/0.2=4.5. (odds ratio was 36).\n\n* When probabilities small, relative risk and odds ratio similar.\n\n* Eg.\\ prob of man having disease 0.02, woman 0.01.\n\n* Relative risk $0.02/0.01=2$.\n\n## Odds ratio vs.\\ relative risk\n\n- Odds for men and for women:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n(od1 <- 0.02 / 0.98) # men\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.02040816\n```\n:::\n\n```{.r .cell-code}\n(od2 <- 0.01 / 0.99) # women\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 0.01010101\n```\n:::\n:::\n\n\n\n- Odds ratio \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nod1 / od2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 2.020408\n```\n:::\n:::\n\n\n\n\n- Very close to relative risk of 2.\n\n\n## More than 2 response categories\n\n\n* With 2 response categories, model the probability of one, and prob of other is one minus that. So doesn't matter which category you model.\n\n* With more than 2 categories, have to think more carefully about the categories: are they\n\n\n* *ordered*: you can put them in a natural order (like low, medium, high)\n\n* *nominal*: ordering the categories doesn't make sense (like red, green, blue).\n\n\n* R handles both kinds of response; learn how.\n\n\n\n## Ordinal response: the miners\n\n\n* \nModel probability of being in given category *or lower*.\n\n* Example: coal-miners often suffer disease pneumoconiosis. Likelihood of disease believed to be greater \namong miners who have worked longer. \n\n* Severity of disease measured on categorical scale: none,\nmoderate, severe.\n\n## Miners data\n\n* Data are frequencies:\n\n```\nExposure None Moderate Severe\n5.8 98 0 0\n15.0 51 2 1\n21.5 34 6 3\n27.5 35 5 8\n33.5 32 10 9\n39.5 23 7 8\n46.0 12 6 10\n51.5 4 2 5\n```\n\n\n\n\n## Reading the data\n\nData in aligned columns with more than one space between, so: \n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/miners-tab.txt\"\nfreqs <- read_table(my_url)\n```\n:::\n\n\n\\normalsize\n\n\n## The data\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 4\n Exposure None Moderate Severe\n \n1 5.8 98 0 0\n2 15 51 2 1\n3 21.5 34 6 3\n4 27.5 35 5 8\n5 33.5 32 10 9\n6 39.5 23 7 8\n7 46 12 6 10\n8 51.5 4 2 5\n```\n:::\n:::\n\n\n\n \n\n\n## Tidying \n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>%\n pivot_longer(-Exposure, names_to = \"Severity\", values_to = \"Freq\") %>%\n mutate(Severity = fct_inorder(Severity)) -> miners\n```\n:::\n\n\n\n \n\n\n## Result\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 24 x 3\n Exposure Severity Freq\n \n 1 5.8 None 98\n 2 5.8 Moderate 0\n 3 5.8 Severe 0\n 4 15 None 51\n 5 15 Moderate 2\n 6 15 Severe 1\n 7 21.5 None 34\n 8 21.5 Moderate 6\n 9 21.5 Severe 3\n10 27.5 None 35\n# i 14 more rows\n```\n:::\n:::\n\n\n\\normalsize\n \n\n\n## Plot proportions against exposure\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nminers %>% \n group_by(Exposure) %>% \n mutate(proportion = Freq / sum(Freq)) -> prop\nggplot(prop, aes(x = Exposure, y = proportion,\n colour = Severity)) + \n geom_point() + geom_smooth(se = F)\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/bLogistic-28-1.pdf)\n:::\n:::\n\n\n\\normalsize\n\n\n## Reminder of data setup\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nminers\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 24 x 3\n Exposure Severity Freq\n \n 1 5.8 None 98\n 2 5.8 Moderate 0\n 3 5.8 Severe 0\n 4 15 None 51\n 5 15 Moderate 2\n 6 15 Severe 1\n 7 21.5 None 34\n 8 21.5 Moderate 6\n 9 21.5 Severe 3\n10 27.5 None 35\n# i 14 more rows\n```\n:::\n:::\n\n\n\n \n\\normalsize\n\n\n\n## Fitting ordered logistic model\n\nUse function `polr` from package `MASS`. Like `glm`.\n\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners\n)\n```\n:::\n\n\n \n\n\n## Output: not very illuminating\n\n\n\\scriptsize\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.1 <- polr(Severity ~ Exposure,\n weights = Freq,\n data = miners,\n Hess = TRUE\n)\n```\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(sev.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\npolr(formula = Severity ~ Exposure, data = miners, weights = Freq, \n Hess = TRUE)\n\nCoefficients:\n Value Std. Error t value\nExposure 0.0959 0.01194 8.034\n\nIntercepts:\n Value Std. Error t value\nNone|Moderate 3.9558 0.4097 9.6558\nModerate|Severe 4.8690 0.4411 11.0383\n\nResidual Deviance: 416.9188 \nAIC: 422.9188 \n```\n:::\n:::\n\n\n\\normalsize\n \n\n## Does exposure have an effect?\nFit model without `Exposure`, and compare\nusing `anova`. Note `1` for model with just intercept:\n\n\n\n::: {.cell}\n\n:::\n\n\n\n \n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsev.0 <- polr(Severity ~ 1, weights = Freq, data = miners)\nanova(sev.0, sev.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of ordinal regression models\n\nResponse: Severity\n Model Resid. df Resid. Dev Test Df LR stat.\n1 1 369 505.1621 \n2 Exposure 368 416.9188 1 vs 2 1 88.24324\n Pr(Chi)\n1 \n2 0\n```\n:::\n:::\n\n\n\\normalsize\n\nExposure definitely has effect on severity of disease. \n\n\n## Another way\n\n\n* What (if anything) can we drop from model with `exposure`?\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(sev.1, test = \"Chisq\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nSingle term deletions\n\nModel:\nSeverity ~ Exposure\n Df AIC LRT Pr(>Chi) \n 422.92 \nExposure 1 509.16 88.243 < 2.2e-16 ***\n---\nSignif. codes: \n0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n```\n:::\n:::\n\n\n\n \n\n\n* Nothing. Exposure definitely has effect.\n\n\n\n## Predicted probabilities 1/2\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfreqs %>% select(Exposure) -> new\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 1\n Exposure\n \n1 5.8\n2 15 \n3 21.5\n4 27.5\n5 33.5\n6 39.5\n7 46 \n8 51.5\n```\n:::\n:::\n\n\n\n\n## Predicted probabilities 2/2\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(sev.1, newdata = new)) %>%\n select(group, estimate, Exposure) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 4\n Exposure None Moderate Severe\n \n1 5.8 0.968 0.0191 0.0132\n2 15 0.925 0.0433 0.0314\n3 21.5 0.869 0.0739 0.0569\n4 27.5 0.789 0.114 0.0969\n5 33.5 0.678 0.162 0.160 \n6 39.5 0.542 0.205 0.253 \n7 46 0.388 0.224 0.388 \n8 51.5 0.272 0.210 0.517 \n```\n:::\n:::\n\n\n\\normalsize\n\n## Plot of predicted probabilities\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(model = sev.1, condition = c(\"Exposure\", \"group\"),\n type = \"probs\") +\n geom_point(data = prop, aes(x = Exposure, y = proportion, \n colour = Severity)) -> ggg\n```\n:::\n\n\n\n## The graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nggg\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-11-1.pdf)\n:::\n:::\n\n\n\n\n## Comments\n\n\n* Model appears to match data well enough.\n\n- As exposure goes up, prob of None\ngoes down, Severe goes up (sharply for high exposure).\n\n- So more exposure means worse disease.\n\n\n## Unordered responses\n\n\n* With unordered (nominal) responses, can use *generalized logit*.\n\n* Example: 735 people, record age and sex (male 0, female 1), which of 3 brands of some product preferred.\n\n* Data in `mlogit.csv` separated by commas (so\n`read_csv` will work):\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/mlogit.csv\"\nbrandpref <- read_csv(my_url)\n```\n:::\n\n\n \n\n\n\n\n## The data (some)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 735 x 3\n brand sex age\n \n 1 1 0 24\n 2 1 0 26\n 3 1 0 26\n 4 1 1 27\n 5 1 1 27\n 6 3 1 27\n 7 1 0 27\n 8 1 0 27\n 9 1 1 27\n10 1 0 27\n# i 725 more rows\n```\n:::\n:::\n\n\n\n \n\n\n## Bashing into shape\n\n\n* `sex` and `brand` not meaningful as numbers, so\nturn into factors:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n mutate(sex = ifelse(sex == 1, \"female\", \"male\"), \n sex = factor(sex),\n brand = factor(brand)\n ) -> brandpref\n```\n:::\n\n\n \n \n## Fitting model \n\n* We use `multinom` from package `nnet`. Works\nlike `polr`.\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.1 <- multinom(brand ~ age + sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 12 (6 variable)\ninitial value 807.480032 \niter 10 value 702.990572\nfinal value 702.970704 \nconverged\n```\n:::\n:::\n\n\n \n\n\n## Can we drop anything?\n\n\n* Unfortunately `drop1` seems not to work:\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndrop1(brands.1, test = \"Chisq\", trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \n```\n:::\n\n::: {.cell-output .cell-output-error}\n```\nError in if (trace) {: argument is not interpretable as logical\n```\n:::\n:::\n\n\n\n* So, fall back on fitting model without what you want to test, and\ncomparing using `anova`. \n\n\n\n## Do age/sex help predict brand? 1/3\n\nFit models without each of age and sex:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.2 <- multinom(brand ~ age, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \niter 10 value 706.796323\niter 10 value 706.796322\nfinal value 706.796322 \nconverged\n```\n:::\n\n```{.r .cell-code}\nbrands.3 <- multinom(brand ~ sex, data = brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 9 (4 variable)\ninitial value 807.480032 \nfinal value 791.861266 \nconverged\n```\n:::\n:::\n\n\n \n\n\n## Do age/sex help predict brand? 2/3\n\n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(brands.2, brands.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df LR stat.\n1 age 1466 1413.593 \n2 age + sex 1464 1405.941 1 vs 2 2 7.651236\n Pr(Chi)\n1 \n2 0.02180496\n```\n:::\n\n```{.r .cell-code}\nanova(brands.3, brands.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df LR stat.\n1 sex 1466 1583.723 \n2 age + sex 1464 1405.941 1 vs 2 2 177.7811\n Pr(Chi)\n1 \n2 0\n```\n:::\n:::\n\n\n\\normalsize\n\n\n## Do age/sex help predict brand? 3/3\n\n\n* `age` definitely significant (second `anova`)\n\n* `sex` significant also (first `anova`), though P-value less dramatic\n\n* Keep both.\n- Expect to see a large effect of `age`, and a smaller one of `sex`.\n\n\n\n\n## Another way to build model\n\n\n* Start from model with everything and run `step`:\n\n\n\n::: {.cell}\n\n:::\n\n\n\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nstep(brands.1, trace = 0)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\ntrying - age \ntrying - sex \n```\n:::\n\n::: {.cell-output .cell-output-stdout}\n```\nCall:\nmultinom(formula = brand ~ age + sex)\n\nCoefficients:\n (Intercept) age sexmale\n2 -11.25127 0.3682202 -0.5237736\n3 -22.25571 0.6859149 -0.4658215\n\nResidual Deviance: 1405.941 \nAIC: 1417.941 \n```\n:::\n:::\n\n\n\\normalsize\n \n\n* Final model contains both `age` and `sex` so neither\ncould be removed.\n\n\n## Making predictions\n\nFind age 5-number summary, and the two sexes:\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsummary(brandpref)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n brand sex age \n 1:207 female:466 Min. :24.0 \n 2:307 male :269 1st Qu.:32.0 \n 3:221 Median :32.0 \n Mean :32.9 \n 3rd Qu.:34.0 \n Max. :38.0 \n```\n:::\n:::\n\n\n\nSpace the ages out a bit for prediction (see over).\n\n\\normalsize\n\n## Combinations\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnew <- datagrid(age = c(24, 30, 33, 35, 38), \n sex = c(\"female\", \"male\"), model = brands.1)\nnew\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n brand age sex\n1 2 24 female\n2 2 24 male\n3 2 30 female\n4 2 30 male\n5 2 33 female\n6 2 33 male\n7 2 35 female\n8 2 35 male\n9 2 38 female\n10 2 38 male\n```\n:::\n:::\n\n\n\n## The predictions\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncbind(predictions(brands.1, newdata = new)) %>%\n select(group, estimate, age, sex) %>% \n pivot_wider(names_from = group, values_from = estimate)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 10 x 5\n age sex `1` `2` `3`\n \n 1 24 female 0.915 0.0819 0.00279\n 2 24 male 0.948 0.0502 0.00181\n 3 30 female 0.500 0.407 0.0933 \n 4 30 male 0.625 0.302 0.0732 \n 5 33 female 0.203 0.500 0.297 \n 6 33 male 0.296 0.432 0.272 \n 7 35 female 0.0840 0.432 0.484 \n 8 35 male 0.131 0.397 0.472 \n 9 38 female 0.0162 0.252 0.732 \n10 38 male 0.0260 0.239 0.735 \n```\n:::\n:::\n\n\n\n## Comments\n\n* Young males prefer brand 1, \nbut older males prefer brand 3.\n\n* Females similar, but like brand 1 less and\nbrand 2 more.\n\n- A clear `brand` effect, but the `sex` effect is less clear. \n\n## Making a plot\n\n- `plot_predictions` doesn't quite work\n- so don't draw, edit, *then* make graph:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(brands.1, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g\n```\n:::\n\n\n\n## The graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-16-1.pdf)\n:::\n:::\n\n\n \n\n## Digesting the plot\n\n\n* Brand vs.\\ age: younger people (of both genders) prefer brand\n1, but older people (of both genders) prefer brand 3. (Explains\nsignificant age effect.)\n\n* Brand vs.\\ sex: females (solid) like brand 1 less than males\n(dashed), like brand 2 more (for all ages). \n\n* Not much brand difference between genders (solid and dashed\nlines of same colours close), but enough to be significant.\n\n* Model didn't include interaction, so modelled effect of gender\non brand same for each age, modelled effect of age same for each\ngender. (See also later.) \n\n\n## Alternative data format\n\nSummarize all people of same brand preference, same sex, same age on one line of data file with frequency on end:\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 735 x 3\n brand sex age\n \n 1 1 male 24\n 2 1 male 26\n 3 1 male 26\n 4 1 female 27\n 5 1 female 27\n 6 3 female 27\n 7 1 male 27\n 8 1 male 27\n 9 1 female 27\n10 1 male 27\n# i 725 more rows\n```\n:::\n:::\n\n\n\n\n```\n1 0 24 1\n1 0 26 2\n1 0 27 4\n1 0 28 4\n1 0 29 7\n1 0 30 3\n...\n```\n\nWhole data set in 65 lines not 735! But how?\n\n\n## Getting alternative data format\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrandpref %>%\n group_by(age, sex, brand) %>%\n summarize(Freq = n()) %>%\n ungroup() -> b\nb\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 65 x 4\n age sex brand Freq\n \n 1 24 male 1 1\n 2 26 male 1 2\n 3 27 female 1 4\n 4 27 female 3 1\n 5 27 male 1 4\n 6 28 female 1 6\n 7 28 female 2 2\n 8 28 female 3 1\n 9 28 male 1 4\n10 28 male 3 2\n# i 55 more rows\n```\n:::\n:::\n\n\n\n \n\n## Fitting models, almost the same\n\n\n* Just have to remember `weights` to incorporate\nfrequencies.\n\n* Otherwise `multinom` assumes you have just 1 obs\non each line!\n\n* Again turn (numerical) `sex` and `brand` into factors:\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nb %>%\n mutate(sex = factor(sex)) %>%\n mutate(brand = factor(brand)) -> bf\nb.1 <- multinom(brand ~ age + sex, data = bf, weights = Freq)\nb.2 <- multinom(brand ~ age, data = bf, weights = Freq)\n```\n:::\n\n\n\\normalsize\n\n\n\n## P-value for `sex` identical\n\n\\footnotesize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nanova(b.2, b.1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df LR stat.\n1 age 126 1413.593 \n2 age + sex 124 1405.941 1 vs 2 2 7.651236\n Pr(Chi)\n1 \n2 0.02180496\n```\n:::\n:::\n\n\n\\normalsize\n\nSame P-value as before, so we haven't changed anything important.\n\n\n\n\n## Trying interaction between age and gender\n\n\n\n::: {.cell}\n\n:::\n\n\n\n \n\\scriptsize\n\n\n::: {.cell}\n\n```{.r .cell-code}\nbrands.4 <- update(brands.1, . ~ . + age:sex)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# weights: 15 (8 variable)\ninitial value 807.480032 \niter 10 value 703.191146\niter 20 value 702.572260\niter 30 value 702.570900\niter 30 value 702.570893\niter 30 value 702.570893\nfinal value 702.570893 \nconverged\n```\n:::\n\n```{.r .cell-code}\nanova(brands.1, brands.4)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nLikelihood ratio tests of Multinomial Models\n\nResponse: brand\n Model Resid. df Resid. Dev Test Df\n1 age + sex 1464 1405.941 \n2 age + sex + age:sex 1462 1405.142 1 vs 2 2\n LR stat. Pr(Chi)\n1 \n2 0.7996223 0.6704466\n```\n:::\n:::\n\n\n\n \n\\normalsize\n\n* No evidence that effect of age on brand preference differs for\nthe two genders.\n\n## Make graph again\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nplot_predictions(brands.4, condition = c(\"age\", \"brand\", \"sex\"), \n type = \"probs\", draw = FALSE) %>% \n ggplot(aes(x = age, y = estimate, colour = group, \n linetype = sex)) +\n geom_line() -> g4\n```\n:::\n\n\n\n\n## Not much difference in the graph\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng4\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-19-1.pdf)\n:::\n:::\n\n\n\n## Compare model without interaction\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ng\n```\n\n::: {.cell-output-display}\n![](logistic_files/figure-beamer/unnamed-chunk-20-1.pdf)\n:::\n:::\n", "supporting": [ "logistic_files/figure-beamer" ], diff --git a/_freeze/logistic/figure-beamer/bLogistic-28-1.pdf b/_freeze/logistic/figure-beamer/bLogistic-28-1.pdf index e6a42303ed1bcfee3409ccde3adae97197d2be2c..be57f188ddadbbe324227665b2753bb58a13e660 100644 GIT binary patch delta 241 zcmbR4)Zw(jM^N3wz|hdt(Adzx&_I(*-#0(SC9xz`LBqw$$iN6mZgR1p9;4CbMS@Rx z7)>X4$f+74N$MJysv8)ny=($f+74B#m_qOw<;Kf=Xf)?CiLTOA?DpDvDCmxGW4zO}SK6UH#p-0CToStpET3 diff --git a/_freeze/logistic/figure-beamer/unnamed-chunk-1-1.pdf b/_freeze/logistic/figure-beamer/unnamed-chunk-1-1.pdf index a735a223a71083970130ff0639e59d59e0050862..a05d6989219144771108b9f404d25504f3f62b03 100644 GIT binary patch delta 2061 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 IVP^^b8+A*IG5`Po diff --git a/_freeze/logistic/figure-beamer/unnamed-chunk-11-1.pdf b/_freeze/logistic/figure-beamer/unnamed-chunk-11-1.pdf index 6cbc7f0f440b008d881bbadfb99adb6d2c480055..7449b4b65705ea24bdf865c4b9dd63d0a7166031 100644 GIT binary patch delta 5526 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 delta 256 zcmbPgv&3dYB%ivmfrX)gp`nS1fr%!UzHfetOJYf?f`*Hgk%1AC+~fv6Jx0UL>-nDY zFd9vsDy?dWB&lm)qHbWIj!!>O$>i74VbVql8X>6>3O<=-sR}?FjPz4d%k*7RlQI+Y zCI`xhvzmYeHfPHCF~%928d#VZxj4C*8=4sy8k@Nq8(BJ=Sr|B4x|q3|8yeUt*br0_ et6*oxRa}x-R8motn#N^rY+%5ps_N?R#svVeV?aOv diff --git a/_freeze/logistic/figure-beamer/unnamed-chunk-19-1.pdf b/_freeze/logistic/figure-beamer/unnamed-chunk-19-1.pdf index 4363cef9d268408d44c509569f1e05553dfda45f..b89d7035964ffaa2754381118319371dd8d39b22 100644 GIT binary patch delta 259 zcmX?Pv)N`tIiI?TfuW(Pp|PQXp^+w+zHfetOJYf?f`*Hgk%1AC+~j$DdW=S!&+6>3O<=-sR}?Fj5QUq3ld8*ic=F6 z%2JDpGxPHl%=C=)OgB%H@neiLb9OOzH8HVtbaQkCGR&NeO&wj#TwE=U%#1C~ja}^& iYzQieRj{+;DlSPZDyb++P2(~*HZ6>3O<=-sR}?FjPz4d%k*7RlQI+Y zCg;nDvzmYeHn+?8F~%9Y8M&Ifnwgn7yP6pqx|tYTxHvi*SeTod8yOf{m^j%f*br0_ et6*oxRa}x-R8motn#N^rY;3@#s_N?R#svTg2tc9$ diff --git a/_freeze/logistic/figure-beamer/unnamed-chunk-2-1.pdf b/_freeze/logistic/figure-beamer/unnamed-chunk-2-1.pdf index fc06564bb235efa76fc1cce326f23ae920b5f1b9..4fb23fae2a9791453fcaf0fb195078040dd5ddbb 100644 GIT binary patch delta 259 zcmbQO)1$MYgH_$cz|hdt(Adzxz(SKt-#0(SC9xz`LBqw$$iN6mZt{9oJw~I=_gD*g z8BHe#2&)<*N$MJysv8)nMo4Oef=^~ysshjkV@-wZg2a-H;?zWi zvecsD%=|nBGd*KH)6K>rU5s&NF3v747N(AthAyU#jusZihAys_hOWj=&TdAQMs9|7 j3N{3l#46a?aTS*&7L`;KrKWM28k$*fsj9mAyKw;kVn;!= delta 274 zcmeCtnXR*-gH_$wz{1eL(9p!hz(A8r-#0(SC9xz`LBqw$$iN6mZt{9oJx0UL_gD*g z8I2|f2&)<*N$MJys2dol|PR_;#PL6J- th9=HVh9;&UmZP154M8Qb3U+o}#U+VFB^5=fXTSTmbL-nDY zFq%%DDy?dWkTljcFjY4&P{*Smq-64I=`amb1&xr@2nCg?^a}0Lghl@&Et; delta 256 zcmbPgv&3dYB%ivmfrX)gp`nS1fvF~!zHfetOJYf?f`*Hgk%1AC+~fv6Jx0UL>-nDY zFd9vsDy?dWB&lm)qHbWIj!!>O$>i74VbVql8X>6>3O<=-sR}?FjPz4d%k*7RlQI+Y zCI`xhvzmYeHfPHCF~*s=y15w{I2*W{nK+s|nHst|n;RRMIk_4-n_8Gz8kyKB*br0_ et6*oxRa}x-R8motn#N^rY+%5ps_N?R#svV`l0e7+ diff --git a/_freeze/logistic/figure-beamer/virtusentella-1.pdf b/_freeze/logistic/figure-beamer/virtusentella-1.pdf index 193e4cfda145ff5b42ec4396f25074790c9c27e1..2dc080c9c7828c3ab5c2d43dc9bd3bbb4b89f7ef 100644 GIT binary patch delta 241 zcmZ4CJJWZ=T`_eN14BboLt{e&14~UVec${Pm&B4(1q~M~BLgEOxydZzdW=S!jm4kx zFq%%5R8ciVlGHUYRW~qD$EP2tWOBYrn1HE*Mo4Oef=^~ysshjkJ9Gd5 delta 274 zcmbQ~yTW(FT`_fI0}Dd~Lqii20|QMiec${Pm&B4(1q~M~BLgEOxydZzdW?pfjm4kx zFd9vkR8ciVNE+%In5Y{VsN>NOQZhMTCCuDNK_etJLcu4qEL8z$gOPqpYMH)EYEoum zo~A-}L1IZpacZJMS!z*nW`3T6nVzwp2}sH2w<>;&apq2@7G~yVCT1?KZqBZTMlMF? x7OrlVCg$dj<`za~PId}51eL@p*x7Lvmn0UIR1~GAaao#J7;veoy863u0RS1-M*aW* diff --git a/_freeze/logistic/figure-revealjs/unnamed-chunk-1-1.png b/_freeze/logistic/figure-revealjs/unnamed-chunk-1-1.png index 56bec2b3d07b4ebdbb6a7fba469c5c52f98b7a9f..59a1c0be4b3c7e6cd07733d1bc2a35cb6f6f7663 100644 GIT binary patch literal 24014 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 f!TaNJ$Cw^D!c+{9Bh@1ycJ>QFKsf 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≫0C*aEzs*}$PU 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 literal 91076 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

On a graph

-
plot_cap(status.1, condition = "dose")
+
plot_predictions(status.1, condition = "dose")
-
+

The rats, more

    @@ -2731,7 +2731,7 @@

    Predicted survival probs

    @@ -3304,7 +3304,7 @@

    Predicted probabilities 2/2

    Plot of predicted probabilities

    -
    plot_cap(model = sev.1, condition = c("Exposure", "group"),
    +
    plot_predictions(model = sev.1, condition = c("Exposure", "group"),
              type = "probs") +
       geom_point(data = prop, aes(x = Exposure, y = proportion, 
                                   colour = Severity)) -> ggg
    @@ -3316,7 +3316,7 @@

    The graph

    ggg
    -
    +

Comments

ggplot(asphalt, aes(y = rut.depth, x = log(viscosity))) +
-  geom_point() + geom_smooth(se = F)
+ geom_point() + geom_smooth(se = F) -> g

(plot overleaf)

Rut depth against log-viscosity

- -
+

Comments and next steps

    @@ -2595,13 +2594,40 @@

    Comments and next steps

rut.1 <- lm(rut.depth ~ pct.a.surf + pct.a.base + fines +
-  voids + log(viscosity) + run, data = asphalt)
+ voids + log(viscosity) + run, data = asphalt) +summary(rut.1)
+
+

+Call:
+lm(formula = rut.depth ~ pct.a.surf + pct.a.base + fines + voids + 
+    log(viscosity) + run, data = asphalt)
+
+Residuals:
+    Min      1Q  Median      3Q     Max 
+-4.1211 -1.9075 -0.7175  1.6382  9.5947 
+
+Coefficients:
+               Estimate Std. Error t value Pr(>|t|)   
+(Intercept)    -12.9937    26.2188  -0.496   0.6247   
+pct.a.surf       3.9706     2.4966   1.590   0.1248   
+pct.a.base       1.2631     3.9703   0.318   0.7531   
+fines            0.1164     1.0124   0.115   0.9094   
+voids            0.5893     1.3244   0.445   0.6604   
+log(viscosity)  -3.1515     0.9194  -3.428   0.0022 **
+run             -1.9655     3.6472  -0.539   0.5949   
+---
+Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
+
+Residual standard error: 3.324 on 24 degrees of freedom
+Multiple R-squared:  0.806, Adjusted R-squared:  0.7575 
+F-statistic: 16.62 on 6 and 24 DF,  p-value: 1.743e-07
+

Regression output: summary(rut.1) or:

-
glance(rut.1)
+
glance(rut.1)
@@ -2610,7 +2636,7 @@

Regression output: summary(rut.1) or:

-
tidy(rut.1)
+
tidy(rut.1)
@@ -2624,20 +2650,18 @@

Regression output: summary(rut.1) or:

Comments

    -
  • R-squared 81%, not so bad.
  • -
  • P-value in glance asserts that something helping to predict rut.depth.
  • -
  • Table of coefficients says log(viscosity).
  • -
  • But confused by clearly non-significant variables: remove those to get clearer picture of what is helpful.
  • -
  • Before we do anything, look at residual plots: +
  • R-squared 81%, not so bad.

  • +
  • P-value in glance asserts that something helping to predict rut.depth.

  • +
  • Table of coefficients says log(viscosity).

  • +
  • But confused by clearly non-significant variables: remove those to get clearer picture of what is helpful.

  • +
  • Before we do anything, look at residual plots:

    +
    (a) of residuals against fitted values (as usual)
      -
      1. -
      2. of residuals against fitted values (as usual)
      3. -
      1. of residuals against each explanatory.
  • -
  • Problem fixes: +
  • Problem fixes:

    • with (a): fix response variable;
    • with some plots in (b): fix those explanatory variables.
    • @@ -2647,10 +2671,17 @@

      Comments

      Plot fitted values against residuals

      -
      ggplot(rut.1, aes(x = .fitted, y = .resid)) + geom_point()
      +
      ggplot(rut.1, aes(x = .fitted, y = .resid)) + geom_point()
      +
      +

      Normal quantile plot of residuals

      +
      +
      ggplot(rut.1, aes(sample = .resid)) + stat_qq() + stat_qq_line()
      + +
      +

      Plotting residuals against \(x\) variables

        @@ -2658,13 +2689,13 @@

        Plotting residuals against \(x\) variables<
      • Package broom contains a function augment that combines these two together so that they can later be plotted: start with a model first, and then augment with a data frame:
      -
      rut.1 %>% augment(asphalt) -> rut.1a
      +
      rut.1 %>% augment(asphalt) -> rut.1a

      What does rut.1a contain?

      -
      names(rut.1a)
      +
      names(rut.1a)
       [1] "pct.a.surf" "pct.a.base" "fines"      "voids"      "rut.depth" 
        [6] "viscosity"  "run"        ".fitted"    ".resid"     ".hat"      
      @@ -2679,20 +2710,20 @@ 

      What does rut.1a contain?

      Plotting residuals against \(x\)-variables

      -
      rut.1a %>%
      -  mutate(log_vis=log(viscosity)) %>% 
      -  pivot_longer(
      -    c(pct.a.surf:voids, run, log_vis),
      -    names_to="xname", values_to="x"
      -  ) %>%
      -  ggplot(aes(x = x, y = .resid)) +
      -  geom_point() + facet_wrap(~xname, scales = "free") -> g
      +
      rut.1a %>%
      +  mutate(log_vis=log(viscosity)) %>% 
      +  pivot_longer(
      +    c(pct.a.surf:voids, run, log_vis),
      +    names_to="xname", values_to="x"
      +  ) %>%
      +  ggplot(aes(x = x, y = .resid)) +
      +  geom_point() + facet_wrap(~xname, scales = "free") -> g

      The plot

      -
      g
      +
      g
      @@ -2719,8 +2750,8 @@

      Which transformation?

      Running Box-Cox

      From package MASS:

      -
      boxcox(rut.depth ~ pct.a.surf + pct.a.base + fines + voids +
      -  log(viscosity) + run, data = asphalt)
      +
      boxcox(rut.depth ~ pct.a.surf + pct.a.base + fines + voids +
      +  log(viscosity) + run, data = asphalt)
      @@ -2745,20 +2776,20 @@

      Relationships with explanatories

    • As before: plot response (now log(rut.depth)) against other explanatory variables, all in one shot:
    -
    asphalt %>%
    -  mutate(log_vis=log(viscosity)) %>% 
    -  pivot_longer(
    -    c(pct.a.surf:voids, run, log_vis),
    -    names_to="xname", values_to="x"
    -  ) %>%
    -  ggplot(aes(y = log(rut.depth), x = x)) + geom_point() +
    -  facet_wrap(~xname, scales = "free") -> g3
    +
    asphalt %>%
    +  mutate(log_vis=log(viscosity)) %>% 
    +  pivot_longer(
    +    c(pct.a.surf:voids, run, log_vis),
    +    names_to="xname", values_to="x"
    +  ) %>%
    +  ggplot(aes(y = log(rut.depth), x = x)) + geom_point() +
    +  facet_wrap(~xname, scales = "free") -> g3

The new plots

-
g3
+
g3
@@ -2772,8 +2803,8 @@

Modelling with transformed response

  • Model log.rut.depth in terms of everything else, see what can be removed:
  • -
    rut.2 <- lm(log(rut.depth) ~ pct.a.surf + pct.a.base +
    -  fines + voids + log(viscosity) + run, data = asphalt)
    +
    rut.2 <- lm(log(rut.depth) ~ pct.a.surf + pct.a.base +
    +  fines + voids + log(viscosity) + run, data = asphalt)
    • use tidy from broom to display just the coefficients.
    • @@ -2782,7 +2813,7 @@

      Modelling with transformed response

      Output

      -
      tidy(rut.2)
      +
      tidy(rut.2)
      @@ -2791,6 +2822,33 @@

      Output

      +
      summary(rut.2)
      +
      +
      
      +Call:
      +lm(formula = log(rut.depth) ~ pct.a.surf + pct.a.base + fines + 
      +    voids + log(viscosity) + run, data = asphalt)
      +
      +Residuals:
      +     Min       1Q   Median       3Q      Max 
      +-0.53072 -0.18563 -0.00003  0.20017  0.55079 
      +
      +Coefficients:
      +               Estimate Std. Error t value Pr(>|t|)    
      +(Intercept)    -1.57299    2.43617  -0.646    0.525    
      +pct.a.surf      0.58358    0.23198   2.516    0.019 *  
      +pct.a.base     -0.10337    0.36891  -0.280    0.782    
      +fines           0.09775    0.09407   1.039    0.309    
      +voids           0.19885    0.12306   1.616    0.119    
      +log(viscosity) -0.55769    0.08543  -6.528 9.45e-07 ***
      +run             0.34005    0.33889   1.003    0.326    
      +---
      +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
      +
      +Residual standard error: 0.3088 on 24 degrees of freedom
      +Multiple R-squared:  0.961, Adjusted R-squared:  0.9512 
      +F-statistic: 98.47 on 6 and 24 DF,  p-value: 1.059e-15
      +
      @@ -2799,13 +2857,35 @@

      Taking out everything non-significant

    • Try: remove everything but pct.a.surf and log.viscosity:
    -
    rut.3 <- lm(log(rut.depth) ~ pct.a.surf + log(viscosity), data = asphalt)
    +
    rut.3 <- lm(log(rut.depth) ~ pct.a.surf + log(viscosity), data = asphalt)
    +summary(rut.3)
    +
    +
    
    +Call:
    +lm(formula = log(rut.depth) ~ pct.a.surf + log(viscosity), data = asphalt)
    +
    +Residuals:
    +     Min       1Q   Median       3Q      Max 
    +-0.61938 -0.21361  0.06635  0.14932  0.63012 
    +
    +Coefficients:
    +               Estimate Std. Error t value Pr(>|t|)    
    +(Intercept)     0.90014    1.08059   0.833   0.4119    
    +pct.a.surf      0.39115    0.21879   1.788   0.0846 .  
    +log(viscosity) -0.61856    0.02713 -22.797   <2e-16 ***
    +---
    +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    +Residual standard error: 0.3208 on 28 degrees of freedom
    +Multiple R-squared:  0.9509,    Adjusted R-squared:  0.9474 
    +F-statistic: 270.9 on 2 and 28 DF,  p-value: < 2.2e-16
    +
    • Check that removing all those variables wasn’t too much:
    -
    anova(rut.3, rut.2)
    +
    anova(rut.3, rut.2)
    @@ -2823,7 +2903,7 @@

    Taking out everything non-significant

    Find the largest P-value by eye:

    -
    tidy(rut.2)
    +
    tidy(rut.2)
    @@ -2845,7 +2925,7 @@

    Get the computer to find the largest P-value for you

  • Output from tidy is itself a data frame, thus:
  • -
    tidy(rut.2) %>% arrange(p.value)
    +
    tidy(rut.2) %>% arrange(p.value)
    @@ -2865,14 +2945,14 @@

    Take out pct.a.base

  • Copy and paste the lm code and remove what you’re removing:
  • -
    rut.4 <- lm(log(rut.depth) ~ pct.a.surf + fines + voids + 
    -              log(viscosity) + run, data = asphalt)
    -tidy(rut.4) %>% arrange(p.value)
    +
    rut.4 <- lm(log(rut.depth) ~ pct.a.surf + fines + voids + 
    +              log(viscosity) + run, data = asphalt)
    +tidy(rut.4) %>% arrange(p.value) %>% dplyr::select(term, p.value)
    @@ -2885,8 +2965,8 @@

    Take out pct.a.base

    “Update”

    Another way to do the same thing:

    -
    rut.4 <- update(rut.2, . ~ . - pct.a.base)
    -tidy(rut.4) %>% arrange(p.value)
    +
    rut.4 <- update(rut.2, . ~ . - pct.a.base)
    +tidy(rut.4) %>% arrange(p.value)
    @@ -2903,13 +2983,13 @@

    “Update”

    Take out fines:

    -
    rut.5 <- update(rut.4, . ~ . - fines)
    -tidy(rut.5) %>% arrange(p.value)
    +
    rut.5 <- update(rut.4, . ~ . - fines)
    +tidy(rut.5) %>% arrange(p.value) %>% dplyr::select(term, p.value)
    @@ -2919,13 +2999,13 @@

    Take out fines:

    Take out run:

    -
    rut.6 <- update(rut.5, . ~ . - run)
    -tidy(rut.6) %>% arrange(p.value)
    +
    rut.6 <- update(rut.5, . ~ . - run)
    +tidy(rut.6) %>% arrange(p.value) %>% dplyr::select(term, p.value)
    @@ -2939,12 +3019,36 @@

    Comments

  • Different final result from taking things out one at a time (top), than by taking out 4 at once (bottom):
  • -
    coef(rut.6)
    +
    summary(rut.6)
    +
    +
    
    +Call:
    +lm(formula = log(rut.depth) ~ pct.a.surf + voids + log(viscosity), 
    +    data = asphalt)
    +
    +Residuals:
    +     Min       1Q   Median       3Q      Max 
    +-0.53548 -0.20181 -0.01702  0.16748  0.54707 
    +
    +Coefficients:
    +               Estimate Std. Error t value Pr(>|t|)    
    +(Intercept)    -1.02079    1.36430  -0.748   0.4608    
    +pct.a.surf      0.55547    0.22044   2.520   0.0180 *  
    +voids           0.24479    0.11560   2.118   0.0436 *  
    +log(viscosity) -0.64649    0.02879 -22.458   <2e-16 ***
    +---
    +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    +Residual standard error: 0.3025 on 27 degrees of freedom
    +Multiple R-squared:  0.9579,    Adjusted R-squared:  0.9532 
    +F-statistic: 204.6 on 3 and 27 DF,  p-value: < 2.2e-16
    +
    +
    coef(rut.6)
       (Intercept)     pct.a.surf          voids log(viscosity) 
         -1.0207945      0.5554686      0.2447934     -0.6464911 
    -
    coef(rut.3)
    +
    coef(rut.3)
       (Intercept)     pct.a.surf log(viscosity) 
          0.9001389      0.3911481     -0.6185628 
    @@ -2963,7 +3067,7 @@

    Comments on variable selection

  • R has function step that does backward selection, like this:
  • -
    step(rut.2, direction = "backward", test = "F")
    +
    step(rut.2, direction = "backward", test = "F")

    Gets same answer as we did (by removing least significant x).

      @@ -2975,18 +3079,18 @@

      Comments on variable selection

      All possible regressions (output over)

      Uses package leaps:

      -
      leaps <- regsubsets(log(rut.depth) ~ pct.a.surf + 
      -                      pct.a.base + fines + voids + 
      -                      log(viscosity) + run, 
      -                    data = asphalt, nbest = 2)
      -s <- summary(leaps)
      -with(s, data.frame(rsq, outmat)) -> d
      +
      leaps <- regsubsets(log(rut.depth) ~ pct.a.surf + 
      +                      pct.a.base + fines + voids + 
      +                      log(viscosity) + run, 
      +                    data = asphalt, nbest = 2)
      +s <- summary(leaps)
      +with(s, data.frame(rsq, outmat)) -> d

    The output

    -
    d %>% rownames_to_column("model") %>% arrange(desc(rsq))
    +
    d %>% rownames_to_column("model") %>% arrange(desc(rsq))
    @@ -3008,9 +3112,9 @@

    Comments

    All possible regressions, adjusted R-squared

    -
    with(s, data.frame(adjr2, outmat)) %>% 
    -  rownames_to_column("model") %>% 
    -  arrange(desc(adjr2))
    +
    with(s, data.frame(adjr2, outmat)) %>% 
    +  rownames_to_column("model") %>% 
    +  arrange(desc(adjr2))
    @@ -3027,7 +3131,7 @@

    Revisiting the best model

  • Best model was our rut.6:
  • -
    tidy(rut.6)
    +
    tidy(rut.6)
    @@ -3045,37 +3149,45 @@

    Revisiting (2)

  • We should check residual plots again, though previous scatterplots say it’s unlikely that there will be a problem:
  • -
    g <- ggplot(rut.6, aes(y = .resid, x = .fitted)) + 
    -geom_point()
    +
    g <- ggplot(rut.6, aes(y = .resid, x = .fitted)) + 
    +geom_point()

    Residuals against fitted values

    -
    g
    - +
    g
    +
    +

    +
    +
    +
    +
    ggplot(rut.6, aes(sample = .resid)) + stat_qq() + stat_qq_line()
    +
    +

    -
    +
    +

    Plotting residuals against x’s

    • Do our trick again to put them all on one plot:
    -
    augment(rut.6, asphalt) %>%
    -  mutate(log_vis=log(viscosity)) %>% 
    -  pivot_longer(
    -    c(pct.a.surf:voids, run, log_vis),
    -    names_to="xname", values_to="x",
    -  ) %>%
    -  ggplot(aes(y = .resid, x = x)) + geom_point() +
    -  facet_wrap(~xname, scales = "free") -> g2
    +
    augment(rut.6, asphalt) %>%
    +  mutate(log_vis=log(viscosity)) %>% 
    +  pivot_longer(
    +    c(pct.a.surf:voids, run, log_vis),
    +    names_to="xname", values_to="x",
    +  ) %>%
    +  ggplot(aes(y = .resid, x = x)) + geom_point() +
    +  facet_wrap(~xname, scales = "free") -> g2

    Residuals against the x’s

    -
    g2
    +
    g2
    diff --git a/asphalt.pdf b/asphalt.pdf index 01c0bd5f100bde504d6786f813a88c6e4aa31ce6..3d90f847d8dbee442eef78b542052cf574d916b0 100644 GIT binary patch delta 53407 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

    kde=y>W-DY{oCzDLP%Y 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 Q>@2Jx1WHOV1#yJ`1&wT-VE_OC diff --git a/bootstrap.pdf b/bootstrap.pdf index 50d24cd2c1cd10f51ed01852408d5f588e5987ed..bb4ea898014e50e1f4cb8eca78b42d9f078859c8 100644 GIT binary patch delta 7033 zcmai&Wl$STw1z3}?$9E|DH>c06bhwSZ~_#k5Q4jbj3(vVwp56Dl+qoIM zs+knfKZFjxUGE;bxz!23yJ`-y)92+3y!U2!<#1|gxHh21j|1JGvr8&%9bXN|?A2I< ztf08wrTTO$^5&h{dtI3uoM?DG4I^od$kEH7RCY@1F`H=?CiZ%scWJLCws%kISf7)_ zO16$N6gTyj5rzJ#4a}CE$SK*A;$=-qc%cfO6@hZSj%iTl!^w+g&r|QhI@AHZ9syJW zn7ND+F^s1$+G3LnR#jnyc>ei54E4m_Hg>s z?=H#W`b(aQs7@8;da=D0c8!sxm6$n*G!;n{JTA*~{xzfXaai|hD{bayW&T*q9BfWI z#EfaeFTiVlYB>)Z$Q~g+wK?I0cdV#4OOLUptj%^U&T9b)ht~qyuIGwYZ-)96)>vo; zJ!&PUZ`#hx1!$mji<5qkYL>B0iV`W}ZDFOXw8CSMZ8+hr)D4ujnr3DFt4o6U0e#DNKe>#0v4xp%?hiy%xKL+Dm+k#X2Hg|%P zB=y6eCtWqmaq)GS(KL_JPOMxmmfgrebsW9l&6^G&il3!=`QXYI`?x4Q4J(!{3!l^{ zTc=#;dc@zEisjLuj;7`BtKQ#t-5cd0v<<)?mg$ry5M5u*Q6^u$?RK*__LeY!j#_49 zcdnL{IArs&Ru3FG}>XFlwxrdBoC#B|E2(wsJ#Q?g3s_HMVCD4I0E>yCrSBZv$tA) z&t`9Kz`iT1nzC^$JzY98w0nbXD$?0>J_cbnB@6)Xr5CZPPjXRw+f2H=pJaWZh+!`8kRCbl z(7&L0xK?+V&!(>dic>^%%jqjMEOzMifxX-vPrzqe7k`kG>*gcn(wrv`T0R|tdMMNb zJKFDZ+sP}>s%a~TPCYrVoOPF$tr+qehn}g7T!!CjZS8Cg z&os!yp4m{nrx<$aFk*^tJBC-4KFZui%hF~8F2xlg!uBub4{w@PFz(F^(}s#GX7Edl z67mw+7;~S0Xq$}$5JcW$uTmez1-Sj`1q}R0P?68L9WK}66RCRB z?beAVDoH1V6UBEOy#4WoEA1&2Ws|Z?!GZMdb@5bQ-pf%^_y)6~Y&40rY?f-h8~tCc zsRiipmKy`rn~}rRk1C2mU$d^{vq;o)8F`p7WWzQ&cbw!R&am9u<@cknX55II-?ngV z1J=Bcyvc|j1Pw#i-%Tpg3jCY@MR0U3=zoelM8^^wB1rm>{mzX^TBUAz3Bs&cA+fqG zW_O2SB?HOjU>P7m-SyA53VFxF+5?boR~zhp83fMX?xqq`-sd9n=NCs605E(Ie+1LZ z@$__nPkk)U20NC%OM}vJcFtF;NB6roL^Pq5I?$_BTZ;?_?$fFftmwat>5(zdEE{WVL&bFu%|QD6CPrC_KlDcw$_Tu<2%S_Jr6nJw z*y^93M+wjBHK^vt#L(uCsl3&mh28=x92e6aqlrVRluJlf1U0<7tj9XBZul6nuc#e! z2ANbO04N%HHVz+ZdRX|H3&Npvc%~mH_8wyBF(5rt{Lu1k%OzQlVl+!2vNt~aUtUueh9s``HB72PllP@XZko$4~ zkT&M>yl22;y!+_Xh5MIZiVFp7%!h)c=pVvtE9T=($6B0Zyb*txsz26kBNptJXqs)S_ouJ)M>IY<=qqiG!fC2?u z-vDM!&uiQ58pmhrf#QtXZ%KU}9Jds&qu&~vl()0c&RdI*R!GhCTw z%GdDvTs5aa8eW#SJ3gIM)E8Ya1`Pb_DI+oRR2C#P5Uc6EUCiWM%&>4&JZ=2P3kO`~ zHTa?z>*tywFr7aDh32C2!R232pt!%FB>w~Iht5A23+;RWC}Zfui9c! zko54i+8{gUspEyY&&&ITw3#c^pOZuFIrrS2(?!#MBqnt9tSpxdF=chUSNs7sVQan? zM%D&wl2s#*BYpJv89;jx^CH`K{ac8!v?H;}5P@-K{YbT563}q>Wh~qAk6Gu}byD*l zw0h$&7f#X5$;Y0vs|m%;Vhle%lt{k?n_TLGDKzUPWpG(D=tFt+BK%dVw6Po^jrckY zdhjT1egOlO){d&V<*h?)kY1R(pCr%g!zwXK{oHv2Hw!8(u1cw13ad(gxgq?DSl3C~ zidZunC(xF^RfZk^UGRd_4}a&*AhJuK#$zb#u0W?#*w`EO zNzsn40`Zx|RU(TaKNN5))i6Gy=+y6?RGPQFEU@|!9(<>)bt~BOZE|(bjXq6dt~8kS zq1kT*vfTi{$AO)xbrjtCF=r)ReoZaNFX3 zyQ%4fsCp!f`1zz31{LR8XXRhHdh>;zo|&rrTGo(@XXXs-J7i!*6Ok+Y*}9 zmu^!oEytc>Yg6Ru=v*JtrgAjErd^+;RxrGh%zCYG>i&5) zi6U;^%tUq`1&EHiUW|z!AH^(vN*+*eXtcv%mbXls1xeAUkWv~?!^%55@e(|)E$XY>3h6FbE)Ca z70DrgIsPRmsYk=-PnNSkA~>UIsFX&(KwatT(h{GXrkvsM`XkqueEYAD{d`D9aoO#) zfZ*qd>aKO-yN5prUnei=FTpww(3WjGe>q4H`5JND+Dfr z*mk^ATuaC}^)S?Yz=x@rZD!Zx?SzBfx=mbl`;Qn;0U1uU%B;9iDu~(@zrfJ%HV%6P zkrpfU3PO$X$5yuoUBLm6O1_nD3*{IeV7|+l3RK6ZRMkfN1XLqUcE?+WZoFt8K=u)IwqZF|>wRfmOCWn>Ua*G@*jsk4{M!BQE8lF@ zzh0>&|Mg1jKUF1Z-7!RvasU|=W$Fyi(1R%BprqzSrn=<4I= z;JQ!DL`v^`rl=Xs_gv%J@L3n9irJWIou4V{z76}H9h(&mnnptv2`vT6P(?{%&P9B9&O;&Wk}+b^B|nb6Ubgk@UG$D;yS4 zQhOwP`=tfc_>g_H(RC;agMF!TvudrFsiJb-`{ z+0(;C$~cR!hnYc*0dW&1C}dL&iI4V2w`G>#`fWvs+sYNI#2+P!C=p}646z#sCLq-# z6dpAS#pA)|S;7ur#LB5D!@8YdeSk7}TtsioW0p)m<4P z59;n#bonw%U6G!R1aX%$!(ark7q#j|4Z*Ipil$qOm5`=HC{$~5NQInwffWH{SDBfa z@o4iZo_ns203@h!0|bOmlhvZmHV$WXEet$4cFE`_bi?OUFP9wleMpB5M4 z5=D;2A(`!XpLCK{L*ox-We_Mw=yquCi%1s{=Z>)^lg_2q#w};z^(qu=#)(FAE}Yt4L3LEg zj06|g9u^8NXPYkB<_@7%=QL9-)(;o2Xcorf2A^a1{FaG3548CT(rQ8l3!{&D3`duz z=&OSyx7!&3kik{4OI2rZ+;{Jfy%Vh@$+P;oP5zGM6mZB#9V^}de{jG)-UJ!@&a8o! zW+=a4HPL{Jwbo42WkcX6j}f+=bAyEWVgk5J$n?r00JH+Q#e+^b=u6r&eK`<6T6eUs zRBed5!Z%41VlUqlWAiGhXxiue5OUwZ7!!V1?}CM6ZhSk=%Qfu+)GvNFIf`%>gI=`W z-y7ow@xf9QX=CPdFBIcRdyUVP=%a%Yjv$fIUP24yYxnLQnaL?t@B28VWd?yo;iHyg zW#vUS(GZoDWaxI~yiMn#!RN}K`=ztGdV@5ts*PJ!{ZOtQjNjkqOsLqR2J>aw zL7D@)m^q=GeOg;EhfCDapM27m8*RzT-$zH)l?1rx@b2|iX4 zFk)8oACq3UF~20G|K^H^&AI#o*SM(&4g!Kkeib>YFJY9e0KJtmnv#POn)qzP3&HA3 zynBBo4Y9z25pi+|_npdDzL-haGVn4+4>Z!1;H#l898f2anjmDPsj= zHO@tVlB0Q|sA%e1WJYAo<%ZrHfL1elp*+=&d6DpHQ%qVSH3ely1Wt#(%H~h~ucWds z=k(tn)_?0SYup7L6(T;46bRugAyx~7lvH&>b<QeklZXAz2Klp)P+ zjc)8$7VN|pPV@wBgwpenx5PRS(pil9oK*mM1R29M-dEh0T#IDp^!I$UMCg&9 z<|y5selHYsz_5URC_v}+qiBqPgnu+}@^8c_`Zm@AFpy>y>i)6w+B%9h;H}cC7a=8e zoUBv8E9g@{s=;sbw8lKoFkA4QsTLJ#u~-M4)IU~aT5t)eGQQMTFg}#v5~PGOu~MF+ z^{dk5m16dzMTM1N_AlawGK46_MQaPj<$cD)k`3EnrPQFzd#|I6RWOGdY(+DK<*~w3 zUJdr(va99KepXo+DYemebaFz2h#n;x@6gu=>O}}5i`>}Q2s#W?-ZoUIY{)?zHs60a zx5)^jFmwWy@oiCTF%@F24Ut3j9iyKu=zex6u1&T8a)9iGOls!SoATSg2pb5W2+H)6wCU5GooW87l-XgY zqoef;;Z9}HNl@L3?q?eElNKbWCsvY=C@U9{JH4*4$?XDnx$K`E67+dc7?VJE_jkqS z=A=_z!*gHd!G4mF{)@oCXm_b#e}wp14^__iS;ch>&L89!w%n7cC6o#%cKN z5w-g3;+6$+<>_spu;m~T)n#nP{y0HiQ4N)CO!*F2L@GF=(0zk^lr{BR;~t_3_F4h$`{4-@8fK! z;tO~yv_p8ouBuDx-PFMJEV5W3G6jy%^Yf>WC%*BLBuh3toZ22iuVc>JCVrwUS4N)Rbe5_x#D;GPZ( z9p~1fF1x|f!%}7kw}&=;9#ciUpS;>cM$PwiFTFn_HPVO#xYly`OE{5Q6F*lAmU1*y zCcjZR(sUL=VZ1=E9qN)5n@IU9>CqziK9}uKqR5)(N!*mJH73|J&kms;gukxQ6hOf) z!xputl?;7|Lu$sxRnV`>TVp95=BM4qWyWP5$}y!6fQDGBm_sG2t^*69+c%}peZ5je z)c+ph)Vb+r`$h_h){mY`&XMWqX(SE}RmL&=mChm1aGHcn`ASMPfU)pGOJ3Cnvqpt- zuF^$6=hnOa;^!-!BNiP4tQqK&Z?16Re_MNL9CPTzX=#)g^ojr*D}aQRjfk~`jkvY7 zjffyXM9kL8Mo8RFSWMVbNK#Jb|BFaFqr`aq-@Q2i^0uKUBREFgEB=Cu z)#Xk5a}tX(Q@i>Yjtz&_%(Hnm1dTh^X64?8o!?R0pc%66xKwaRX1~VwI>RqObHX{HCNtqYv4Gn1%t7t z+0?%jn^3HO%qr{zRC4#ZGs34cKv06og+$(-qN=MBbo~O>3phS=iy5t_0URcpX)fFirlebPx# delta 6981 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 diff --git a/bootstrap_R.pdf b/bootstrap_R.pdf index 9c5ce7477f9a0e7f6c31e5093fe1befb81863f86..8a38f14fd4081c38390bb55407d3012596493495 100644 GIT binary patch delta 7461 zcmaiZRZyIP(rj=Kt|3T(u*l*ri@Pokf#7bzoey`H#T^0!2rdBv!QB^GTml3LK?4N6 zr~bOP>OW8SWnN|;rh2-2s%BcxP-@Ol8uHQr9tZ^6!_(c`+!@<<)g-;oAzYFm>I^bO z^Feve#7m7HGgj%xd`rc9@U@L+8ul1#jquOYng@Jw9nCv$o5LbX+edcO{m+yUFD`3e zilwOEXn#0ftEp3@{spJdV1)`U{`lFmSn*p-Vhy(8=tsYESTuuJz8#oo1F3N??qL)F zUk~RYe|+9l%c&^{ow>Zl8p^Ma`yesPBsiisd00sB>|1w)5kTw{-zh%(!WizVgL*Vp8-Zp18`ARD;-9F{If- zPEcjp8WUR%las7wbPb8h|TCh7tdldQa$j6@sx1X&-!NCtb92-^B&da_&Cucq0$3Hoo$(gDh zR{cq^U;egIl@8r}rwZ27uOy4M^aG8bNo-C4U%HqsuKG;=6lDUCV3Js9qGY9hgZgyg{n@~J9tnmF+ zl!yU6oEIu-qRlPyk=<$t2OFkp2d@(%PE-Bl9nU+308iHvOtb%Oc9$6~-WWBx_bE!V z=(#;wrwVnqBVSdyw{vOv7kcMUd)#%a-4&(JD2D1W(^l}{Zxsh&B1y?X(}*l6eAmZGS`P?R5zk4PT(YSli! z!%q{hu?1 zms%&iZ@GoNr4tR|@y`!A)JH?e*c$Ga|L*NmNxx9W06YaCb2_iG^3a|)iLbQ!TA?&J zF;0VA6Hjszt%sEuUnTr-2Df@EDsRsYlV!$qXMSB8Y~*ec!m>Q3-@Pjt-n}wG!LlJY z^aIW?>~M5_7?Z@MAM5Q;gSmW~d{a%(G}_MW7_;R~#&*+SUn{9wd!%q2=-?_u?bHJc zvFg(G-(C$Yl6GgSgX!HMt%E2`FNw_rmAb8WJHxPMPu5C4i&$NPQshc5$vUX8!%0i- zh<6p3RqlH!k51I8XdNZ1LS4Q9oTU`B&Mw~nR)F3i+UT3()L}b$OP`oKVHx)V@3(8? zS2uN3Xvra7m8a~tPe?bK=^p>Xs+C-3K;XaarO#oHi$w1B85{f|ifFB=oJ^WdjS5p$ zWT4!9DXFeJYFHqyd2}ne?&_BXE*ABJ((N%sVn%Q6Z<{kZ|HIo(hcgT>hgFd~M<1L_ zeFeZ}m2pCMLnmDGv7W=aXi~4M3E<@XIJMah=syf37j>B|1Kx)B*CR!)rq;e9flfR% z4nXPM-ey21j_dNngV%YMbHFh?un@%mCX0WWetmJE=}*$LTjwns9Kv^MC{C^S;A;z< zJa7URr^WMDjWKK19W|Y+rVmY*B~CMtoXWjc&8sP2Fwxf1i?|@ndPMuLVN|tPz}tz1 zmQk`)y;OD}!x0o+$dIG|3(ZL8w*~(ohd)*wL!uyqa~1o$qYPVV%8$4i+AI;|Pq?H6 z$E#3#`alQ6Xbmv-?t+xif@_M9ObLN4h-7ykO?tz0ty+XPl$FTrSjSYLz)7EE0}!OPD6X8<@sS@&gZFx_4yg;mLK!%f61r$F+Wfq z;Qy~Bb82kwu{PTJ1nEWIdZ!mBeKt|UqKnYVciXM2&2b}&qNO8BYt{7-l5*nMOuq_@h-oVDxnZ`GxQGa7w%00F`Rmk`|gw0Yk4?pbZsi76_2Sbc>3MR>}Xgt5Ear%)5)@RA()r&=65n z%np@nhP0|5pMbcSOcGuta119i8Aw$j1Byi0(a(++X)Kk5PG@YdGm0aJ)Pl(}V1{xn zZD-ELO5w!bIQV`kt+F_!l?b^H%W;PzCLFsDIiZ$VCzMj17?a}n50n&^#zNz^?ETna z>TvOtZOqS>5y?z(Y!)<_gIp=$>PhdW&GYx9SQLf`Gyz$j$K>$u>Sj_Ql~n`~x*TE> zp~Ry!Or*Pf#+wjjb&)T{Ov7P{*sp}De#UgJ^UjhO@6v?x6I7s~xSH|W9pg&whR#Qb z#T?_NY||(wG6!llMu`2|N49S4px#y-bvXo$BePPokbW9T)iO8|V;NFCRATA)CB}kQ zT$rjQbOhL6eA9ej2L(dPPY4)6r9Y#r{mAWQpFzvd+F)4{-Y{IXn+jZ_ttbi6;d`y= z^^+m~xmTvaynj#1SM$P0;)UWE=BG!xzsp{8S=Rj0w}eiK{ZE-^of+e3!hLn_$^$xe zS=K&gnuVD1;x=TeUtXN*q)NFz@=xQOt4!K&q>z2fM1>ALoGEg-yylEo5(Wcg`bP^+ znOh&b*~m1=YIbk#Ydg9pv;JA6)ypeaURgAL+<|00+nVV8WACj6p;Rsqwbkm$`L|AP z9@+~S>idbXz|#Ldy2Aj~8ViA`1wR2pSp2m`jwSAAt8}HFs(E`Pv>J;{8qRTtT+`1g zT4H0BLr$;_fsgg%`UrRNB5UA;6my z?fC1NrRe)ijYZnVuH@PaK`*WR(ba-Bm9Uy8=Gom2(Uzm8G*Y~{^p(X<0Y9mvN`%{<4$l=Xj z#Ry<7Uy~?tbp6oW;G3r;TgQ@po2nF*2b1Gt&4AD?p=Ex zP{)NLlIc9wh9Xkp%-@Mru+&EN6r%2eZ`g#=A0DL$tlvNeHCyKZ8B9{wR(cv`YPc(g0>VP1_Uo0o zoS#P$HGj7e>?AL!jV|L09>crpRnWT>){qsJ{Ex-!t!y9aK#d$o}I zaywUZTL8L(?ezJ0gb3|3EXWAYK9Tb?CDS$1_iU{1)`oSg>k6X{x{&P)3bUHXkGJcs z&I{te&+xLE?k|e}Tu*dK*YoJ0;0ePw--fAaG*H{r_Dc(er=nW|TmSrF);q@h<(U&i zw+L_lYn3_WYSTCJ>Ldt#zNR?9z^^_&^+s7fmyKM-#MH4@p-=umY=&&$@-pcuyiD$& zxez!Sp{vIpMH_eQpN&^3yde}F|M&5o>7TqMV0-90)vrWKq-)Vy+UZNDZaAaT)4j? zz1}d%cQ9V?-KdaTGE!B+dbdqAO84q367G3&azx(PbyJ%R3Q-U$Q*o=qkrZm+043@V z!9b*ENM{p6*vHGw#kMcuO+EG_D0Sgw_`tFu|K$5ck-RAgUVSquxFWq@%l;=kahO%~tqVe2TlSeJHuEmO%gwEC3h3Uv=7#=YJ(HR2+I z?s1$Rc45?T;LQ9w)60mT-}G&L^!U^)l+pY?8F*$R{6q1Es$_~=gX{$1^f;jC0*E^Q zY9TuDUzkAbxCAta{sDJ&J@vV;y!JU6*!W}SvyS!Go!w&iH@AzSSG#pUXKJTl^Ea2j z49Ro>F3`nj>0SIA)YfK_93m-U(pTW&i372hVfvkRYh z>a9&K`FB4muzrK_>7M;>vP%k|JwUu~v+LE_(P3x%DgWE+#+RP^0OD`xiGq^a-Wr15 zhXE1Gf#)MOw5gW$R%?H&PYZ@llb=53j<_5q)on)m{uVf12}W^z!SC**^$QY+HS$n0 z@9mmt71{o6P!ojH@;M%HiIf-79H?8@uR*^Dr76JTXyljiE1aKOSqs$tng#gYtCiC4 z44&h)vE6MEX|U}uJHp-KDn$|b( zo%Moh8wsYpP}{dPvWpt5`L`EiKK~evAb(>EkJzTJQ^_G3~k?nU}=G#D_LywIo`XqQR}u+m4@|JRJI69H-O>PeAFaVE+0m-*Jh(KGiV6lA)t%6Uke z4$xw~4-vP0p~3A0Wa%R3Wj?K4^z7wT1rgW&Cxf-=!nD;ey-VqSmlSP5Lw4y*gz5OeSJPzZCwExcpOk=I z^gXeHDm3Q$@3ui~Dk1utzE4{GdN#7A0nlU{hL)sO8mzOCRr5I23|mVE1-R=Z=FDSk zf1$itmj!zeqHIJ@^J?WwDh_Q-^`H}Lv;?2QIpozFXSDq=h*ddf!Z{{cXYs^>V1z^Mehg%9ZpBkc{xxB+Q|(x83|3__ zg>?o%|FqJP%H{2ZR5l=XFNs;F$G~0F*lI4O7CCioGACcG4JA6*cKuB^)Y*7gqDwCu zktw}%J_|;|c(bTIaQ%w11bZ2a$3bu!%~dExGivWfU8>L6rQhpE#Be;pB?#wf{DF`U zy)L5gjeW_8Rx%$t+Z*f#Sr2vg)Ol1sJ{&kO`(85?TihL0HvbjbEP?yN;E%QK1fm$0 z1%@G=1aAMbc>)f#XAJdsWQ3=qlC+e|(gIcAz6pC5Pkg}tH1xLXJMCx&h1 zbB9HGx)7kJgPk7#bm)swu!uhonDbKV-d}j?NZ(RnrgCM2WU&&7WMh5O{eDL>ERZsz zXuoExsiW^BL!g2}_1SNeFrAbh9NI&`StCKQo9QOoBok-?LEI6 zI@a|;Wp_tsl4W6cufM)(jUziDxvY2vcs2!6O{09jq;9?y@u7vPawgR`ek^@xkzK>! z-U(*16N=|9VNM(FR0tl|eP&pDtVB!$%&o3F7%nE~b0M}v?3JzrCmUR^rtAS?+Z*5S zS8LxM%6Qj9AdmJBW&QFWA{=x3qIkqChl6%z_BrFjf+s@jO2w^)g1>b8yWJlQ>{iF=j{O)LxBj$GN)6U2v}U-~B1?U(<-hhY4L6;yaSIq!Q)bEC@*X{FYNNHgjj|mg|8yUR;uN>$~5PWW7@62421YXjHq* zV|cZ@&j_19!jq{mqV`9+)HF$Y@inEijg6H#4?hX1mqZUXR#%RT&qD3z%7YnLeQjQyiVFwX5 zMM^`!${@$mTEs$P&e!Zl<6Q1Cx5H^~bNS5|v5m)re=~lY!X7r$j)r>rS>gLm8zCp3 zP~S`9tdmYmHD$9O;lhtVVj%(N6f|*z$J(KQw>nM4CKcK6Etq4s4 zeVS|+k-0M4rRAiKuOrR3(KgdotUqQDI*eW~W$tJ)8$RbkJ{evD_DLa7E}}pt(dB%w z9q$U2r!}8(YMNlKr5SYsngk0r??eS!R1=BGMYKQ5%mOw37yJ1~+DJ++Vjeouc{B0JFx3^zJUSek0h<+M zM8n$yNo=P`=TDfhe&cM6s~s-m@bpi}zdun;OW_%Z)O^CC8l0BUNp+}l;?n`txZx?S zwAaaYuuec^Bjd9}!5@_c+5#7)E1v=yC6x~K#QDvj+akq)8uj*yvWIE0tfXEM{;@S$ ok?(0f+#(yP^=DHPfS%zJu+J4;mY#S^i^a`{&GeryhCKHF0j%9l;Q#;t delta 7500 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 L85rc$=Dmcemi~cF6yoi}TfgaW1Cj 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

    Functions

    Packages for this section

    library(tidyverse)
    -library(broom)
    +library(broom) +# install.packages("vctrs")

    CoRjhhkciwnf?!;gQ7^BJ(%(&IjtxS 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 CTd=qQ delta 11043 zcmai(Ra9KP8}2DBPH}g);_eQ`U5XbQic4`DWRT)kV9?_3?!|3zEACJn2KPhHcW(Yy z=VGt?R@P2-@~kIscHT@u?dPEO0ibsvSkQaW2M`2d>&Ii(|;1UE}zG)q<|uY=b%e=x79ZOdAySp`)?Q4*Zn(>M{ltDRe{F`58ACovA0yyz|zLgLF+7t+B48#>`nA6rO+M3Jo(Qst~pp zv1U;DMWBxj7T>X^geLGL0ey(@MMM%)B;mZ&u%rl+;y+(YCl*mklB#TDMQUidBt!Ola6O8_f^cpCOP)m29I`UjcVO(Ri&haO2*hCcGqLOo05>Tp8 z#T%(5%ZYgNHCs!g_z+D60cGnE<(uxT&bv3_B_g}2>yoSXU*Nz`>k$*-5hZn=MDJ7? zlcb3B?{X3jzyr3ec&AO0Zf*`F8bFV`i)^|E>yu~igEs#W=$T110|rBiGc_@GN0YOvgeYKT6aV+J4VO;r@cRxj5>=a@}N1YFY~LG4U@J?vc$!S7~9=l z>!}LpLUF&_+xfg4b8`i?^GT$|bRywNuOjmMP8}XiNcM!99)XGm1E1smh;g5oVI)*ksf=+7kbFAi$!B~Y z-mauP&RYE#*V>zc``GATn)}W@B^ODKi}?E>=5TkQr5*vkm=dz1DW~DDU2Y0R^iEDW zMH51)gx57b?S)92bCVzYw#JxR%OGonGKz zz^3j5|LM`*^`-~s|LBoq5V<9e5wiY_`^-PenQD8BNW~BMV7ijdRb9nlz51I#Y8K)3 zneLesVEP`}#6x#MU`|F^H{EQ8SC{K~D!VMRD@|%;UX~S-~?gX=ci^56Z8X0VbyysCue)6dfB%xqs=!RRetOBpD)ilmqLE7Rvd{w4L9jxE8|5v z8AY`o8a^uO>U6R#=Ve3kHVsnmz3=d_*XLhPgg*ayQF~^5yzqPyCW*~uHvXUwgsW9c zs7?`Q^vR|5VeDhk>0>#-VuJk`8E70n`isX|ji@d~%A$#?wn$YC9#>5TUaKhCfO)4` z=1Mx_G(%#9^)p%mb-dQ6HZ3VVY4>^yD0}dZ1Sl-3)xxuyO4woogRC48oe&pt{#8b! z;#h-ai?kL$+@qR`q(CDy4|F>UbmnG;?}^9VWGI*yhzSi4=Xas%K-L~{PKsk2lnP2F znN#s7^+`gv6fm+<-;-t-RkwdD4)K}3&9Su?%IGPmeqp4}meEsD{UX@+qu8w!wOFM9 zZcZT6vZMif`2Br`aQMzUOBFKdQhHq1zph%7IWtotDw#^Vs~RG&i?@{$cTHGZ+n!OX zxqXsl;?7QZRhr-6EY;rWeZw1w+#BNmHt_CVfV|9L9etZgX^I_j5Ik4^@_o{M-ysUQ ztLtO9)b)Q};_Z3!lED9ZY3wb&;>h0mBeQ5KROjC-{wBZ@dM7oVEXa7G5kF8#kqok9 zgWmky_q9+D{`i?I?|wYWv_CB_zs_7!>WT}#HyGAV54YIb?c><6D^Vs`g z6|6s~eXP4bY$58@4oe+-eR_Dg@_D{K0N%HpJy3PM5Z>#7mq_N(@U8pGad|Y(xMN)K=-0EPHkwUiMeo@DP{_Ldp zv-1@OuUT2PmKH#Nm?%9|jv^7LC0lhwHFy zAh~1@XDK`K=qS>6W>Bc_1bbD4f*Uqc7lgtlRc@Kl`YQ>5I)K~hKgAQEnnGN$mF5%Xre(%xy*-?cU%bUw4cAN3#hDB4Q(T8gKl73q z;7Y|iyiW*9rR_Vg4skU_wLm?@Sdf0>osgD30l4rd=tOaf?|#{ zQB@js#`(%9g^Ku-q?mjbkYy)aSZ=e^pbq~cuvCmO$opA2}&4;M(f zD!hUtxwWcwVxQ*x&4N!d3jt=cNM3mC0UmwAOn5VI)n@_LjcwxGiP@lO#`tIJMu1Bw z0|RmjYvJ@AgOf&79sn98K?c?qH%{07z|i0IT{9g;$n7b`+DC+S?3zJgyN78pK3QcH zR8Mzb7p0ZRt5P<^SRyCtpeU~|RN3jpbd3qT7je^O7SZYb*p zV6;9W+US~X>={2374@H6;-3Au7(L?NkmC7@K3i;;kj_KTVql-!$d>A5D`? zY`4U5KCfRg?$wNHC~>|rg@0`bs&*J%Vtph^occIR(|5Pgv~Dq8fKIH&?+iG-UnR6^ zT(fsq7AamdSWgaPFVO?&x7wBC>H>bbwsyNV@0TZWV{We`02p9PJCc%=6}3xY-~1sZH>k`}o2P7W_gLzrp{c8?`iKm8!HWb2^FOyps8jHcUmD zU7&9_XaxopKAd^5&BPQz9j8=#>-L>J)6(n+tx1Q0NcPnCDRN%pLnPBtINlK!**OCB zfjW>GjOz@H>nr3XX(AI@Z_}(mC+9d7LdGPHX-Q8(O5tm43kpcRCGND%AQKw2oJv}h z#Wq1z(M^7blJlE)A#Jc$3Tj+DYBRwwdl*eH#(WGbVfn`n-Y-Iw)wHVM--|2P$?XFHN@I7yXkCVYr-h=?udThEmDSMs+wGrNY^|Pp%C`!u zpsKcN+cs;Rr>FPz1sntaSq5)}NExWmw94C-vPNPc|B-l^VVv@{vvI9D3?9ofCf|#T zdcv-5{d5_iR<|&zjUZO6IWymF(q>THF8J_$hEA{Yu#gC}<>e&GZ?MY&J(MA{wEE`~SfZ^>V_mL&>?T?k`Gioz5H#f z61=vHIwfC&*W0cJJE5%7F3Z$pt0QNxG`vO5X}Sd5B^j5Acxc8?fqXqi?pTZYN$mO% zo#Ppdi*k&MH#f)7X)azg;f>uz3E8;wne-!m$t5P27ZRmZq56KdcF&v^S zLWj3)3$C7Dfemg@r0f-S;oFJ(UPu|1aY*Dc^uyuY)uqriZP^@H@(a7C|0}@RS#sK- z)y#S7YCZx*;7d#V)x3rTy);}y#t(4vU#-cw;QkpTbqT2t^z+glTR*^wY3j6L;5>yG zCPIh6-WeqMqM1ABh=E|oz|7S>iRc^)$eExI6L%28jhQwNRH^AaDl)owL}wtR;Xt-@ zu=szc4oim=e`;d*6iWz^I8cU6NOmf}!hxcv6dTk)To+>R$SYvh+l$|Digd zC&e(~a{S+hHXIKk*SRE;omQY_M)j^G8G;imfgK5t^SyF$T;rodyp%GJQAVeEdKtOQ z-rio`{PnZY?ip#-)&BUwm&sb`Lp_0SDjp=ZiUDBjPCz1Oj5D{tL-i6>Ky4)Dl z`Ma0%)&cHIiD0eZenWZ*y?NziFp)ft1z0G?%-s-$K&iKzw=|d{dM`e{KI3ga!+M>! z4q9eqd9^>rQn?fmjxbAOG4q*)*UoKJAr4*2!P1I?#;d9rkl#l|sQV;!<%r`J>lTs9 z{4A!Y54CmPNn*$0S&RFcbt$8gY87Qgmuj^|jjfCJx~gcJ9J=;6OmDjnZLMq@VBtwd zJ{1d{0xa%ki7CC$D*L}Hsp)8p$Sd|8M~bBpF(nXWiH#?TB`3Lc7u-v*RoV?0%+k8M z^@+*PvbJ4mgoJ8E&FZceoo%ly+bj~D$j}S!YZX}*bsT4$mb)8q^G|1L;Z+>uUw^Zw zmy$jbD)4mwn>3gCgC7k~7ppICE|V9Ng&h{t$SPmUUsbzIYESBN}^-W73{?~YY%9ivs;@8U?R&iy`vFH``&2NEBe$R6}gyQerV0T%BY|l}|Yyiv17lMjm_|PIvG(3XFcm6>yBSOZ6-Pj=krZm5S zy3(-}xLR|tyz$?$0{i21Xy9ijk*8cSt-di(68h(T70f7P$&3)PMhTT8fK|=Q!(l`z z!enD`=N=X(7RkfKs=!2oq3V=~*uq>+EbOsMiJ{V9N00y6MY)^aA36>n)dM|Z#SA$|M7>!4yR)n$ppdhFkN<;O@%60pb)`y zOy(c2_wY=qClzK1Qd=K{-jVKv*EU{~QEDKP6_d)dxNgAomtu$r6{7TPX%G++sG`$T zywsCQMOdO_|9V&WJ2l{MZk{?bjSyPqkjin86oE)Cf$$mX=Ri>>SjmtGSVd>!ueA() z+zD+&hqA*XVLmdg^V>niR6>oBOF&LdVgB(ExPB@E@w7ZC_ukkkFL#)~EOwHiJt@Z< zrN6bl+DIocSio>~S6k`z;CLr5c9%~j%S7qiB{3{bVJFobdrqrVUvcnFNiAt^4SCkb zW4=GhH>>q549BB*hm9=qH|R@Ev&_hsJz*o2f!tFnI^JEZF#s#k*zY#2!!N+`DR}5q=V|H4`AH|=@$dRz95x$@&7LxIOp%)#19PFDrI$Hn0{|I;D*e&FzM%j_nWk?YV~IN!Mhep~KdD&>=jNyQf7?7>tB zzpqF0?YSqvaLfi7$!AV-Et3$S!NX&nXNB0J_h0XXyYpsIPX9lm(3f9+67vtlK=`8T zh4kJVt{-SI1|Akq;jhmuuQun~bi$t<*p&QQ+^nE`Q0n8!u!hK{;iK`D>$w|5kBWa? zc=!g8?G(2E1nXq4<|m7lXMIF4+P80WUid+|viAE_bFJ^t8&W^6mJ7VatlEg=!oNM# z4QCloYIh#D_w~TLp&wZ56VSj57SrI3jiWxiscrLkVs{fb5fFBWjXSD-@om<9al3$= zxtSoD*gT9jwBTlW(!n<^oUE)1`S*!@K6*i#$TZ6qu5&p1ZchFZ-`cUAy}W&Urb@=f zyZn)kX;>AVOzrB>r4zXH%TFNiE40_FuCvv*?vJb9PhD~`X1evU^^5G$ew*|)9sct< z?}q*hKpKIFP?UC-)nK;^Oia#!Y&}V(`L{~kF|?_N89x3^<2Uk4|BKc(4Po($8VZswINdD86r}@D;)x z4-a#RO$)ch*|J`nHex&%l3_Z+t9>Zg1{X@Bm+DJ32o_%8w(h!GqzT?_ux!@HAcHl^ zHmIOmhE*_gzvtlZ5H)~<$`7ue^Nv=(nI;HEo8GeWcWMM=8#rurjE54&`wtv@+WGc zufBNT+~QedMvE)ge!#Yju)|cKxn?%%j*%x1qA`Nvtvk=*Jr|>oH^8jfU}^7|Sc|EO zGzGFsy8yakuQANHMlbYm(`tXpN{WW41?whqZZbsj(Q{HKr^VY!>*~aL&&l#&K3cKB zRm|3Bb$4`re&$Y-XuQ#!5o$&q^HgrvuEnjg<}FLI9+*+K#qYF`+>=+7V6y#+rJIi)-J@(QRpe(-zg^J z2?H0Rtd>(L`<*`4F@N>BM1oWo0FrjuwCB5?HW^2Upt4>)*E|(gPE}{>V$pLtdaA{~ zGap!rb=oJjrh?w2F8yX&o-41p&7)nhc4CSpyrl?#9R7~Ao|tz64o z2%)`6ThzbyC24rmT32J9EVyzgQ&IT9^mExyYCI^@%9>6rhFr$Ba769)f1maiewsLC z3`ITlWck}9FLwg!z5MF|cT2T}RXY}3S$2;RstsEug>3h-`)8c9p2{!8nO*Axknx)&ON(-Mk@GF=-Rc~k*;l0sT;e$+@Cr4+82kZ zp6#!686|sC}iZmI@61{Sl4~Rt)C@VviaI zWw=npCUtQ}ae=(0o?=OpRzuQ=qLHF?Aa_F&K+ZtXI?}Zv30~er(fTK9LsH=|>9SUh z@(+E5<)rcgM!M4EXxX#Wr9-oWn-1pn1|*m3pqQrj@vbJf1J&HD$f$%W;dZ%ql`Mw0IQ58g(S zj`Rj#(q+4vu?T$y;Bt9+LH$_i+nCBL-ylstZ6vhf4O;)zRJ}py8yv^jSN_?Pe*2Wl zyvEX=)<0Ny1En_@pP$ykH~I(vY9!ylVUX9v?lSjn6l`x(x%@ZHs(cRH$f6X}JW~1~5D8yl?P; zS*$=lj?Zt=kFy1y^K97AVQ}c(jA4owwPrKK;X;5}8FRTM?M+2*a#iW>Y6+9I9N<24e=lNjc!oYT{L->9bAsFe*$aMa|SpO-`XijM~)I zQ^I(@(;2I!Z$V%g0`r#G7O1Z6`1Af9rls`%W<(UEU@bBDh(%iIEMZX1+8t*+9b`U-bm->u+CP2ic5 z#)r>pG+(14V3L|{4(4S`Ty3e9I^9fZuFJpt%=DM41Y-hquM%+)?)yf(Q2QP;e}&mr z?_6-O`Z-`(dK9{NM=!MDoekd6EF5Za_#hdjw_VduMJtz2r0TVu^pmY;zOp9U4T;VbJ0P3bnwMwi zi=VRxbPMY1++x_#b~$!$)?nlyw$>jl>f8LKeP17m&gNh*7C)UYWfXn++Hz@ro_#!mkJbTAUG z$mw$KE%LHGyq5pDKa;45PHa`by#UdVM#{X{qFNuIpc&aY7vFyIBh7F8yK0G6?3k2Q_rrkJqm zPV6s>iPD=ZjS<|wvJZrF4DegQM@dksS4IJ;3pPd04!iAiwp+%T5%^*-|mCe$_g?W7oG&BG4hGmCGDjeTF(# z@tU6!YtWsl4Gdv30J&g+oVpPE%D*!$&{0*ktd2t7iG{Ljt6hbA+?jw+g+D%dO0;iA zXp}nj_rKHi9N!qO@5LRZPjo%N>=tXR%Vv6k(cWUv9%$$L6*1MORYR|4`QgQ)^w^6N zJW~R_JE&qae({!C!S6C*e)Va%Bhhl^(Uw%d1^zX!@OsPbq_|QOW2D^L6HC1%B!nE^ z5)#d*KW$iytQ9}cg(Z1%Yse8G&E4G!?NPxhtK~Jui~so%6B{c=Vw-~@p+!xHx`pLz zLcxNRph3wRr%ICxqU_~yMUmbNLc4Q9^5B-zB7kl3mHrv@NaR4cMJ-D~gGplDk6}K0 z%|IaS?CKusn8Fp=W}V<+$D8%JPB?QLzzb}YN26vs_Fi?2B??4n$y}pe-*9IaYMR=y zd{(-27Tw>g{P{XV+ekcuRLp% zY$@%_?We>8a93+@BtzdbTS$d4%3AW^zapkgBjc6JwOYwQiF8KH7D9S<4H!yAlfsVt zZ=qxwElP>Ap5kVh2$xmAsL)D^J=CX`*40g;?2BQ-GI4GpD#(;FjMXY+VL;%|P-V;; zF>N#%@@zZjsD45dU7 zE5W%i$icc)?T;`KcS;Pn{huT`eAI9%-W3RY+cUI&h%g}^ISX_5acvk5tz}Ef{gZ=p zfyt<#BOjQkp&o(ZpqL}4=|MS=yT?_arClX1bK%ES3;#3X+^wQnYK!>O^2{_a*ika| zzjQRRGcl1Q9~T!p52uACfKz~j-_(MWor{-;hroFG}aXjvJYT*)YPB!w06X!+IfT-o2vwtcJN zTPo>G?n^4^f-_6b51*I8FX}}zv|#ILpRC)CSK-U_eUbH+TcP#)ae?gb<9@Gxph*5B zqD{CvebD!l6;>#Vr)I{{4#}Fl-7{^rls`^8@V#U2<2kGE2XfF|Cbml?KhkX;puTyi zEA_{3iyx7toHNK=vWBjCU^&Pa=fGWnzWKn#r+9Wr!xYDgrO-o9XJS0Hy9l^6jC>IF9fqz6CWd+ z1N)-e52{A2&odfV_1*WEI#grg;%^X&dfNKxj-0FPU?{+BzEy z=r@qh5pI>Dryj%(%?8URXgkBKl>wMeE%Y_;f&}#}0 z!SN7TFnRo2Vl^sdE0#cp-1mId1TgM}VBhlhM|E1F^oe+x0l0lh0o@$zSH@33m%_7G z>)icp!7q=_SJi4Ob>FzQIUFxtb4?ALfoS?}uyZn7FWwL(UO-KAS6KEVacaR<7CJW< zrY6m)3CfsK4>R_yatnAkb$9CpKPy_3y`PG69ijz6j-O9~?0nUUsQ)NdVx6i@b@DkC z9K*P4EZB2HMcR953O~mgKTZ!E+cBFD?<3(!4D&L{*S&k4=qtxPz$OFhrMgi$(*oA| zk|Jp=z~Jb6ahj3=2#HdNoJ$?JCG{g!$>!APpdAjO7N8KOPM+qu1?-hNMkUo-XDJGZ zlmj?&Ihr;`L>-y|-T~6(=FPcKIF@AwaMQeq>!fJT&;fYev`!q%I6yGJ5O$X)*?=p+nE_!q}DE2FIs@f zg{B+glPVbhee>D!BhV0KJuGKY12`G`rz+IzMQ~ida(~G?e*I}iNuW?-$HU}48Hg%^ zfcNJEATo1gaCQ!B=^$+2uZZoFp)A_+^3FW*T3aNW#U$=U)ZFvu1`` zu}NvVki&lG0Ppmn?EJ8R-%6!n8>Zez?@d6hRiu=+A#4&Ic_}6SvMNEtPB61R0tzaD zB~I+KMpbC@z3{$tBuLkGUQxoxF`;^D9`zH$<{Mv%+s>V##7`u{w`rh z07eLZR0)&%6|-YKZ~_PUP@K2)OUN?4i;2|zF zUF}jSRqmRp9lmPY;8#|aarZjKZ4i>yW4ESO7Y!T8tD5hH?!>@!K%yh^wwSluAQhG$ zeSC184%h{U|64}QqY?nc`hu7uX;gL=m(smkO^~eCfpTWL7WipH;mHrm^aXkJSLGA> z5V0xk?A(`ydSxfB6<9YnzYlI&WnXz#(4;Mg5<8DpL^4* zkq)sP(XSbgE?ZHqTU-NL#bl+P-8I+a%TdLj1&<_oV1!ItdmK`c{}4I^Jm>gt9_p8h zpoSft|FAGxZ|!Mu`lM~7etj}y@}v8x$%$wW<```~M7QM7Be`;}Rbwphz8bAERAj@U z8UGN-#7%Ys`WI>yswviPbe_rXVGjjv+=`3*o{=Z(nzDwkugZ$dL{JXyH75!}oRDS{ z)3g3wkreEIGRnJRzM?D#%~c~G8ozP~qr1^p1ZHeHyvF{Bf^*+aa=f@@Bvnbl@mH?ahJl=vdB^<7f)ajoy!4pB&#osO67m z)zaOtoc2K|E|U9pB=uFumgK$Ar7kT&6wf+S(n4w%UH2W%rM+a!(vuq!K$v@7B?!Dp z?6(b8!9e{L2n9L;P}_`QfRkT|%JX=!Ct HWs(06%ZsWM diff --git a/dates_and_times.pdf b/dates_and_times.pdf index 5b5409bd4af348d6b81e034058b1f5c12f87f035..279c59c7e9c7c03ba13907f8a3194e8836442f31 100644 GIT binary patch delta 6767 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 delta 6757 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 diff --git a/dip.pdf b/dip.pdf index f88366ee7d8be16faf697e7ebce065d4543ed424..c9fc4b04389690748044dba7161ffce35b1a8ba6 100644 GIT binary patch delta 6799 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 Vts4lpA0ibRKgOp|(yB5T{|B2P&yWBB diff --git a/factor.pdf b/factor.pdf index 80ef6ae2acbc6af3708447938299d1ef9d35dfd4..505e8e184923148698825988d6f3be569a764e55 100644 GIT binary patch delta 10195 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 V1}Ko=D_BYdJ|tRNX%!iy{|{0a*IWPq delta 10113 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 KT2fgG>Hh$d-OD8a diff --git a/functions.html b/functions.html index e27ae38..30c8bbe 100644 --- a/functions.html +++ b/functions.html @@ -2488,7 +2488,8 @@

    @@ -2568,6 +2569,17 @@

    About the input; testing

    [1] 1.414214
    +
    +
    q <- 17
    +sqrt_minus_1(q)
    +
    +
    [1] 4
    +
    +
    sqrt_minus_1("text")
    +
    +
    Error in x - 1: non-numeric argument to binary operator
    +
    +
    • It works!
    @@ -2578,7 +2590,7 @@

    Vectorization 1/2

  • We conceived our function to work on numbers:
  • -
    sqrt_minus_1(3.25)
    +
    sqrt_minus_1(3.25)
    [1] 1.5
    @@ -2587,7 +2599,7 @@

    Vectorization 1/2

  • but it actually works on vectors too, as a free bonus of R:
  • -
    sqrt_minus_1(c(50, 11, 3))
    +
    sqrt_minus_1(c(50, 11, 3))
    [1] 7.000000 3.162278 1.414214
    @@ -2602,8 +2614,17 @@

    Vectorization 2/2

  • or even data frames:
  • -
    d <- tibble(x = 1:2, y = 3:4)
    -sqrt_minus_1(d)
    +
    d <- data.frame(x = 1:2, y = 3:4)
    +d
    +
    + +
    + +
    +
    +
    sqrt_minus_1(d)
    @@ -2620,15 +2641,15 @@

    More than one input

  • Allow the value to be subtracted, before taking square root, to be input to function as well, thus:
  • -
    sqrt_minus_value <- function(x, d) {
    -  sqrt(x - d)
    -}
    +
    sqrt_minus_value <- function(x, d) {
    +  sqrt(x - d)
    +}
    • Call the function with the x and d inputs in the right order:
    -
    sqrt_minus_value(51, 2)
    +
    sqrt_minus_value(51, 2)
    [1] 7
    @@ -2637,11 +2658,23 @@

    More than one input

  • or give the inputs names, in which case they can be in any order:
  • -
    sqrt_minus_value(d = 2, x = 51)
    +
    sqrt_minus_value(d = 2, x = 51)
    [1] 7
    +
    +
    lm(y ~ x, data = d)
    +
    +
    
    +Call:
    +lm(formula = y ~ x, data = d)
    +
    +Coefficients:
    +(Intercept)            x  
    +          2            1  
    +
    +

    Defaults 1/2

    @@ -2649,12 +2682,12 @@

    Defaults 1/2

  • Many R functions have values that you can change if you want to, but usually you don’t want to, for example:
  • -
    x <- c(3, 4, 5, NA, 6, 7)
    -mean(x)
    +
    x <- c(3, 4, 5, NA, 6, 7)
    +mean(x)
    [1] NA
    -
    mean(x, na.rm = TRUE)
    +
    mean(x, na.rm = TRUE)
    [1] 5
    @@ -2670,19 +2703,19 @@

    Defaults 2/2

  • In our function, set a default value for d like this:
  • -
    sqrt_minus_value <- function(x, d = 1) {
    -  sqrt(x - d)
    -}
    +
    sqrt_minus_value <- function(x, d = 1) {
    +  sqrt(x - d)
    +}
    • If you specify a value for d, it will be used. If you don’t, 1 will be used instead:
    -
    sqrt_minus_value(51, 2)
    +
    sqrt_minus_value(51, 2)
    [1] 7
    -
    sqrt_minus_value(51)
    +
    sqrt_minus_value(51)
    [1] 7.071068
    @@ -2694,7 +2727,7 @@

    Catching errors before they happen

  • What happened here?
  • -
    sqrt_minus_value(6, 8)
    +
    sqrt_minus_value(6, 8)
    Warning in sqrt(x - d): NaNs produced
    @@ -2708,10 +2741,10 @@

    Catching errors before they happen

  • Check that the square root will be OK first. Here’s how:
  • -
    sqrt_minus_value <- function(x, d = 1) {
    -  stopifnot(x - d >= 0)
    -  sqrt(x - d)
    -}
    +
    sqrt_minus_value <- function(x, d = 1) {
    +  stopifnot(x - d >= 0)
    +  sqrt(x - d)
    +}
    @@ -2720,7 +2753,7 @@

    What happens with stopifnot

  • This should be good, and is:
  • -
    sqrt_minus_value(8, 6)
    +
    sqrt_minus_value(8, 6)
    [1] 1.414214
    @@ -2729,7 +2762,7 @@

    What happens with stopifnot

  • This should fail, and see how it does:
  • -
    sqrt_minus_value(6, 8)
    +
    sqrt_minus_value(6, 8)
    Error in sqrt_minus_value(6, 8): x - d >= 0 is not TRUE
    @@ -2746,11 +2779,39 @@

    Using R’s built-ins

  • For example, if you will be calculating a lot of regression-line slopes, you don’t have to do this from scratch: you can use R’s regression calculations, like this:
  • -
    my_df <- tibble(x = 1:4, y = c(10, 11, 10, 14))
    -# my_df
    -my_df.1 <- lm(y ~ x, data = my_df)
    -# summary(my_df.1)
    -tidy(my_df.1)
    +
    my_df <- data.frame(x = 1:4, y = c(10, 11, 10, 14))
    +my_df
    +
    + +
    + +
    +
    +
    my_df.1 <- lm(y ~ x, data = my_df)
    +summary(my_df.1)
    +
    +
    
    +Call:
    +lm(formula = y ~ x, data = my_df)
    +
    +Residuals:
    +   1    2    3    4 
    + 0.4  0.3 -1.8  1.1 
    +
    +Coefficients:
    +            Estimate Std. Error t value Pr(>|t|)  
    +(Intercept)   8.5000     1.8775   4.527   0.0455 *
    +x             1.1000     0.6856   1.605   0.2498  
    +---
    +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    +Residual standard error: 1.533 on 2 degrees of freedom
    +Multiple R-squared:  0.5628,    Adjusted R-squared:  0.3442 
    +F-statistic: 2.574 on 1 and 2 DF,  p-value: 0.2498
    +
    +
    tidy(my_df.1)
    @@ -2765,7 +2826,7 @@

    Using R’s built-ins

    Pulling out just the slope

    Use pluck:

    -
    tidy(my_df.1) %>% pluck("estimate", 2)
    +
    tidy(my_df.1) %>% pluck("estimate", 2)
    [1] 1.1
    @@ -2779,16 +2840,16 @@

    Making this into a function

  • Output: just the slope, a number. Thus:
  • -
    slope <- function(xx, yy) {
    -  y.1 <- lm(yy ~ xx)
    -  tidy(y.1) %>% pluck("estimate", 2)
    -}
    +
    slope <- function(xx, yy) {
    +  y.1 <- lm(yy ~ xx)
    +  tidy(y.1) %>% pluck("estimate", 2)
    +}
    • Check using our data from before: correct:
    -
    with(my_df, slope(x, y))
    +
    with(my_df, slope(x, y))
    [1] 1.1
    @@ -2800,10 +2861,10 @@

    Passing things on

  • lm has a lot of options, with defaults, that we might want to change. Instead of intercepting all the possibilities and passing them on, we can do this:
  • -
    slope <- function(xx, yy, ...) {
    -  y.1 <- lm(yy ~ xx, ...)
    -  tidy(y.1) %>% pluck("estimate", 2)
    -}
    +
    slope <- function(xx, yy, ...) {
    +  y.1 <- lm(yy ~ xx, ...)
    +  tidy(y.1) %>% pluck("estimate", 2)
    +}
    • The ... in the header line means “accept any other input”, and the ... in the lm line means “pass anything other than x and y straight on to lm”.
    • @@ -2816,7 +2877,7 @@

      Using ...

    • So we should be able to do this:
    -
    with(my_df, slope(x, y, subset = 3:4))
    +
    with(my_df, slope(x, y, subset = 3:4))
    [1] 4
    @@ -2825,7 +2886,7 @@

    Using ...

  • Just uses the last two observations in x and y:
  • -
    my_df %>% slice(3:4)
    +
    my_df %>% slice(3:4)
    @@ -2845,7 +2906,7 @@

    Running a function for each of several inputs

  • Suppose we have a data frame containing several different x’s to use in regressions, along with the y we had before:
  • -
    (d <- tibble(x1 = 1:4, x2 = c(8, 7, 6, 5), x3 = c(2, 4, 6, 9)))
    +
    (d <- tibble(x1 = 1:4, x2 = c(8, 7, 6, 5), x3 = c(2, 4, 6, 9)))
    @@ -2869,12 +2930,12 @@

    The loop way

  • Looping variable i goes from 1 to 3 (3 columns, thus 3 slopes):
  • -
    slopes <- numeric(3)
    -for (i in 1:3) {
    -  d %>% pull(i) -> xx
    -  slopes[i] <- slope(xx, my_df$y)
    -}
    -slopes
    +
    slopes <- numeric(3)
    +for (i in 1:3) {
    +  d %>% pull(i) -> xx
    +  slopes[i] <- slope(xx, my_df$y)
    +}
    +slopes
    [1]  1.1000000 -1.1000000  0.5140187
    @@ -2890,7 +2951,7 @@

    The map_dbl way

  • Since slope returns a decimal number (a dbl), appropriate function-running function is map_dbl:
  • -
    map_dbl(d, \(d) slope(d, my_df$y))
    +
    map_dbl(d, \(d) slope(d, my_df$y))
            x1         x2         x3 
      1.1000000 -1.1000000  0.5140187 
    @@ -2906,8 +2967,8 @@

    Square roots

  • “Find the square roots of each of the numbers 1 through 10”:
  • -
    x <- 1:10
    -map_dbl(x, \(x) sqrt(x))
    +
    x <- 1:10
    +map_dbl(x, \(x) sqrt(x))
     [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751 2.828427
      [9] 3.000000 3.162278
    @@ -2920,12 +2981,12 @@

    Summarizing all columns of a data frame, two ways

  • use my d from above:
  • -
    map_dbl(d, \(d) mean(d))
    +
    map_dbl(d, \(d) mean(d))
      x1   x2   x3 
     2.50 6.50 5.25 
    -
    d %>% summarize(across(everything(), \(x) mean(x)))
    +
    d %>% summarize(across(everything(), \(x) mean(x)))
    @@ -2943,10 +3004,10 @@

    What if summary returns more than one thing?

  • For example, finding quartiles:
  • -
    quartiles <- function(x) {
    -  quantile(x, c(0.25, 0.75))
    -}
    -quartiles(1:5)
    +
    quartiles <- function(x) {
    +  quantile(x, c(0.25, 0.75))
    +}
    +quartiles(1:5)
    25% 75% 
       2   4 
    @@ -2962,7 +3023,7 @@

    map results

  • Try:
  • -
    map(d, \(d) quartiles(d))
    +
    map(d, \(d) quartiles(d))
    $x1
      25%  75% 
    @@ -2987,7 +3048,7 @@ 

    Or

  • Better: pretend output from quartiles is one-column data frame:
  • -
    map_df(d, \(d) quartiles(d))
    +
    map_df(d, \(d) quartiles(d))
    @@ -3001,7 +3062,7 @@

    Or

    Or even

    -
    d %>% map_df(\(d) quartiles(d))
    +
    d %>% map_df(\(d) quartiles(d))
    @@ -3025,8 +3086,8 @@

    Map in data frames with mutate

  • map can also be used within data frames to calculate new columns. Let’s do the square roots of 1 through 10 again:
  • -
    d <- tibble(x = 1:10)
    -d %>% mutate(root = map_dbl(x, \(x) sqrt(x)))
    +
    d <- tibble(x = 1:10)
    +d %>% mutate(root = map_dbl(x, \(x) sqrt(x)))
    @@ -3052,11 +3113,11 @@

    Odd or even?

  • Odd or even? Work out the remainder when dividing by 2:
  • -
    6 %% 2
    +
    6 %% 2
    [1] 0
    -
    5 %% 2
    +
    5 %% 2
    [1] 1
    @@ -3071,31 +3132,31 @@

    Write the function

  • First test for integerness, then test for odd or even, and then do the appropriate calculation:
  • -
    hotpo <- function(x) {
    -  stopifnot(round(x) == x) # passes if input an integer
    -  remainder <- x %% 2
    -  if (remainder == 1) {
    -    ans <- 3 * x + 1
    -  }
    -  else {
    -    ans <- x %/% 2 # integer division
    -  }
    -  ans
    -}
    +
    hotpo <- function(x) {
    +  stopifnot(round(x) == x) # passes if input an integer
    +  remainder <- x %% 2
    +  if (remainder == 1) {
    +    ans <- 3 * x + 1
    +  }
    +  else {
    +    ans <- x %/% 2 # integer division
    +  }
    +  ans
    +}

    Test it

    -
    hotpo(3)
    +
    hotpo(3)
    [1] 10
    -
    hotpo(12)
    +
    hotpo(12)
    [1] 6
    -
    hotpo(4.5)
    +
    hotpo(4.5)
    Error in hotpo(4.5): round(x) == x is not TRUE
    @@ -3107,7 +3168,7 @@

    One through ten

  • Use a data frame of numbers 1 through 10 again:
  • -
    tibble(x = 1:10) %>% mutate(y = map_int(x, \(x) hotpo(x)))
    +
    tibble(x = 1:10) %>% mutate(y = map_int(x, \(x) hotpo(x)))
    @@ -3125,14 +3186,14 @@

    Until I get to 1 (if I ever do)

  • If I get to 4, 2, 1, 4, 2, 1 I’ll repeat for ever, so let’s stop when we get to 1:
  • -
    hotpo_seq <- function(x) {
    -  ans <- x
    -  while (x != 1) {
    -    x <- hotpo(x)
    -    ans <- c(ans, x)
    -  }
    -  ans
    -}
    +
    hotpo_seq <- function(x) {
    +  ans <- x
    +  while (x != 1) {
    +    x <- hotpo(x)
    +    ans <- c(ans, x)
    +  }
    +  ans
    +}
    • Strategy: keep looping “while x is not 1”.
    • @@ -3145,7 +3206,7 @@

      Trying it 1/2

    • Start at 6:
    -
    hotpo_seq(6)
    +
    hotpo_seq(6)
    [1]  6  3 10  5 16  8  4  2  1
    @@ -3157,7 +3218,7 @@

    Trying it 2/2

  • Start at 27:
  • -
    hotpo_seq(27)
    +
    hotpo_seq(27)
      [1]   27   82   41  124   62   31   94   47  142   71  214
      [12]  107  322  161  484  242  121  364  182   91  274  137
    @@ -3183,10 +3244,10 @@ 

    Which starting points have the longest sequences?

    Top 10 longest sequences

    -
    tibble(start = 1:100) %>%
    -  mutate(seq_length = map_int(
    -    start, \(start) length(hotpo_seq(start)))) %>%
    -  slice_max(seq_length, n = 10)
    +
    tibble(start = 1:100) %>%
    +  mutate(seq_length = map_int(
    +    start, \(start) length(hotpo_seq(start)))) %>%
    +  slice_max(seq_length, n = 10)
    @@ -3203,8 +3264,8 @@

    Top 10 longest sequences

    What happens if we save the entire sequence?

    -
    tibble(start = 1:7) %>%
    -  mutate(sequence = map(start, \(start) hotpo_seq(start)))
    +
    tibble(start = 1:7) %>%
    +  mutate(sequence = map(start, \(start) hotpo_seq(start)))
    @@ -3221,12 +3282,12 @@

    What happens if we save the entire sequence?

    Using the whole sequence to find its length and its max

    -
    tibble(start = 1:7) %>%
    -  mutate(sequence = map(start, \(start) hotpo_seq(start))) %>%
    -  mutate(
    -    seq_length = map_int(sequence, \(sequence) length(sequence)),
    -    seq_max = map_int(sequence, \(sequence) max(sequence))
    -  )
    +
    tibble(start = 1:7) %>%
    +  mutate(sequence = map(start, \(start) hotpo_seq(start))) %>%
    +  mutate(
    +    seq_length = map_int(sequence, \(sequence) length(sequence)),
    +    seq_max = map_int(sequence, \(sequence) max(sequence))
    +  )
    @@ -3240,11 +3301,11 @@

    Using the whole sequence to find its length and its max

    Does it work with rowwise?

    -
    tibble(start=1:7) %>% 
    -  rowwise() %>% 
    -  mutate(sequence = list(hotpo_seq(start))) %>% 
    -  mutate(seq_length = length(sequence)) %>% 
    -  mutate(seq_max = max(sequence))
    +
    tibble(start=1:7) %>% 
    +  rowwise() %>% 
    +  mutate(sequence = list(hotpo_seq(start))) %>% 
    +  mutate(seq_length = length(sequence)) %>% 
    +  mutate(seq_max = max(sequence))
    diff --git a/functions.pdf b/functions.pdf index 3ed22ce717e8c91aa04f89e1b80710d69470a37e..cd7a0dc05946a48504e2a8ad5f64f665e4328644 100644 GIT binary patch delta 23986 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�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 Sn$^KlBZE-s>1EVpQU4FoQVQJw delta 8216 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 J88um?{{g>+>fHbU diff --git a/inference_1.pdf b/inference_1.pdf index 5798fee88e2f54bacd1e6a50e7fbdff7111128b2..6058995c9d36d710c783056c2ee8c76ef56d2746 100644 GIT binary patch delta 6154 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 delta 6119 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 HRPg=}S|#(- diff --git a/inference_2.pdf b/inference_2.pdf index 644ab8a7414e1a5dd27d83edebda13da4dcdafbc..925ef7f04c3dcc10ce4509cb941fdc58b81d01a6 100644 GIT binary patch delta 6483 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 delta 6477 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 diff --git a/inference_3.html b/inference_3.html index 54c0737..5f7ecc5 100644 --- a/inference_3.html +++ b/inference_3.html @@ -2592,9 +2592,9 @@

    Test and CI

    Not just coincidence. Let \(C = 100(1 - \alpha)\), so C% gives corresponding CI to level-\(\alpha\) test. Then following always true. (Symbol \(\iff\) means “if and only if”.)

    ---+++ diff --git a/inference_3.pdf b/inference_3.pdf index 85bfa9a6968ddecc9fe88c88ec2da2fb2346c171..f0358045ee710485c4bec1358837cc38b785d3cc 100644 GIT binary patch delta 9822 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 Cz<-Yb delta 9850 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 diff --git a/inference_4a.pdf b/inference_4a.pdf index 6a862747508a6e3264d55cc937c59b665e5be7ac..8d323dd7d9f84d8c45beab5747a9be2c70a77892 100644 GIT binary patch delta 4985 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 delta 4977 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 diff --git a/inference_4b.pdf b/inference_4b.pdf index 8b30de3cbcd6eeb098129be0d870209811a64d0d..ffabe89354a7c62885d11078592b47bba9001f4d 100644 GIT binary patch delta 6190 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 GG5!xfKl)$* diff --git a/inference_5a.html b/inference_5a.html index bc113b8..a2d862b 100644 --- a/inference_5a.html +++ b/inference_5a.html @@ -2512,7 +2512,7 @@

    The chi-squared test for independence

    @@ -2606,7 +2606,7 @@

    The test

  • Do chi-squared test:
  • -
    chisq.test(tab,correct=F)
    +
    chisq.test(tab, correct=F)
    
         Pearson's Chi-squared test
    diff --git a/inference_5a.pdf b/inference_5a.pdf
    index c8836c27fbfe94ef9ed2b3aba5f110d30d65a8e9..cac4231477dd2f03b6bc0012210ad87503de70fd 100644
    GIT binary patch
    delta 7114
    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
    O1`iekgRGhy*8c%x=EOt*
    
    delta 7114
    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
    E0OtA0RR910
    
    diff --git a/inference_5b.html b/inference_5b.html
    index 521999f..e9d2e88 100644
    --- a/inference_5b.html
    +++ b/inference_5b.html
    @@ -2528,12 +2528,21 @@ 

    Reading the data

    The data (some random rows)

    -
    rats %>% slice_sample(n=12)
    +
    rats %>% slice_sample(n=10)
    +
    +
    +
    rats
    +
    + +
    +
    @@ -2542,15 +2551,15 @@

    The data (some random rows)

    Boxplots

    -
    ggplot(rats, aes(y=density, x=group)) + geom_boxplot()
    +
    ggplot(rats, aes(y=density, x=group)) + geom_boxplot()

    Or, arranging groups in data (logical) order

    -
    ggplot(rats, aes(y=density, x=fct_inorder(group))) +
    -  geom_boxplot()
    +
    ggplot(rats, aes(y=density, x=fct_inorder(group))) +
    +  geom_boxplot()
    @@ -2566,8 +2575,8 @@

    Analysis of Variance

    Testing: ANOVA in R

    -
    rats.aov <- aov(density~group,data=rats)
    -summary(rats.aov)
    +
    rats.aov <- aov(density~group,data=rats)
    +summary(rats.aov)
                Df Sum Sq Mean Sq F value Pr(>F)   
     group        2   7434    3717   7.978 0.0019 **
    @@ -2590,15 +2599,15 @@ 

    Which groups are different from which?

  • First pick out each group:
  • -
    rats %>% filter(group=="Control") -> controls
    -rats %>% filter(group=="Lowjump") -> lows
    -rats %>% filter(group=="Highjump") -> highs
    +
    rats %>% filter(group=="Control") -> controls
    +rats %>% filter(group=="Lowjump") -> lows
    +rats %>% filter(group=="Highjump") -> highs

    Control vs. low

    -
    t.test(controls$density, lows$density)
    +
    t.test(controls$density, lows$density)
    
         Welch Two Sample t-test
    @@ -2618,7 +2627,7 @@ 

    Control vs. low

    Control vs. high

    -
    t.test(controls$density, highs$density)
    +
    t.test(controls$density, highs$density)
    
         Welch Two Sample t-test
    @@ -2638,7 +2647,7 @@ 

    Control vs. high

    Low vs. high

    -
    t.test(lows$density, highs$density)
    +
    t.test(lows$density, highs$density)
    
         Welch Two Sample t-test
    @@ -2692,8 +2701,8 @@ 

    Honestly Significant Differences

    Tukey on rat data

    -
    rats.aov <- aov(density~group, data = rats)
    -TukeyHSD(rats.aov)
    +
    rats.aov <- aov(density~group, data = rats)
    +TukeyHSD(rats.aov)
      Tukey multiple comparisons of means
         95% family-wise confidence level
    @@ -2727,8 +2736,8 @@ 

    Why Tukey’s procedure better than all t-tests

    Checking assumptions

    -
    ggplot(rats,aes(y = density, x = fct_inorder(group)))+
    -  geom_boxplot()
    +
    ggplot(rats,aes(y = density, x = fct_inorder(group)))+
    +  geom_boxplot()

    Assumptions:

    @@ -2740,8 +2749,8 @@

    Checking assumptions

    Normal quantile plots by group

    -
    ggplot(rats, aes(sample = density)) + stat_qq() + 
    -  stat_qq_line() + facet_wrap( ~ group)
    +
    ggplot(rats, aes(sample = density)) + stat_qq() + 
    +  stat_qq_line() + facet_wrap( ~ group)
    @@ -2772,7 +2781,7 @@

    Mood’s median test here

  • Actually do this using median_test:

  • -
    median_test(rats, density, group)
    +
    median_test(rats, density, group)
    $grand_median
     [1] 621.5
    @@ -2800,7 +2809,7 @@ 

    Comments

  • To determine which groups differ from which, can compare all possible pairs of groups via (2-sample) Mood’s median tests, then adjust P-values by multiplying by number of 2-sample Mood tests done (Bonferroni):
  • -
    pairwise_median_test(rats, density, group)
    +
    pairwise_median_test(rats, density, group)
    @@ -2822,7 +2831,7 @@

    Welch ANOVA

  • Welch ANOVA done by oneway.test as shown (for illustration):
  • -
    oneway.test(density~group, data=rats)
    +
    oneway.test(density~group, data=rats)
    
         One-way analysis of means (not assuming equal variances)
    @@ -2842,7 +2851,7 @@ 

    Games-Howell

  • Lives in package PMCMRplus. Install first.
  • -
    gamesHowellTest(density~factor(group),data=rats)
    +
    gamesHowellTest(density~factor(group),data=rats)
             Control Highjump
     Highjump 0.0056  -       
    diff --git a/inference_5b.pdf b/inference_5b.pdf
    index e219a632f451e899dd2e439e5255e8f61fb39474..8693889704dcfd9d008435e3820586e098874272 100644
    GIT binary patch
    delta 10028
    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
    uAy@a&`Mk+L`W!MY8z$VBDE;Qj{$1bk%x
    
    delta 9908
    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
    n;TF!Rk5FEU7
    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
    
    delta 10965
    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
    
    diff --git a/manova.pdf b/manova.pdf
    index 88d0068708e875721c56dc7d4a3c830379b64ab4..1cc932bd51cf4a2818a845870305b446a8a1540b 100644
    GIT binary patch
    delta 9961
    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
    RLy{q|BYycJr6i5`e*lkOXo~;<
    
    delta 9970
    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
    WZqv2Xz_L)}h}_6DG!lxE$o~h*yICIq
    
    diff --git a/multiway.pdf b/multiway.pdf
    index f0e50d67e204615bc0f5102cc64e10419e20cd24..fb0d82440c94eb0dcb122f2ada1372c351f7ad13 100644
    GIT binary patch
    delta 8940
    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
    Xva+zGWE3%23M38`YHA53NtFKsF;{z+
    
    delta 8985
    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
    MSB#8u;PN7QU|E@wxmcnuGKiTp1
    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
    QLO98#0KB|v&(#6{1HL224gdfE
    
    delta 3970
    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
    M0RjS=hFXCC2Fb^p=l}o!
    
    diff --git a/outline_c32.pdf b/outline_c32.pdf
    index 39b719dcdf0bebca91fde1db13d5b682d6edade2..fe64ce2261472754a7ccc542f0f5461600f1e292 100644
    GIT binary patch
    delta 6708
    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
    
    diff --git a/outline_c33.pdf b/outline_c33.pdf
    index 7dff42bbf76eba870b3b23b5c631935ab180bfba..78f435d9da79bbf67ba17a50edddafe798251c03 100644
    GIT binary patch
    delta 5872
    zcmai2RaDy#lPwOZ;82Pc2_?9@Q=qt8a7l0}?!SL=_u@`*_n@Vvp-6G}7AF)a8lcF2
    z`|UpL_q6BCyv>=1d+*FWGhNk~?bVo#8e)LD(*V!2$dem#DcAT^x9$j{{b_Q{BcTk6
    z`L*e{N0@b_c^8ww=Wh-BR*~3rCe!Srsku8frov(F(&{GU0@1pqPV&Kl{NyoA`P4_(
    zA1ZSlEt?-vP@lwHm(kceGgt_t$=gmtLWyklHR|Bi)nf(^OWxI$qh^v`zG5dk6pGMBI
    zyHs<{a?Wji?NIuyn#N`VJNa;cX_b7}gD;)GyLdtM#AghN@2C=_#&
    zB!dAzB$XiK7fI`&u`T4{7iAb`9xnh%#%>D5Y{De{o@Wv(q51{%4fK?Vok!udEyb8D
    zRW!NC2T#-wRWt4hQdS6ok|Ag5V8PZGde&0buQ
    zB?9tDL1@QAlQP>g)GFgWe^4jWUfvk2LMCI4dA5B?a>I@_<>nfc%!tw7$fK@euXy
    zvF|RzAO;6l%yMn`T;9IMhj`y?TR(^q@Y3D=O{ltP#3J}H8kmM=VXIbE7?HiOX|tb{
    zZFmRGyKu&liwa|;c=P(By9uQ$ug5@1$?k4k62A7w%p<$=kR1)}Ixw`lv-<>ipGCiV
    zyaJd|70OsY&aP5~B|8UuJ7f(1GSY5fP^XgFhBeR>i@VsSK$;8}
    z+Wo+k8iqC6%)=FuL$?0a79lh0Ad^8C1WV57~*WIr}TA|6z5JX$Pe1C=wJV%
    z-!T|cM$yvtfNso9c4{law>acquB~=|c!HhQ<*2nPh90n2`TfEEour96SB9Q!UwbjM4E_0-y;A2TBR4x@c!BTIN-
    zV$WBMUBrw5XV0h%UJW(t>}P*$c6*_W-PE3J^fcxv@ifulGm;ijX1E;WZF^~tMQ7w6
    z0Xe^NJx1gVeoXc^Qho+hwkre5A-vKqG;UCAjG;DxXr92XrfLuIg;dmt0q}^f3TKHj
    zVoa7-^A;5ShOqaTB>6y7OEfpPN*7i^{#DmA@L7SuyYYO`D+yAKA3w9*j};|`=Pk=c
    zeFr!j<@{JkFecubR<^N7%h%NI?4jCmiBh*WyW^
    zOqahH21Y8_i@(u@`qGc3^}^cvrvLV!VUB$Hj!P?G>81P`o0qP$X|IfbmQ`_5
    zZhC#JKaff%&(>+%27hVQ$#Aat81M-NyzhIv+*TE$%0D^~l#2HOe!sguQQ#i)}J9m+@UkQZsHs`?R`XgMo?
    zog&c}Nyl6R-w}9a{&_Q*UmE)l9swcdJ@cJ1D_DbbN)~=~yCyk7$V)is6jB|`<{U7#&8p%klRf*OhL5%xv3!`44KM5YpY
    zy{Cc%FXUicsAnQqrbJ$t_c)c%BGi*Tg8lHRVreT48A4Aj(g31z-+J!V)!!bMqeBub
    zt?8i}7^I!PtZz8_Psz)--F8WMAWg?=brz|N%s|AMmSl@?N)@oNMDZBW&+6B5?=h}^=pTek2qzG6n(ofIylmozmA+P%c=EVHL8s^$
    zHdmu12uO|fX);ZEHAl>WYld{yp%zU_qH;gWARnKaIhhjB2yEGBIZvr#IzgBt+Ggb;
    zben;h`oecf*~YX;16u5ERDW(A)Rh_NuMM_9ynkqcJ{QSDV#F1SvJv;I}3y
    z*8`hlPxIs8jv&544OPk_$#EuMk`twAl?meu+y{)#x~PA9NsH;*Bwv8g-w+IK_n{2?Yp77qyt>Wy}LVhiFd7Fyp5PP^}EZh3i9c_p=X<
    zMT6nxyy0do+~FmdfL+V5^Ls)1L=XojhkrrgM7iMho+Y~^J^kJUMaz`FHu~I-aN?X2
    z*)8@NL1j*9*CdjFME<tlad#->aCZ7lkPt)(rVTqkJtRApT>l2fe?;kv)*g!w_?J7#PczOe;wR78j&y78j5AUb9$HD}s#p8`1Laq<1I4ws
    zWizrc-J>O0nMbi*;>KaE`H-|2tlb+&uGO)m$6o)3
    z1(qhOH2Xy+HMk9m4BkeP{eJUNq#00)J^jl=MgnX}xw;p|*Is@e>EfbTviC{L^p8MZ
    zwU4B1tMnW@#9*(#i!}6_*{MNiXQn3~{)l{LVmF>E9o~3;xNwfVWEY^D)+)al*mMzP
    zD*ytQ1rQu=Jm9}dgm$It`jV!z2UBUkR?Y&9GFu>a2d@FX9?1NwpJ1|r*4#2b`Tb}k
    zM?n6M7#zxZodfP{Zk-=&s)whDt$!RQ<1QAjs}gjAmkNFqo13fEt?1@U6Kh$?aWPqu
    z5Xco<(2h^JNqkpc;KI|!3$@)l*+HOIiXsvn<%q52@dUd~%?Iq5B-k#SxAHZDDS6TY
    zdS@nI3529Eu^hF_uXvv%wq&hE-M(NT~30r_L5y!|c
    zTbQ2-q1XaLn!KL5rm|j{m!o`hJ)hWo=ZR{C{zp3UlSpBGHxXKNPS+vQ-Bgd=?%2E7
    zvnB(%R0CKSLpCV%NcR}pxZd=hd7s?>Zuj*xNjW6$ciG+lgu=32Ja#C`B5WT3AQl|@
    zx~{Rxr>-w5!gi~pI=i@%>u#o8hPPA@T$Id|=$+K<+)a10S#Qza<6a2M`9)=(!R4k;
    zc)UN%w+@F^F~#E*Z#X1hXUemNDc^Ffga7;2Tr1-^utk*{+dh5-8B!@@dTIkjbs6e5
    z$96o6s)weWA%q1cWMnJnTU3C9Yxm1qT`|d3CKdKThHWn>wKa|Jj=KT%=#f#DV%)x%
    zi;h^QsVGcWtlw11M$Lnr!nfW#rN1Bc6hGdi-MzoDY`y$!TysI2K)B58;5GLeYO2f&
    z+NDsYnS>IC&8Zb8nio!=I%>^s_d;l?ale!pk$qmzNT*2?NUW@jeF50|KIwB6jMNY+
    zP91C2|5v!Y-TdYXJu8o}53S2cKlqN=lfJvwWi-Xr!m*+HD%hK^hHG)bWO?Km(__Y6
    zW7sA%3nds|pHpmEsW}=)wcF)Z`=S%$SIp~t3{MQ`Qr4j^vyy5!aAb4N#=tDxF{Y}|
    zaLljVu=hkEd{m7C2wVv~-R9CAUB4}G0y!M>tuC*5s>6J?5H@W;vyIpcUEgp7_`bV1
    zPTpS|8N=IL^InbR#8~+hC`?_uxNu?NX}g6md^-zZvIUzrd%clH8@UNLG0a2TU=M=%
    z-n*A9LIN!dwnJP(;ek}dfrbg3J676r`qzR&J>8KV=SX(|8nJM+_p7b*t40L2L`-71
    zFWPQ#>yvdJ|t4WqcspYFn_1YVsg&w&u
    z69L1~5VlXR-=j0sDd^&^H{X17+)H$L@C+^rtK5MH!
    z|XYMz>kqz=r>{!ZY&G}qwHAFnGe8e3KQ&wWCj
    z2Wtf9B`@b&kYNkR!-e=NVw*^Q#SJ#9glXPLN+J03g5cVx6CCTgn3Qb_7EDR!lrTxi
    zD>EpdC>h)LZlKqh3#B0@`
    z<_6zQI@EYPL}NxI&qF9!q&BWJ%A!<-_l4J|?PYY)l4iI8eKkw^|#^BVSe6y$)z~nR4;(|(XDfq8&{v6x7W;GM(jTKaheBl
    ztm442>QyH2x{;^AJKPPy3i_}+N=1?d2-QZVEqT9F;W)F&W!=KlK?{;%fg5eJ-y$=C
    z`VY<8DBcEUWjrX;{U5BO+Y4mrnX@Hxn=*5-p|XX5N;HiQt8in9rltY9P9KZfTXep{
    zf^3T4G_ns-dYm{T_(!7kteksb!2*mR@%Vwerp@4OiKS|_drjx_Ek!s`VyS6F$#ur3C)?Xm3_7Oy;8yBV&^Q|C+~*fj32K!u8$Mk{68#UqvuhH#N0w
    zHEA_P;|BlU+agV2$>@RvbNK6WmpttA5My#N{`eyK4;Ff#AYQ34ER!r`!y+Pw=J_wO
    zrYBRu%wnja0T%3Su(C5f!?RVuAhahPTev3;o8O;Oj`5b4rW|6%p)g6gAAg#)Uw8h+
    zM1nXg4=<^e!7#7MR-S;^nYFy+c`GePhwLqm*NyJc5>h^(9F$S`qK0wy;m_7i5~Xyo
    z_sumZ27|J94|#cHizu2mJgMnIbY}Gx$kK1a^tspR^W*IrVg&#d=^G$p=CCx5*XN))
    zr10xxkQ9ORDYMbLu=hRXi4;3Dx$x_dRD-IhjjfLvI~!4id<(i!mvlGEf{bQ~Q~_(x
    z(UQmdAvg_vs(D|a!hl}-f}3@2TF1gh=GN_V>&?(=-R051*z-?ssDhi+3Z-op=(j12
    zm`10DF9LL!Iiw4pHKbsd%bo)OVi(5!{XY=B2XQRHa>+Lj8nG3)hEK$1=q%nB?!iMAV+p}M@ACyAUWqjp7F_7_FtuIy2KtPdOr#p3I6@0Sq;61P`xZ+3)z
    zgW!cJ;-~o)W3>0Yt4*$lj!Z^@ZN%}FTL+Iye>D4+ox>W`soFHCJfFbYE2Xp8QBsE2
    zzf45~J#Myl2zvY_(mGP!0oN5XGn9`;#OQ+><(os7Q>sdm&&iJ3$l)Xv>$@vhL`Ri%
    z#;D3Qz0Mk}>^qXyWYG<3+|ICAqIyTbzMmsjl9{!9ijpWWO
    z+1`mFrq%t{l)ycvt`mNBsMLsu$Cn1ca@cl;YWe!ekA&j!TZm@8FA|e@Upb;Le0Jba@^mB(R1Sl{p#SWrT8cl
    zl^Zxe#&N&OpD%1i&z;h*77A3uyGOD*va!+W`j-4u$D@yHaL~m7bmy+I#ruzzzpjw(
    zuaq-jSuN~4DBPt!3gh}2z5XJM^574)P$lBaINwi^-%%8c*maY*N67@VlLUK~{CQDw
    ztf3r3ky!2kQS28&uofuF@@cxfAkBxmMnbLu9Fb?Djn7AlFxjlcO+&d5_~JjAXZy8>
    zB3{#kK}9h98%a?`bgwKa^Fn7P@o(I5<=iQJt2
    S;2?fsK>>ac7_6YF2>LJ6m}=bs
    
    delta 5818
    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
    
    diff --git a/outline_d29.pdf b/outline_d29.pdf
    index 4b6d98c9f20e525ebb29c919a57c522ce094205f..3ebceedf8d7f85c89bd9bd8b938388a75f2c9566 100644
    GIT binary patch
    delta 6465
    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
    F{|_6QS402+
    
    delta 6464
    zcmaizMOYMoqDGbOZm9v0ZWwxKknUzkhi-DhswXJbfr*=qd8whZp@{3;9G*0Ta^BUd18Tff!#WB1$7#&Z?iomC~`X&9vWz8T?QxsMFtQ4Qg#);4*NJR}U@Mhk99*M27n(KKp7
    zg3xL7!Ai%)(`3aBzaT8>p0oULSPVo>~L>?Q_s3XAJnedBXaF9X|U_ZINsel
    zAKDeLrw`kl8=1Lw_zRY_?YzUEds#n8xffA}fgQtmNFvXlNe`Q>N&3rArNS3$>1)?2
    z$^75#&7wKr@S5FhamUQTX+Ca?h@3yfnx~eMn1;R9DCieOCcyP~1g2sE0?VE|5ri$d
    z$7$=6XlxSw!dee%=qRsU%z8mV&&ApB`Q>6F=4#h9{@d%k>a#LXBx}nuXZ9n2us98-
    zqAl?uUY50su;~Z#MSPrwv4lml>nNIe?YUxBt?5leCrR41ZgZ*+wWb|LkGRkAK$((_
    zaprqSW#!TA1d_GLCq?VdsN(0le6H$pYoTf
    z8UjKpx>x#g0mX*!BNF01shdKEw%CEr8N-iGS#kN4>I}gvCiE-5%G286{=eit$W3m6dpc%3O
    zCkqawEUlRdf=lilH5Fo~g-eyDM=5jmFO{kIcc6GZNZJ`rb#kVH@s9qT6ub
    zZzcj)UYQ=I6{)NW``P(?Pu5gVJY|Mk0Xc6*x!Yf;d~#G{M65S5rMV_D$*~Jv(if28%j~{|=!;`0
    zc~w=&x0dIV{nW?!nQqoJSGOL!@zGq;e{E{~`s^u9g?sfkzk-N_geXi<
    zUJe^K}Y=s2OsIkH19p8dxe-g
    zy;Fx`ssn6b#~(DRY$0`6YGD4O+~u@tVj;yuq&i
    zhVLxsBotc5*480cwW1W&);pW0J59}wp(;XNF_9D61)NZ_t!9|;86o9)<*EP1p!Wp7
    z7M!bxyyP4!{ZS}ccMpH3Is}$wNB;#Fkrw-cE|X6lipL#YhvP@xg63S5Yu)T&ZMRRc
    z%WF5a7K&nrzWSMACNN!u8|@6YZbzD0id~i{VKD_LNyp45uq3&4eM2z+M&gi}u7$Q>
    zUNws{^;peOep=co$9tS_i;j$}!ydOb@)CJ18yY&hEdzOs`s45)UK9xnbOlW=&!(oJGRR<8s(*jxrIX{-7mVu#Bwt
    ze9a%()RZn6VKjiu8>K^qb}92axzDT-*~Y{Ak5+;8BH7QAq33y
    z#-JZ^lINLt1A{Tg+>3y4x^vh5!;^<=UA~pkS&y$SRz~0i*d-atqM2WofDE5!QihJC
    zg~6DybT-hx-KUQEs!{
    z1yq3)rAe(gb0w`DQmnMQVg+7x4|M$Md9}5ov298UEq5(f(3_SI#!UG@xzjA~{DYoc
    zyHjiKzSuMZmIpR{nURVET{zyLy%eDvwsR3hDBAt|v_&*W1%%PF&%ArqK
    zV&Tk_9l3u|F|inu<~}1}Jf!&jJ_*a8n$I~#Hkwe_F|qay#~I?oCz*h6=);i+ALdyH
    z)Tv@rFtvL^iUJ(Fm{k$K0*XK-_L!h2yZ{hr8#cVfMMV%XVp@w=f5zpJ@h8OMv#}tB
    z<*LTL_1Z~nECgA}hc^@fF21P~4KkskO=r=c%#?;=%?x><5O&~;ZeyxY&Qj20DoNRp
    z0>a;BYh&V4A>+~tj3GTWy%ksGJ>8~yYD*A?AJvgBAcHpvWjWmjoZhJZ64TTX2;s%d
    zVrf<)l>vY$YOONWdzr$cU^`UZA2%0jYr;92p&36=z0}
    zw!l)%DEtRrh4anS{GXBFm?~xm8GBl&4@`b>|58$(hN0{IY}M*7ySscam|kGz
    z)u>Nz&aODnw$X20Lgc{)Kj;AxEo2&T6wLhYp^T{~SjaJ-?;>O1e42W;CNYIUk|usc
    zFWBp~zPOut|7hvSNt}jc9xqINaguI-`pR?NA|HCKBkrBnAN-K{lHgL~!1oU{4V(B=
    zb4h}i&>YOIu`@bRZ0;p6AzbGM8-ZZKW11-$MXOYK|1yC;qt7>G$HO>X|G-x`a?F4Sa0oa?*NNy7=QDXb{xuSk*O6!A}a^+0*^M{UZ1#h
    zNaX~iD9PvK{J?R(kF-qylAiJp{@OY{FlQ;2w0V6B;zPzX{AYxq0iyHA!w#D-qAqKA
    zIq1|z2Aj;unw|JM)UV-q6WkNk-I!e7$~A
    zh~8?p@{*@wU-MgdhGZ`6CvtwOkD<1xBKh9SrQXjR{o~o@&3{+r25EbQw)R4>#cpCdPeTVUlOgSQS3mjYDG&x6-^oV75K7pY%(nS-;k(0=?&dkbx%V$+3Z;q->hMUf?Ei
    z>-pV;@~u7AD6#ikBOLMs3f~0U6xl?dq6z{O>mfxXD3^P3cHP7$wVBaI{D&8<%fI67F>iAxHi*Gny>0;Wb8EC0C
    zJ^N4s8r-_Ts4Y5Tyop@ifzLrQQ?y8HZ?cL_Qph;?1?pnOZn$w$XLj02wsvb=0ZneZ
    z883wvw)M2L=G8dQvOBaoa}abnNrj9-kTFrX_JL`h8fysy8dVvh+vNfiCcdm^z%(w2
    zYL|%>chcN!&R(vv>%Itvg1IX5jy$sY-S&Se=dqlyGYv`R0f>~MTb|`8#Rh)VhN~!H
    zL7Gd_j+fPD@9);4C1p40<~!!cTbJ(U?&Fp6KN}ho8*Te8(>a!|NBZ3b`pz>QgDisQ
    zK2+SRo#16N>>sCbu2=!c
    zZ2mqlg&P;uzs#xsHXfX!Ao3+kzio_(n{hYN&m14mS(}n@{*qW`ZD6RVX14gYK1y1w
    z8tiMQ;1LSe@L39>wpn^$ccZaQKb1pA%@CT23meN?T(L%i*!>uhOEVV=5@+!?JE#v3
    zU-W#-5*g0C@UstnuKnNCBVSduKv8sAm3!1M?w*d(0A=gJ)pB++mH-wL)`K>C`0!8K
    zRg^WwwZ6VOT|M{?KTgM}TWcU!Ig8U~(`L6d@zzoJ@+f=%B>UFY_*oGr892Z$C6Lb9
    z-`shEh=~lM1U?v&VUI!8_sQUF{d(BQaXQjmWOQHUsdV|A%;Z34-L`A0T)Kix*oq4y
    zoHQ}xB8*A*K|jCKJ2ghYHKtuTZ*}YMcEUHw-`3$3$h*@i?ozCueKbz8#=PaCj_rNqmw_>Myjxb%wHI~YdA#9Z``?_Kw~1!x*@
    zGr@dN2Uq=9N}Zq)99vcP7OFaHRi2SrL~mlyPX4f?&UWI+t`Vcgl>tPM!vSopAc3_<
    zVjP2BmN*SRT?UTM^vbatJ=>Q27^~bGpu-MHn{A&F%1FU~URAtOin2aI1i|_4KTHkuy2B>v`GEC6h-P&jco!QKi0Iba^P*Lxra@hWf&a}
    zDy%s5Yud39Ic=#(#aki+Rf_l3(M<&9Lsq~DBah7*|G`T&VdDmxFfK@-fdk2YagAJ5
    zU#!+8Zfy+?mRVXj?bd82)zPs-)QT!yd}Dpm4TUm6m^QpGC1k896XpSC7lqn-jT--K
    z1;&*qQlA$VsXV@6JGvF8xI+`~rAHHns%~|#L`8qSqcz2=AktFq
    z0(O#bSS*{%RcNZ8DN4c#E;5%10W|K2etaLs7WJl!knXW>=CWRQN89rqk4(I50T;&U
    zKtUPzN+mY12N(QF4#r*!rWK6B+!999x(RiY9san3Ml*-LZV>|7(V0RznU164=iP>|<|)JLz$^FJYB&C_(wl@{6Ls0EpkB
    z#z*z3jk85sJ6xCflOwI2S7VC&GKkzfLD0j>D>66vm)%4NAQ5a@7^W|pI^%O%Lk
    zZ-cw|<%q`}iHl(#A@K&~?kHj1@i0pqr<0`d?R;P^@e$(^OA*`V3Z4gfc_`7Z?Dx4l
    z$?pTdmwmyW#f14PJ~6H#zi5&7axh>JgQ1{~Xfc^D*W2;HUy=OjPAq^>+{c#>%ios&
    zSecZWOOp4G=1cY!2Ao(t7`f{IC(&tjI#9svMoNVNi$I5Pu+jQDet-^D&|i0bQlCV{
    zCF`TGo?N~8M8%4*%Wj6rg8B2V{iB1U%QxM@MnS5Ub}30;C}8h;kei>>?(^MRNsNLR
    zB=i0%WmrdUCJz4Py<_VSHF#CcMfeN*>81*`yZ<=;mm{=a*o7Je*7Q^Jy?$>91+T7`}7uD^@79YzMeDmJIV)K8Y}IybTC
    za634nB1#iwtzhzKQrNme3a-)qNu|$Cp5o}w_gXJ*3v~0`+!Zft`*?BXse}a_Ot8wlHgA~JUydxApEpQgK
    zrBe}Wp;mY%rNG|=Q{lVZseU;k*O=5f3yn1km*|?d?XWai%AsM=h~GOTUE;5!8U_ZQ
    zpysb*d5A0ca8%SHFWG1^q
    z9{V4+dU5}N$E%8{i-TidftM~*E$8~o-j2{>&+nuFxk=K!ccw+W@p<+U?AhKQTrT)D
    z==waHvtVrA=z353)lRZsl}LM)Ndw;K{r8bAIFIectvWYP5_Wn0klZo7g*&nJ2mV!>
    zbg4Mjx+#xmmqwj1>5w|*yjIplY=!%sH3rME;`T07qL
    zo`Eoi;?{Tk%wD3=zIK@lazi*S#qb@T!rtD7U08*K5Xz)
    zL^?KLnIS4o$3&9n4fD%RFVM^eO)|d}14-9E-(9Hp^#jL3xb9KtQgd1nNJsjx!i8#l
    z7gk++FTf28EI1oGr~%{Z8$Mi5*u?U^Xb}RRbS0d^NH0*Z^wu0~*>~uj!ca&Mtirgq7J|7Eo^G^@
    z-%u+fsSL4)8)&?xI8&u)euu-rnpn65VZx~h{SKsnLfS=Xk>8OD%h;rDlw1g<%5b@Rw~NAne#4BGVRj0gY(T9aAXpDyo59B4
    z=E51!@vVJqXy4-{>jfOo-cK-s_Gd{Nr{C#ZmzJfj+H%C#4BE2R4e=PLq$oc%-WtI{CeQmqZLUvc-PR(w$V;TC+H3=qE_?R*W?R2NH8OQXl&!(w8R*HFOv
    EKlzwdv;Y7A
    
    diff --git a/princomp.pdf b/princomp.pdf
    index 7389dffd6027983e30d418511b7dfb63b061462d..e8f784f72137bfdd061c9ea04270973b66f527f0 100644
    GIT binary patch
    delta 7096
    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
    
    delta 7048
    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
    Yb-}%+om(~Z0{2lg;4bBS9FFmS0GdJS_W%F@
    
    delta 9153
    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
    zy}EDh93OReading from the Web; the soap data
     
  • Save the URL in a variable first:
  • -
    url <- url("http://ritsokiguess.site/datafiles/soap.txt")
    +
    url <- "http://ritsokiguess.site/datafiles/soap.txt"
     soap <- read_delim(url, " ")
    @@ -2825,9 +2825,10 @@

    Reading it in

  • Excel spreadsheets must be “local”: cannot read one in from a URL.
  • -
    library(readxl)
    -mydata2 <- read_excel("test2.xlsx", sheet = "data")
    -mydata2
    +
    # install.packages("readxl")
    +library(readxl)
    +mydata2 <- read_excel("test2.xlsx", sheet = "data")
    +mydata2
    diff --git a/readfile.pdf b/readfile.pdf index e53546efe54e365f45678c5aafa05c715819ff1b..53ab58cdb74008cac6a7c280f8ffc1b8dd7d9218 100644 GIT binary patch delta 9089 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 I(~w8|FSzxG{r~^~ delta 9060 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 data Max. :586.0 Max. :14.000
    +
    +
    sleep
    +
    + +
    + +
    +
    +

    Make scatter plot of ATST (response) vs. age (explanatory) using code overleaf:

    The scatterplot

    -
    ggplot(sleep, aes(x = age, y = atst)) + geom_point()
    +
    ggplot(sleep, aes(x = age, y = atst)) + geom_point()
    -
    +

    Correlation

    • Measures how well a straight line fits the data:
    -
    with(sleep, cor(atst, age))
    +
    with(sleep, cor(atst, age))
    [1] -0.9515469
    @@ -2558,7 +2569,7 @@

    Correlation

  • Can do correlations of all pairs of variables:

  • -
    cor(sleep)
    +
    cor(sleep)
               atst        age
     atst  1.0000000 -0.9515469
    @@ -2578,22 +2589,22 @@ 

    Lowess curve

    Plot with lowess curve

    -
    ggplot(sleep, aes(x = age, y = atst)) + geom_point() +
    -  geom_smooth()
    +
    ggplot(sleep, aes(x = age, y = atst)) + geom_point() +
    +  geom_smooth()
    -
    +

    The regression

    Scatterplot shows no obvious curve, and a pretty clear downward trend. So we can run the regression:

    -
    sleep.1 <- lm(atst ~ age, data = sleep)
    +
    sleep.1 <- lm(atst ~ age, data = sleep)

    The output

    -
    summary(sleep.1)
    +
    summary(sleep.1)
    
     Call:
    @@ -2634,7 +2645,7 @@ 

    Doing things with the regression output

  • Package broom extracts info from model output in way that can be used in pipe (later):

  • -
    tidy(sleep.1)
    +
    tidy(sleep.1)
    @@ -2648,7 +2659,7 @@

    Doing things with the regression output

    also one-line summary of model:

    -
    glance(sleep.1)
    +
    glance(sleep.1)
    @@ -2662,7 +2673,7 @@

    also one-line summary of model:

    Broom part 2

    -
    sleep.1 %>% augment(sleep)
    +
    sleep.1 %>% augment(sleep)
    @@ -2689,8 +2700,8 @@

    CI for mean response and prediction intervals

    The marginaleffects package 1/2

    To get predictions for specific values, set up a dataframe with those values first:

    -
    new <- datagrid(model = sleep.1, age = c(10, 5))
    -new
    +
    new <- datagrid(model = sleep.1, age = c(10, 5))
    +new
    @@ -2706,13 +2717,13 @@

    The marginaleffects package 1/2

    The marginaleffects package 2/2

    Then feed into newdata in predictions. This contains a lot of columns, so you probably want only to display the ones you care about:

    -
    cbind(predictions(sleep.1, newdata = new)) %>% 
    -  select(estimate, conf.low, conf.high, age)
    +
    cbind(predictions(sleep.1, newdata = new)) %>% 
    +  select(estimate, conf.low, conf.high, age)
    @@ -2723,8 +2734,14 @@

    The marginaleffects package 2/2

    Prediction intervals

    These are obtained (instead) with predict as below. Use the same dataframe new as before:

    -
    pp <- predict(sleep.1, new, interval = "p")
    -cbind(new, pp) %>% select(-atst)
    +
    pp <- predict(sleep.1, new, interval = "p")
    +pp
    +
    +
           fit      lwr      upr
    +1 506.0729 475.8982 536.2475
    +2 576.2781 543.8474 608.7088
    +
    +
    cbind(new, pp) %>% select(-atst)
    @@ -2747,12 +2764,12 @@

    Comments

    That grey envelope

    Marks confidence interval for mean for all \(x\):

    -
    ggplot(sleep, aes(x = age, y = atst)) + geom_point() +
    -  geom_smooth(method = "lm") +
    -  scale_y_continuous(breaks = seq(420, 600, 20))
    +
    ggplot(sleep, aes(x = age, y = atst)) + geom_point() +
    +  geom_smooth(method = "lm") +
    +  scale_y_continuous(breaks = seq(420, 600, 20))
    -
    +

    Diagnostics

    How to tell whether a straight-line regression is appropriate?

    @@ -2765,7 +2782,7 @@

    Diagnostics

    Residual plot

    Not much pattern here — regression appropriate.

    -
    ggplot(sleep.1, aes(x = .fitted, y = .resid)) + geom_point()
    +
    ggplot(sleep.1, aes(x = .fitted, y = .resid)) + geom_point()
    @@ -2773,22 +2790,22 @@

    Residual plot

    An inappropriate regression

    Different data:

    -
    my_url <- "http://ritsokiguess.site/datafiles/curvy.txt"
    -curvy <- read_delim(my_url, " ")
    +
    my_url <- "http://ritsokiguess.site/datafiles/curvy.txt"
    +curvy <- read_delim(my_url, " ")

    Scatterplot

    -
    ggplot(curvy, aes(x = xx, y = yy)) + geom_point()
    +
    ggplot(curvy, aes(x = xx, y = yy)) + geom_point()

    Regression line, anyway

    -
    curvy.1 <- lm(yy ~ xx, data = curvy)
    -summary(curvy.1)
    +
    curvy.1 <- lm(yy ~ xx, data = curvy)
    +summary(curvy.1)
    
     Call:
    @@ -2815,7 +2832,7 @@ 

    Regression line, anyway

    Residual plot

    -
    ggplot(curvy.1, aes(x = .fitted, y = .resid)) + geom_point()
    +
    ggplot(curvy.1, aes(x = .fitted, y = .resid)) + geom_point()
    @@ -2826,20 +2843,20 @@

    No good: fixing it up

  • Fitting a curve would be better. Try this:

  • -
    curvy.2 <- lm(yy ~ xx + I(xx^2), data = curvy)
    +
    curvy.2 <- lm(yy ~ xx + I(xx^2), data = curvy)
    • Adding xx-squared term, to allow for curve.

    • Another way to do same thing: specify how model changes:

    -
    curvy.2a <- update(curvy.1, . ~ . + I(xx^2))
    +
    curvy.2a <- update(curvy.1, . ~ . + I(xx^2))

    Regression 2

    -
    tidy(curvy.2)
    +
    tidy(curvy.2)
    @@ -2848,7 +2865,7 @@

    Regression 2

    -
    glance(curvy.2) #
    +
    glance(curvy.2) #
    @@ -2871,7 +2888,7 @@

    Comments

    The residual plot now

    No problems any more:

    -
    ggplot(curvy.2, aes(x = .fitted, y = .resid)) + geom_point()
    +
    ggplot(curvy.2, aes(x = .fitted, y = .resid)) + geom_point()
    @@ -2897,9 +2914,9 @@

    Box-Cox

    Some made-up data

    -
    my_url <- "http://ritsokiguess.site/datafiles/madeup2.csv"
    -madeup <- read_csv(my_url)
    -madeup
    +
    my_url <- "http://ritsokiguess.site/datafiles/madeup2.csv"
    +madeup <- read_csv(my_url)
    +madeup
    @@ -2914,8 +2931,8 @@

    Some made-up data

    Scatterplot: faster than linear growth

    -
    ggplot(madeup, aes(x = x, y = y)) + geom_point() +
    -  geom_smooth()
    +
    ggplot(madeup, aes(x = x, y = y)) + geom_point() +
    +  geom_smooth()
    @@ -2927,7 +2944,7 @@

    Running Box-Cox

  • Output: a graph (next page):

  • -
    boxcox(y ~ x, data = madeup)
    +
    boxcox(y ~ x, data = madeup)
    @@ -2950,8 +2967,8 @@

    Did transformation straighten things?

  • Plot transformed \(y\) against \(x\). Here, log:
  • -
    ggplot(madeup, aes(x = x, y = log(y))) + geom_point() +
    -  geom_smooth()
    +
    ggplot(madeup, aes(x = x, y = log(y))) + geom_point() +
    +  geom_smooth()

    Looks much straighter.

    @@ -2959,8 +2976,8 @@

    Did transformation straighten things?

    Regression with transformed \(y\)

    -
    madeup.1 <- lm(log(y) ~ x, data = madeup)
    -glance(madeup.1)
    +
    madeup.1 <- lm(log(y) ~ x, data = madeup)
    +glance(madeup.1)
    @@ -2969,7 +2986,7 @@

    Regression with transformed \(y\)

    -
    tidy(madeup.1)
    +
    tidy(madeup.1)
    @@ -3003,15 +3020,15 @@

    Multiple regression example

    The data

    -
    my_url <- 
    -  "http://ritsokiguess.site/datafiles/regressx.txt"
    -visits <- read_delim(my_url, " ")
    +
    my_url <- 
    +  "http://ritsokiguess.site/datafiles/regressx.txt"
    +visits <- read_delim(my_url, " ")

    Check data

    -
    visits
    +
    visits
    @@ -3025,9 +3042,9 @@

    Check data

    Fit multiple regression

    -
    visits.1 <- lm(timedrs ~ phyheal + menheal + stress,
    -  data = visits)
    -summary(visits.1)
    +
    visits.1 <- lm(timedrs ~ phyheal + menheal + stress,
    +  data = visits)
    +summary(visits.1)
    
     Call:
    @@ -3063,8 +3080,8 @@ 

    The slopes

    Just menheal

    -
    visits.2 <- lm(timedrs ~ menheal, data = visits)
    -summary(visits.2)
    +
    visits.2 <- lm(timedrs ~ menheal, data = visits)
    +summary(visits.2)
    
     Call:
    @@ -3101,7 +3118,7 @@ 

    menheal by itself

    Investigating via correlation

    Leave out first column (subjno):

    -
    visits %>% select(-subjno) %>% cor()
    +
    visits %>% select(-subjno) %>% cor()
              timedrs   phyheal   menheal    stress
     timedrs 1.0000000 0.4395293 0.2555703 0.2865951
    @@ -3120,7 +3137,7 @@ 

    Investigating via correlation

    Residual plot (from timedrs on all)

    -
    ggplot(visits.1, aes(x = .fitted, y = .resid)) + geom_point()
    +
    ggplot(visits.1, aes(x = .fitted, y = .resid)) + geom_point()

    Apparently random. But…

    @@ -3128,7 +3145,7 @@

    Residual plot (from timedrs on all)

    Normal quantile plot of residuals

    -
    ggplot(visits.1, aes(sample = .resid)) + stat_qq() + stat_qq_line()
    +
    ggplot(visits.1, aes(sample = .resid)) + stat_qq() + stat_qq_line()

    Not normal at all; upper tail is way too long.

    @@ -3137,8 +3154,8 @@

    Normal quantile plot of residuals

    Absolute residuals

    Is there trend in size of residuals (fan-out)? Plot absolute value of residual against fitted value:

    -
    ggplot(visits.1, aes(x = .fitted, y = abs(.resid))) +
    -  geom_point() + geom_smooth()
    +
    ggplot(visits.1, aes(x = .fitted, y = abs(.resid))) +
    +  geom_point() + geom_smooth()
    @@ -3167,7 +3184,7 @@

    Box-Cox transformations

  • Extra problem: some of timedrs values are 0, but Box-Cox expects all +. Note response for boxcox:

  • -
    boxcox(timedrs + 1 ~ phyheal + menheal + stress, data = visits)
    +
    boxcox(timedrs + 1 ~ phyheal + menheal + stress, data = visits)
    @@ -3182,8 +3199,8 @@

    Comments on try 1

  • Focus on \(\lambda\) in \((-0.3,0.1)\):

  • -
    my.lambda <- seq(-0.3, 0.1, 0.01)
    -my.lambda
    +
    my.lambda <- seq(-0.3, 0.1, 0.01)
    +my.lambda
     [1] -0.30 -0.29 -0.28 -0.27 -0.26 -0.25 -0.24 -0.23 -0.22
     [10] -0.21 -0.20 -0.19 -0.18 -0.17 -0.16 -0.15 -0.14 -0.13
    @@ -3196,10 +3213,10 @@ 

    Comments on try 1

    Try 2

    -
    boxcox(timedrs + 1 ~ phyheal + menheal + stress,
    -  lambda = my.lambda,
    -  data = visits
    -)
    +
    boxcox(timedrs + 1 ~ phyheal + menheal + stress,
    +  lambda = my.lambda,
    +  data = visits
    +)
    @@ -3218,9 +3235,9 @@

    Fixing the problems

  • Then check residual plot to see that it is OK now.

  • -
    visits.3 <- lm(log(timedrs + 1) ~ phyheal + menheal + stress,
    -  data = visits
    -)
    +
    visits.3 <- lm(log(timedrs + 1) ~ phyheal + menheal + stress,
    +  data = visits
    +)
    • timedrs+1 because some timedrs values 0, can’t take log of 0.

    • @@ -3230,7 +3247,7 @@

      Fixing the problems

      Output

      -
      summary(visits.3)
      +
      summary(visits.3)
      
       Call:
      @@ -3268,23 +3285,23 @@ 

      Comments

      Residuals against fitted values

      -
      ggplot(visits.3, aes(x = .fitted, y = .resid)) +
      -  geom_point()
      +
      ggplot(visits.3, aes(x = .fitted, y = .resid)) +
      +  geom_point()

      Normal quantile plot of residuals

      -
      ggplot(visits.3, aes(sample = .resid)) + stat_qq() + stat_qq_line()
      +
      ggplot(visits.3, aes(sample = .resid)) + stat_qq() + stat_qq_line()

      Absolute residuals against fitted

      -
      ggplot(visits.3, aes(x = .fitted, y = abs(.resid))) +
      -  geom_point() + geom_smooth()
      +
      ggplot(visits.3, aes(x = .fitted, y = abs(.resid))) +
      +  geom_point() + geom_smooth()
      @@ -3307,15 +3324,15 @@

      Testing more than one \(x\) at once

    -
    visits.5 <- lm(log(timedrs + 1) ~ phyheal + menheal + stress, 
    -               data = visits)
    -visits.6 <- lm(log(timedrs + 1) ~ stress, data = visits)
    +
    visits.5 <- lm(log(timedrs + 1) ~ phyheal + menheal + stress, 
    +               data = visits)
    +visits.6 <- lm(log(timedrs + 1) ~ stress, data = visits)

    Results of tests

    -
    anova(visits.6, visits.5)
    +
    anova(visits.6, visits.5)
    @@ -3347,8 +3364,7 @@

    The punting data

    120 130 117.58 126 140 120 140.25 129 130 140 150.17 136 -150 160 165.17 154 -
    +150 160 165.17 154

    Reading in

    @@ -3356,14 +3372,14 @@

    Reading in

  • Separated by multiple spaces with columns lined up:
  • -
    my_url <- "http://ritsokiguess.site/datafiles/punting.txt"
    -punting <- read_table(my_url)
    +
    my_url <- "http://ritsokiguess.site/datafiles/punting.txt"
    +punting <- read_table(my_url)

    The data

    -
    punting
    +
    punting
    @@ -3377,8 +3393,8 @@

    The data

    Regression and output

    -
    punting.1 <- lm(punt ~ left + right + fred, data = punting)
    -glance(punting.1)
    +
    punting.1 <- lm(punt ~ left + right + fred, data = punting)
    +glance(punting.1)
    @@ -3387,7 +3403,7 @@

    Regression and output

    -
    tidy(punting.1)
    +
    tidy(punting.1)
    @@ -3396,6 +3412,27 @@

    Regression and output

    +
    summary(punting.1)
    +
    +
    
    +Call:
    +lm(formula = punt ~ left + right + fred, data = punting)
    +
    +Residuals:
    +     Min       1Q   Median       3Q      Max 
    +-14.9325 -11.5618  -0.0315   9.0415  20.0886 
    +
    +Coefficients:
    +            Estimate Std. Error t value Pr(>|t|)
    +(Intercept)  -4.6855    29.1172  -0.161    0.876
    +left          0.2679     2.1111   0.127    0.902
    +right         1.0524     2.1477   0.490    0.636
    +fred         -0.2672     4.2266  -0.063    0.951
    +
    +Residual standard error: 14.68 on 9 degrees of freedom
    +Multiple R-squared:  0.7781,    Adjusted R-squared:  0.7042 
    +F-statistic: 10.52 on 3 and 9 DF,  p-value: 0.00267
    +
    @@ -3410,7 +3447,7 @@

    Comments

    The correlations

    -
    cor(punting)
    +
    cor(punting)
               left     right      punt      fred
     left  1.0000000 0.8957224 0.8117368 0.9722632
    @@ -3427,8 +3464,30 @@ 

    The correlations

    Just right

    -
    punting.2 <- lm(punt ~ right, data = punting)
    -anova(punting.2, punting.1)
    +
    punting.2 <- lm(punt ~ right, data = punting)
    +summary(punting.2)
    +
    +
    
    +Call:
    +lm(formula = punt ~ right, data = punting)
    +
    +Residuals:
    +     Min       1Q   Median       3Q      Max 
    +-15.7576 -11.0611   0.3656   7.8890  19.0423 
    +
    +Coefficients:
    +            Estimate Std. Error t value Pr(>|t|)    
    +(Intercept)  -3.6930    25.2649  -0.146    0.886    
    +right         1.0427     0.1692   6.162 7.09e-05 ***
    +---
    +Signif. codes:  
    +0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    +Residual standard error: 13.36 on 11 degrees of freedom
    +Multiple R-squared:  0.7754,    Adjusted R-squared:  0.7549 
    +F-statistic: 37.97 on 1 and 11 DF,  p-value: 7.088e-05
    +
    +
    anova(punting.2, punting.1)
    @@ -3437,17 +3496,40 @@

    Just right

    +
    punting.3 <- lm(punt ~ left, data = punting)
    +summary(punting.3)
    +
    +
    
    +Call:
    +lm(formula = punt ~ left, data = punting)
    +
    +Residuals:
    +    Min      1Q  Median      3Q     Max 
    +-22.840 -12.298  -2.234   8.990  35.820 
    +
    +Coefficients:
    +            Estimate Std. Error t value Pr(>|t|)    
    +(Intercept)  12.8834    30.1575   0.427 0.677474    
    +left          0.9553     0.2072   4.610 0.000753 ***
    +---
    +Signif. codes:  
    +0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    +Residual standard error: 16.46 on 11 degrees of freedom
    +Multiple R-squared:  0.6589,    Adjusted R-squared:  0.6279 
    +F-statistic: 21.25 on 1 and 11 DF,  p-value: 0.0007528
    +

    No significant loss by dropping other two variables.

    Comparing R-squareds

    -
    summary(punting.1)$r.squared
    +
    summary(punting.1)$r.squared
    [1] 0.7781401
    -
    summary(punting.2)$r.squared
    +
    summary(punting.2)$r.squared
    [1] 0.7753629
    @@ -3457,7 +3539,7 @@

    Comparing R-squareds

    Regression results

    -
    tidy(punting.2)
    +
    tidy(punting.2)
    @@ -3481,8 +3563,8 @@

    But

    Augmenting punting.2

    -
    punting.2 %>% augment(punting) -> punting.2.aug
    -punting.2.aug 
    +
    punting.2 %>% augment(punting) -> punting.2.aug
    +punting.2.aug 
    @@ -3496,8 +3578,8 @@

    Augmenting punting.2

    Residuals against left

    -
    ggplot(punting.2.aug, aes(x = left, y = .resid)) +
    -  geom_point()
    +
    ggplot(punting.2.aug, aes(x = left, y = .resid)) +
    +  geom_point()
    @@ -3508,15 +3590,15 @@

    Comments

  • We should add left-squared to the regression (and therefore put left back in when we do that):

  • -
    punting.3 <- lm(punt ~ left + I(left^2) + right,
    -  data = punting
    -)
    +
    punting.3 <- lm(punt ~ left + I(left^2) + right,
    +  data = punting
    +)

    Regression with left-squared

    -
    summary(punting.3)
    +
    summary(punting.3)
    
     Call:
    diff --git a/regression.pdf b/regression.pdf
    index fc53ad5a1512278398e8d7170fe1a517eb19f781..99c2fafb84455129bc47a8b8de43c02abf50da5f 100644
    GIT binary patch
    delta 48092
    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­Lu?=#;Zq=XfcvkK`zSoheasxk%-HM+cUFWTj<
    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
    
    delta 52962
    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

    LJi`6w)jC5wfTTcX~B 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 YkpGUmkfjN}kWr!VqtVjJs>-4L7YY;l_y7O^ delta 7243 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 VURRlK9%z{`#j#mg6}6PG{|5=l4Ltw= diff --git a/running.pdf b/running.pdf index 46a2fb8dbb8aa7620bd824916bd3956d45c9495e..7e92e34531bfa2d057fc389d5027fab5bafbc5f3 100644 GIT binary patch delta 7612 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 delta 7603 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 K>7`X=(Ekew1xj}S delta 8760 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 diff --git a/tidy_extra.html b/tidy_extra.html index 177cd10..8c473d5 100644 --- a/tidy_extra.html +++ b/tidy_extra.html @@ -2494,7 +2494,7 @@

    Packages

    The pig feed data again

    -
    my_url <- "http://ritsokiguess.site/STAC32/pigs1.txt"
    +
    my_url <- "http://ritsokiguess.site/datafiles/pigs1.txt"
     pigs <- read_table(my_url)
     pigs
    @@ -2600,16 +2600,16 @@

    Lengthen and separate

    Making longer, the better way

    -
    prevalence %>% 
    +
    prevalence  %>% 
       pivot_longer(-Species, names_to=c("disease", "location"),
    -               names_sep="_", values_to="frequency") %>% 
    -  arrange(Species, location, disease) -> prevalence_longer
    +               names_sep="_", 
    +               values_to="frequency") -> prevalence_longer 
     prevalence_longer
    @@ -2624,7 +2624,7 @@

    Making wider, different ways

    @@ -2636,7 +2636,7 @@

    Making wider, different ways

    @@ -2745,6 +2745,14 @@

    A hairy one

    +
    + +
    +
    +
    +
    diff --git a/tidy_extra.pdf b/tidy_extra.pdf index 4ff8325144a693e3b6c20ddad7a076b4deecd60a..ed97abb189ee9ef3181a142979059150d64e35b9 100644 GIT binary patch delta 17031 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 CePQm3 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 diff --git a/tidying.html b/tidying.html index 5b928e1..dae2600 100644 --- a/tidying.html +++ b/tidying.html @@ -2555,6 +2555,35 @@

    Making it longer

    pigs2
    +
    + +
    +
    +
    +
    +
    +

    Alternatives

    +

    Any way of choosing the columns to pivot longer is good, eg:

    +
    +
    pigs1 %>% pivot_longer(-pig, names_to="feed", 
    +                       values_to="weight") 
    +
    + +
    + +
    +
    +
    +

    or

    +
    +
    pigs1 %>% pivot_longer(starts_with("feed"), names_to="feed", 
    +                       values_to="weight") 
    +
    +
    @@ -2600,8 +2629,8 @@

    …and finally, the analysis

  • which is just what we saw before:
  • -
    weight.1 <- aov(weight ~ feed, data = pigs2)
    -summary(weight.1)
    +
    weight.1 <- aov(weight ~ feed, data = pigs2)
    +summary(weight.1)
                Df Sum Sq Mean Sq F value   Pr(>F)    
     feed         3   3521  1173.5   119.1 3.72e-11 ***
    @@ -2618,7 +2647,7 @@ 

    …and finally, the analysis

    Tukey

    -
    TukeyHSD(weight.1)
    +
    TukeyHSD(weight.1)
      Tukey multiple comparisons of means
         95% family-wise confidence level
    @@ -2641,10 +2670,10 @@ 

    Tukey

    Mean weights by feed

    To find the best and worst, get mean weight by feed group. I borrowed an idea from earlier to put the means in descending order:

    -
    pigs2 %>%
    -  group_by(feed) %>%
    -  summarize(mean_weight = mean(weight))%>%
    -  arrange(desc(mean_weight))
    +
    pigs2 %>%
    +  group_by(feed) %>%
    +  summarize(mean_weight = mean(weight))%>%
    +  arrange(desc(mean_weight))
    @@ -2659,7 +2688,7 @@

    Mean weights by feed

    Should we have any concerns about the ANOVA?

    -
    ggplot(pigs2, aes(x = feed, y = weight)) + geom_boxplot()
    +
    ggplot(pigs2, aes(x = feed, y = weight)) + geom_boxplot()
    @@ -2678,26 +2707,26 @@

    Tuberculosis

  • Some data:
  • -
    my_url <- "http://ritsokiguess.site/datafiles/tb.csv"
    -tb <- read_csv(my_url)
    +
    my_url <- "http://ritsokiguess.site/datafiles/tb.csv"
    +tb <- read_csv(my_url)

    The data (randomly chosen rows)

    -
    tb %>% slice_sample(n = 10)
    +
    tb %>% slice_sample(n = 10)

    Many rows:

    -
    nrow(tb)
    +
    nrow(tb)
    [1] 5769
    @@ -2711,9 +2740,9 @@

    What we have

  • Abbreviations here.
  • -
    tb %>% 
    -  pivot_longer(m04:fu, names_to = "genage", 
    -               values_to = "freq", values_drop_na = TRUE) -> tb2
    +
    tb %>% 
    +  pivot_longer(m04:fu, names_to = "genage", 
    +               values_to = "freq", values_drop_na = TRUE) -> tb2
    • Code for pivot_longer: @@ -2728,7 +2757,7 @@

      What we have

      Results (some)

      -
      tb2
      +
      tb2
      @@ -2752,10 +2781,10 @@

      Separating

    • For “how to split”, here “after first character”:
    -
    tb2 %>% separate_wider_position(genage, 
    -                                widths = c("gender" = 1, "age" = 4), 
    -                                too_few = "align_start") -> tb3
    -tb3
    +
    tb2 %>% separate_wider_position(genage, 
    +                                widths = c("gender" = 1, "age" = 4), 
    +                                too_few = "align_start") -> tb3
    +tb3
    @@ -2769,7 +2798,7 @@

    Separating

    Tidied tuberculosis data (some)

    -
    tb3
    +
    tb3
    @@ -2786,12 +2815,12 @@

    In practice…

  • instead of doing the pipe one step at a time, you debug it one step at a time, and when you have each step working, you use that step’s output as input to the next step, thus:
  • -
    tb %>%
    -  pivot_longer(m04:fu, names_to = "genage", 
    -               values_to = "freq", values_drop_na = TRUE) %>% 
    -  separate_wider_position(genage, 
    -                          widths = c("gender" = 1, "age" = 4), 
    -                          too_few = "align_start")
    +
    tb %>%
    +  pivot_longer(m04:fu, names_to = "genage", 
    +               values_to = "freq", values_drop_na = TRUE) %>% 
    +  separate_wider_position(genage, 
    +                          widths = c("gender" = 1, "age" = 4), 
    +                          too_few = "align_start")
    @@ -2809,9 +2838,9 @@

    In practice…

    Total tuberculosis cases by year (some of the years)

    -
    tb3 %>%
    -  filter(between(year, 1991, 1998)) %>% 
    -  group_by(year) %>% summarize(total=sum(freq))
    +
    tb3 %>%
    +  filter(between(year, 1991, 1998)) %>% 
    +  group_by(year) %>% summarize(total=sum(freq))
    @@ -2831,9 +2860,9 @@

    To find out what

  • try counting up total cases by country:
  • -
    tb3 %>% group_by(iso2) %>% 
    -  summarize(total=sum(freq)) %>% 
    -  arrange(desc(total))
    +
    tb3 %>% group_by(iso2) %>% 
    +  summarize(total=sum(freq)) %>% 
    +  arrange(desc(total))
    @@ -2848,9 +2877,9 @@

    To find out what

    What years do I have for China?

    China started recording in 1995, which is at least part of the problem:

    -
    tb3 %>% filter(iso2=="CN") %>% 
    -  group_by(year) %>% 
    -  summarize(total=sum(freq))
    +
    tb3 %>% filter(iso2=="CN") %>% 
    +  group_by(year) %>% 
    +  summarize(total=sum(freq))
    @@ -2867,9 +2896,9 @@

    First year of recording by country?

  • A lot of countries started recording in about 1995, in fact:
  • -
    tb3 %>% group_by(iso2) %>% 
    -  summarize(first_year=min(year)) %>% 
    -  count(first_year)
    +
    tb3 %>% group_by(iso2) %>% 
    +  summarize(first_year=min(year)) %>% 
    +  count(first_year)
    @@ -2886,10 +2915,10 @@

    First year of recording by country?

    Some Toronto weather data

    -
    my_url <- 
    -  "http://ritsokiguess.site/STAC32/toronto_weather.csv"
    -weather <- read_csv(my_url)
    -weather
    +
    my_url <- 
    +  "http://ritsokiguess.site/STAC32/toronto_weather.csv"
    +weather <- read_csv(my_url)
    +weather
    @@ -2916,10 +2945,10 @@

    The columns

    Off we go

    Numbers in data frame all temperatures (for different days of the month), so first step is

    -
    weather %>% 
    -  pivot_longer(d01:d31, names_to="day", 
    -               values_to="temperature", 
    -               values_drop_na = TRUE)
    +
    weather %>% 
    +  pivot_longer(d01:d31, names_to="day", 
    +               values_to="temperature", 
    +               values_drop_na = TRUE)
    @@ -2941,12 +2970,12 @@

    Element

    Handling element

    -
    weather %>%
    -  pivot_longer(d01:d31, names_to="day", 
    -               values_to="temperature", 
    -               values_drop_na = TRUE) %>% 
    -  pivot_wider(names_from=element, 
    -                values_from=temperature) 
    +
    weather %>%
    +  pivot_longer(d01:d31, names_to="day", 
    +               values_to="temperature", 
    +               values_drop_na = TRUE) %>% 
    +  pivot_wider(names_from=element, 
    +                values_from=temperature) 
    @@ -2969,12 +2998,12 @@

    Further improvements 1/2

    Further improvements 2/2

    -
    weather %>%
    -  pivot_longer(d01:d31, names_to="day", 
    -               values_to="temperature", values_drop_na = T) %>% 
    -  pivot_wider(names_from=element, values_from=temperature) %>% 
    -  mutate(Day = parse_number(day)) %>%
    -  select(-station)
    +
    weather %>%
    +  pivot_longer(d01:d31, names_to="day", 
    +               values_to="temperature", values_drop_na = T) %>% 
    +  pivot_wider(names_from=element, values_from=temperature) %>% 
    +  mutate(Day = parse_number(day)) %>%
    +  select(-station)
    @@ -2989,24 +3018,24 @@

    Further improvements 2/2

    Final step(s)

    • Make year-month-day into proper date.
    • -
    • Keep only date, tmax, tmin:
    • +
    • Keep only date, tmax, tmin:
    -
    weather %>%
    -  pivot_longer(d01:d31, names_to="day", 
    -               values_to="temperature", values_drop_na = T) %>% 
    -  pivot_wider(names_from=element, values_from=temperature) %>% 
    -  mutate(Day = parse_number(day)) %>%
    -  select(-station) %>% 
    -  unite(datestr, c(Year, Month, Day), sep = "-") %>%
    -  mutate(date = as.Date(datestr)) %>%
    -  select(c(date, tmax, tmin)) -> weather_tidy
    +
    weather %>%
    +  pivot_longer(d01:d31, names_to="day", 
    +               values_to="temperature", values_drop_na = T) %>% 
    +  pivot_wider(names_from=element, values_from=temperature) %>% 
    +  mutate(Day = parse_number(day)) %>%
    +  select(-station) %>% 
    +  unite(datestr, c(Year, Month, Day), sep = "-") %>%
    +  mutate(date = as.Date(datestr)) %>%
    +  select(c(date, tmax, tmin)) -> weather_tidy

    Our tidy data frame

    -
    weather_tidy
    +
    weather_tidy
    @@ -3023,8 +3052,8 @@

    Plotting the temperatures

  • Plot temperature against date joined by lines, but with separate lines for max and min. ggplot requires something like
  • -
    ggplot(..., aes(x = date, y = temperature)) + geom_point() + 
    -  geom_line()
    +
    ggplot(..., aes(x = date, y = temperature)) + geom_point() + 
    +  geom_line()

    only we have two temperatures, one a max and one a min, that we want to keep separate.

      @@ -3032,8 +3061,8 @@

      Plotting the temperatures

    • Then can do something like
    -
    ggplot(d, aes(x = date, y = temperature, colour = maxmin)) 
    -  + geom_point() + geom_line()
    +
    ggplot(d, aes(x = date, y = temperature, colour = maxmin)) 
    +  + geom_point() + geom_line()

    to distinguish max and min on graph.

    @@ -3045,26 +3074,26 @@

    Setting up plot

  • To make those “one column”s: pivot_longer. I save the graph to show overleaf:
  • -
    weather_tidy %>%
    -  pivot_longer(tmax:tmin, names_to="maxmin", 
    -               values_to="temperature") %>%
    -  ggplot(aes(x = date, y = temperature, colour = maxmin)) +
    -      geom_line() -> g
    +
    weather_tidy %>%
    +  pivot_longer(tmax:tmin, names_to="maxmin", 
    +               values_to="temperature") %>%
    +  ggplot(aes(x = date, y = temperature, colour = maxmin)) + geom_point() +
    +      geom_line() -> g

    The plot

    -
    g
    +
    g
    -
    +

    Summary of tidying “verbs”

    --++ diff --git a/tidying.pdf b/tidying.pdf index 296fd72603a28de119a13f05ce83a79f973eedfb..1e73b338a2093e33be0f026d9b1489c3551aec27 100644 GIT binary patch delta 68126 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

    ElBIDSo_VT)49l&iE1z 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 axpZ0vA0#0XD=RN2I|n=!m87y1{Qm<%s2eo^ delta 27882 zcmY&EONfyak%}( z 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

    UF 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

    L!?TZM`(8}oAljqo8NTB&Hn zA|Xx9)h3Yl^6=xi0P^N0;2wB~GEB_%A*kis}$mz+|4C-c4&TES`JzS_+AlH{tmXx<lG7fLAvpGzKSwv$4es!D@H3;sRHmZ`QG?6jk7zgQX*&ex04PwlW%aaQvO*0s3+nFsBBVBBNiTj}Oc!hUQnqQB*l z-}3(9UFR0u;w43HmR04^?d6plR)8Qnv11>b+fC6*QGfQ*8T{-8^ahr*Hh z#{P2jjt#C81)N{6zMP{>H#BP8cqXIyUnLf=UM}r3r9nF5BVIKv5oDHb9c3^1+J5b& zQ3kJ8PJWqMkJd>G$q}(h{nl!xF4(V@YCMlro%T)rG5a*tvu;>x>PstvBNpkjaTb!? zE6h~{kE|+c%==z-V-_0Ck)X;_fGHbI`uLRw&NvENaTI@A<%mU=ku)CBgH_&Dq5hsjo{p3^H`+}L9Z>~t`?5ZFd9~zM)>@k7Kgn|*pmf&teFgSW zckfNCftB;9(ZfeD9e{5zEW@s9LxAY@=5?;~I`!Oe+wrD*`^aU?8-(%T4Og|)+~v`K ztZ>s*zVGEm6m0Rr|HR{sB_sw%61gz7kaEZP^gMd-;^DNyb@DVyKcY3`(VzYuO=PUl z+zqD&UkG&jI*I)JC*pxmuiOC=@l{@u)#OCZw!1KP1z1s(rl;{+9t$E!qTodMGE*_0 zT?<&@zUuAkDIz$?2HiJ-q((2WH$AXQCm$ibeo4L0u&k)U@My6B%++C-pl4svhj9$V zwhIv;<;B#t7CF{K*ydaDqpzP!d!>CP8_*`LO;=Lsy0M=b^f0SVa)K)jlfU@kZ55;-F6RPLo{@NureG<&t6vH8 z%@}pOpN~v``xM`Y{k;3J=rBv^5Q-2(i+dJWvyl=ePL60JVMu~OY%oN!`y3N5x1xe& z=BotjA`c(E_4_7(3)iZz8Vhw?SrKan_a?+=H`3YG&Bxty>zI|vv_fSSQp{? zPmCWDV2dA~AS8uC2`5Sk{zOeN)+1$Ixb^}GE2xNtgK!Rjn>TBhQIwb8FoKBu)w$oB z&GcRRu}UcYTv1Wnk%UTKZYRAq4Jo5+H{+4AEV5<|!ndH1 z`d<>dP9lI|*)QRh;&;7G0ikEg@`Q^GsupD*nNV$WP*nd~LGw5rQKW}9v$!yga~J;C zq2xY)80AZbk9-`n9stu2*TpyTMBp<>$;V)I)T>0hEQ?z0HaWj=l`zyv>rrh%( z$lR`h;p!?hO+ov_wbxLQqI=T9!eRPqB4u`^?`UBfSO1GW$7GtVvq7LK{R*joA2?=fMP=k-R>dMBln}>->vD?K_r8;+_SHHcC7IJZ0w0J4A)0DQp3Fxb$JN=a zq=_ZWcYcB?cWWZSJU56|lPDN!gCchX#hjxmL~R@zUup@NS3dWj=nCtN$sb;r^-fBdVhuq2o#0$X_||ZLJ@7QG|NnDukfhWq~~SlL~GE5p>+U$XL8HFJ_a_mszmuvLeGdX5H1zEP*_+6`Vj zg<3G2i|P0{iUs16YV;+Yc>WTQ6=s41Dv$*5b-5DY7ziD!F|o7WAQagk`bi6vPA0V zS#x;pitQa;=*K@#I`5+aeXCvJ;HuZRk8&R-Xh=Oq@;2D|hg#S_&6>O2P0-3-=RHsL z8FY%fLCs0+w?@o=jYY|4wCqnu+3&~&nO9o4%kq-d%gp#yolWY`6QEg-LS&|u2CcrG zHT$|&19wG_lS_Mn<+Vz@qE_(bKd0TZjMH0Z2F0a7A6$rKYe1HeO zHFV9EA(n0MOU=oGJ5WfWuw_t?kHVqw61~;U^q=vsnswK@1pvK5iB;{H!fCgDu`8Vh z6-EgB@!IK4iefa72lV`t5A38QHz1@C=aG&8a6%OP{W`p3zpQn{&P!^UNoy(a2;=PL zzgsxODIh}P_Sxx>YRCiY$L{X~~+;k>_^J@oC#EHbDb9v_-~)r@iA&$Nqrd_!0tk zrDu+aR}Ki!hA9EreBpO{-p$`lVEgS;Hrk7esibx-mV_g)4{{_w|L!tLEB$;6^NR71 z=-XAa3nNT3X|%7G%rVR*bgVL1Om|NCn!A(<7#H8}vNT)OlUt)d6S*k8LNMg@H#mL^ zad9!Kqpo~X-jD4+boFYY!)qs<9?UZHwX0^cUBFxFH3ER-vS>sr=KWGgAS7xE)6>x?_;=VaGZ^8glLTNvF7zkXNW`uOz^ z_8OmV7R+ZMxUc8|DV)Xi9=Qj~F6XTCcUMzcFkdsFt@HlDs2tGCF1eIs?o34h!OQIe z%P=%0J7jCZxAiq-#VXvbLU1c;kTZLGU9Ht+dz5p^Ek*tYGDHvj`Wt=geL;}*hOVwy zt4-n8Y^blp{EExhePNe(4r1r)yT2D|Vm1w&|Y~Ep7Dm zR+7Zt*a`XElRmCz_V?x%_saT_4l1?8r%Ph*c_Gpz7zns>#VE*iI9WzE3}5Yi*JCjv zOE~FRgrHTDDxGZ%RQNC`VVpeNDN*D zb*N{ckDcX^D2oJh5SHZ#egy-QiA}6qFp!7BEXfIt=I3pSvd+N z+Kqg^Nf1uy~in$=5Dl_gVD@o$#3RRh(hZJHly!!-O?l662FU$lQoEC@N-br!@|c{ z-TkId7}t4g+PyoOr4|>eolo3vV*fD-q3?Jzy}UuSeZPhJUz2kDXHpOc7x4ea(FV$5 z*1c?)Z6|m>@(kTIRxTW21C;&Bjep#c`9`LfvHE^#k0QKx{QB;E7z8VjrZaAn_*# z^7Qn!I_?w?qXqLhL3ixy+kI1d3X`@nG5HB(03Ja@5H!xKS#o?~aQ0r5|~AyGfStIPSOpjaZY?vwTAMZ`*3- zM*7{#@EM<&eEA=9*7`L^Wn!br!v(=c43)zC$;ZijgEihae)W0`4UfBF#>}jG?Xx1w z%!kTHhmAjo0$Il*8YxD}D@V6nbIzm;aa?9%I$`ao1=Z5a#!7+l{lDTR?L;LDtk|c~ zorvqC0W!H++!V8FtQ5h_%7x6e+VK*ABe>+VA5i2VJxo_!Y*%YwZtl#lL%I_cIwb#N zQbd1U?1`M5e$o2%;GE@OIlA3qFdjt#GQeQ!DI1`PV^}m^4!?vOOlB;f*LgXD2-;J> zcq+A6s#vEsz02oy0YONyr6UNx@kr)Eo*i8mmq|2Aj6mCSUq(I5-$`96kHht6J_oiz z5G%UY7ovyl&0o}F^%6?JJBn2|68DpQQ-ezfngKb!K}#zOF|W@=lMMIBiNRdOpLG6m z_`kf29I&&+RSn*hI#9~@ex7Io7Vbw(yT7r+hx@1GZ=bUo=&~LBueWghkGF91@cw_^ zlBi;{!iFogam{qI$o|cC^p`GTAdeMgwXLa@$?16g@3Fs&1F~dK=Ld(rHzt9wu@z-L zah1*oW#is6^_HCPe0R5Bvc@~k(%7?}Mzy7{@iFXpM^R?#ZgmpBC&V~8xKQS zOdm>T`>RL9Dzz&{MJ~cN^H+CPs#c9K?nlkPI8HQQ&BYX!KE<@q=rnM8wHdweMD#VI=++!ibeU9WPn@wpwBUZ}!iMqc81rodWJ{!=`oDAP zlr%`Z2q(my1Y+(JGrR<6J(eeYvoX0_fPwP$VVfp-G}KE&T{q_QOLcp($>)mc z>7KtznxCvT^IW^AsD2X?JXRexA@#frjgy=QgcNN*+kiX;0XCHgQVZwf8n24g!r9;O zagbQxv+dz!>Y5mjSJ=e0jvDB!h%vGKCoD1Y+Y>-@hIeR!P4ym3-Hd*eWiE!#zr8v3 zkx35|{!)y-IH5Ywc_RgHK{GE9Agc1mMHlP|)_$scxz9dx)SHPUw>JQe9yoq8P2!Uz zQ4jGJvs0$AKBG8717RMD#n@$SbB^+;{>F}WjDl4bJ= zBKq~YFS%`YKhi^?^w~KAM%UI&IhMQ9LI^S5o~>(7b77DK!Csae4$8CU zETN&BGxYO$p@uT{j;at7L{fC|U-a-_QrdsDF3E5sMTQ-F@KeEtAD=9~tdgfo$>Q}t zI{@}kxSy{)^F#jFo+!hNb+>i~0wdmI_X*%7RO;yY|dN6zy$Q zxHZREL2+T6HHC%6!S>bN(~IH%E9|R+>I|A~1BBoX8+UhiLV~-yI|O%^FKBRwjZ4tr z65QP(I0ScR<1RPonY)XY>(uU_5Ql%##HyzVC*n9nEF_5KUWNN0QO z7_M9gfc0YEK?-%;5c(dF7Bmq8`!daI%)M88zmyg)6P>twn43G)~zJ)p_hp= zRzrYr|F|~ayUYd?2QnO9VL!k$+K5Bgp9vhqM%C!)y{n6ko|z}zEkj3Fg zpzBL7KivE-6kmQAALN$$HK9C({19GLQHv47bO;onuZ-&X&D{AUX!$+GjJjaPm6;5jwB^R-{r>^@# zWZ4=^mx3%JGAg(;LZ}!dv5dI9Ss$}ySRVb~>f3&|gWKQZ>c&=ETp=wbepB~Z5?|9Y zFrfpDe+Cy6aA`jQ`#&EQ4TZM?&pBQT~`-?6h9(eTfZ1_c5>wAlcw1VC$SMqz=yNd7(Wux+UZ-?j-h3hJ%M2JbDP2EcU$^|enG^E*iV>>kh-B9o~X)8W1rKn_#}VIs)&1Hh~TsLW_~h~N&9ZzFjNM} z&Llr4o+VPruyzD>3b{|rm1)tox9-lrf(?-szN`s1bFZ&H!gV_*cvmTrGqCG=3 z_>9etgNqyl@G1j~41M&Nh|b8C9dgW&^L#I51cL$@G0}t%HHViz5Ti_OHJg8`RllflziH=<(f~I zR@3bT{mIQmTOHn1u=aY%X~ASzzr%XY74*IOt4L{MV0@MyP3h*!yfO%RP^!&}xri25 zmr0Ie%oG>&A$qGhF`*qFw`Ah;1-z(O;^^aIl@w((DXo>i{f<aW*JwCW;8LCE2Bi6RhZbrahG@3k+U!Aho*2$ zb9(MJ(#Oz>uM(+?^h66yg?1h&!Bog=P{bXWUurC=^`2F)P1ekiF{bYN} zA%;OCi~%a0(c!KPkBL?RQG-kI(e3*Bc}%hdcy!2REP~@G(wy|tNHR=tnPkjg(TGja zaDJPwN;`_{et{fko?A{Uq}vG_7^vzDUJQo9GdJ5Xcg>1KJ5U8=!%giZ4^<0qAN1nXNLOG|0_=NAns|>WzN=Br_u7)c}FIrXj-e{kSwC z!r6^OlQ{S4XiNN>PVkbyG~l|T8bTlbL0q+Xqp`}}?Qo8H>@)wpbFyAqL$IDquKshv@J+epAH z!N!o)AL8khF4)nfkczQGugOP`FyHabdWLKSzf+bs`zRHH0H5gSMX}G-aB25LZbFXz4aDAb)p^;q z;fpShx;-ky`dhr3y@1VSJ{ym)%H*e#0^YguUZF#Yv4Bwii@^e;=c<5qK!YADB?W&? z*0Y9t9+~Z@OCvcQ2en9c(2Uyhjdr?D{rlVT8W+e+jj89(3+V!KftdFB)Ynvb$G>tj z7Pa?Dp3f0IJTrKC_b|jQlwg2{@qYQw81L%Kxjbk1_o~Nu1;E^oTcgaUwX^u=-lW?C zPPH$Zl0nc!S1v+oH_=;d&^ET zCp6Jz04WU(btrp>;qXjllb_rFWnpR*PSu;QgIyCjtzz%6DYRF<=(Ml6Z=`yC?DL@7d+;bSBg%3 zI+ySz6T)AWKE^AAP^H*Cm~>oU)mkZAzklP91kgY}dJT8wL1D~8>{Q&NcvK_0cgF`> zCW#A)h+9H%FFYLd3cn=V`aG#*kK9itg`+JuiFDKkJfK_lq+Sq71U-33rj)anwo7!# zK9$cZ5&V%%qZ!oL&7NT--6)*8AGX9kq(tXvs4=qjRz0W)7I+KI7#cC@c*uFh$t1Y3 z0A{5Oz*HS$q?@%%FO~DatvLTMzy=EGCO!-^|7t!&oB1Z zkh{n<)+?$Z88zb9dc5uN5=^hXDfHVBN;^5=;y}&KqQxMbHF65|kyZRmDr6TxO zy9SN_*nrE(w#bAc(ZXJSK+1b~nl@Xsbz3)SaUx*-``1fl1qNsqvRDurAvD8(_;xuQ zQoq9zS=~7y+126kuKL@xakxeVrmIJ(*=nIiCqIX2$JIlRj<9b$h@=KDuoP4RjKJmA zRnj$d*B7)_wc{U6Oc#e*==PWqn_rlaz$gJ+%Jn`;5*PsLS=@SBa6}oI;nF z(xhd1fW2RES8SF7K3b1kSn2Ax>}V>~yZVyK!O#EbJ)a2j_7;~{{&^7T$P-8}?|1o8 z9=U|#_i8yJ)au#!5zkhlaW%#pu-MJIOYYuDnwV%pj~}W1iSZKB+po=IKz_-p+(bUy z6GDkk%;RLUB;>~?MMi>`1Y@{CGsuByeo?OsG*j#H{lX!d7NG?AxJz%*v4Ss_wpN|8 z`iq@eo;_yD*P);-`(9YzAM8x?jy_(Gi|Z4%fG3DjQb#o@L(9aL}ht$eWrbF3<3VWq?SHGE~N7 z>p11=kyLyZFuZYJZzj)#!*tuLxNE7)@aM4?t-#;LMO{wjLfs?`oRNZg&9G{dGFPgI z&r4Xzj(sMJl4z%lggPB*p`p!cS6X4}t*Ql`>+144ItWsDv1b8w2RF^|4kWa*E@T~!>?Rdc>+;Z?^fsLJkYIPbygWCW>x>~K=nj@L^x zqQ*D<5+o&XvBwOawsFJ6FR{VfnxY(E`fgCm+Whu-9$(LOQ*KVFZ*_XXgg@oy=Nw}9 zQ3p@3n{z2psHg-GnQTXgZAa%Ygy#(>2mbn--dbvXDZ=bo=rR^#Xu{yKL(nNhlYUbf zMBzzbg^=)j=Bq!E^dc&mq4OSDP4JFyJD251(RZK<`rS&qMMYolC6tQAsWuI7qf%lX zVR6!Vr)PPkBaP!f+hN@)fK5DeP+-^4yV4$_wxe~^rqh$=EEl-?O%IJ zBtO9q@}z)v$7*503%?pKyOm(~2izpFH2CV9DcS<-L-?l8^-tv)iS69_-(cRBG; z7Wm}&`cEM-T=>y@m0gH;4v=+JUs{Ddmrti4>1|$P+Gx0h8nX~aCcL{BMNHPA>yV2m z6|=iO!;SfB7kmsDN|)3ztzEFE36tSBCM1-<#GF)<@w89KA#?#2@m(l?`_MmDUkKBY zIIjVM=;m1v&+W3M7cUa#*sI;tcO1~(5qqAZ4pDYmYQnJ9v7w)GT3Uq^Qh;ebL66ue zwLH_rC|%xIdE^PQuFkJem&(1ObC@+Fk3RLcn6jNZ?*xja5Bi^cbT)4X&E>+Z7t;L;>sNveFeEhv8Gu+iOIYYd^%G> z=;(u=?VB|jLt10geCM=gm>)>NE4&klrzo=w)F;}-IH8yLVOE&(=Jqw7K`1)E(?$W% zs!4GBJ`LC`q2aAkUPa(JwGBzGT-&l;RD~ZO3wk_h8(1fQ?qx`DL3ccVwVnaeIlk>$ zt)cfE*m8Srd^=c_{8`Qw+>ffCaiOd)uL=Kp4zIlc1Nk#wP3Z(qvXOQ=RKj{nO}65i zsT|Oe!eeO?xv`qS%L7;YzZ3Y<8wdh=9v4%gqEkSiVcFh0Os9~U_A*R%yM&wayYUY5 zF)qu8swi^&%)@JK6zn74r}sZY`US(dPj`| za|*K+8O={xa_7zz7X+kQea6S&FztnqUj(R+jNR$%}~d zH)>`I+rgMv!Vr`U*~EJAQUKujg2e2xh@=`}O{F}{UQmC37UnW#?-18?<%x|D91?!g zp6LtFbVD?tw`M#qg1A!&fY}G0m)!NJVT!J)iMb9FBsK!lnm1vM%rjZMh?V;1(5{WK zqo20;wJBDFE}@6qd3a*)bNoGDpDI@tPjT_dRz#6NLL>59xf=rC<$kC+?ur!TAp+e=y)WoXG`h0TUScw z)ps$}XFAdF_|__88hB~yJQsQM#|^6^I`8|A0uZzjZ*#bNn6pEsHco%g8#8!&f5eOT z`!O1IRX0ZUNI#$7^YEdu7uM_a7q8%5-YxFAeRT<;YuUAT?^WRB$AB#ar0BKx{(Gj@ zdRGHaJZ3pfssZd@t}}Srfv^@{=^f^cyq0Vo@BUnKS9e?C)qvuY;XPmYWY+!^cAQAIhQuZchZnOX zHg59I63i;8Qd;u|8XybGZ%=0iCLSi1iaEP}@73FF>soiGm+O{hvn^+*%ae?r80R}z z0}is*`dM|4yFl&eLSo`5S?2=(Ts0}mmQcu+{&w5 zTR+3-R=Cm>LG{F)e(jf9vzJ`cY@wN9B}vW|j&P)^1MtOtTnPy?D4|Kx_q&cTWrf-E z*yPM4%+X`4rejCYbrnICqZ)qbMq^Yd;v|~jtcr?LI^bcH>7L^Gh(4lHGP(o1>;mui zeL@WryI4Wqj*JFXx%_mYMG;#G2nlAG7iR(&E3M!4)C!k+?ew*m^Kd8e?{SHnk!!L) zhFVRgzvmD0KVKjO0#@$rUO#H<*$efXqY7(7Vy;A)$w^`qxp=bq(bT+p?_G`OtV#q< zZ19LSDF6aXkRuwlO;n3kzak5x*59QKzpI<#^D$r2%7&f!N1QB>6SAj*pTHRFmsHJ9 zLv0r9)JqC@1tXE)iV0m97`c!Qq2S(5KJExOg`QxLP9=gb&r6ku)8r-CJwTGSTo}x5 zQN_jjoceQmSD|6qlLlH7;M+Mg{drDjUp&HGGQcXBLs_-eGdcOQ`xX|@ms-?;hGAQE z3ClTFUV-x8LsV!RM+0W)>o-6-_X}yfMrFnC?EHZ07~{S*>N`7SjSq-r-(rR30aaiJ zz8d$TWNF~`RpJ}W!v@W-&JxJm3dp@}8MHKXTX22dvr@B81YD5@lPA!|CAM@VM&@A}>QeGGQRN~K zWkrce1S1Ws?dlwEuO>=PJ5kNPVp9~3W&lZDnoKFD0yXvxbJT4|WG;@fpL0~KH4_q4 z@V}l2>LWMK+)wG+y2`B}DgRNizu_hrcldHncv`-`AX>B#;u;*W4VXA9d`0zX(#Fer zb-4VIIC$4c+R1`~I3cQ%F<#13pe|6L{ENX|pv>9TEQKpTuXDy~i&aHQLtbkJTnh+N zudlyF-PyDHkcp+x|B}d;@`Z-8%eOkJR1sQ#P>|7%~qR_&I{`2S?WRiv8jTIbF!hLqB0lcl83e5=W~Wre>^%q zt{Rc^J^C1GmLz9N*RZ+a5=r{i6b!@)Ow`8{o05TVwp7|YB)pp`yee;=*N1Mlt{#$! zXsD^F`BgDBe|@tnt@?I$)xrlS_W*JBlgau}d}2g)i~t|-@@f20sAhc9I=I6MtQm-T z%y}Y5{aI@&;B7v1f@e7B`pv!(N~dq0y>{e9=B);&tblWgO2%AA-QC_$M+RUCss`$D z_ET(^{6;=7zo_3Qzvui8lEa@yDv)_Eqyj8EzLjRWLlxhYd&GQ)%EVA$&$-r)IrXDH zan1h6O2nCkxqG8~=LZ85QDZ9ZXd}VOKSylP;?^v9hgXu| z`sKRC^}Za-KP*6NpWA6#HwQTNt*$Oa8$3ikE;SZ|xmxIC^r$R-4&Il;rS@C|A|;mm zW)1b;KWVrt7)ZEUyO`*LY;4;G{^kC%Z=F#hFHsPzphYc?gpVv0f3e%uhy!eHk%fpx zSt~DZ3umZNs8!4Y#G|{ryL*~w^9@n&m%>vBw7~OCdSG$kW$gkS2VhVWE4u?77eNRo z5F|_A8$rdrHQI7;uSmpQkmEn&fBYAW$(HMmrnkvnuElci5L^8RNi$0|G3|$9O18su z+IdG8FhT>qKg+@=iflr}N=j5y$Mk;A1^HA+dAUTz5>?se86(3&|<(+*K#oDwkhd#+}XfGG!@y6!4sbdnjWoqHLh3bw%YJ zh!psv!kGtUvm&49!=vsUr~!ojDX+=0&(ADdnuHGcUe5I!1}`cS-XU638O_(nBn|;Q zIDz*eV!AJHRo)b;^9QVx(vr|mPi`N+;NOX4y;C6p1M_w$1{y;o4BPD3ow$vtPP2uM z&Bm1$7)%NwMSy)xvduf~R=Wv-g#@w@`$j&qF z!%E}26>eu8m}UwdA1PHe5^v+P-3s^kYhz|qkj`w(wR`qvL+-x8Tav?Ej8wLKEK0)& zq3E|H<(`dSuEKRLq*;?sT^!z@9=NrWLUqk72Z6YcfFgxgqDgDmy_$R9CEMOTC(eON z6FaJ23J#8FEg53H0k;I-3x1PN>3{Kj8P3y|X%nm^I^Cer&@S7f;n-z0E;!DETzgq| zq!wK?N05b$`XJ6Y_XvB-I_y$M1v;>QWsA3Ji@C~E!Aw?Kv?STt<{%CIk+HRO4a3X{ z{ZL^Opu9&r4BK}3Bg+!LKFft8>SphAxKCb-OMHKlF@F3->jj<8U#>JMIC-5h9(JDk z^+%Z{?Xk89yUj^s%0oH?vx^fiXhRwyX;l=l9k#!vM*f~#ctzxV?-0@BkL#?Di!-qLd6yR*ko@(kl zfMrQrV_gxF(t*P$mMpNeO#7LpFM5KWExL8n>tl*$7@1w2p$i= z$hOv)Ci&|D+9xkAzMwogxS@x=qM?595Ac0&14T2cL2rhQg62T?)l~Etgw(JTgG1s$ z;2cwuj$`I$^qA|;$Y1@&R(X!@+o|JCKrGTa zD&si2sQw3cUm?p00$)6s>OQ8ms5VcB&Oj?lq}MJsh0Sl*I@OpTYh~YAWxnVP;yM#X z8Y`%HU_=b23CK-I)$f}%n7Nt7B_G(_81c_9x9sl|bEhwRXD}#i4Ty#A?==6Ffq$ob z1M*I%Wx?dBP}tyrf4pQ;76}1(triLw6?lIKfcy7Xs1K^>NTdIS_>=PA%w>~G9TYO$ zf3;Es2e&}+Ky&c_7YBOV0`&y*-$jJjolqQL!yY-Tenm^V&v?pCg zV-4B+oKf+5Y~R%RDKibuM^iq^y3jt}-!pw3!M1HR$MhA2(fXpZS;0_6Q4D8R>SPt=2tE1TNYgbY82CM8^bZy73*UnN ziqOcb6Xgd5Ogq6+7KJq;=TlMX=0l^*zWlv%qLc2&too`EiaWu>AYV{PErLnn+|TC} zH>98Ox@Xd0*(3t+-XMTt6E84VWk%s)(AA+Cco2ii273|;v%kw6N~>xk^o4KAg&HYp zH-1v?C7`noy~RUov-@5a5}9;ZlI+xup4N}Qee2xIf0Wniw3@WByi-WMFePGK`yCUS zwmnp*AL&GgkW2hW0v_=aq%au%Z+$ z+rGTPx;|GvFmd(M5TPO%+cC19bW1i9Cj7q>k$I_|^r2%&(( zf@8tvm%oc+4jT{i% z%aV-*@c##h9m^^znOP;QPd<&{Q;3}osk9{L6}T(g&D`QYSuz*R{N6nMn?dpT$nMJR zvc;Uw<;lt}@$X444)>p_)LZioZQ)04;DxTJC4PqdR4;huC$g#yeUYbETnlr@n7$`B z$$3<5>|Ip-@>7{Z4W{JynJ|z0IfPS^01g?*9ev%tbz$#lDFw#~E4^nJD18ZdVtVrm zQAWwLA%blo@78sPT8%7q^R!8k?4zAt=L86_pPDmOG(ybeY>*WYKo_|{mJ z2&V*^ZS`s^Gg_;twshr74joEDyTx%m+?y!TpjYu;!xOOq0HX$20_Zgm`o}pC9y}ng zXG~sW9~j)-080YB0s06ps)tSin>1R+Xwi{!F011$VL-2!C$BYXNw<!PaYLF>N=VvQW2v-pQOV~Y_{TiJh^3R4R+ z>z@@wl4Q;Y!l;x^;|o-bap&urhTx-#+B7CsHBsLj*GCL=;u28=plIcj>bvD5-9^tImXGvmM>}&NDs~6M}PhGUF49 z39>EY;&Mjx7#vnZ%xQeer~1W}jH++NyA^Mfhnue6FiNYX(obaR3Z`75a4@wJiDuK+ zVL%|z&f1az>W(;~bf$NOrnI>IVtT=1(PFhOP_Z{h!sDChJ&Vjtmb^Zl_Uxvdks?be zze7P4>d^htLK+{^&@|Mk@aKvau93rC>*^#1?aD%fySjM*uhL%PxY4FjgOYciUFoNtQj(e& zM*4^m`(sCZf)9?E6SL>WMB35p%uPdW`6WGDx_x@M{P@C6zGF)pH63-ns|AJeIi|YJ z&R)Ns8+F=89DA8@=(kT;W@!rjv-qjTE-7onp%bA>uxNW6wyCKZE+(!CX+0T5q6ZYk zz0_hr=AKNmz|K#223*0;9f(OAw71iE5)HR1{#Y!f+RgCf3YELmut?NwCfW(Mni0{J zAn)+@k-0|60{8%8MBMdy^iS90T{YwDcs!O_K9cC08=zBpqQtsSirXFR*Qm?dB_xo> zB0Lutr8Q>Vku||e+L1?j#l1(n);FvT z4{2p3e$F*czJv42-AKo*eV(@<6i`hk^4-7NdeEj4Z0O>X2$ zH2X#`9_2IMPL?(Mr$Bj53!+AU{F)6wk9NpOl6F#=)#|M$j`^7GZ&56CY#+RL}9v@X}sLD#+A*DYY9GmM8e>Tz47Wk&ye%|+rwME}xwAeB+~B#aSYX>9KG z*A<*a)nbCkla*PON$;H(M|S;Ss0B0luiL6nZw%T0`f2@9!)H@UZ7()^B)VjDdF%N) zct>x$^T~<(c|+k9U7g*atl3f4)D+NGu`g@3*X|)dgP2$-9iiy$YDuIDqct9xdLC^{ z{V9SAU@|yFZC$!_pcPyl`PB#}zSnc-;-km+aA}+_ zEAyjk!%T)Yde#^jZ{JNRDUdgu)~Z(((dRGx&u3uC?1%5_`3`k*`+B9@6Qv4t##kI1 z{#eJ(hEeptGq+~aknbICF4ND5#h3dV-(h0i>$3i*Y4*QqNEYB2D=0W2QI zB{w?4O+Q31UC z|Ibtt?)d{(MQ`lxOIJ|}1PqG0zhaS?R1}4@6y)Iq*#^`;I@yQfxOJ)VhaLCpzF?g} zyur?;Cgl3}z`G#duKV2yt4Tiyt1IBmF%=O$Je3>pGXXQI@%l3(ALSIHiI<}>d`ITYfSWx5TmQ&f)sA7rLfEF~ZF*XBe zWW@B7I8V*#I+bNUn-`%rxl9&nEl&yN!;s_e_(KRz^s!|s1Q?gjHX`{P1 znts>^le1%$Tty+};|%pP(c5eP-l}qJ?)s91)H`Nxm0yBEU7bQw2SyQWRZ&^ zMl;IVxJ$VHRhK+Y$s$GG-wB=mRMmAaPfeyvsS{_cq?=}di>mB5CA5pN*I)=}1}1D< zsus=8%!$4b7Pu7j$_m8}IB19I{p;sw2Ccd2u^K4ojC($KzC?1rX}J31`SJrvzgSxM zk4t!xJ`yiXr7i2z@5GnLIRmaQ4eKGY#I0mbeJJ_PV4S5_=1JB-zqT~@HGGYM$R zZ@j;#`P1UIfPNfxGgN&IR_eAe!hG9PjAF|RWWC_1%Q@uUppP2Tp z4?is!c)g@E>=}80LmeVdi!!KTG~9chNql5q?_TjjBXu5JS(>Uz+%6%Qignp1&_?M{ z(8jVYXtM6eKC*{#gm~+Xtq4tMFd(f#uD;Cb8|8TTPrSGBo)~OsdiwLOuBVk=8QMEk zUYTS~$V}>6yAq}-E%THJTx(`#pIzP-OyD!Ns#U%(?<% pivot_longer(tmax:tmin, names_to="maxmin", values_to="temperature") %>% ggplot(aes(x = date, y = temperature, colour = maxmin)) + geom_point() + - geom_line() + geom_line() -> g ``` ## The plot diff --git a/vector_matrix.pdf b/vector_matrix.pdf index 2a5c452a368ceeba4010adc6e4f7f823b8473385..cf115cb83c3c760ecd363746be337fafd76d734e 100644 GIT binary patch delta 7656 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 delta 7638 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 diff --git a/wider_wrong.pdf b/wider_wrong.pdf index bb735f4ccba324642509f986df3f7aabe192626d..6dea4a5be8dae363bf51091f45dfc6a885eef918 100644 GIT binary patch delta 5485 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 N4@khqrl_q%@E@HVh&BKK delta 5477 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
    ggplot(windmill, aes(y = DC_output, x = wind_velocity)) +
    -  geom_point() + geom_smooth(se = F) 
    + geom_point() + geom_smooth()
    @@ -2652,6 +2652,13 @@

    Comments on residual plot

    +
    +

    normal quantile plot of residuals

    +
    +
    ggplot(DC.1, aes(sample = .resid)) + stat_qq() + stat_qq_line()
    + +
    +

    Parabolas and fitting parabola model

      @@ -2659,9 +2666,9 @@

      Parabolas and fitting parabola model

    • Fit one using lm by adding \(x^2\) to right side of model formula with +:
    -
    DC.2 <- lm(DC_output ~ wind_velocity + I(wind_velocity^2),
    -  data = windmill
    -)
    +
    DC.2 <- lm(DC_output ~ wind_velocity + I(wind_velocity^2),
    +  data = windmill
    +)
    • The I() necessary because ^ in model formula otherwise means something different (to do with interactions in ANOVA).
    • @@ -2671,18 +2678,58 @@

      Parabolas and fitting parabola model

      Parabola model output

      -
      tidy(DC.2)
      -
      +
      summary(DC.2)
      +
      +
      
      +Call:
      +lm(formula = DC_output ~ wind_velocity + I(wind_velocity^2), 
      +    data = windmill)
       
      -
      - +Residuals: + Min 1Q Median 3Q Max +-0.26347 -0.02537 0.01264 0.03908 0.19903 + +Coefficients: + Estimate Std. Error t value Pr(>|t|) +(Intercept) -1.155898 0.174650 -6.618 1.18e-06 *** +wind_velocity 0.722936 0.061425 11.769 5.77e-11 *** +I(wind_velocity^2) -0.038121 0.004797 -7.947 6.59e-08 *** +--- +Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 + +Residual standard error: 0.1227 on 22 degrees of freedom +Multiple R-squared: 0.9676, Adjusted R-squared: 0.9646 +F-statistic: 328.3 on 2 and 22 DF, p-value: < 2.2e-16
      +
      # tidy(DC.2)
      +
      +
      +
      summary(DC.2)
      +
      +
      
      +Call:
      +lm(formula = DC_output ~ wind_velocity + I(wind_velocity^2), 
      +    data = windmill)
      +
      +Residuals:
      +     Min       1Q   Median       3Q      Max 
      +-0.26347 -0.02537  0.01264  0.03908  0.19903 
      +
      +Coefficients:
      +                    Estimate Std. Error t value Pr(>|t|)    
      +(Intercept)        -1.155898   0.174650  -6.618 1.18e-06 ***
      +wind_velocity       0.722936   0.061425  11.769 5.77e-11 ***
      +I(wind_velocity^2) -0.038121   0.004797  -7.947 6.59e-08 ***
      +---
      +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
      +
      +Residual standard error: 0.1227 on 22 degrees of freedom
      +Multiple R-squared:  0.9676,    Adjusted R-squared:  0.9646 
      +F-statistic: 328.3 on 2 and 22 DF,  p-value: < 2.2e-16
      -
      glance(DC.2)
      +
      glance(DC.2)
      @@ -2706,11 +2753,19 @@

      Comments on output

      Residual plot from parabola model

      -
      ggplot(DC.2, aes(y = .resid, x = .fitted)) +
      -  geom_point()
      +
      ggplot(DC.2, aes(y = .resid, x =  .fitted)) +
      +  geom_point()
      +
      +

      normal quantile plot of residuals

      +
      +
      ggplot(DC.2, aes(sample = .resid)) + stat_qq() + stat_qq_line()
      + +
      +

      This distribution has long tails, which should worry us at least some.

      +

      Make scatterplot with fitted line and curve

        @@ -2718,9 +2773,9 @@

        Make scatterplot with fitted line and curve

      • Scatterplot with fitted line and curve like this:
      -
      ggplot(windmill, aes(y = DC_output, x = wind_velocity)) +
      -  geom_point() + geom_smooth(method = "lm", se = F) +
      -  geom_line(data = DC.2, aes(y = .fitted))
      +
      ggplot(windmill, aes(y = DC_output, x = wind_velocity)) +
      +  geom_point() + geom_smooth(method = "lm", se = F) +
      +  geom_line(data = DC.2, aes(y = .fitted))
      @@ -2769,15 +2824,36 @@

      How to fit asymptote model?

    • Make a scatterplot first to check for straightness (next page).
    -
    windmill %>% mutate(wind_pace = 1 / wind_velocity) -> windmill
    -ggplot(windmill, aes(y = DC_output, x = wind_pace)) +
    -  geom_point() + geom_smooth(se = F)
    +
    windmill %>% mutate(wind_pace = 1 / wind_velocity) -> windmill
    +ggplot(windmill, aes(y = DC_output, x = wind_pace)) +
    +  geom_point() + geom_smooth(se = F)
    • and run regression like this (output page after):
    -
    DC.3 <- lm(DC_output ~ wind_pace, data = windmill)
    +
    DC.3 <- lm(DC_output ~ wind_pace, data = windmill)
    +summary(DC.3)
    +
    +
    
    +Call:
    +lm(formula = DC_output ~ wind_pace, data = windmill)
    +
    +Residuals:
    +     Min       1Q   Median       3Q      Max 
    +-0.20547 -0.04940  0.01100  0.08352  0.12204 
    +
    +Coefficients:
    +            Estimate Std. Error t value Pr(>|t|)    
    +(Intercept)   2.9789     0.0449   66.34   <2e-16 ***
    +wind_pace    -6.9345     0.2064  -33.59   <2e-16 ***
    +---
    +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    +Residual standard error: 0.09417 on 23 degrees of freedom
    +Multiple R-squared:   0.98, Adjusted R-squared:  0.9792 
    +F-statistic:  1128 on 1 and 23 DF,  p-value: < 2.2e-16
    +
    @@ -2788,7 +2864,7 @@

    Scatterplot for wind_pace

    Regression output

    -
    glance(DC.3)
    +
    glance(DC.3)
    @@ -2799,7 +2875,7 @@

    Regression output

    -
    tidy(DC.3)
    +
    tidy(DC.3)
    @@ -2822,10 +2898,18 @@

    Comments

    Residual plot for asymptote model

    -
    ggplot(DC.3, aes(y = .resid, x = .fitted)) + geom_point()
    +
    ggplot(DC.3, aes(y = .resid, x = .fitted)) + geom_point()
    +
    +

    normal quantile plot of residuals

    +
    +
    ggplot(DC.3, aes(sample = .resid)) + stat_qq() + stat_qq_line()
    + +
    +

    This is skewed (left), but is not bad (and definitely better than the one for the parabola model).

    +

    What’s in w2

    -
    w2
    +
    w2
    @@ -2865,12 +2949,12 @@

    Making the plot

  • pivot_longer, then plot:
  • -
    w2 %>%
    -  pivot_longer(linear:asymptote, names_to="model", 
    -               values_to="fit") %>%
    -  ggplot(aes(x = wind_velocity, y = DC_output)) +
    -  geom_point() +
    -  geom_line(aes(y = fit, colour = model)) 
    +
    w2 %>%
    +  pivot_longer(linear:asymptote, names_to="model", 
    +               values_to="fit") %>%
    +  ggplot(aes(x = wind_velocity, y = DC_output)) +
    +  geom_point() +
    +  geom_line(aes(y = fit, colour = model)) 
    @@ -2888,7 +2972,7 @@

    Comments

    Asymptote model summary

    -
    tidy(DC.3)
    +
    tidy(DC.3)
    @@ -2939,8 +3023,8 @@

    Job done, kinda

  • Extend range of wind.velocity to 1 to 16 (steps of 0.5), and predict DC.output according to the two models:
  • -
    wv <- seq(1, 16, 0.5)
    -wv
    +
    wv <- seq(1, 16, 0.5)
    +wv
     [1]  1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5  6.0  6.5  7.0
     [14]  7.5  8.0  8.5  9.0  9.5 10.0 10.5 11.0 11.5 12.0 12.5 13.0 13.5
    @@ -2960,13 +3044,13 @@ 

    Setting up data frame to predict from

  • So create data frame called wv_new with those in:
  • -
    wv_new <- tibble(wind_velocity = wv, wind_pace = 1 / wv)
    +
    wv_new <- tibble(wind_velocity = wv, wind_pace = 1 / wv)

    wv_new

    -
    wv_new
    +
    wv_new
    @@ -2983,24 +3067,24 @@

    Doing predictions, one for each model

  • Use same names as before:
  • -
    linear <- predict(DC.1, wv_new)
    -parabola <- predict(DC.2, wv_new)
    -asymptote <- predict(DC.3, wv_new)
    +
    linear <- predict(DC.1, wv_new)
    +parabola <- predict(DC.2, wv_new)
    +asymptote <- predict(DC.3, wv_new)
    • Put it all into a data frame for plotting, along with original data:
    -
    my_fits <- tibble(
    -  wind_velocity = wv_new$wind_velocity,
    -  linear, parabola, asymptote
    -)
    +
    my_fits <- tibble(
    +  wind_velocity = wv_new$wind_velocity,
    +  linear, parabola, asymptote
    +)

    my_fits

    -
    my_fits
    +
    my_fits
    @@ -3017,16 +3101,16 @@

    Making a plot 1/2

  • To make a plot, we use the same trick as last time to get all three predictions on a plot with a legend (saving result to add to later):
  • -
    my_fits %>%
    -    pivot_longer(
    -    linear:asymptote,
    -    names_to="model", 
    -    values_to="fit"
    -  ) %>%
    -  ggplot(aes(
    -    y = fit, x = wind_velocity,
    -    colour = model
    -  )) + geom_line() -> g
    +
    my_fits %>%
    +    pivot_longer(
    +    linear:asymptote,
    +    names_to="model", 
    +    values_to="fit"
    +  ) %>%
    +  ggplot(aes(
    +    y = fit, x = wind_velocity,
    +    colour = model
    +  )) + geom_line() -> g
    @@ -3035,7 +3119,7 @@

    Making a plot 2/2

  • The observed wind velocities were in this range:
  • -
    (vels <- range(windmill$wind_velocity))
    +
    (vels <- range(windmill$wind_velocity))
    [1]  2.45 10.20
    @@ -3044,10 +3128,10 @@

    Making a plot 2/2

  • DC.output between 0 and 3 from asymptote model. Add rectangle to graph around where the data were:
  • -
    g + geom_rect(
    -  xmin = vels[1], xmax = vels[2], ymin = 0, ymax = 3,
    -  alpha=0, colour = "black"
    -)
    +
    g + geom_rect(
    +  xmin = vels[1], xmax = vels[2], ymin = 0, ymax = 3,
    +  alpha=0, colour = "black"
    +)
    @@ -3069,7 +3153,7 @@

    Comments (2)

  • For parabola model:
  • -
    tidy(DC.2)
    +
    tidy(DC.2)
    @@ -3086,7 +3170,7 @@

    Comments (2)

    Comments (3): asymptote model

    -
    tidy(DC.3)
    +
    tidy(DC.3)
    diff --git a/windmill.pdf b/windmill.pdf index 21d72cc46f8c9393b0727f1f10aeab4efa4a5326..c96c98081d580a032d36b0c46da6b2a82dd4008e 100644 GIT binary patch delta 40323 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%0ALlJ`Bp%5lAhj#V<*G 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

    O=S{h|MX+ZB*~TQnFSxF_2^oV}VL>Jj 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 z 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 delta 29927 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 through aov and lm

    and now lm

    pigs.2 <- lm(weight ~ feed, data = pigs)
    -tidy(pigs.2)
    +summary(pigs.2)
    +
    +
    
    +Call:
    +lm(formula = weight ~ feed, data = pigs)
    +
    +Residuals:
    +   Min     1Q Median     3Q    Max 
    +-3.900 -2.025 -0.570  1.845  5.000 
    +
    +Coefficients:
    +            Estimate Std. Error t value Pr(>|t|)    
    +(Intercept)   60.620      1.404  43.190  < 2e-16 ***
    +feedfeed2      8.680      1.985   4.373 0.000473 ***
    +feedfeed3     33.480      1.985  16.867 1.30e-11 ***
    +feedfeed4     25.620      1.985  12.907 7.11e-10 ***
    +---
    +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    +Residual standard error: 3.138 on 16 degrees of freedom
    +Multiple R-squared:  0.9572,    Adjusted R-squared:  0.9491 
    +F-statistic: 119.1 on 3 and 16 DF,  p-value: 3.72e-11
    +
    +
    tidy(pigs.2)
    @@ -2558,7 +2581,7 @@

    and now lm

    -
    glance(pigs.2)
    +
    glance(pigs.2)
    @@ -2587,7 +2610,7 @@

    Reproducing the ANOVA

  • Pass the fitted model object into anova:
  • -
    anova(pigs.2)
    +
    anova(pigs.2)
    @@ -2602,7 +2625,7 @@

    Reproducing the ANOVA

  • But no Tukey this way:
  • -
    TukeyHSD(pigs.2)
    +
    TukeyHSD(pigs.2)
    Error in UseMethod("TukeyHSD"): no applicable method for 'TukeyHSD' applied to an object of class "lm"
    @@ -2621,14 +2644,14 @@

    The crickets

    The crickets data

    Read the data:

    -
    my_url <- "http://ritsokiguess.site/datafiles/crickets2.csv"
    -crickets <- read_csv(my_url)
    -crickets %>% sample_n(10)
    +
    my_url <- "http://ritsokiguess.site/datafiles/crickets2.csv"
    +crickets <- read_csv(my_url)
    +crickets %>% slice_sample(n = 10)
    @@ -2637,12 +2660,12 @@

    The crickets data

    Fit model with lm

    -
    crickets.1 <- lm(pulse_rate ~ temperature + species, 
    -                 data = crickets)
    +
    crickets.1 <- lm(pulse_rate ~ temperature + species, 
    +                 data = crickets)

    Can I remove anything? No:

    -
    drop1(crickets.1, test = "F") 
    +
    drop1(crickets.1, test = "F") 
    @@ -2657,7 +2680,7 @@

    Fit model with lm

    The summary

    -
    summary(crickets.1)
    +
    summary(crickets.1)
    
     Call:
    @@ -2696,18 +2719,18 @@ 

    To end with a graph

  • This graph seems to need a title, which I define first.
  • -
    t1 <- "Pulse rate against temperature for two species of crickets"
    -t2 <- "Temperature in degrees Celsius"
    -ggplot(crickets, aes(x = temperature, y = pulse_rate,
    -  colour = species)) +
    -  geom_point() + geom_smooth(method = "lm", se = FALSE) +
    -  ggtitle(t1, t2) -> g
    +
    t1 <- "Pulse rate against temperature for two species of crickets"
    +t2 <- "Temperature in degrees Celsius"
    +ggplot(crickets, aes(x = temperature, y = pulse_rate,
    +  colour = species)) +
    +  geom_point() + geom_smooth(method = "lm", se = FALSE) +
    +  ggtitle(t1, t2) -> g

    The graph

    -
    g
    +
    g
    %>oC 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 diff --git a/_quarto.yml b/_quarto.yml index 55d961f..cd00e0c 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -6,7 +6,8 @@ project: - readfile.qmd - graphs.qmd - numsum.qmd -# - choosing.qmd + - choosing.qmd + - bootstrap_R.qmd - inference*.qmd - reports.qmd - tidy*.qmd @@ -17,6 +18,23 @@ project: - functions.qmd - dates_and_times.qmd - dip.qmd + - vector_matrix.qmd + - bootstrap.qmd + - stan.qmd + - regression.qmd + - logistic.qmd + - survival.qmd + - anova.qmd + - ancova.qmd + - manova.qmd + - profile.qmd + - discrim.qmd + - cluster.qmd + - mapping.qmd + - princomp.qmd + - factor.qmd + - multiway.qmd + format: revealjs: df-print: paged diff --git a/ancova.html b/ancova.html index d0f986c..8162598 100644 --- a/ancova.html +++ b/ancova.html @@ -2641,10 +2641,10 @@

    and then

    Taking out interaction

    @@ -2684,10 +2684,10 @@

    Predictions

    Plot of predicted values

    -
    plot_cap(prepost.2, condition = c("before", "drug"))
    +
    plot_predictions(prepost.2, condition = c("before", "drug"))
    -

    This time the lines are exactly parallel. No-interaction model forces them to have the same slope.

    +

    This time the lines are exactly parallel. No-interaction model forces them to have the same slope.

    Different look at model output

    diff --git a/ancova.pdf b/ancova.pdf index 55689fb03085fba5dd12af97307721bc7e8bd3a7..81812152d17bac27a8a7cf0f1fa052b740e54abc 100644 GIT binary patch delta 13890 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 delta 13815 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 ZSd@eHT526AC=o0hD;x!dgpwrO{{??h>wy3O diff --git a/ancova.qmd b/ancova.qmd index d817495..48a7926 100644 --- a/ancova.qmd +++ b/ancova.qmd @@ -148,7 +148,7 @@ cbind(predictions(prepost.1, newdata = new)) %>% ## Predictions (with interaction included), plotted ```{r, fig.height=4} -plot_cap(model = prepost.1, condition = c("before", "drug")) +plot_predictions(model = prepost.1, condition = c("before", "drug")) ``` Lines almost parallel, but not quite. @@ -182,7 +182,7 @@ cbind(predictions(prepost.2, newdata = new)) %>% ## Plot of predicted values ```{r, fig.height=4} -plot_cap(prepost.2, condition = c("before", "drug")) +plot_predictions(prepost.2, condition = c("before", "drug")) ``` This time the lines are *exactly* parallel. No-interaction model forces them diff --git a/anova.pdf b/anova.pdf index b2b53d66ffa07df71871809d1520145dd8ce40cd..3ce92f7c09b2d56ad3ac543222b9a62d7e03a8f7 100644 GIT binary patch delta 12148 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 QPw@eON=+@LB8~cg0DE~69{>OV delta 12127 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 diff --git a/asphalt.pdf b/asphalt.pdf index b754cd2e39e0a2525e6e62c7cb1690da7c2ca28c..01c0bd5f100bde504d6786f813a88c6e4aa31ce6 100644 GIT binary patch delta 9063 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 TBncwT8zC-qMn*XedG!ASFnD+n diff --git a/bootstrap_R.html b/bootstrap_R.html index 5a74637..ce79c11 100644 --- a/bootstrap_R.html +++ b/bootstrap_R.html @@ -2533,6 +2533,23 @@

    Blue Jays attendances

    [25] 30430 +
      +
    • It is easier to see what is happening if we sort both the actual attendances and the bootstrap sample:
    • +
    +
    +
    sort(jays$attendance)
    +
    +
     [1] 14184 14433 15062 15086 15168 15606 16402 17264 17276 18581 19014 19217
    +[13] 21195 21312 21397 21519 29306 30430 33086 34743 37929 42419 42917 44794
    +[25] 48414
    +
    +
    sort(s)
    +
    +
     [1] 14433 15062 15062 15062 15086 15086 15168 16402 16402 17264 18581 19014
    +[13] 19014 19217 19217 21195 21195 21312 30430 34743 34743 34743 34743 44794
    +[25] 48414
    +
    +

    Getting mean of bootstrap sample

    @@ -2541,7 +2558,7 @@

    Getting mean of bootstrap sample

  • We need the mean of our bootstrap sample:
  • -
    mean(s)
    +
    mean(s)
    [1] 23055.28
    @@ -2550,7 +2567,7 @@

    Getting mean of bootstrap sample

  • This is a little different from the mean of our actual sample:
  • -
    mean(jays$attendance)
    +
    mean(jays$attendance)
    [1] 25070.16
    @@ -2566,7 +2583,7 @@

    Setting up bootstrap sampling

  • Begin by setting up a dataframe that contains a row for each bootstrap sample. I usually call this column sim. Do just 4 to get the idea:
  • -
    tibble(sim = 1:4)
    +
    tibble(sim = 1:4)
    @@ -2583,9 +2600,9 @@

    Drawing the bootstrap samples

  • Then set up to work one row at a time, and draw a bootstrap sample of the attendances in each row:
  • -
    tibble(sim = 1:4) %>% 
    -  rowwise() %>% 
    -  mutate(sample = list(sample(jays$attendance, replace = TRUE)))
    +
    tibble(sim = 1:4) %>% 
    +  rowwise() %>% 
    +  mutate(sample = list(sample(jays$attendance, replace = TRUE)))
    @@ -2605,10 +2622,10 @@

    Sample means

  • Find the mean of each sample:
  • -
    tibble(sim = 1:4) %>% 
    -  rowwise() %>% 
    -  mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% 
    -  mutate(my_mean = mean(sample))
    +
    tibble(sim = 1:4) %>% 
    +  rowwise() %>% 
    +  mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>%   
    +  mutate(my_mean = mean(sample))
    @@ -2628,17 +2645,17 @@

    Make a histogram of them

  • rather pointless here, but to get the idea:
  • -
    tibble(sim = 1:4) %>% 
    -  rowwise() %>% 
    -  mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% 
    -  mutate(my_mean = mean(sample)) %>% 
    -  ggplot(aes(x = my_mean)) + geom_histogram(bins = 3) -> g
    +
    tibble(sim = 1:4) %>% 
    +  rowwise() %>% 
    +  mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% 
    +  mutate(my_mean = mean(sample)) %>% 
    +  ggplot(aes(x = my_mean)) + geom_histogram(bins = 3) -> g

    The (pointless) histogram

    -
    g
    +
    g
    @@ -2648,17 +2665,17 @@

    Now do again with a decent number of bootstrap samples

  • say 1000, and put a decent number of bins on the histogram also:
  • -
    tibble(sim = 1:1000) %>% 
    -  rowwise() %>% 
    -  mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% 
    -  mutate(my_mean = mean(sample)) %>% 
    -  ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) -> g
    +
    tibble(sim = 1:1000) %>% 
    +  rowwise() %>% 
    +  mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% 
    +  mutate(my_mean = mean(sample)) %>% 
    +  ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) -> g

    The (better) histogram

    -
    g
    +
    g
    @@ -2679,9 +2696,9 @@

    Comments on the code 1/2

  • You might have been wondering about this:
  • -
    tibble(sim = 1:4) %>% 
    -  rowwise() %>% 
    -  mutate(sample = list(sample(jays$attendance, replace = TRUE)))
    +
    tibble(sim = 1:4) %>% 
    +  rowwise() %>% 
    +  mutate(sample = list(sample(jays$attendance, replace = TRUE)))
    @@ -2710,14 +2727,24 @@

    Comments on the code 2/2

    Two samples

    • Assumption: both samples are from a normal distribution.
    • -
    • In practice, each sample is “normal enough” given its sample size, since Central Limit Theorem will help.
    • +
    • In this case, each sample should be “normal enough” given its sample size, since Central Limit Theorem will help.
    • Use bootstrap on each group independently, as above.

    Kids learning to read

    -
    ggplot(kids, aes(x=group, y=score)) + geom_boxplot()
    +
    + +
    + +
    +
    +
    +
    +
    ggplot(kids, aes(x=group, y=score)) + geom_boxplot()
    @@ -2727,8 +2754,8 @@

    Getting just the control group

  • Use filter to select rows where something is true:
  • -
    kids %>% filter(group=="c") -> controls
    -controls
    +
    kids %>% filter(group=="c") -> controls
    +controls
    @@ -2742,23 +2769,23 @@

    Getting just the control group

    Bootstrap these

    -
    tibble(sim = 1:1000) %>% 
    -  rowwise() %>% 
    -  mutate(sample = list(sample(controls$score, replace = TRUE))) %>% 
    -  mutate(my_mean = mean(sample)) %>% 
    -  ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) 
    +
    tibble(sim = 1:1000) %>% 
    +  rowwise() %>% 
    +  mutate(sample = list(sample(controls$score, replace = TRUE))) %>% 
    +  mutate(my_mean = mean(sample)) %>% 
    +  ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) 

    … and the treatment group:

    -
    kids %>% filter(group=="t") -> treats
    -tibble(sim = 1:1000) %>% 
    -  rowwise() %>% 
    -  mutate(sample = list(sample(treats$score, replace = TRUE))) %>% 
    -  mutate(my_mean = mean(sample)) %>% 
    -  ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) 
    +
    kids %>% filter(group=="t") -> treats
    +tibble(sim = 1:1000) %>% 
    +  rowwise() %>% 
    +  mutate(sample = list(sample(treats$score, replace = TRUE))) %>% 
    +  mutate(my_mean = mean(sample)) %>% 
    +  ggplot(aes(x = my_mean)) + geom_histogram(bins = 10) 
    diff --git a/bootstrap_R.pdf b/bootstrap_R.pdf index dc495304b1ed4d070c82ed9a0d36f751273d69d8..9c5ce7477f9a0e7f6c31e5093fe1befb81863f86 100644 GIT binary patch delta 14922 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�s}rY)B%orB{v=K7t9E(dW%Awa=SC5SARe-D?zg-Jp6$RdKCmE zyFqZAr1p{K7IH3&6~*0#&=>whpIjELRiz&k>8>W>iIll{K<(VmtNZY3M*(ESyO1?M zLgF$gp|_wd6NTi`h^T*=M9tzSg*aK?2s)wFhFM8MKaaFP*9lKDqP#hg% z!id;xqHZl6lGW|5_=tb`mLd?w%7@i#GP0{AM$QoVv*o;b7P`HF=5JkTnFhYE65Cz# zuef$K$OtugF<>kfpf)FxJG8uvU0r(=ZMJylJ;$8i$5&x_p|`1f%;)|Tv<>umo~BYX zG{GJe{}A`@%(jrld%Ni`o3M;M)P&m4^Q)sx`Kmw^6*=CKBA^@N`n0E?t0?dB& z_=OO{eq2;;GF={5dCoL&^(xIz_(Co8 zm+pns6U|0#6~{WP#x!RjsypA?7pT{I%M8xHHi@NM)|)C4gu-c9*OIQ{n|~q%v*`ps z?hYm$6`Pj$=zr}o31e)MN4#O=JFWT~*4@(=#2GvXzBfYJhSAjhr0IjL(x%hj0JNQn z*8rz5>&G!YAvGUH1=6YCk(437Wm9(>WPUsx80xBK>nl)wXdfB|(slJ>4hmX-*;@y} zJE~AnV(vYXCkbFgMy8@wh zU8!a*TCI?@iCE2R(Z5dmZdJCic^!dh`T?`uQt|qq!XEDwLJBM#07-4AC4nXvO-@ag2 zSXGTN#u>goEE~a(NT7hz9z)X^QJ58xDyNtJ63_5i5N=YEl94Gw@uqpfIvzlv%4Ciq zSo{kyVMLHR`j$05YU$tITK)aP+oH;we*EOrwZ=|^ZX*z#8I$*SmzG1acwHfv*u1nC zB=T<>KCE!yqH2KZ6?nEVRR=~fETQv{`5CC{!B$OVf;>4pIGwEDnJvF;&td-TzH8V5 zOHigAb+UE>z5dt`f?*FHwrk+4$p|HAVBlc|->a^(nXA(W zYD5Bf;=mK3Jr8a~-~HI;Wks+dZ<8vg(u+^EsO--JYMAUb#Qg9HXIkP#tCH3!T~cPo z>*&!%dzlbT%L}1*B*cY4OgOJzgh?;_ow8KROf(cwy}zH<{!>3BAB!*zY`N$xYbl%= zmogwHF*t4KMnqJ+EatChz1o3o7WgO%w09ixd@k5SKY$x{J`W`#7Y9igEV$p8I)IEB z!lI8AsD*@z0#{EApKlCR5h6tWv#|!+gcw$%muTc?K^#&q3V4PQ%|M?)D&h+<#4a(> zfe<*k2wFvul2pKb4S=&xFBK-O26xWr%S0&s3j8`TK30#%3V^2uA4`PxELh(OL8FgU z3qkfb_eOBN6Li^cKD|KR7I>~)RGq>I!ZOZrWnvEdkToJv{gAx(atE4#p1%~`|QM>BAzV~+7aguKh`|6*)ukw!j^B>)V{KqVpW7Cx5 c&oJ(oKmVrSAOHxzuyV4p!c$O)D@wrsFG#pn)&Kwi delta 20013 zcmZs>b97~0(Ek}*9oz2Mwr$(C(KohloOEnEopjK#ZQHh!>F0Uh-^_Yu=8v=1Ugy-Q zyYAj~KK0$TtN9B2PdY@MH!OgQgGE39&ehGu+}Iw@Yqe8jByNofq4VkcJ-EhzI3CKr zQXWBGD~-!{pLDZSRb=3oU~&@OP;|C=2`h}^k|`oDO;XucsFSq z@XXvDQd@XYb0N}LlYS&0$qd71d}@g5q3V*+=dDRSxSBIsEp)EX9C8XG3=F1uEUVF)7 zu~9Pw{Faw)&w>fu-_k1HQ3nNP-#wo7_Fulbh6i@1E=ym#exvu3?jK9G+A$^K*ZNAT zB>nV=fn$TJg(1fxp>+bRPSa4-uGkAv*GW4-ybR3j3AJ9+TTqG|W=Zpojapxom1eam zEdX_BaD%7>+s(PqMn)y5&2HVuSm2L1_n<2gpCi}K;s7{H^lXYtm`t}kGWsXPqsB-X zblP^1sDt*FiD=NUVc{0*`7%Q=4UW1U<`+LEBMi+X zVoSS(jq#^Y=Ewox8^RRvbCu%TCZwqEY;org>-y4HrITDXoo=KJ=csP6#NdihRH(P& zfk?!NYud4YAp1Z6*j_e*^Hy`I$QNQDD>POc2VBdB&=9YBV5=Z7y`R8CKUUI+_qjCW z%g^kyBq;>QYRXVRAv@AiaXv&KAxH`FHNoEF79IOrWE}&*Y_r5N#w1*StuPmhMzIdj z?cX(UO9AD&W`!kIgm{qN`YcLY>~g={oIDuf1b{pT~(lAl`RKvSKsU(Wa5vM43U`~qOpXgARD63Nbz)M3n_((wC}={f=g%aC)00~gHrEBd4__^h)!TqLOAPOm?YBu%fw znK!Y)9ewZL@s}etYCKJke{Fr^Nqy~Cr0P;4pGCIr?)wA4ZxSrd9V(yD(RMh)_9jF1 zMW<<1W{dLsTH2|6b^F!4UAjFQ07w9vmSWx$&IvT?g}y+<{qln4<4T=i2+!rZ^K*O4~Ch7q9GlMy3{#0(ZiL0ih=k3YbTd;?1J9 z$(ldbl*`WrkeOzAwg71_%@6JQha{S;L+m#bsWPjMew5m)y-qIv{oVgU-P3ao1?P zZAlm^at|^F>Ia5}-)^xMKN+*G0xK*UJ8Cy6-!V*Z@se2hZe-}L>`=U@FNqQ#m|^h) zYA09YxM1gZaH}!xbNgk&3_t?w=mzu#@C*cvHGU|x?uYI-X z^XB16YAbab3E|KO=jg`GZzNDPHupnIR__9~@1Ll#yVuft=Wky{&V_RRbufqhfo^%v zN;n8FuE>>j{_i36WxdhGrwxC`4hj=S@6D|cvu9P(qh);0WrgcC;P+R5CpOi+^c~GB z68TN1eq+)Pm;~&{s$LD4^w#6K{RwFv4x16Ng?SM~7dn~@o@auo@ofwV zmkpR$W58s<;TV_RJ~U%6jb^o|9CIn}IKy`1G#taZ=TbqMD$dRvPOy9diBnN~0~gMg zZx^iq(A8Q;sQ==}(ZmLhjg6Rz*b!JFOAKIU;$;0VhGZT0I8eHtG_R4<55^Njzrnar z*C9^p!fj#tMqGF)^7nsz)%B&3pYHrhZDcZ2LFeA;;4XSq%8Pjy@>a8ofiiP{SClZ= ze`#9{Y9hV}UmfYy*O!iICo7#c_37@YZ1nj^UUjr(|Mhw_T@C;kT8O3X z22ljAU|wkAQB!fKGGeC$AHT{R-=?(I$hAyjQ7WqGV67+NP1rJAZ%OlC8_*`i6Ih$t<}2K&=(261A4Z|54=-nOZ|k-D-k z;vq=4S81b|n50$ia9&suS>#gr5!E;`PJK@^8xFzYqb~tKt<*uoB|kdEZMl&)R?v>P z`2%NuBNbeYpw)4B-Qj9gcySb$o)q-{N=MQy4sl~;sSCoX89^!dDl3+iC_Wp3N>{Cs z`hKaQpe!=|5{4gIT|zcpzZ5YQ|7|OX$pDsl_<`(?OXd-xBST~R8<%OI?v zBc2@C0qAAd3ww5#&>%g63vUj~+=MwMFQEoD`UG_+wjESAB)EgP*rxhXPB{v_9cVM{ zd%&w`ukQgcj?j$1)&7)E$PJb~o{r^KGF<)Q zi5P*ilGN~ExxvYKi810y%z#WYs>~^_N#6BJrT-;>yb3%p6XR+=Ory|_Y6AnvCfVl^ zW|>*46#eqg#X3Y*Xi|7f7qGY{8;%{VY;!8;cnI#xWc-Xb`EgR!r1k3xUz%U(KtS@L zJ>3U@)ZD5!QA*o5o&Z*V-*KVYN%1I8TN4b=8h|}F2B~KFM+A#|45EFZ-OpYym3aRw z2c5YHp<#xDKFyemrR14gy=E@W0!zV=tXP3MvN2w&Uv0y-sy9;3A?k?bca0l#S)d4k zc>aJgf^~fz)L=#_i`)$UZ0pO0d$h&2DDp5Md?MhS#p=8kvnap!cbv-B5s7Fu0_|{@f7*NB6!@?@tb^S z+@PA6K)C5D&-k+inWXNg3VeW0f)N0kbj(%D-P>X?XS2X9IsQk=`#CC<^!Q>i#w@I^ zxphULOp`NcRQ{!1hQ3#16i^;VjD#He(y92oYDYf2BJ>!0uP#oA{b~V`y-PA|@iP1n ztlGS^n76dD%iZ+tb%;^UE{pE}hcTQ$Wl(YeHyhi3@zUe)&t~K5?`C60Or?N4@7VZ{ zhEXe08zS$#^x7QK#21l-bgJ#xNYbE!@oreFKQvuKDy8NRk-Ct0pXO*Ta!+3C1<$8hfg{n5^2cCxvUjMrZjTj zDLT=_(2x1~(}(NnVNJvT0~D@`a;&U{(WbA+-s~VIZhyh!>unPI%?#nZ=+M{9o2p|A zrTsU#yrT9a>6W<*cZyXEc%u8Q-D{V=eMa~5YwBuAS4i7L?uFumzwczZc!F7}G^kZk zfe3DIouO=I>l4{aGw}{M zi+}%;HXbZ^Dm%PXmKCIs3Ir-BF)daTtSJ7k{`EJv(gSgTwXw_3n|d=Np7K1h#tByo z>BdHHE(x7SS4>}~vSbz4r7P3+G8-!Iex?Ij8CuwMI5Ex;1)<3c{_HOzf`hv;ous zp6g_FIBqh20khNh`DOT88>d$N*!Du=ZhU5{xLdcarOYth4V~R^qIiPt)I%!4-M~4#TWk2QrVc(W@GL0@w!@aWjeq z0?b5>>-WI^C=LACIGhPx$Lbn&RmIFL#32Vm06GZXCQzeC2M_4s8stnuvb; zq0?cAHxgYJ`CT&oLAjY2HnKQunr2QL|2&+|LZ+hf6H))g_wHs)(AcPz1K2}~283sU zZ-iI(fCFP^0{-!01cr<71N-P{z}T6AS0X}S>?}ZLQ7SNYwnlA+DKJouzcxHTQ)c#m z%$dENz}WxAK_e532`Cr`)4yn7W@6#~f3YEMo%o+Z#B-pMT^*=3d$^2!@n%b=?!wsl z`Te};(HAm13JdJW`J_TaB{d1NQSirmKp6loIT1ctGIY>NNJ9}Ieye{es41I(TJ&DZ zbF#dUld23Y3&($Wb=SyKKBU>~uT>s+8k{gcbp>FZ@h-;-e}&0+%aoeDVpchKG(<2E zn5td)u~Ip;B@{Tf$XxLu?QYi`T{V1c)wxOp;K$y}i6L1g8T&n?Z<)A{sHjbAD2+5b zNGNkcK76TV%ZCXoY3o>-ozgdn{MZeOL2 ztp)&S2HS`rvRLF?niVTXzy-<6lk-~xe{a1Jot}NNGuB2a#|5c_;Mxxh*U@b%j)>s; z5ry^v@&1L0RAB%3KQM9ea35YJd32_mTQ`@A5Z*JrYbHEHdc|A`-z4d=Qa37JJF!~x)Z)oXz) z`WYEZU(lAO-_AO<%JLUEQ4S+y!54f!i-`fAAq>K%If5B!2e=VBHR5>NkaX3snZLz# z1%1q#(MAgXBB$nI0u{`WpqkvDToCVqYhnp%KJhV77p)^!G=dG+D#aIehdITS%(G{U zC!^rk&rmb-8h$%Dl7J>FL;yUN0}zabdMll5b<$ReLoGJ&={D1nq_Vw^T!nE=B!6~% z?2KQ6N5V$VegKC88*O3icROCLG=r~{ z{I|9A43oma?<))*hCzJJkP$RU=`uBRPC+<1#u9c(;~8@!po_0K`aHkJmxInaXH@7* zHKOg=wqnhKmj-*n6VChRTgZ8{#3$E|ZXLe6;&W21{)lE_6=Z3f^-h7uJJJ_aa)=a9 z04EE_q__$jz^0`l90lkfsmCqp?l>_uF8HV`b5TzMXq}u7yjWY)2$rHvyTWV6j7^o! z^hXhOCSy6{Rz_KljEmlVL>%Ckh~LjCC!^LNer-|6-K^y9v04gjz3UnwV(#Bx;*YITpv>W0)@*xt^$Hepf#um!hvzH{x57SLD~LtMi`X+FJ`DgIU99E+rdD&|2}m5 z$L1fxaQ;h`Mtn&FP*B!?0MnQ&1qS|?ME?v2Wn;kqn*THORD=KrI^$9R*g2T~gCBKy z$9W-y&b#l2$Ywk(N2(&+#4|GMQ7)qRQman8(;r{Z=P$$LYxMB+dFs27mUi7w=Vl8) zF!N_<+Pr`2pqgXIkLx!NAL8(KffqnrE+?zRePu}(IPk-xxk8EE>fu0K^D}G16_%(B3SoLvKYs1YaJE|K z&IPBYl#e6~=8tNzOzRXPNln{q1^*zq7ZM9{rkS{r@aT_z7t8lz>Gk$(sexc`b&XDb zZ&R?taiYg(eNt1*pQhHyw%y)kZ8lsH3&#aDTo4=HO6|E}`n@QY1suKyW5KNOJ1TBND_+6%jt#JlpcBT+)2*8wQdux!F$=*!gT{z z-OcGtVh!ds)-V3)=+qV2j{fp`mcI2NtRmXF<^M^E zSBA8IL++o9$i?|@M&#md3^i&11LJ1?Yr_q6G3ERxhP_#U>!!m06NXI8{|&?cqmZA$ zHN=&R=!}Mqk9GbkZ9%0m|S&W*eJ;qF39Ij?LU^x@&443f5_GC#0#}({?vFUKyJXxuFzEV| z7YSZEOM~?#Su;s(iYo#%xPf$FsZPL?46T(=zW9ELdO7Pw=f(&(JPwr$-)v~MM|sGK z(y89ak%QE@8@emP>J-!xpNI0D`x!X~0)0LjEObGCYvb@<+4gE4xQQ$oz#9#!14vMg zz7cm2sb^r24&9J8?W;DjQdp2>eM^X_^(+P->sUtK>yJ7c$4Q?qpb7JgifS>g=m2_b z1?Pa2yFM`K}BAt#QWphRAfLFioOgi?tOJw{9_eS&fCq{yphCG zNyF>)J>m9E?GIc>K!afyjvt7oTr2JWcLT)@R05@FRIsE32W4#pRS$pz@Ow%csYS`{f#h}f8QVW_5}wT#{7?V`)l_9xL}R= z{;vyRFy{aD!OYS)9#Qi@J{$JoVX=rpWBd$yjd{P%k{fs$F>2_$l@L_WqUtSnupe zP01)~7gPdxepa7ENb3$EN5EY%%S}^-QmzV}M28?w3&6gor@?sf} zUPG|>v5=u;c#p992P%rf3SPv5 zAK7P+zGhDwqkqHui!|`KR93X0lNtVzHAp%e#q7twA-R z1cKO!g;|HSkMgKupcV3sc~X6tkRz?&MvB$?;}2+YD8UGeBbIc#_ z)&oF$2r8;!s7*0eiXgy5+xz6-*)hxb8`|9eIhxT=-muwYLXo)oKyN=+k$I;o4@8mL zg92OIC{`f)Q=d|mUmv@xw|`-KHvVXW2#YVxx>brJ9evTY?0Hd!3Gg#ab5JX7vF-T% z$Z5#y?sn7?outNY&kq;+^{Rq6WAdhf*j*8=8a=UdZIB!_)U2;_nUW1;QQCT z^D>15`(^)bpT83=#wOOm2T%K07w>~jb5yd9obiSGz2`%n^=si9bNt6+?47-*1~Sna zOH6XB@v|G&QY>xU;#mSikNyVdC68M3ow}#T3~f$Vv(80{BSBlui=zP}EN{+fcS>#= z73173*CfzA&z=|nUQFXklgv!jWXupeY!Wj3x4uR?&4zuP@(X|U8?-sBE3U`}jCI2{ z9cvX^f_d>Y>nUn$h?uaSj?{cE_yIEtA!#u(RvpXONwoE3v5jgjyA6W|YyYm|awY|U zmH9uFZT(q8+h8UXkZVstaY9ZB=KAUy;@%20y0g#uNARMN6cz$|w7k+{l>$sBR7msthW9o=q%AnreTk^BaTlzUj=quH^bqhVJSyaD776q< zZoM_2+SM}bpQyDMmv-W~hJwzES*fA#aD^4a(i^ks1st4$DJyKyN*VlC7t7o4KB{R+ z@VM+}Y!%2(VaT3M#xNK`P06#Fr?tw+TP#CJDQGF9vtpNYP?D-GLuHrLD1&<-Y_cfB zZH61QQj$^D(vET*PAx-(JCnN^w1L+xuz! z`UK&8&NTgJLjOlm10yrO0rdaQB0AKzFF>4uS7OG>Ru{#14p!uM+)Bgd;QlhC&3J*q z{npgJ6eF&ZR}ye)X==1X&4u_g?ZgWb+`0%A>eYb_UkXvPoDUb3!~ z#ptJ`_oL0D<=y9n{oBKv!&0+;>gLyD>6s+XrJ*55hI+H0%Dc;1=V&OP_3Yz<<@v6K z-@`^gF*!4KEOQLS;nYFf6Z*@%{fTv6fbBwhqqFAmX7Y3OiRkluO}Kc(v!OF!AW9I zv@A&<&!mx4YGWx$akd_Ufa^S>fa|1Dk?H-$_JB~TUN(vWzCg8}Tc{ho0h@mP?c+3b zbPk%13eE3?BuvOnieTGlRw^-zFuiOp(Wyw*4le0PJ^VH<7w6eRHl!H2K{lSbVSs|4 zJEAfEpJ)AuLVkJUxz{O0$*qUEisv_IVn3Ldf4TElvH{pQ|0|4=d!p8uP{OW$z!9`2 zQ?!^%lHGrm-&_6H~OAcwM^bK;vxel)_Epnb4Bf|RKT73c}a2Z=(7#y>d>3<;V zt3NCM%xociZ~l##qA3Y*Sf!R$-%u-5dah+KC!%i&Z}?I+=+JqexN`(V)ouZh!)q>5 z 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 OH#jpj3MC~)Peuw-F?k9A diff --git a/bootstrap_R.qmd b/bootstrap_R.qmd index 238e363..721c583 100644 --- a/bootstrap_R.qmd +++ b/bootstrap_R.qmd @@ -108,18 +108,10 @@ tibble(sim = 1:4) %>% ```{r bootstrap-R-8} tibble(sim = 1:4) %>% rowwise() %>% - mutate(sample = list(sample(jays$attendance, replace = TRU - - + mutate(sample = list(sample(jays$attendance, replace = TRUE))) %>% + mutate(my_mean = mean(sample)) ``` -```{r} - - -``` - -`{E))) %>%} mutate(my_mean = mean(sample))` - - These are (four simulated values of) the bootstrapped sampling distribution of the sample mean. diff --git a/choosing.html b/choosing.html index ab87ca7..521fb21 100644 --- a/choosing.html +++ b/choosing.html @@ -1,392 +1,2484 @@ - - - - + + + + + + + + + + Choosing things in dataframes - - + + + + + + + + + + + + + + resizeNewWidth = newWidth; + resizeNewHeight = newHeight; + + if (!resizePending) resizeDelayed(); + }; +}; + +var PagedTableDoc; +(function (PagedTableDoc) { + var allPagedTables = []; + + PagedTableDoc.initAll = function() { + allPagedTables = []; + + var pagedTables = [].slice.call(document.querySelectorAll('[data-pagedtable="false"],[data-pagedtable=""]')); + pagedTables.forEach(function(pagedTable, idx) { + pagedTable.setAttribute("data-pagedtable", "true"); + pagedTable.setAttribute("pagedtable-page", 0); + pagedTable.setAttribute("class", "pagedtable-wrapper"); + + var pagedTableInstance = new PagedTable(pagedTable); + pagedTableInstance.init(); + + allPagedTables.push(pagedTableInstance); + }); + }; + + PagedTableDoc.resizeAll = function() { + allPagedTables.forEach(function(pagedTable) { + pagedTable.render(); + }); + }; + + window.addEventListener("resize", PagedTableDoc.resizeAll); + + return PagedTableDoc; +})(PagedTableDoc || (PagedTableDoc = {})); + +window.onload = function() { + PagedTableDoc.initAll(); +}; + - +
    -
    +

    Choosing things in dataframes

    @@ -397,14 +2489,14 @@

    Choosing things in dataframes

    Packages

    The usual:

    -
    library(tidyverse)
    +
    library(tidyverse)

    Doing things with data frames

    Let’s go back to our Australian athletes:

    -
    athletes
    +
    athletes
    @@ -418,7 +2510,7 @@

    Doing things with data frames

    Choosing a column

    -
    athletes %>% select(Sport)
    +
    athletes %>% select(Sport)
    @@ -432,7 +2524,7 @@

    Choosing a column

    Choosing several columns

    -
    athletes %>% select(Sport, Hg, BMI)
    +
    athletes %>% select(Sport, Hg, BMI)
    @@ -446,7 +2538,7 @@

    Choosing several columns

    Choosing consecAutive columns

    -
    athletes %>% select(Sex:WCC)
    +
    athletes %>% select(Sex:WCC)
    @@ -460,7 +2552,7 @@

    Choosing consecAutive columns

    Choosing all-but some columns

    -
    athletes %>% select(-(RCC:LBM))
    +
    athletes %>% select(-(RCC:LBM))
    @@ -485,7 +2577,7 @@

    Select-helpers

    Columns whose names Abegin with S

    -
    athletes %>% select(starts_with("S"))
    +
    athletes %>% select(starts_with("S"))
    @@ -500,7 +2592,7 @@

    Columns whose names Abegin with S

    Columns whose names end with C

    either uppercase or lowercase:

    -
    athletes %>% select(ends_with("c"))
    +
    athletes %>% select(ends_with("c"))
    @@ -515,7 +2607,7 @@

    Columns whose names end with C

    Case-sensitive

    This works with any of the select-helpers:

    -
    athletes %>% select(ends_with("C", ignore.case=FALSE))
    +
    athletes %>% select(ends_with("C", ignore.case=FALSE))
    @@ -529,7 +2621,7 @@

    Case-sensitive

    Column names containing letter R

    -
    athletes %>% select(contains("r"))
    +
    athletes %>% select(contains("r"))
    @@ -549,7 +2641,7 @@

    Exactly two characters, ending with T

  • $ means “end of text”.
  • -
    athletes %>% select(matches("^.t$"))
    +
    athletes %>% select(matches("^.t$"))
    @@ -567,7 +2659,7 @@

    Choosing columns by property

  • eg, to choose text columns:
  • -
    athletes %>% select(where(is.character))
    +
    athletes %>% select(where(is.character))
    @@ -581,7 +2673,7 @@

    Choosing columns by property

    Choosing rows by number

    -
    athletes %>% slice(16:25)
    +
    athletes %>% slice(16:25)
    @@ -595,8 +2687,8 @@

    Choosing rows by number

    Non-consecutive rows

    -
    athletes %>% 
    -  slice(10, 13, 17, 42)
    +
    athletes %>% 
    +  slice(10, 13, 17, 42)
    @@ -610,7 +2702,7 @@

    Non-consecutive rows

    A random sample of rows

    -
    athletes %>% slice_sample(n=8)
    +
    athletes %>% slice_sample(n=8)
    @@ -624,7 +2716,7 @@

    A random sample of rows

    Rows for which something is true

    -
    athletes %>% filter(Sport == "Tennis")
    +
    athletes %>% filter(Sport == "Tennis")
    @@ -638,7 +2730,7 @@

    Rows for which something is true

    More complicated selections

    -
    athletes %>% filter(Sport == "Tennis", RCC < 5)
    +
    athletes %>% filter(Sport == "Tennis", RCC < 5)
    @@ -652,8 +2744,8 @@

    More complicated selections

    Another way to do “and”

    -
    athletes %>% filter(Sport == "Tennis") %>% 
    -  filter(RCC < 5)
    +
    athletes %>% filter(Sport == "Tennis") %>% 
    +  filter(RCC < 5)
    @@ -667,7 +2759,7 @@

    Another way to do “and”

    Either/Or

    -
    athletes %>% filter(Sport == "Tennis" | RCC > 5)
    +
    athletes %>% filter(Sport == "Tennis" | RCC > 5)
    @@ -681,7 +2773,7 @@

    Either/Or

    Sorting into order

    -
    athletes %>% arrange(RCC)
    +
    athletes %>% arrange(RCC)
    @@ -695,7 +2787,7 @@

    Sorting into order

    Breaking ties by another variable

    -
    athletes %>% arrange(RCC, BMI)
    +
    athletes %>% arrange(RCC, BMI)
    @@ -709,7 +2801,7 @@

    Breaking ties by another variable

    Descending order

    -
    athletes %>% arrange(desc(BMI))
    +
    athletes %>% arrange(desc(BMI))
    @@ -723,10 +2815,10 @@

    Descending order

    “The top ones”

    -
    athletes %>%
    +
    athletes %>%
       arrange(desc(Wt)) %>%
       slice(1:7) %>%
    -  select(Sport, Wt)
    + select(Sport, Wt)
    @@ -740,9 +2832,9 @@

    “The top ones”

    Another way

    -
    athletes %>% 
    +
    athletes %>% 
       slice_max(order_by = Wt, n=7) %>% 
    -  select(Sport, Wt)
    + select(Sport, Wt)
    @@ -756,10 +2848,10 @@

    Another way

    Create new variables from old ones

    -
    athletes %>%
    +
    athletes %>%
       mutate(wt_lb = Wt * 2.2) %>%
       select(Sport, Sex, Wt, wt_lb) %>% 
    -  arrange(Wt)
    + arrange(Wt)
    @@ -774,17 +2866,17 @@

    Create new variables from old ones

    Turning the result into a number

    Output is always data frame unless you explicitly turn it into something else, eg. the weight of the heaviest athlete, as a number:

    -
    athletes %>% arrange(desc(Wt)) %>% pluck("Wt", 1)
    +
    athletes %>% arrange(desc(Wt)) %>% pluck("Wt", 1)
    [1] 123.2

    Or the 20 heaviest weights in descending order:

    -
    athletes %>%
    +
    athletes %>%
       arrange(desc(Wt)) %>%
       slice(1:20) %>%
    -  pluck("Wt")
    + pluck("Wt")
     [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20  98.00  97.90  97.90
     [11]  97.00  96.90  96.30  94.80  94.80  94.70  94.70  94.60  94.25  94.20
    @@ -794,10 +2886,10 @@

    Turning the result into a number

    Another way to do the last one

    -
    athletes %>%
    +
    athletes %>%
       arrange(desc(Wt)) %>%
       slice(1:20) %>%
    -  pull("Wt")
    + pull("Wt")
     [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20  98.00  97.90  97.90
     [11]  97.00  96.90  96.30  94.80  94.80  94.70  94.70  94.60  94.25  94.20
    @@ -809,7 +2901,7 @@

    Another way to do the last one

    To find the mean height of the women athletes

    Two ways:

    -
    athletes %>% group_by(Sex) %>% summarize(m = mean(Ht))
    +
    athletes %>% group_by(Sex) %>% summarize(m = mean(Ht))
    @@ -820,9 +2912,9 @@

    To find the mean height of the women athletes

    -
    athletes %>%
    +
    athletes %>%
       filter(Sex == "female") %>%
    -  summarize(m = mean(Ht))
    + summarize(m = mean(Ht))
    @@ -834,11 +2926,11 @@

    To find the mean height of the women athletes

    -

    Summary of data selection/arrangement “verbs”

    +

    Summary of data selection/arrangement “verbs”

    --++ @@ -900,9 +2992,9 @@

    Looking things up in another data frame

  • Suppose you are working in the nails department of a hardware store and you find that you have sold these items:
  • -
    my_url <- "http://ritsokiguess.site/datafiles/nail_sales.csv"
    +
    my_url <- "http://ritsokiguess.site/datafiles/nail_sales.csv"
     sales <- read_csv(my_url)
    -sales
    +sales
    @@ -920,9 +3012,9 @@

    Product descriptions and prices

  • Fortunately you found a list of product descriptions and prices:

  • -
    my_url <- "http://ritsokiguess.site/datafiles/nail_desc.csv"
    +
    my_url <- "http://ritsokiguess.site/datafiles/nail_desc.csv"
     desc <- read_csv(my_url)
    -desc
    +desc
    @@ -933,7 +3025,7 @@

    Product descriptions and prices

      -
    • the size values are measured in inches (symbol "), but R uses the same symbol for the start and end of text, so the " representing “inches” is “escaped”. Hence the odd look.
    • +
    • the size values are measured in inches (symbol "), but R uses the same symbol for the start and end of text, so the " representing “inches” is “escaped”. Hence the odd look.
    @@ -943,7 +3035,7 @@

    The lookup

  • left_join.
  • -
    sales %>% left_join(desc)
    +
    sales %>% left_join(desc)
    @@ -963,9 +3055,9 @@

    What we have

    So now can work out how much the total revenue was:

    -
    sales %>% left_join(desc) %>% 
    +
    sales %>% left_join(desc) %>% 
       mutate(product_revenue = sales*price) %>% 
    -  summarize(total_revenue = sum(product_revenue))
    + summarize(total_revenue = sum(product_revenue))
    @@ -994,8 +3086,8 @@

    Matching on only some matching names

  • Suppose the sales dataframe also had a column qty (which was the quantity sold):
  • -
    sales %>% rename("qty"="sales") -> sales1
    -sales1
    +
    sales %>% rename("qty"="sales") -> sales1
    +sales1
    @@ -1012,8 +3104,8 @@

    Matching on only some matching names

    Matching only on product code

    -
    sales1 %>% 
    -  left_join(desc, join_by(product_code))
    +
    sales1 %>% 
    +  left_join(desc, join_by(product_code))
    @@ -1024,8 +3116,8 @@

    Matching only on product code

    -
    sales1 %>% 
    -  left_join(desc)
    +
    sales1 %>% 
    +  left_join(desc)
    @@ -1045,8 +3137,8 @@

    Matching on different names 1/2

  • Suppose the product code in sales was just code:
  • -
    sales %>% rename("code" = "product_code") -> sales2
    -sales2
    +
    sales %>% rename("code" = "product_code") -> sales2
    +sales2
    @@ -1066,8 +3158,8 @@

    Matching on different names 2/2

  • Use join_by, but like this:
  • -
    sales2 %>% 
    -  left_join(desc, join_by(code == product_code))
    +
    sales2 %>% 
    +  left_join(desc, join_by(code == product_code))
    @@ -1089,7 +3181,7 @@

    Other types of join

    Full join here

    -
    sales %>% full_join(desc)
    +
    sales %>% full_join(desc)
    @@ -1107,7 +3199,7 @@

    Full join here

    The same thing, but with anti_join

    Anything in first df but not in second?

    -
    desc %>% anti_join(sales)
    +
    desc %>% anti_join(sales)
    @@ -1116,7 +3208,7 @@

    The same thing, but with anti_join

    -
    sales %>% anti_join(desc)
    +
    sales %>% anti_join(desc)
    @@ -1135,26 +3227,854 @@

    The same thing, but with anti_join

    - + - - - - - + + + + + - - - - + + + + - - - + + + \ No newline at end of file diff --git a/choosing.pdf b/choosing.pdf index 360f1ae592251172aca1ff0cfadc961c8a2839da..24376b8e654d5a842a07ce0e1620d06f56c917bc 100644 GIT binary patch delta 42130 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 XQ#X)7@Zq`Gxw+Y3DJaAg#9{vj8p*A2 diff --git a/choosing_files/execute-results/html.json b/choosing_files/execute-results/html.json deleted file mode 100644 index b1a18ad..0000000 --- a/choosing_files/execute-results/html.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "hash": "8a1b88b16954fb13b78c31ee298ba634", - "result": { - "markdown": "---\ntitle: \"Choosing things in dataframes\"\n---\n\n\n## Packages\n\nThe usual:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n## Doing things with data frames\n\nLet's go back to our Australian athletes:\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Choosing a column\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Choosing several columns\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport, Hg, BMI)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Choosing consecAutive columns\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sex:WCC)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Choosing all-but some columns\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(-(RCC:LBM))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Select-helpers\n\nOther ways to select columns: those whose name:\n\n- `starts_with` something\n- `ends_with` something\n- `contains` something\n- `matches` a \"regular expression\"\n- `everything()` select all the columns\n\n## Columns whose names Abegin with S\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(starts_with(\"S\"))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Columns whose names end with C\n\neither uppercase or lowercase:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"c\"))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Case-sensitive\n\nThis works with any of the select-helpers:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"C\", ignore.case=FALSE))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Column names containing letter R\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(contains(\"r\"))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Exactly two characters, ending with T\n\nIn regular expression terms, this is `^.t$`:\n\n- `^` means \"start of text\"\n- `.` means \"exactly one character, but could be anything\"\n- `$` means \"end of text\".\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(matches(\"^.t$\"))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Choosing columns by property\n\n- Use `where` as with summarizing several columns\n- eg, to choose text columns:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(where(is.character))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Choosing rows by number\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice(16:25)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Non-consecutive rows\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice(10, 13, 17, 42)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## A random sample of rows\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice_sample(n=8)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Rows for which something is true\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\")\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## More complicated selections\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\", RCC < 5)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Another way to do \"and\"\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\") %>% \n filter(RCC < 5)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Either/Or\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\" | RCC > 5)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Sorting into order\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Breaking ties by another variable\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC, BMI)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Descending order\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(BMI))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## \"The top ones\"\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:7) %>%\n select(Sport, Wt)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Another way\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice_max(order_by = Wt, n=7) %>% \n select(Sport, Wt)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Create new variables from old ones\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n mutate(wt_lb = Wt * 2.2) %>%\n select(Sport, Sex, Wt, wt_lb) %>% \n arrange(Wt)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Turning the result into a number\n\nOutput is always data frame unless you explicitly turn it into something\nelse, eg. the weight of the heaviest athlete, as a number:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(Wt)) %>% pluck(\"Wt\", 1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 123.2\n```\n:::\n:::\n\n\nOr the 20 heaviest weights in descending order:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pluck(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90 97.90\n[11] 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60 94.25 94.20\n```\n:::\n:::\n\n\n## Another way to do the last one\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pull(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90 97.90\n[11] 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60 94.25 94.20\n```\n:::\n:::\n\n\n`pull` grabs the column you name *as a vector* (of whatever it\ncontains).\n\n## To find the mean height of the women athletes\n\nTwo ways:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% group_by(Sex) %>% summarize(m = mean(Ht))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n filter(Sex == \"female\") %>%\n summarize(m = mean(Ht))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n\\normalsize\n\n## Summary of data selection/arrangement \"verbs\" {.smaller}\n\n| Verb | Purpose |\n|:---------------|:-------------------------------------------------------|\n| `select` | Choose columns |\n| `slice` | Choose rows by number |\n| `slice_sample` | Choose random rows |\n| `slice_max` | Choose rows with largest values on a variable (also `slice_min`) |\n| `filter` | Choose rows satisfying conditions |\n| `arrange` | Sort in order by column(s) |\n| `mutate` | Create new variables |\n| `group_by` | Create groups to work with |\n| `summarize` | Calculate summary statistics (by groups if defined) |\n| `pluck` | Extract items from data frame |\n| `pull` | Extract a single column from a data frame as a vector |\n\n## Looking things up in another data frame\n\n- Suppose you are working in the nails department of a hardware store\n and you find that you have sold these items:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_sales.csv\"\nsales <- read_csv(my_url)\nsales\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Product descriptions and prices\n\n- but you don't remember what these product codes are, and you would\n like to know the total revenue from these sales.\n\n- Fortunately you found a list of product descriptions and prices:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_desc.csv\"\ndesc <- read_csv(my_url)\ndesc\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n- the `size` values are measured in inches (symbol `\"`), but R uses\n the same symbol for the start and end of text, so the `\"`\n representing \"inches\" is \"escaped\". Hence the odd look.\n\n\\normalsize\n\n## The lookup\n\n- How do you \"look up\" the product codes to find the product\n descriptions and prices?\n- `left_join`.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## What we have\n\n- this looks up all the rows in the *first* dataframe that are also in\n the *second*.\n- by default matches all columns with same name in two dataframes\n (`product_code` here)\n- get *all* columns in *both* dataframes. The rows are the ones for\n that `product_code`.\n\nSo now can work out how much the total revenue was:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc) %>% \n mutate(product_revenue = sales*price) %>% \n summarize(total_revenue = sum(product_revenue))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## More comments\n\n- if any product codes are not matched, you get NA in the added\n columns\n- anything in the *second* dataframe that was not in the first does\n not appear (here, any products that were not sold)\n- other variations (examples follow):\n - if there are two columns with the same name in the two\n dataframes, and you only want to match on one, use `by` with one\n column name\n - if the columns you want to look up have different names in the\n two dataframes, use `by` with a \"named list\"\n\n## Matching on only some matching names\n\n- Suppose the `sales` dataframe *also* had a column `qty` (which was\n the quantity sold):\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"qty\"=\"sales\") -> sales1\nsales1\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n\\normalsize\n\n- The `qty` in `sales1` is the quantity sold, but the `qty` in `desc`\n is the number of nails in a package. These should *not* be matched:\n they are different things.\n\n## Matching only on product code\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales1 %>% \n left_join(desc, join_by(product_code))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nsales1 %>% \n left_join(desc)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n- Get `qty.x` (from `sales1`) and `qty.y` (from `desc`).\n\n## Matching on different names 1/2\n\n- Suppose the product code in `sales` was just `code`:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"code\" = \"product_code\") -> sales2\nsales2\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n\\normalsize\n\n- How to match the two product codes that have different names?\n\n## Matching on different names 2/2\n\n- Use `join_by`, but like this:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales2 %>% \n left_join(desc, join_by(code == product_code))\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n## Other types of join\n\n- `right_join`: interchanges roles, looking up keys from second\n dataframe in first.\n- `anti_join`: give me all the rows in the first dataframe that are\n *not* in the second. (Use this eg. to see whether the product\n descriptions are incomplete.)\n- `full_join`: give me all the rows in both dataframes, with missings\n as needed.\n\n## Full join here\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% full_join(desc)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\n\\normalsize\n\n- The missing `sales` for \"masonry nail\" says that it was in the\n lookup table `desc`, but we didn't sell any.\n\n## The same thing, but with `anti_join`\n\nAnything in first df but not in second?\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndesc %>% anti_join(sales)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n\n```{.r .cell-code}\nsales %>% anti_join(desc)\n```\n\n::: {.cell-output-display}\n`````{=html}\n
    \n \n
    \n`````\n:::\n:::\n\n\nMasonry nails are the only thing in our product description file that we\ndid not sell any of.\n", - "supporting": [ - "choosing_files" - ], - "filters": [ - "rmarkdown/pagebreak.lua" - ], - "includes": { - "include-in-header": [ - "\n\n" - ], - "include-after-body": [ - "\n\n\n" - ] - }, - "engineDependencies": {}, - "preserve": {}, - "postProcess": true - } -} \ No newline at end of file diff --git a/choosing_files/execute-results/tex.json b/choosing_files/execute-results/tex.json deleted file mode 100644 index b6df1ec..0000000 --- a/choosing_files/execute-results/tex.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "hash": "1a27c83e2f5ea4aee31a32c65b194163", - "result": { - "markdown": "---\ntitle: \"Choosing things in dataframes\"\n---\n\n\n\n## Packages\n\nThe usual:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyverse)\n```\n:::\n\n\n\n\n## Doing things with data frames\nLet’s go back to our Australian athletes: \n\n\n\n::: {.cell}\n\n:::\n\n\n\n\\scriptsize\n\n\n\n::: {.cell}\n\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 4.56 13.3 42.2 13.6 20 19.2 49 11.3 53.1\n 2 female Netba~ 4.15 6 38 12.7 59 21.2 110. 25.3 47.1\n 3 female Netba~ 4.16 7.6 37.5 12.3 22 21.4 89 19.4 53.4\n 4 female Netba~ 4.32 6.4 37.7 12.3 30 21.0 98.3 19.6 48.8\n 5 female Netba~ 4.06 5.8 38.7 12.8 78 21.8 122. 23.1 56.0\n 6 female Netba~ 4.12 6.1 36.6 11.8 21 21.4 90.4 16.9 56.4\n 7 female Netba~ 4.17 5 37.4 12.7 109 21.5 107. 21.3 53.1\n 8 female Netba~ 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4\n 9 female Netba~ 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0\n10 female Netba~ 4.44 9.7 41.4 14.1 64 22.8 126. 25.0 51.6\n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n## Choosing a column\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 1\n Sport \n \n 1 Netball\n 2 Netball\n 3 Netball\n 4 Netball\n 5 Netball\n 6 Netball\n 7 Netball\n 8 Netball\n 9 Netball\n10 Netball\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing several columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sport, Hg, BMI)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sport Hg BMI\n \n 1 Netball 13.6 19.2\n 2 Netball 12.7 21.2\n 3 Netball 12.3 21.4\n 4 Netball 12.3 21.0\n 5 Netball 12.8 21.8\n 6 Netball 11.8 21.4\n 7 Netball 12.7 21.5\n 8 Netball 12.4 24.4\n 9 Netball 12.4 22.6\n10 Netball 14.1 22.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing consecutive columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(Sex:WCC)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sex Sport RCC WCC\n \n 1 female Netball 4.56 13.3\n 2 female Netball 4.15 6 \n 3 female Netball 4.16 7.6\n 4 female Netball 4.32 6.4\n 5 female Netball 4.06 5.8\n 6 female Netball 4.12 6.1\n 7 female Netball 4.17 5 \n 8 female Netball 3.8 6.6\n 9 female Netball 3.96 5.5\n10 female Netball 4.44 9.7\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing all-but some columns\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(-(RCC:LBM))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sex Sport Ht Wt\n \n 1 female Netball 177. 59.9\n 2 female Netball 173. 63 \n 3 female Netball 176 66.3\n 4 female Netball 170. 60.7\n 5 female Netball 183 72.9\n 6 female Netball 178. 67.9\n 7 female Netball 177. 67.5\n 8 female Netball 174. 74.1\n 9 female Netball 174. 68.2\n10 female Netball 174. 68.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Select-helpers\nOther ways to select columns: those whose name:\n\n- `starts_with` something\n- `ends_with` something\n- `contains` something\n- `matches` a “regular expression”\n- `everything()` select all the columns\n\n## Columns whose names begin with S \n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(starts_with(\"S\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sex Sport SSF\n \n 1 female Netball 49 \n 2 female Netball 110. \n 3 female Netball 89 \n 4 female Netball 98.3\n 5 female Netball 122. \n 6 female Netball 90.4\n 7 female Netball 107. \n 8 female Netball 157. \n 9 female Netball 101. \n10 female Netball 126. \n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Columns whose names end with C\n\neither uppercase or lowercase:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"c\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n RCC WCC Hc\n \n 1 4.56 13.3 42.2\n 2 4.15 6 38 \n 3 4.16 7.6 37.5\n 4 4.32 6.4 37.7\n 5 4.06 5.8 38.7\n 6 4.12 6.1 36.6\n 7 4.17 5 37.4\n 8 3.8 6.6 36.5\n 9 3.96 5.5 36.3\n10 4.44 9.7 41.4\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Case-sensitive\n\nThis works with any of the select-helpers:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(ends_with(\"C\", ignore.case=FALSE))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n RCC WCC\n \n 1 4.56 13.3\n 2 4.15 6 \n 3 4.16 7.6\n 4 4.32 6.4\n 5 4.06 5.8\n 6 4.12 6.1\n 7 4.17 5 \n 8 3.8 6.6\n 9 3.96 5.5\n10 4.44 9.7\n# i 192 more rows\n```\n:::\n:::\n\n\n\n\n## Column names containing letter R\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(contains(\"r\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 3\n Sport RCC Ferr\n \n 1 Netball 4.56 20\n 2 Netball 4.15 59\n 3 Netball 4.16 22\n 4 Netball 4.32 30\n 5 Netball 4.06 78\n 6 Netball 4.12 21\n 7 Netball 4.17 109\n 8 Netball 3.8 102\n 9 Netball 3.96 71\n10 Netball 4.44 64\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Exactly two characters, ending with T\n\nIn regular expression terms, this is `^.t$`:\n\n- `^` means “start of text”\n- `.` means “exactly one character, but could be anything”\n- `$` means “end of text”.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(matches(\"^.t$\"))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n Ht Wt\n \n 1 177. 59.9\n 2 173. 63 \n 3 176 66.3\n 4 170. 60.7\n 5 183 72.9\n 6 178. 67.9\n 7 177. 67.5\n 8 174. 74.1\n 9 174. 68.2\n10 174. 68.8\n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Choosing columns by property\n\n- Use `where` as with summarizing several columns\n- eg, to choose text columns:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% select(where(is.character))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 2\n Sex Sport \n \n 1 female Netball\n 2 female Netball\n 3 female Netball\n 4 female Netball\n 5 female Netball\n 6 female Netball\n 7 female Netball\n 8 female Netball\n 9 female Netball\n10 female Netball\n# i 192 more rows\n```\n:::\n:::\n\n\n\n\n## Choosing rows by number \n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice(16:25)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 10 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 4.25 10.7 39.5 13.2 127 24.5 157. 26.5 54.5\n 2 female Netba~ 4.46 10.9 39.7 13.7 102 24.0 116. 23.0 57.2\n 3 female Netba~ 4.4 9.3 40.4 13.6 86 26.2 182. 30.1 54.4\n 4 female Netba~ 4.83 8.4 41.8 13.4 40 20.0 71.6 13.9 57.6\n 5 female Netba~ 4.23 6.9 38.3 12.6 50 25.7 144. 26.6 61.5\n 6 female Netba~ 4.24 8.4 37.6 12.5 58 25.6 201. 35.5 53.5\n 7 female Netba~ 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1\n 8 female Netba~ 4.03 8.5 37.7 13 51 23.4 104. 19.6 55.4\n 9 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3\n10 female BBall 4.41 8.3 38.2 12.7 68 20.7 103. 21.3 58.6\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n\n\n## Non-consecutive rows \n\n\\tiny\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice(10, 13, 17, 42)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 4 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Netball 4.44 9.7 41.4 14.1 64 22.8 126. 25.0 51.6\n2 female Netball 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3\n3 female Netball 4.46 10.9 39.7 13.7 102 24.0 116. 23.0 57.2\n4 female Row 4.37 8.1 41.8 14.3 53 23.5 98 21.8 63.0\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n\\normalsize\n\n## A random sample of rows\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% slice_sample(n=8)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 8 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Row 4.87 6.4 44.8 15 64 20.2 99.8 20.1 52.7\n2 male Tennis 5.66 8.3 50.2 17.7 38 23.8 56.5 10.0 72 \n3 male T400m 4.55 5.55 42.6 14.4 106 21.2 34.1 6.06 57 \n4 female BBall 4.35 7.8 41.4 14.1 30 22.0 118. 23.3 48.3\n5 male Row 5.22 6 46.6 15.7 72 25.1 43.1 7.49 83 \n6 male WPolo 4.63 14.3 44.8 15 133 25.4 49.5 8.97 79 \n7 male WPolo 4.91 10.2 45 15.2 234 23.7 56.5 10.1 68 \n8 male Row 5.22 8.4 47.5 16.2 89 25.3 44.5 9.36 79 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n## Rows for which something is true\n\n\\tiny\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 11 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n 2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n 3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n 4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n 5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n 6 female Tennis 5.16 7.2 44.3 14.5 88 18.3 61.9 12.9 48.8\n 7 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9\n 8 male Tennis 5.66 8.3 50.2 17.7 38 23.8 56.5 10.0 72 \n 9 male Tennis 5.03 6.4 42.7 14.3 122 22.0 47.6 8.51 68 \n10 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 \n11 male Tennis 5.38 6.3 46 15.7 32 21.1 34.9 6.26 72 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\\normalsize\n\n## More complicated selections\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\", RCC < 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n6 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9\n7 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Another way to do \"and\"\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\") %>% \n filter(RCC < 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n1 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n2 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n3 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n4 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n5 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n6 female Tennis 4.66 6.4 40.9 13.9 109 18.4 38.2 8.45 41.9\n7 male Tennis 4.97 8.8 43 14.9 233 22.3 60.4 11.5 63 \n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n\n## Either/Or\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% filter(Sport == \"Tennis\" | RCC > 5)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 66 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Row 5.02 6.4 44.8 15.2 48 19.8 91 19.2 53.6\n 2 female T400m 5.31 9.5 47.1 15.9 29 21.4 57.9 11.1 57.5\n 3 female Field 5.33 9.3 47 15 62 25.3 103. 19.5 59.9\n 4 female TSprnt 5.16 8.2 45.3 14.7 34 20.3 46.1 10.2 51.5\n 5 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n 6 female Tennis 4.4 4 40.8 13.9 73 22.1 98.1 19.6 56.0\n 7 female Tennis 4.38 7.9 39.8 13.5 88 21.2 80.6 17.1 46.5\n 8 female Tennis 4.08 6.6 37.8 12.1 182 20.5 68.3 15.3 51.8\n 9 female Tennis 4.98 6.4 44.8 14.8 80 17.1 47.6 11.1 42.2\n10 female Tennis 5.16 7.2 44.3 14.5 88 18.3 61.9 12.9 48.8\n# i 56 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Sorting into order\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4\n 2 female Netba~ 3.9 6.3 35.9 12.1 78 20.1 70 15.0 57.3\n 3 female T400m 3.9 6 38.9 13.5 16 19.4 48.4 10.5 53.7\n 4 female Row 3.91 7.3 37.6 12.9 43 22.3 126. 25.2 54.8\n 5 female Netba~ 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1\n 6 female Row 3.95 3.3 36.9 12.5 40 24.5 74.9 16.4 63.0\n 7 female Netba~ 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0\n 8 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3\n 9 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n10 female Netba~ 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3\n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Breaking ties by another variable\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(RCC, BMI)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 female Netba~ 3.8 6.6 36.5 12.4 102 24.4 157. 26.6 54.4\n 2 female T400m 3.9 6 38.9 13.5 16 19.4 48.4 10.5 53.7\n 3 female Netba~ 3.9 6.3 35.9 12.1 78 20.1 70 15.0 57.3\n 4 female Row 3.91 7.3 37.6 12.9 43 22.3 126. 25.2 54.8\n 5 female Netba~ 3.95 6.6 38.4 12.8 33 19.9 68.9 15.6 54.1\n 6 female Row 3.95 3.3 36.9 12.5 40 24.5 74.9 16.4 63.0\n 7 female BBall 3.96 7.5 37.5 12.3 60 20.6 109. 19.8 63.3\n 8 female Netba~ 3.96 5.5 36.3 12.4 71 22.6 101. 17.9 56.0\n 9 female Tennis 4 4.2 36.6 12 57 25.4 109 20.9 56.6\n10 female Netba~ 4.02 9.1 37.7 12.7 107 23.0 77 18.1 57.3\n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## Descending order\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(BMI))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 13\n Sex Sport RCC WCC Hc Hg Ferr BMI SSF `%Bfat` LBM\n \n 1 male Field 5.48 6.2 48.2 16.3 94 34.4 82.7 13.9 106 \n 2 male Field 4.96 8.3 45.3 15.7 141 33.7 114. 17.4 89 \n 3 male Field 5.48 4.6 49.4 18 132 32.5 55.7 8.51 102 \n 4 female Field 4.75 7.5 43.8 15.2 90 31.9 132. 23.0 73.0\n 5 male Field 5.01 8.9 46 15.9 212 30.2 112. 19.9 78 \n 6 male Field 5.01 8.9 46 15.9 212 30.2 96.9 18.1 80 \n 7 male Field 5.09 8.9 46.3 15.4 44 30.0 71.1 14.0 88 \n 8 female Field 4.58 5.8 42.1 14.7 164 28.6 110. 21.3 68.9\n 9 female Field 4.51 9 39.7 14.3 36 28.1 136. 24.9 63.0\n10 male WPolo 5.34 6.2 49.8 17.2 143 27.8 75.7 13.5 82 \n# i 192 more rows\n# i 2 more variables: Ht , Wt \n```\n:::\n:::\n\n\n\n## “The top ones”\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:7) %>%\n select(Sport, Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 2\n Sport Wt\n \n1 Field 123.\n2 BBall 114.\n3 Field 111.\n4 Field 108.\n5 Field 103.\n6 WPolo 101 \n7 BBall 100.\n```\n:::\n:::\n\n\n\n## Another way\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% \n slice_max(order_by = Wt, n=7) %>% \n select(Sport, Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 2\n Sport Wt\n \n1 Field 123.\n2 BBall 114.\n3 Field 111.\n4 Field 108.\n5 Field 103.\n6 WPolo 101 \n7 BBall 100.\n```\n:::\n:::\n\n\n\n\n## Create new variables from old ones\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n mutate(wt_lb = Wt * 2.2) %>%\n select(Sport, Sex, Wt, wt_lb) %>% \n arrange(Wt)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 202 x 4\n Sport Sex Wt wt_lb\n \n 1 Gym female 37.8 83.2\n 2 Gym female 43.8 96.4\n 3 Gym female 45.1 99.2\n 4 Tennis female 45.8 101. \n 5 Tennis female 47.4 104. \n 6 Gym female 47.8 105. \n 7 T400m female 49.2 108. \n 8 Row female 49.8 110. \n 9 T400m female 50.9 112. \n10 Netball female 51.9 114. \n# i 192 more rows\n```\n:::\n:::\n\n\n\n## Turning the result into a number\nOutput is always data frame unless you explicitly turn it into something\nelse, eg. the weight of the heaviest athlete, as a number:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% arrange(desc(Wt)) %>% pluck(\"Wt\", 1)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n[1] 123.2\n```\n:::\n:::\n\n\n\nOr the 20 heaviest weights in descending order:\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pluck(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90\n[10] 97.90 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60\n[19] 94.25 94.20\n```\n:::\n:::\n\n\n\n## Another way to do the last one\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n arrange(desc(Wt)) %>%\n slice(1:20) %>%\n pull(\"Wt\")\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] 123.20 113.70 111.30 108.20 102.70 101.00 100.20 98.00 97.90\n[10] 97.90 97.00 96.90 96.30 94.80 94.80 94.70 94.70 94.60\n[19] 94.25 94.20\n```\n:::\n:::\n\n\n\n`pull` grabs the column you name *as a vector* (of whatever it contains).\n\n## To find the mean height of the women athletes\nTwo ways:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>% group_by(Sex) %>% summarize(m = mean(Ht))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 2 x 2\n Sex m\n \n1 female 175.\n2 male 186.\n```\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nathletes %>%\n filter(Sex == \"female\") %>%\n summarize(m = mean(Ht))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 1\n m\n \n1 175.\n```\n:::\n:::\n\n\n\n\\normalsize\n\n## Summary of data selection/arrangement \"verbs\" {.smaller}\n\n | Verb | Purpose|\n |:-----|:-------------------------------|\n |`select` | Choose columns|\n |`slice` | Choose rows by number|\n |`slice_sample` | Choose random rows |\n |`slice_max` | Choose rows with largest values on a variable (also `slice_min`) |\n |`filter` | Choose rows satisfying conditions|\n | `arrange` | Sort in order by column(s) |\n | `mutate` | Create new variables | \n | `group_by` | Create groups to work with|\n |`summarize` | Calculate summary statistics (by groups if defined) |\n | `pluck` | Extract items from data frame |\n | `pull` | Extract a single column from a data frame as a vector|\n\n \n## Looking things up in another data frame\n\n- Suppose you are working in the nails department of a hardware store and you find that you have sold these items:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_sales.csv\"\nsales <- read_csv(my_url)\nsales\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n product_code sales\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\n\n## Product descriptions and prices\n\n- but you don't remember what these product codes are, and you would like to know the total revenue from these sales.\n\n- Fortunately you found a list of product descriptions and prices:\n\n\\small\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmy_url <- \"http://ritsokiguess.site/datafiles/nail_desc.csv\"\ndesc <- read_csv(my_url)\ndesc\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 5\n product_code description size qty price\n \n1 061-4525-2 spike nail \"10\\\"\" 1 1.49\n2 061-5329-4 masonry nail \"1.5\\\"\" 112 8.19\n3 061-5344-6 finishing nail \"1\\\"\" 1298 6.99\n4 061-5375-2 roofing nail \"1.25\\\"\" 192 6.99\n5 061-5388-2 framing nail \"4\\\"\" 25 8.19\n6 161-0090-0 wood nail \"1\\\"\" 25 2.39\n7 161-0199-4 panel nail \"1-5/8\\\"\" 20 4.69\n```\n:::\n:::\n\n\n\n- the `size` values are measured in inches (symbol `\"`), but R uses the same symbol for the start and end of text, so the `\"` representing \"inches\" is \"escaped\". Hence the odd look.\n\n\\normalsize\n\n## The lookup\n\n- How do you \"look up\" the product codes to find the product descriptions and prices?\n- `left_join`.\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n product_code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n## What we have\n\n- this looks up all the rows in the *first* dataframe that are also in the *second*. \n- by default matches all columns with same name in two dataframes (`product_code` here)\n- get *all* columns in *both* dataframes. The rows are the ones for that `product_code`.\n\nSo now can work out how much the total revenue was:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% left_join(desc) %>% \n mutate(product_revenue = sales*price) %>% \n summarize(total_revenue = sum(product_revenue))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 1\n total_revenue\n \n1 178.\n```\n:::\n:::\n\n\n\n\n## More comments\n\n- if any product codes are not matched, you get NA in the added columns\n- anything in the *second* dataframe that was not in the first does not appear (here, any products that were not sold)\n- other variations (examples follow):\n - if there are two columns with the same name in the two dataframes, and you only want to match on one, use `by` with one column name\n - if the columns you want to look up have different names in the two dataframes, use `by` with a \"named list\"\n\n## Matching on only some matching names\n\n- Suppose the `sales` dataframe *also* had a column `qty` (which was the quantity sold): \n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"qty\"=\"sales\") -> sales1\nsales1\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n product_code qty\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\\normalsize\n\n- The `qty` in `sales1` is the quantity sold, but the `qty` in `desc` is the number of nails in a package. These should *not* be matched: they are different things.\n\n## Matching only on product code\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales1 %>% \n left_join(desc, join_by(product_code))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n product_code qty.x description size qty.y price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n- Get `qty.x` (from `sales1`) and `qty.y` (from `desc`).\n\n## Matching on different names 1/2\n\n- Suppose the product code in `sales` was just `code`:\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% rename(\"code\" = \"product_code\") -> sales2\nsales2\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 2\n code sales\n \n1 061-5344-6 10\n2 161-0090-0 6\n3 061-5388-2 2\n4 161-0199-4 8\n5 061-5375-2 5\n6 061-4525-2 3\n```\n:::\n:::\n\n\n\\normalsize\n\n- How to match the two product codes that have different names?\n\n## Matching on different names 2/2\n\n- Use `by`, but like this:\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales2 %>% \n left_join(desc, join_by(code == product_code))\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 6 x 6\n code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n```\n:::\n:::\n\n\n\n## Other types of join\n\n- `right_join`: interchanges roles, looking up keys from second dataframe in first.\n- `anti_join`: give me all the rows in the first dataframe that are *not* in the second. (Use this eg. to see whether the product descriptions are incomplete.)\n- `full_join`: give me all the rows in both dataframes, with missings as needed.\n\n## Full join here\n\n\\small\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsales %>% full_join(desc)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 7 x 6\n product_code sales description size qty price\n \n1 061-5344-6 10 finishing nail \"1\\\"\" 1298 6.99\n2 161-0090-0 6 wood nail \"1\\\"\" 25 2.39\n3 061-5388-2 2 framing nail \"4\\\"\" 25 8.19\n4 161-0199-4 8 panel nail \"1-5/8\\\"\" 20 4.69\n5 061-5375-2 5 roofing nail \"1.25\\\"\" 192 6.99\n6 061-4525-2 3 spike nail \"10\\\"\" 1 1.49\n7 061-5329-4 NA masonry nail \"1.5\\\"\" 112 8.19\n```\n:::\n:::\n\n\n\\normalsize\n\n- The missing `sales` for \"masonry nail\" says that it was in the lookup table `desc`, but we didn't sell any.\n\n\n## The same thing, but with `anti_join`\n\nAnything in first df but not in second?\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndesc %>% anti_join(sales)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n# A tibble: 1 x 5\n product_code description size qty price\n \n1 061-5329-4 masonry nail \"1.5\\\"\" 112 8.19\n```\n:::\n:::\n\n\n\nMasonry nails are the only thing in our product description file that we did not sell any of.\n\n", - "supporting": [ - "choosing_files" - ], - "filters": [ - "rmarkdown/pagebreak.lua" - ], - "includes": {}, - "engineDependencies": {}, - "preserve": null, - "postProcess": false - } -} \ No newline at end of file diff --git a/choosing_files/libs/bootstrap/bootstrap-icons.css b/choosing_files/libs/bootstrap/bootstrap-icons.css deleted file mode 100644 index 94f1940..0000000 --- a/choosing_files/libs/bootstrap/bootstrap-icons.css +++ /dev/null @@ -1,2018 +0,0 @@ -@font-face { - font-display: block; - font-family: "bootstrap-icons"; - src: -url("./bootstrap-icons.woff?2ab2cbbe07fcebb53bdaa7313bb290f2") format("woff"); -} - -.bi::before, -[class^="bi-"]::before, -[class*=" bi-"]::before { - display: inline-block; - font-family: bootstrap-icons !important; - font-style: normal; - font-weight: normal !important; - font-variant: normal; - text-transform: none; - line-height: 1; - vertical-align: -.125em; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.bi-123::before { content: "\f67f"; } -.bi-alarm-fill::before { content: "\f101"; } -.bi-alarm::before { content: "\f102"; } -.bi-align-bottom::before { content: "\f103"; } -.bi-align-center::before { content: "\f104"; } -.bi-align-end::before { content: "\f105"; } -.bi-align-middle::before { content: "\f106"; } -.bi-align-start::before { content: "\f107"; } -.bi-align-top::before { content: "\f108"; } -.bi-alt::before { content: "\f109"; } -.bi-app-indicator::before { content: "\f10a"; } -.bi-app::before { content: "\f10b"; } -.bi-archive-fill::before { content: "\f10c"; } -.bi-archive::before { content: "\f10d"; } -.bi-arrow-90deg-down::before { content: "\f10e"; } -.bi-arrow-90deg-left::before { content: "\f10f"; } -.bi-arrow-90deg-right::before { content: "\f110"; } -.bi-arrow-90deg-up::before { content: "\f111"; } -.bi-arrow-bar-down::before { content: "\f112"; } -.bi-arrow-bar-left::before { content: "\f113"; } -.bi-arrow-bar-right::before { content: "\f114"; } -.bi-arrow-bar-up::before { content: "\f115"; } -.bi-arrow-clockwise::before { content: "\f116"; } -.bi-arrow-counterclockwise::before { content: "\f117"; } -.bi-arrow-down-circle-fill::before { content: "\f118"; } -.bi-arrow-down-circle::before { content: "\f119"; } -.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } -.bi-arrow-down-left-circle::before { content: "\f11b"; } -.bi-arrow-down-left-square-fill::before { content: "\f11c"; } -.bi-arrow-down-left-square::before { content: "\f11d"; } -.bi-arrow-down-left::before { content: "\f11e"; } -.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } -.bi-arrow-down-right-circle::before { content: "\f120"; } -.bi-arrow-down-right-square-fill::before { content: "\f121"; } -.bi-arrow-down-right-square::before { content: "\f122"; } -.bi-arrow-down-right::before { content: "\f123"; } -.bi-arrow-down-short::before { content: "\f124"; } -.bi-arrow-down-square-fill::before { content: "\f125"; } -.bi-arrow-down-square::before { content: "\f126"; } -.bi-arrow-down-up::before { content: "\f127"; } -.bi-arrow-down::before { content: "\f128"; } -.bi-arrow-left-circle-fill::before { content: "\f129"; } -.bi-arrow-left-circle::before { content: "\f12a"; } -.bi-arrow-left-right::before { content: "\f12b"; } -.bi-arrow-left-short::before { content: "\f12c"; } -.bi-arrow-left-square-fill::before { content: "\f12d"; } -.bi-arrow-left-square::before { content: "\f12e"; } -.bi-arrow-left::before { content: "\f12f"; } -.bi-arrow-repeat::before { content: "\f130"; } -.bi-arrow-return-left::before { content: "\f131"; } -.bi-arrow-return-right::before { content: "\f132"; } -.bi-arrow-right-circle-fill::before { content: "\f133"; } -.bi-arrow-right-circle::before { content: "\f134"; } -.bi-arrow-right-short::before { content: "\f135"; } -.bi-arrow-right-square-fill::before { content: "\f136"; } -.bi-arrow-right-square::before { content: "\f137"; } -.bi-arrow-right::before { content: "\f138"; } -.bi-arrow-up-circle-fill::before { content: "\f139"; } -.bi-arrow-up-circle::before { content: "\f13a"; } -.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } -.bi-arrow-up-left-circle::before { content: "\f13c"; } -.bi-arrow-up-left-square-fill::before { content: "\f13d"; } -.bi-arrow-up-left-square::before { content: "\f13e"; } -.bi-arrow-up-left::before { content: "\f13f"; } -.bi-arrow-up-right-circle-fill::before { content: "\f140"; } -.bi-arrow-up-right-circle::before { content: "\f141"; } -.bi-arrow-up-right-square-fill::before { content: "\f142"; } -.bi-arrow-up-right-square::before { content: "\f143"; } -.bi-arrow-up-right::before { content: "\f144"; } -.bi-arrow-up-short::before { content: "\f145"; } -.bi-arrow-up-square-fill::before { content: "\f146"; } -.bi-arrow-up-square::before { content: "\f147"; } -.bi-arrow-up::before { content: "\f148"; } -.bi-arrows-angle-contract::before { content: "\f149"; } -.bi-arrows-angle-expand::before { content: "\f14a"; } -.bi-arrows-collapse::before { content: "\f14b"; } -.bi-arrows-expand::before { content: "\f14c"; } -.bi-arrows-fullscreen::before { content: "\f14d"; } -.bi-arrows-move::before { content: "\f14e"; } -.bi-aspect-ratio-fill::before { content: "\f14f"; } -.bi-aspect-ratio::before { content: "\f150"; } -.bi-asterisk::before { content: "\f151"; } -.bi-at::before { content: "\f152"; } -.bi-award-fill::before { content: "\f153"; } -.bi-award::before { content: "\f154"; } -.bi-back::before { content: "\f155"; } -.bi-backspace-fill::before { content: "\f156"; } -.bi-backspace-reverse-fill::before { content: "\f157"; } -.bi-backspace-reverse::before { content: "\f158"; } -.bi-backspace::before { content: "\f159"; } -.bi-badge-3d-fill::before { content: "\f15a"; } -.bi-badge-3d::before { content: "\f15b"; } -.bi-badge-4k-fill::before { content: "\f15c"; } -.bi-badge-4k::before { content: "\f15d"; } -.bi-badge-8k-fill::before { content: "\f15e"; } -.bi-badge-8k::before { content: "\f15f"; } -.bi-badge-ad-fill::before { content: "\f160"; } -.bi-badge-ad::before { content: "\f161"; } -.bi-badge-ar-fill::before { content: "\f162"; } -.bi-badge-ar::before { content: "\f163"; } -.bi-badge-cc-fill::before { content: "\f164"; } -.bi-badge-cc::before { content: "\f165"; } -.bi-badge-hd-fill::before { content: "\f166"; } -.bi-badge-hd::before { content: "\f167"; } -.bi-badge-tm-fill::before { content: "\f168"; } -.bi-badge-tm::before { content: "\f169"; } -.bi-badge-vo-fill::before { content: "\f16a"; } -.bi-badge-vo::before { content: "\f16b"; } -.bi-badge-vr-fill::before { content: "\f16c"; } -.bi-badge-vr::before { content: "\f16d"; } -.bi-badge-wc-fill::before { content: "\f16e"; } -.bi-badge-wc::before { content: "\f16f"; } -.bi-bag-check-fill::before { content: "\f170"; } -.bi-bag-check::before { content: "\f171"; } -.bi-bag-dash-fill::before { content: "\f172"; } -.bi-bag-dash::before { content: "\f173"; } -.bi-bag-fill::before { content: "\f174"; } -.bi-bag-plus-fill::before { content: "\f175"; } -.bi-bag-plus::before { content: "\f176"; } -.bi-bag-x-fill::before { content: "\f177"; } -.bi-bag-x::before { content: "\f178"; } -.bi-bag::before { content: "\f179"; } -.bi-bar-chart-fill::before { content: "\f17a"; } -.bi-bar-chart-line-fill::before { content: "\f17b"; } -.bi-bar-chart-line::before { content: "\f17c"; } -.bi-bar-chart-steps::before { content: "\f17d"; } -.bi-bar-chart::before { content: "\f17e"; } -.bi-basket-fill::before { content: "\f17f"; } -.bi-basket::before { content: "\f180"; } -.bi-basket2-fill::before { content: "\f181"; } -.bi-basket2::before { content: "\f182"; } -.bi-basket3-fill::before { content: "\f183"; } -.bi-basket3::before { content: "\f184"; } -.bi-battery-charging::before { content: "\f185"; } -.bi-battery-full::before { content: "\f186"; } -.bi-battery-half::before { content: "\f187"; } -.bi-battery::before { content: "\f188"; } -.bi-bell-fill::before { content: "\f189"; } -.bi-bell::before { content: "\f18a"; } -.bi-bezier::before { content: "\f18b"; } -.bi-bezier2::before { content: "\f18c"; } -.bi-bicycle::before { content: "\f18d"; } -.bi-binoculars-fill::before { content: "\f18e"; } -.bi-binoculars::before { content: "\f18f"; } -.bi-blockquote-left::before { content: "\f190"; } -.bi-blockquote-right::before { content: "\f191"; } -.bi-book-fill::before { content: "\f192"; } -.bi-book-half::before { content: "\f193"; } -.bi-book::before { content: "\f194"; } -.bi-bookmark-check-fill::before { content: "\f195"; } -.bi-bookmark-check::before { content: "\f196"; } -.bi-bookmark-dash-fill::before { content: "\f197"; } -.bi-bookmark-dash::before { content: "\f198"; } -.bi-bookmark-fill::before { content: "\f199"; } -.bi-bookmark-heart-fill::before { content: "\f19a"; } -.bi-bookmark-heart::before { content: "\f19b"; } -.bi-bookmark-plus-fill::before { content: "\f19c"; } -.bi-bookmark-plus::before { content: "\f19d"; } -.bi-bookmark-star-fill::before { content: "\f19e"; } -.bi-bookmark-star::before { content: "\f19f"; } -.bi-bookmark-x-fill::before { content: "\f1a0"; } -.bi-bookmark-x::before { content: "\f1a1"; } -.bi-bookmark::before { content: "\f1a2"; } -.bi-bookmarks-fill::before { content: "\f1a3"; } -.bi-bookmarks::before { content: "\f1a4"; } -.bi-bookshelf::before { content: "\f1a5"; } -.bi-bootstrap-fill::before { content: "\f1a6"; } -.bi-bootstrap-reboot::before { content: "\f1a7"; } -.bi-bootstrap::before { content: "\f1a8"; } -.bi-border-all::before { content: "\f1a9"; } -.bi-border-bottom::before { content: "\f1aa"; } -.bi-border-center::before { content: "\f1ab"; } -.bi-border-inner::before { content: "\f1ac"; } -.bi-border-left::before { content: "\f1ad"; } -.bi-border-middle::before { content: "\f1ae"; } -.bi-border-outer::before { content: "\f1af"; } -.bi-border-right::before { content: "\f1b0"; } -.bi-border-style::before { content: "\f1b1"; } -.bi-border-top::before { content: "\f1b2"; } -.bi-border-width::before { content: "\f1b3"; } -.bi-border::before { content: "\f1b4"; } -.bi-bounding-box-circles::before { content: "\f1b5"; } -.bi-bounding-box::before { content: "\f1b6"; } -.bi-box-arrow-down-left::before { content: "\f1b7"; } -.bi-box-arrow-down-right::before { content: "\f1b8"; } -.bi-box-arrow-down::before { content: "\f1b9"; } -.bi-box-arrow-in-down-left::before { content: "\f1ba"; } -.bi-box-arrow-in-down-right::before { content: "\f1bb"; } -.bi-box-arrow-in-down::before { content: "\f1bc"; } -.bi-box-arrow-in-left::before { content: "\f1bd"; } -.bi-box-arrow-in-right::before { content: "\f1be"; } -.bi-box-arrow-in-up-left::before { content: "\f1bf"; } -.bi-box-arrow-in-up-right::before { content: "\f1c0"; } -.bi-box-arrow-in-up::before { content: "\f1c1"; } -.bi-box-arrow-left::before { content: "\f1c2"; } -.bi-box-arrow-right::before { content: "\f1c3"; } -.bi-box-arrow-up-left::before { content: "\f1c4"; } -.bi-box-arrow-up-right::before { content: "\f1c5"; } -.bi-box-arrow-up::before { content: "\f1c6"; } -.bi-box-seam::before { content: "\f1c7"; } -.bi-box::before { content: "\f1c8"; } -.bi-braces::before { content: "\f1c9"; } -.bi-bricks::before { content: "\f1ca"; } -.bi-briefcase-fill::before { content: "\f1cb"; } -.bi-briefcase::before { content: "\f1cc"; } -.bi-brightness-alt-high-fill::before { content: "\f1cd"; } -.bi-brightness-alt-high::before { content: "\f1ce"; } -.bi-brightness-alt-low-fill::before { content: "\f1cf"; } -.bi-brightness-alt-low::before { content: "\f1d0"; } -.bi-brightness-high-fill::before { content: "\f1d1"; } -.bi-brightness-high::before { content: "\f1d2"; } -.bi-brightness-low-fill::before { content: "\f1d3"; } -.bi-brightness-low::before { content: "\f1d4"; } -.bi-broadcast-pin::before { content: "\f1d5"; } -.bi-broadcast::before { content: "\f1d6"; } -.bi-brush-fill::before { content: "\f1d7"; } -.bi-brush::before { content: "\f1d8"; } -.bi-bucket-fill::before { content: "\f1d9"; } -.bi-bucket::before { content: "\f1da"; } -.bi-bug-fill::before { content: "\f1db"; } -.bi-bug::before { content: "\f1dc"; } -.bi-building::before { content: "\f1dd"; } -.bi-bullseye::before { content: "\f1de"; } -.bi-calculator-fill::before { content: "\f1df"; } -.bi-calculator::before { content: "\f1e0"; } -.bi-calendar-check-fill::before { content: "\f1e1"; } -.bi-calendar-check::before { content: "\f1e2"; } -.bi-calendar-date-fill::before { content: "\f1e3"; } -.bi-calendar-date::before { content: "\f1e4"; } -.bi-calendar-day-fill::before { content: "\f1e5"; } -.bi-calendar-day::before { content: "\f1e6"; } -.bi-calendar-event-fill::before { content: "\f1e7"; } -.bi-calendar-event::before { content: "\f1e8"; } -.bi-calendar-fill::before { content: "\f1e9"; } -.bi-calendar-minus-fill::before { content: "\f1ea"; } -.bi-calendar-minus::before { content: "\f1eb"; } -.bi-calendar-month-fill::before { content: "\f1ec"; } -.bi-calendar-month::before { content: "\f1ed"; } -.bi-calendar-plus-fill::before { content: "\f1ee"; } -.bi-calendar-plus::before { content: "\f1ef"; } -.bi-calendar-range-fill::before { content: "\f1f0"; } -.bi-calendar-range::before { content: "\f1f1"; } -.bi-calendar-week-fill::before { content: "\f1f2"; } -.bi-calendar-week::before { content: "\f1f3"; } -.bi-calendar-x-fill::before { content: "\f1f4"; } -.bi-calendar-x::before { content: "\f1f5"; } -.bi-calendar::before { content: "\f1f6"; } -.bi-calendar2-check-fill::before { content: "\f1f7"; } -.bi-calendar2-check::before { content: "\f1f8"; } -.bi-calendar2-date-fill::before { content: "\f1f9"; } -.bi-calendar2-date::before { content: "\f1fa"; } -.bi-calendar2-day-fill::before { content: "\f1fb"; } -.bi-calendar2-day::before { content: "\f1fc"; } -.bi-calendar2-event-fill::before { content: "\f1fd"; } -.bi-calendar2-event::before { content: "\f1fe"; } -.bi-calendar2-fill::before { content: "\f1ff"; } -.bi-calendar2-minus-fill::before { content: "\f200"; } -.bi-calendar2-minus::before { content: "\f201"; } -.bi-calendar2-month-fill::before { content: "\f202"; } -.bi-calendar2-month::before { content: "\f203"; } -.bi-calendar2-plus-fill::before { content: "\f204"; } -.bi-calendar2-plus::before { content: "\f205"; } -.bi-calendar2-range-fill::before { content: "\f206"; } -.bi-calendar2-range::before { content: "\f207"; } -.bi-calendar2-week-fill::before { content: "\f208"; } -.bi-calendar2-week::before { content: "\f209"; } -.bi-calendar2-x-fill::before { content: "\f20a"; } -.bi-calendar2-x::before { content: "\f20b"; } -.bi-calendar2::before { content: "\f20c"; } -.bi-calendar3-event-fill::before { content: "\f20d"; } -.bi-calendar3-event::before { content: "\f20e"; } -.bi-calendar3-fill::before { content: "\f20f"; } -.bi-calendar3-range-fill::before { content: "\f210"; } -.bi-calendar3-range::before { content: "\f211"; } -.bi-calendar3-week-fill::before { content: "\f212"; } -.bi-calendar3-week::before { content: "\f213"; } -.bi-calendar3::before { content: "\f214"; } -.bi-calendar4-event::before { content: "\f215"; } -.bi-calendar4-range::before { content: "\f216"; } -.bi-calendar4-week::before { content: "\f217"; } -.bi-calendar4::before { content: "\f218"; } -.bi-camera-fill::before { content: "\f219"; } -.bi-camera-reels-fill::before { content: "\f21a"; } -.bi-camera-reels::before { content: "\f21b"; } -.bi-camera-video-fill::before { content: "\f21c"; } -.bi-camera-video-off-fill::before { content: "\f21d"; } -.bi-camera-video-off::before { content: "\f21e"; } -.bi-camera-video::before { content: "\f21f"; } -.bi-camera::before { content: "\f220"; } -.bi-camera2::before { content: "\f221"; } -.bi-capslock-fill::before { content: "\f222"; } -.bi-capslock::before { content: "\f223"; } -.bi-card-checklist::before { content: "\f224"; } -.bi-card-heading::before { content: "\f225"; } -.bi-card-image::before { content: "\f226"; } -.bi-card-list::before { content: "\f227"; } -.bi-card-text::before { content: "\f228"; } -.bi-caret-down-fill::before { content: "\f229"; } -.bi-caret-down-square-fill::before { content: "\f22a"; } -.bi-caret-down-square::before { content: "\f22b"; } -.bi-caret-down::before { content: "\f22c"; } -.bi-caret-left-fill::before { content: "\f22d"; } -.bi-caret-left-square-fill::before { content: "\f22e"; } -.bi-caret-left-square::before { content: "\f22f"; } -.bi-caret-left::before { content: "\f230"; } -.bi-caret-right-fill::before { content: "\f231"; } -.bi-caret-right-square-fill::before { content: "\f232"; } -.bi-caret-right-square::before { content: "\f233"; } -.bi-caret-right::before { content: "\f234"; } -.bi-caret-up-fill::before { content: "\f235"; } -.bi-caret-up-square-fill::before { content: "\f236"; } -.bi-caret-up-square::before { content: "\f237"; } -.bi-caret-up::before { content: "\f238"; } -.bi-cart-check-fill::before { content: "\f239"; } -.bi-cart-check::before { content: "\f23a"; } -.bi-cart-dash-fill::before { content: "\f23b"; } -.bi-cart-dash::before { content: "\f23c"; } -.bi-cart-fill::before { content: "\f23d"; } -.bi-cart-plus-fill::before { content: "\f23e"; } -.bi-cart-plus::before { content: "\f23f"; } -.bi-cart-x-fill::before { content: "\f240"; } -.bi-cart-x::before { content: "\f241"; } -.bi-cart::before { content: "\f242"; } -.bi-cart2::before { content: "\f243"; } -.bi-cart3::before { content: "\f244"; } -.bi-cart4::before { content: "\f245"; } -.bi-cash-stack::before { content: "\f246"; } -.bi-cash::before { content: "\f247"; } -.bi-cast::before { content: "\f248"; } -.bi-chat-dots-fill::before { content: "\f249"; } -.bi-chat-dots::before { content: "\f24a"; } -.bi-chat-fill::before { content: "\f24b"; } -.bi-chat-left-dots-fill::before { content: "\f24c"; } -.bi-chat-left-dots::before { content: "\f24d"; } -.bi-chat-left-fill::before { content: "\f24e"; } -.bi-chat-left-quote-fill::before { content: "\f24f"; } -.bi-chat-left-quote::before { content: "\f250"; } -.bi-chat-left-text-fill::before { content: "\f251"; } -.bi-chat-left-text::before { content: "\f252"; } -.bi-chat-left::before { content: "\f253"; } -.bi-chat-quote-fill::before { content: "\f254"; } -.bi-chat-quote::before { content: "\f255"; } -.bi-chat-right-dots-fill::before { content: "\f256"; } -.bi-chat-right-dots::before { content: "\f257"; } -.bi-chat-right-fill::before { content: "\f258"; } -.bi-chat-right-quote-fill::before { content: "\f259"; } -.bi-chat-right-quote::before { content: "\f25a"; } -.bi-chat-right-text-fill::before { content: "\f25b"; } -.bi-chat-right-text::before { content: "\f25c"; } -.bi-chat-right::before { content: "\f25d"; } -.bi-chat-square-dots-fill::before { content: "\f25e"; } -.bi-chat-square-dots::before { content: "\f25f"; } -.bi-chat-square-fill::before { content: "\f260"; } -.bi-chat-square-quote-fill::before { content: "\f261"; } -.bi-chat-square-quote::before { content: "\f262"; } -.bi-chat-square-text-fill::before { content: "\f263"; } -.bi-chat-square-text::before { content: "\f264"; } -.bi-chat-square::before { content: "\f265"; } -.bi-chat-text-fill::before { content: "\f266"; } -.bi-chat-text::before { content: "\f267"; } -.bi-chat::before { content: "\f268"; } -.bi-check-all::before { content: "\f269"; } -.bi-check-circle-fill::before { content: "\f26a"; } -.bi-check-circle::before { content: "\f26b"; } -.bi-check-square-fill::before { content: "\f26c"; } -.bi-check-square::before { content: "\f26d"; } -.bi-check::before { content: "\f26e"; } -.bi-check2-all::before { content: "\f26f"; } -.bi-check2-circle::before { content: "\f270"; } -.bi-check2-square::before { content: "\f271"; } -.bi-check2::before { content: "\f272"; } -.bi-chevron-bar-contract::before { content: "\f273"; } -.bi-chevron-bar-down::before { content: "\f274"; } -.bi-chevron-bar-expand::before { content: "\f275"; } -.bi-chevron-bar-left::before { content: "\f276"; } -.bi-chevron-bar-right::before { content: "\f277"; } -.bi-chevron-bar-up::before { content: "\f278"; } -.bi-chevron-compact-down::before { content: "\f279"; } -.bi-chevron-compact-left::before { content: "\f27a"; } -.bi-chevron-compact-right::before { content: "\f27b"; } -.bi-chevron-compact-up::before { content: "\f27c"; } -.bi-chevron-contract::before { content: "\f27d"; } -.bi-chevron-double-down::before { content: "\f27e"; } -.bi-chevron-double-left::before { content: "\f27f"; } -.bi-chevron-double-right::before { content: "\f280"; } -.bi-chevron-double-up::before { content: "\f281"; } -.bi-chevron-down::before { content: "\f282"; } -.bi-chevron-expand::before { content: "\f283"; } -.bi-chevron-left::before { content: "\f284"; } -.bi-chevron-right::before { content: "\f285"; } -.bi-chevron-up::before { content: "\f286"; } -.bi-circle-fill::before { content: "\f287"; } -.bi-circle-half::before { content: "\f288"; } -.bi-circle-square::before { content: "\f289"; } -.bi-circle::before { content: "\f28a"; } -.bi-clipboard-check::before { content: "\f28b"; } -.bi-clipboard-data::before { content: "\f28c"; } -.bi-clipboard-minus::before { content: "\f28d"; } -.bi-clipboard-plus::before { content: "\f28e"; } -.bi-clipboard-x::before { content: "\f28f"; } -.bi-clipboard::before { content: "\f290"; } -.bi-clock-fill::before { content: "\f291"; } -.bi-clock-history::before { content: "\f292"; } -.bi-clock::before { content: "\f293"; } -.bi-cloud-arrow-down-fill::before { content: "\f294"; } -.bi-cloud-arrow-down::before { content: "\f295"; } -.bi-cloud-arrow-up-fill::before { content: "\f296"; } -.bi-cloud-arrow-up::before { content: "\f297"; } -.bi-cloud-check-fill::before { content: "\f298"; } -.bi-cloud-check::before { content: "\f299"; } -.bi-cloud-download-fill::before { content: "\f29a"; } -.bi-cloud-download::before { content: "\f29b"; } -.bi-cloud-drizzle-fill::before { content: "\f29c"; } -.bi-cloud-drizzle::before { content: "\f29d"; } -.bi-cloud-fill::before { content: "\f29e"; } -.bi-cloud-fog-fill::before { content: "\f29f"; } -.bi-cloud-fog::before { content: "\f2a0"; } -.bi-cloud-fog2-fill::before { content: "\f2a1"; } -.bi-cloud-fog2::before { content: "\f2a2"; } -.bi-cloud-hail-fill::before { content: "\f2a3"; } -.bi-cloud-hail::before { content: "\f2a4"; } -.bi-cloud-haze-1::before { content: "\f2a5"; } -.bi-cloud-haze-fill::before { content: "\f2a6"; } -.bi-cloud-haze::before { content: "\f2a7"; } -.bi-cloud-haze2-fill::before { content: "\f2a8"; } -.bi-cloud-lightning-fill::before { content: "\f2a9"; } -.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } -.bi-cloud-lightning-rain::before { content: "\f2ab"; } -.bi-cloud-lightning::before { content: "\f2ac"; } -.bi-cloud-minus-fill::before { content: "\f2ad"; } -.bi-cloud-minus::before { content: "\f2ae"; } -.bi-cloud-moon-fill::before { content: "\f2af"; } -.bi-cloud-moon::before { content: "\f2b0"; } -.bi-cloud-plus-fill::before { content: "\f2b1"; } -.bi-cloud-plus::before { content: "\f2b2"; } -.bi-cloud-rain-fill::before { content: "\f2b3"; } -.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } -.bi-cloud-rain-heavy::before { content: "\f2b5"; } -.bi-cloud-rain::before { content: "\f2b6"; } -.bi-cloud-slash-fill::before { content: "\f2b7"; } -.bi-cloud-slash::before { content: "\f2b8"; } -.bi-cloud-sleet-fill::before { content: "\f2b9"; } -.bi-cloud-sleet::before { content: "\f2ba"; } -.bi-cloud-snow-fill::before { content: "\f2bb"; } -.bi-cloud-snow::before { content: "\f2bc"; } -.bi-cloud-sun-fill::before { content: "\f2bd"; } -.bi-cloud-sun::before { content: "\f2be"; } -.bi-cloud-upload-fill::before { content: "\f2bf"; } -.bi-cloud-upload::before { content: "\f2c0"; } -.bi-cloud::before { content: "\f2c1"; } -.bi-clouds-fill::before { content: "\f2c2"; } -.bi-clouds::before { content: "\f2c3"; } -.bi-cloudy-fill::before { content: "\f2c4"; } -.bi-cloudy::before { content: "\f2c5"; } -.bi-code-slash::before { content: "\f2c6"; } -.bi-code-square::before { content: "\f2c7"; } -.bi-code::before { content: "\f2c8"; } -.bi-collection-fill::before { content: "\f2c9"; } -.bi-collection-play-fill::before { content: "\f2ca"; } -.bi-collection-play::before { content: "\f2cb"; } -.bi-collection::before { content: "\f2cc"; } -.bi-columns-gap::before { content: "\f2cd"; } -.bi-columns::before { content: "\f2ce"; } -.bi-command::before { content: "\f2cf"; } -.bi-compass-fill::before { content: "\f2d0"; } -.bi-compass::before { content: "\f2d1"; } -.bi-cone-striped::before { content: "\f2d2"; } -.bi-cone::before { content: "\f2d3"; } -.bi-controller::before { content: "\f2d4"; } -.bi-cpu-fill::before { content: "\f2d5"; } -.bi-cpu::before { content: "\f2d6"; } -.bi-credit-card-2-back-fill::before { content: "\f2d7"; } -.bi-credit-card-2-back::before { content: "\f2d8"; } -.bi-credit-card-2-front-fill::before { content: "\f2d9"; } -.bi-credit-card-2-front::before { content: "\f2da"; } -.bi-credit-card-fill::before { content: "\f2db"; } -.bi-credit-card::before { content: "\f2dc"; } -.bi-crop::before { content: "\f2dd"; } -.bi-cup-fill::before { content: "\f2de"; } -.bi-cup-straw::before { content: "\f2df"; } -.bi-cup::before { content: "\f2e0"; } -.bi-cursor-fill::before { content: "\f2e1"; } -.bi-cursor-text::before { content: "\f2e2"; } -.bi-cursor::before { content: "\f2e3"; } -.bi-dash-circle-dotted::before { content: "\f2e4"; } -.bi-dash-circle-fill::before { content: "\f2e5"; } -.bi-dash-circle::before { content: "\f2e6"; } -.bi-dash-square-dotted::before { content: "\f2e7"; } -.bi-dash-square-fill::before { content: "\f2e8"; } -.bi-dash-square::before { content: "\f2e9"; } -.bi-dash::before { content: "\f2ea"; } -.bi-diagram-2-fill::before { content: "\f2eb"; } -.bi-diagram-2::before { content: "\f2ec"; } -.bi-diagram-3-fill::before { content: "\f2ed"; } -.bi-diagram-3::before { content: "\f2ee"; } -.bi-diamond-fill::before { content: "\f2ef"; } -.bi-diamond-half::before { content: "\f2f0"; } -.bi-diamond::before { content: "\f2f1"; } -.bi-dice-1-fill::before { content: "\f2f2"; } -.bi-dice-1::before { content: "\f2f3"; } -.bi-dice-2-fill::before { content: "\f2f4"; } -.bi-dice-2::before { content: "\f2f5"; } -.bi-dice-3-fill::before { content: "\f2f6"; } -.bi-dice-3::before { content: "\f2f7"; } -.bi-dice-4-fill::before { content: "\f2f8"; } -.bi-dice-4::before { content: "\f2f9"; } -.bi-dice-5-fill::before { content: "\f2fa"; } -.bi-dice-5::before { content: "\f2fb"; } -.bi-dice-6-fill::before { content: "\f2fc"; } -.bi-dice-6::before { content: "\f2fd"; } -.bi-disc-fill::before { content: "\f2fe"; } -.bi-disc::before { content: "\f2ff"; } -.bi-discord::before { content: "\f300"; } -.bi-display-fill::before { content: "\f301"; } -.bi-display::before { content: "\f302"; } -.bi-distribute-horizontal::before { content: "\f303"; } -.bi-distribute-vertical::before { content: "\f304"; } -.bi-door-closed-fill::before { content: "\f305"; } -.bi-door-closed::before { content: "\f306"; } -.bi-door-open-fill::before { content: "\f307"; } -.bi-door-open::before { content: "\f308"; } -.bi-dot::before { content: "\f309"; } -.bi-download::before { content: "\f30a"; } -.bi-droplet-fill::before { content: "\f30b"; } -.bi-droplet-half::before { content: "\f30c"; } -.bi-droplet::before { content: "\f30d"; } -.bi-earbuds::before { content: "\f30e"; } -.bi-easel-fill::before { content: "\f30f"; } -.bi-easel::before { content: "\f310"; } -.bi-egg-fill::before { content: "\f311"; } -.bi-egg-fried::before { content: "\f312"; } -.bi-egg::before { content: "\f313"; } -.bi-eject-fill::before { content: "\f314"; } -.bi-eject::before { content: "\f315"; } -.bi-emoji-angry-fill::before { content: "\f316"; } -.bi-emoji-angry::before { content: "\f317"; } -.bi-emoji-dizzy-fill::before { content: "\f318"; } -.bi-emoji-dizzy::before { content: "\f319"; } -.bi-emoji-expressionless-fill::before { content: "\f31a"; } -.bi-emoji-expressionless::before { content: "\f31b"; } -.bi-emoji-frown-fill::before { content: "\f31c"; } -.bi-emoji-frown::before { content: "\f31d"; } -.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } -.bi-emoji-heart-eyes::before { content: "\f31f"; } -.bi-emoji-laughing-fill::before { content: "\f320"; } -.bi-emoji-laughing::before { content: "\f321"; } -.bi-emoji-neutral-fill::before { content: "\f322"; } -.bi-emoji-neutral::before { content: "\f323"; } -.bi-emoji-smile-fill::before { content: "\f324"; } -.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } -.bi-emoji-smile-upside-down::before { content: "\f326"; } -.bi-emoji-smile::before { content: "\f327"; } -.bi-emoji-sunglasses-fill::before { content: "\f328"; } -.bi-emoji-sunglasses::before { content: "\f329"; } -.bi-emoji-wink-fill::before { content: "\f32a"; } -.bi-emoji-wink::before { content: "\f32b"; } -.bi-envelope-fill::before { content: "\f32c"; } -.bi-envelope-open-fill::before { content: "\f32d"; } -.bi-envelope-open::before { content: "\f32e"; } -.bi-envelope::before { content: "\f32f"; } -.bi-eraser-fill::before { content: "\f330"; } -.bi-eraser::before { content: "\f331"; } -.bi-exclamation-circle-fill::before { content: "\f332"; } -.bi-exclamation-circle::before { content: "\f333"; } -.bi-exclamation-diamond-fill::before { content: "\f334"; } -.bi-exclamation-diamond::before { content: "\f335"; } -.bi-exclamation-octagon-fill::before { content: "\f336"; } -.bi-exclamation-octagon::before { content: "\f337"; } -.bi-exclamation-square-fill::before { content: "\f338"; } -.bi-exclamation-square::before { content: "\f339"; } -.bi-exclamation-triangle-fill::before { content: "\f33a"; } -.bi-exclamation-triangle::before { content: "\f33b"; } -.bi-exclamation::before { content: "\f33c"; } -.bi-exclude::before { content: "\f33d"; } -.bi-eye-fill::before { content: "\f33e"; } -.bi-eye-slash-fill::before { content: "\f33f"; } -.bi-eye-slash::before { content: "\f340"; } -.bi-eye::before { content: "\f341"; } -.bi-eyedropper::before { content: "\f342"; } -.bi-eyeglasses::before { content: "\f343"; } -.bi-facebook::before { content: "\f344"; } -.bi-file-arrow-down-fill::before { content: "\f345"; } -.bi-file-arrow-down::before { content: "\f346"; } -.bi-file-arrow-up-fill::before { content: "\f347"; } -.bi-file-arrow-up::before { content: "\f348"; } -.bi-file-bar-graph-fill::before { content: "\f349"; } -.bi-file-bar-graph::before { content: "\f34a"; } -.bi-file-binary-fill::before { content: "\f34b"; } -.bi-file-binary::before { content: "\f34c"; } -.bi-file-break-fill::before { content: "\f34d"; } -.bi-file-break::before { content: "\f34e"; } -.bi-file-check-fill::before { content: "\f34f"; } -.bi-file-check::before { content: "\f350"; } -.bi-file-code-fill::before { content: "\f351"; } -.bi-file-code::before { content: "\f352"; } -.bi-file-diff-fill::before { content: "\f353"; } -.bi-file-diff::before { content: "\f354"; } -.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } -.bi-file-earmark-arrow-down::before { content: "\f356"; } -.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } -.bi-file-earmark-arrow-up::before { content: "\f358"; } -.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } -.bi-file-earmark-bar-graph::before { content: "\f35a"; } -.bi-file-earmark-binary-fill::before { content: "\f35b"; } -.bi-file-earmark-binary::before { content: "\f35c"; } -.bi-file-earmark-break-fill::before { content: "\f35d"; } -.bi-file-earmark-break::before { content: "\f35e"; } -.bi-file-earmark-check-fill::before { content: "\f35f"; } -.bi-file-earmark-check::before { content: "\f360"; } -.bi-file-earmark-code-fill::before { content: "\f361"; } -.bi-file-earmark-code::before { content: "\f362"; } -.bi-file-earmark-diff-fill::before { content: "\f363"; } -.bi-file-earmark-diff::before { content: "\f364"; } -.bi-file-earmark-easel-fill::before { content: "\f365"; } -.bi-file-earmark-easel::before { content: "\f366"; } -.bi-file-earmark-excel-fill::before { content: "\f367"; } -.bi-file-earmark-excel::before { content: "\f368"; } -.bi-file-earmark-fill::before { content: "\f369"; } -.bi-file-earmark-font-fill::before { content: "\f36a"; } -.bi-file-earmark-font::before { content: "\f36b"; } -.bi-file-earmark-image-fill::before { content: "\f36c"; } -.bi-file-earmark-image::before { content: "\f36d"; } -.bi-file-earmark-lock-fill::before { content: "\f36e"; } -.bi-file-earmark-lock::before { content: "\f36f"; } -.bi-file-earmark-lock2-fill::before { content: "\f370"; } -.bi-file-earmark-lock2::before { content: "\f371"; } -.bi-file-earmark-medical-fill::before { content: "\f372"; } -.bi-file-earmark-medical::before { content: "\f373"; } -.bi-file-earmark-minus-fill::before { content: "\f374"; } -.bi-file-earmark-minus::before { content: "\f375"; } -.bi-file-earmark-music-fill::before { content: "\f376"; } -.bi-file-earmark-music::before { content: "\f377"; } -.bi-file-earmark-person-fill::before { content: "\f378"; } -.bi-file-earmark-person::before { content: "\f379"; } -.bi-file-earmark-play-fill::before { content: "\f37a"; } -.bi-file-earmark-play::before { content: "\f37b"; } -.bi-file-earmark-plus-fill::before { content: "\f37c"; } -.bi-file-earmark-plus::before { content: "\f37d"; } -.bi-file-earmark-post-fill::before { content: "\f37e"; } -.bi-file-earmark-post::before { content: "\f37f"; } -.bi-file-earmark-ppt-fill::before { content: "\f380"; } -.bi-file-earmark-ppt::before { content: "\f381"; } -.bi-file-earmark-richtext-fill::before { content: "\f382"; } -.bi-file-earmark-richtext::before { content: "\f383"; } -.bi-file-earmark-ruled-fill::before { content: "\f384"; } -.bi-file-earmark-ruled::before { content: "\f385"; } -.bi-file-earmark-slides-fill::before { content: "\f386"; } -.bi-file-earmark-slides::before { content: "\f387"; } -.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } -.bi-file-earmark-spreadsheet::before { content: "\f389"; } -.bi-file-earmark-text-fill::before { content: "\f38a"; } -.bi-file-earmark-text::before { content: "\f38b"; } -.bi-file-earmark-word-fill::before { content: "\f38c"; } -.bi-file-earmark-word::before { content: "\f38d"; } -.bi-file-earmark-x-fill::before { content: "\f38e"; } -.bi-file-earmark-x::before { content: "\f38f"; } -.bi-file-earmark-zip-fill::before { content: "\f390"; } -.bi-file-earmark-zip::before { content: "\f391"; } -.bi-file-earmark::before { content: "\f392"; } -.bi-file-easel-fill::before { content: "\f393"; } -.bi-file-easel::before { content: "\f394"; } -.bi-file-excel-fill::before { content: "\f395"; } -.bi-file-excel::before { content: "\f396"; } -.bi-file-fill::before { content: "\f397"; } -.bi-file-font-fill::before { content: "\f398"; } -.bi-file-font::before { content: "\f399"; } -.bi-file-image-fill::before { content: "\f39a"; } -.bi-file-image::before { content: "\f39b"; } -.bi-file-lock-fill::before { content: "\f39c"; } -.bi-file-lock::before { content: "\f39d"; } -.bi-file-lock2-fill::before { content: "\f39e"; } -.bi-file-lock2::before { content: "\f39f"; } -.bi-file-medical-fill::before { content: "\f3a0"; } -.bi-file-medical::before { content: "\f3a1"; } -.bi-file-minus-fill::before { content: "\f3a2"; } -.bi-file-minus::before { content: "\f3a3"; } -.bi-file-music-fill::before { content: "\f3a4"; } -.bi-file-music::before { content: "\f3a5"; } -.bi-file-person-fill::before { content: "\f3a6"; } -.bi-file-person::before { content: "\f3a7"; } -.bi-file-play-fill::before { content: "\f3a8"; } -.bi-file-play::before { content: "\f3a9"; } -.bi-file-plus-fill::before { content: "\f3aa"; } -.bi-file-plus::before { content: "\f3ab"; } -.bi-file-post-fill::before { content: "\f3ac"; } -.bi-file-post::before { content: "\f3ad"; } -.bi-file-ppt-fill::before { content: "\f3ae"; } -.bi-file-ppt::before { content: "\f3af"; } -.bi-file-richtext-fill::before { content: "\f3b0"; } -.bi-file-richtext::before { content: "\f3b1"; } -.bi-file-ruled-fill::before { content: "\f3b2"; } -.bi-file-ruled::before { content: "\f3b3"; } -.bi-file-slides-fill::before { content: "\f3b4"; } -.bi-file-slides::before { content: "\f3b5"; } -.bi-file-spreadsheet-fill::before { content: "\f3b6"; } -.bi-file-spreadsheet::before { content: "\f3b7"; } -.bi-file-text-fill::before { content: "\f3b8"; } -.bi-file-text::before { content: "\f3b9"; } -.bi-file-word-fill::before { content: "\f3ba"; } -.bi-file-word::before { content: "\f3bb"; } -.bi-file-x-fill::before { content: "\f3bc"; } -.bi-file-x::before { content: "\f3bd"; } -.bi-file-zip-fill::before { content: "\f3be"; } -.bi-file-zip::before { content: "\f3bf"; } -.bi-file::before { content: "\f3c0"; } -.bi-files-alt::before { content: "\f3c1"; } -.bi-files::before { content: "\f3c2"; } -.bi-film::before { content: "\f3c3"; } -.bi-filter-circle-fill::before { content: "\f3c4"; } -.bi-filter-circle::before { content: "\f3c5"; } -.bi-filter-left::before { content: "\f3c6"; } -.bi-filter-right::before { content: "\f3c7"; } -.bi-filter-square-fill::before { content: "\f3c8"; } -.bi-filter-square::before { content: "\f3c9"; } -.bi-filter::before { content: "\f3ca"; } -.bi-flag-fill::before { content: "\f3cb"; } -.bi-flag::before { content: "\f3cc"; } -.bi-flower1::before { content: "\f3cd"; } -.bi-flower2::before { content: "\f3ce"; } -.bi-flower3::before { content: "\f3cf"; } -.bi-folder-check::before { content: "\f3d0"; } -.bi-folder-fill::before { content: "\f3d1"; } -.bi-folder-minus::before { content: "\f3d2"; } -.bi-folder-plus::before { content: "\f3d3"; } -.bi-folder-symlink-fill::before { content: "\f3d4"; } -.bi-folder-symlink::before { content: "\f3d5"; } -.bi-folder-x::before { content: "\f3d6"; } -.bi-folder::before { content: "\f3d7"; } -.bi-folder2-open::before { content: "\f3d8"; } -.bi-folder2::before { content: "\f3d9"; } -.bi-fonts::before { content: "\f3da"; } -.bi-forward-fill::before { content: "\f3db"; } -.bi-forward::before { content: "\f3dc"; } -.bi-front::before { content: "\f3dd"; } -.bi-fullscreen-exit::before { content: "\f3de"; } -.bi-fullscreen::before { content: "\f3df"; } -.bi-funnel-fill::before { content: "\f3e0"; } -.bi-funnel::before { content: "\f3e1"; } -.bi-gear-fill::before { content: "\f3e2"; } -.bi-gear-wide-connected::before { content: "\f3e3"; } -.bi-gear-wide::before { content: "\f3e4"; } -.bi-gear::before { content: "\f3e5"; } -.bi-gem::before { content: "\f3e6"; } -.bi-geo-alt-fill::before { content: "\f3e7"; } -.bi-geo-alt::before { content: "\f3e8"; } -.bi-geo-fill::before { content: "\f3e9"; } -.bi-geo::before { content: "\f3ea"; } -.bi-gift-fill::before { content: "\f3eb"; } -.bi-gift::before { content: "\f3ec"; } -.bi-github::before { content: "\f3ed"; } -.bi-globe::before { content: "\f3ee"; } -.bi-globe2::before { content: "\f3ef"; } -.bi-google::before { content: "\f3f0"; } -.bi-graph-down::before { content: "\f3f1"; } -.bi-graph-up::before { content: "\f3f2"; } -.bi-grid-1x2-fill::before { content: "\f3f3"; } -.bi-grid-1x2::before { content: "\f3f4"; } -.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } -.bi-grid-3x2-gap::before { content: "\f3f6"; } -.bi-grid-3x2::before { content: "\f3f7"; } -.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } -.bi-grid-3x3-gap::before { content: "\f3f9"; } -.bi-grid-3x3::before { content: "\f3fa"; } -.bi-grid-fill::before { content: "\f3fb"; } -.bi-grid::before { content: "\f3fc"; } -.bi-grip-horizontal::before { content: "\f3fd"; } -.bi-grip-vertical::before { content: "\f3fe"; } -.bi-hammer::before { content: "\f3ff"; } -.bi-hand-index-fill::before { content: "\f400"; } -.bi-hand-index-thumb-fill::before { content: "\f401"; } -.bi-hand-index-thumb::before { content: "\f402"; } -.bi-hand-index::before { content: "\f403"; } -.bi-hand-thumbs-down-fill::before { content: "\f404"; } -.bi-hand-thumbs-down::before { content: "\f405"; } -.bi-hand-thumbs-up-fill::before { content: "\f406"; } -.bi-hand-thumbs-up::before { content: "\f407"; } -.bi-handbag-fill::before { content: "\f408"; } -.bi-handbag::before { content: "\f409"; } -.bi-hash::before { content: "\f40a"; } -.bi-hdd-fill::before { content: "\f40b"; } -.bi-hdd-network-fill::before { content: "\f40c"; } -.bi-hdd-network::before { content: "\f40d"; } -.bi-hdd-rack-fill::before { content: "\f40e"; } -.bi-hdd-rack::before { content: "\f40f"; } -.bi-hdd-stack-fill::before { content: "\f410"; } -.bi-hdd-stack::before { content: "\f411"; } -.bi-hdd::before { content: "\f412"; } -.bi-headphones::before { content: "\f413"; } -.bi-headset::before { content: "\f414"; } -.bi-heart-fill::before { content: "\f415"; } -.bi-heart-half::before { content: "\f416"; } -.bi-heart::before { content: "\f417"; } -.bi-heptagon-fill::before { content: "\f418"; } -.bi-heptagon-half::before { content: "\f419"; } -.bi-heptagon::before { content: "\f41a"; } -.bi-hexagon-fill::before { content: "\f41b"; } -.bi-hexagon-half::before { content: "\f41c"; } -.bi-hexagon::before { content: "\f41d"; } -.bi-hourglass-bottom::before { content: "\f41e"; } -.bi-hourglass-split::before { content: "\f41f"; } -.bi-hourglass-top::before { content: "\f420"; } -.bi-hourglass::before { content: "\f421"; } -.bi-house-door-fill::before { content: "\f422"; } -.bi-house-door::before { content: "\f423"; } -.bi-house-fill::before { content: "\f424"; } -.bi-house::before { content: "\f425"; } -.bi-hr::before { content: "\f426"; } -.bi-hurricane::before { content: "\f427"; } -.bi-image-alt::before { content: "\f428"; } -.bi-image-fill::before { content: "\f429"; } -.bi-image::before { content: "\f42a"; } -.bi-images::before { content: "\f42b"; } -.bi-inbox-fill::before { content: "\f42c"; } -.bi-inbox::before { content: "\f42d"; } -.bi-inboxes-fill::before { content: "\f42e"; } -.bi-inboxes::before { content: "\f42f"; } -.bi-info-circle-fill::before { content: "\f430"; } -.bi-info-circle::before { content: "\f431"; } -.bi-info-square-fill::before { content: "\f432"; } -.bi-info-square::before { content: "\f433"; } -.bi-info::before { content: "\f434"; } -.bi-input-cursor-text::before { content: "\f435"; } -.bi-input-cursor::before { content: "\f436"; } -.bi-instagram::before { content: "\f437"; } -.bi-intersect::before { content: "\f438"; } -.bi-journal-album::before { content: "\f439"; } -.bi-journal-arrow-down::before { content: "\f43a"; } -.bi-journal-arrow-up::before { content: "\f43b"; } -.bi-journal-bookmark-fill::before { content: "\f43c"; } -.bi-journal-bookmark::before { content: "\f43d"; } -.bi-journal-check::before { content: "\f43e"; } -.bi-journal-code::before { content: "\f43f"; } -.bi-journal-medical::before { content: "\f440"; } -.bi-journal-minus::before { content: "\f441"; } -.bi-journal-plus::before { content: "\f442"; } -.bi-journal-richtext::before { content: "\f443"; } -.bi-journal-text::before { content: "\f444"; } -.bi-journal-x::before { content: "\f445"; } -.bi-journal::before { content: "\f446"; } -.bi-journals::before { content: "\f447"; } -.bi-joystick::before { content: "\f448"; } -.bi-justify-left::before { content: "\f449"; } -.bi-justify-right::before { content: "\f44a"; } -.bi-justify::before { content: "\f44b"; } -.bi-kanban-fill::before { content: "\f44c"; } -.bi-kanban::before { content: "\f44d"; } -.bi-key-fill::before { content: "\f44e"; } -.bi-key::before { content: "\f44f"; } -.bi-keyboard-fill::before { content: "\f450"; } -.bi-keyboard::before { content: "\f451"; } -.bi-ladder::before { content: "\f452"; } -.bi-lamp-fill::before { content: "\f453"; } -.bi-lamp::before { content: "\f454"; } -.bi-laptop-fill::before { content: "\f455"; } -.bi-laptop::before { content: "\f456"; } -.bi-layer-backward::before { content: "\f457"; } -.bi-layer-forward::before { content: "\f458"; } -.bi-layers-fill::before { content: "\f459"; } -.bi-layers-half::before { content: "\f45a"; } -.bi-layers::before { content: "\f45b"; } -.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } -.bi-layout-sidebar-inset::before { content: "\f45d"; } -.bi-layout-sidebar-reverse::before { content: "\f45e"; } -.bi-layout-sidebar::before { content: "\f45f"; } -.bi-layout-split::before { content: "\f460"; } -.bi-layout-text-sidebar-reverse::before { content: "\f461"; } -.bi-layout-text-sidebar::before { content: "\f462"; } -.bi-layout-text-window-reverse::before { content: "\f463"; } -.bi-layout-text-window::before { content: "\f464"; } -.bi-layout-three-columns::before { content: "\f465"; } -.bi-layout-wtf::before { content: "\f466"; } -.bi-life-preserver::before { content: "\f467"; } -.bi-lightbulb-fill::before { content: "\f468"; } -.bi-lightbulb-off-fill::before { content: "\f469"; } -.bi-lightbulb-off::before { content: "\f46a"; } -.bi-lightbulb::before { content: "\f46b"; } -.bi-lightning-charge-fill::before { content: "\f46c"; } -.bi-lightning-charge::before { content: "\f46d"; } -.bi-lightning-fill::before { content: "\f46e"; } -.bi-lightning::before { content: "\f46f"; } -.bi-link-45deg::before { content: "\f470"; } -.bi-link::before { content: "\f471"; } -.bi-linkedin::before { content: "\f472"; } -.bi-list-check::before { content: "\f473"; } -.bi-list-nested::before { content: "\f474"; } -.bi-list-ol::before { content: "\f475"; } -.bi-list-stars::before { content: "\f476"; } -.bi-list-task::before { content: "\f477"; } -.bi-list-ul::before { content: "\f478"; } -.bi-list::before { content: "\f479"; } -.bi-lock-fill::before { content: "\f47a"; } -.bi-lock::before { content: "\f47b"; } -.bi-mailbox::before { content: "\f47c"; } -.bi-mailbox2::before { content: "\f47d"; } -.bi-map-fill::before { content: "\f47e"; } -.bi-map::before { content: "\f47f"; } -.bi-markdown-fill::before { content: "\f480"; } -.bi-markdown::before { content: "\f481"; } -.bi-mask::before { content: "\f482"; } -.bi-megaphone-fill::before { content: "\f483"; } -.bi-megaphone::before { content: "\f484"; } -.bi-menu-app-fill::before { content: "\f485"; } -.bi-menu-app::before { content: "\f486"; } -.bi-menu-button-fill::before { content: "\f487"; } -.bi-menu-button-wide-fill::before { content: "\f488"; } -.bi-menu-button-wide::before { content: "\f489"; } -.bi-menu-button::before { content: "\f48a"; } -.bi-menu-down::before { content: "\f48b"; } -.bi-menu-up::before { content: "\f48c"; } -.bi-mic-fill::before { content: "\f48d"; } -.bi-mic-mute-fill::before { content: "\f48e"; } -.bi-mic-mute::before { content: "\f48f"; } -.bi-mic::before { content: "\f490"; } -.bi-minecart-loaded::before { content: "\f491"; } -.bi-minecart::before { content: "\f492"; } -.bi-moisture::before { content: "\f493"; } -.bi-moon-fill::before { content: "\f494"; } -.bi-moon-stars-fill::before { content: "\f495"; } -.bi-moon-stars::before { content: "\f496"; } -.bi-moon::before { content: "\f497"; } -.bi-mouse-fill::before { content: "\f498"; } -.bi-mouse::before { content: "\f499"; } -.bi-mouse2-fill::before { content: "\f49a"; } -.bi-mouse2::before { content: "\f49b"; } -.bi-mouse3-fill::before { content: "\f49c"; } -.bi-mouse3::before { content: "\f49d"; } -.bi-music-note-beamed::before { content: "\f49e"; } -.bi-music-note-list::before { content: "\f49f"; } -.bi-music-note::before { content: "\f4a0"; } -.bi-music-player-fill::before { content: "\f4a1"; } -.bi-music-player::before { content: "\f4a2"; } -.bi-newspaper::before { content: "\f4a3"; } -.bi-node-minus-fill::before { content: "\f4a4"; } -.bi-node-minus::before { content: "\f4a5"; } -.bi-node-plus-fill::before { content: "\f4a6"; } -.bi-node-plus::before { content: "\f4a7"; } -.bi-nut-fill::before { content: "\f4a8"; } -.bi-nut::before { content: "\f4a9"; } -.bi-octagon-fill::before { content: "\f4aa"; } -.bi-octagon-half::before { content: "\f4ab"; } -.bi-octagon::before { content: "\f4ac"; } -.bi-option::before { content: "\f4ad"; } -.bi-outlet::before { content: "\f4ae"; } -.bi-paint-bucket::before { content: "\f4af"; } -.bi-palette-fill::before { content: "\f4b0"; } -.bi-palette::before { content: "\f4b1"; } -.bi-palette2::before { content: "\f4b2"; } -.bi-paperclip::before { content: "\f4b3"; } -.bi-paragraph::before { content: "\f4b4"; } -.bi-patch-check-fill::before { content: "\f4b5"; } -.bi-patch-check::before { content: "\f4b6"; } -.bi-patch-exclamation-fill::before { content: "\f4b7"; } -.bi-patch-exclamation::before { content: "\f4b8"; } -.bi-patch-minus-fill::before { content: "\f4b9"; } -.bi-patch-minus::before { content: "\f4ba"; } -.bi-patch-plus-fill::before { content: "\f4bb"; } -.bi-patch-plus::before { content: "\f4bc"; } -.bi-patch-question-fill::before { content: "\f4bd"; } -.bi-patch-question::before { content: "\f4be"; } -.bi-pause-btn-fill::before { content: "\f4bf"; } -.bi-pause-btn::before { content: "\f4c0"; } -.bi-pause-circle-fill::before { content: "\f4c1"; } -.bi-pause-circle::before { content: "\f4c2"; } -.bi-pause-fill::before { content: "\f4c3"; } -.bi-pause::before { content: "\f4c4"; } -.bi-peace-fill::before { content: "\f4c5"; } -.bi-peace::before { content: "\f4c6"; } -.bi-pen-fill::before { content: "\f4c7"; } -.bi-pen::before { content: "\f4c8"; } -.bi-pencil-fill::before { content: "\f4c9"; } -.bi-pencil-square::before { content: "\f4ca"; } -.bi-pencil::before { content: "\f4cb"; } -.bi-pentagon-fill::before { content: "\f4cc"; } -.bi-pentagon-half::before { content: "\f4cd"; } -.bi-pentagon::before { content: "\f4ce"; } -.bi-people-fill::before { content: "\f4cf"; } -.bi-people::before { content: "\f4d0"; } -.bi-percent::before { content: "\f4d1"; } -.bi-person-badge-fill::before { content: "\f4d2"; } -.bi-person-badge::before { content: "\f4d3"; } -.bi-person-bounding-box::before { content: "\f4d4"; } -.bi-person-check-fill::before { content: "\f4d5"; } -.bi-person-check::before { content: "\f4d6"; } -.bi-person-circle::before { content: "\f4d7"; } -.bi-person-dash-fill::before { content: "\f4d8"; } -.bi-person-dash::before { content: "\f4d9"; } -.bi-person-fill::before { content: "\f4da"; } -.bi-person-lines-fill::before { content: "\f4db"; } -.bi-person-plus-fill::before { content: "\f4dc"; } -.bi-person-plus::before { content: "\f4dd"; } -.bi-person-square::before { content: "\f4de"; } -.bi-person-x-fill::before { content: "\f4df"; } -.bi-person-x::before { content: "\f4e0"; } -.bi-person::before { content: "\f4e1"; } -.bi-phone-fill::before { content: "\f4e2"; } -.bi-phone-landscape-fill::before { content: "\f4e3"; } -.bi-phone-landscape::before { content: "\f4e4"; } -.bi-phone-vibrate-fill::before { content: "\f4e5"; } -.bi-phone-vibrate::before { content: "\f4e6"; } -.bi-phone::before { content: "\f4e7"; } -.bi-pie-chart-fill::before { content: "\f4e8"; } -.bi-pie-chart::before { content: "\f4e9"; } -.bi-pin-angle-fill::before { content: "\f4ea"; } -.bi-pin-angle::before { content: "\f4eb"; } -.bi-pin-fill::before { content: "\f4ec"; } -.bi-pin::before { content: "\f4ed"; } -.bi-pip-fill::before { content: "\f4ee"; } -.bi-pip::before { content: "\f4ef"; } -.bi-play-btn-fill::before { content: "\f4f0"; } -.bi-play-btn::before { content: "\f4f1"; } -.bi-play-circle-fill::before { content: "\f4f2"; } -.bi-play-circle::before { content: "\f4f3"; } -.bi-play-fill::before { content: "\f4f4"; } -.bi-play::before { content: "\f4f5"; } -.bi-plug-fill::before { content: "\f4f6"; } -.bi-plug::before { content: "\f4f7"; } -.bi-plus-circle-dotted::before { content: "\f4f8"; } -.bi-plus-circle-fill::before { content: "\f4f9"; } -.bi-plus-circle::before { content: "\f4fa"; } -.bi-plus-square-dotted::before { content: "\f4fb"; } -.bi-plus-square-fill::before { content: "\f4fc"; } -.bi-plus-square::before { content: "\f4fd"; } -.bi-plus::before { content: "\f4fe"; } -.bi-power::before { content: "\f4ff"; } -.bi-printer-fill::before { content: "\f500"; } -.bi-printer::before { content: "\f501"; } -.bi-puzzle-fill::before { content: "\f502"; } -.bi-puzzle::before { content: "\f503"; } -.bi-question-circle-fill::before { content: "\f504"; } -.bi-question-circle::before { content: "\f505"; } -.bi-question-diamond-fill::before { content: "\f506"; } -.bi-question-diamond::before { content: "\f507"; } -.bi-question-octagon-fill::before { content: "\f508"; } -.bi-question-octagon::before { content: "\f509"; } -.bi-question-square-fill::before { content: "\f50a"; } -.bi-question-square::before { content: "\f50b"; } -.bi-question::before { content: "\f50c"; } -.bi-rainbow::before { content: "\f50d"; } -.bi-receipt-cutoff::before { content: "\f50e"; } -.bi-receipt::before { content: "\f50f"; } -.bi-reception-0::before { content: "\f510"; } -.bi-reception-1::before { content: "\f511"; } -.bi-reception-2::before { content: "\f512"; } -.bi-reception-3::before { content: "\f513"; } -.bi-reception-4::before { content: "\f514"; } -.bi-record-btn-fill::before { content: "\f515"; } -.bi-record-btn::before { content: "\f516"; } -.bi-record-circle-fill::before { content: "\f517"; } -.bi-record-circle::before { content: "\f518"; } -.bi-record-fill::before { content: "\f519"; } -.bi-record::before { content: "\f51a"; } -.bi-record2-fill::before { content: "\f51b"; } -.bi-record2::before { content: "\f51c"; } -.bi-reply-all-fill::before { content: "\f51d"; } -.bi-reply-all::before { content: "\f51e"; } -.bi-reply-fill::before { content: "\f51f"; } -.bi-reply::before { content: "\f520"; } -.bi-rss-fill::before { content: "\f521"; } -.bi-rss::before { content: "\f522"; } -.bi-rulers::before { content: "\f523"; } -.bi-save-fill::before { content: "\f524"; } -.bi-save::before { content: "\f525"; } -.bi-save2-fill::before { content: "\f526"; } -.bi-save2::before { content: "\f527"; } -.bi-scissors::before { content: "\f528"; } -.bi-screwdriver::before { content: "\f529"; } -.bi-search::before { content: "\f52a"; } -.bi-segmented-nav::before { content: "\f52b"; } -.bi-server::before { content: "\f52c"; } -.bi-share-fill::before { content: "\f52d"; } -.bi-share::before { content: "\f52e"; } -.bi-shield-check::before { content: "\f52f"; } -.bi-shield-exclamation::before { content: "\f530"; } -.bi-shield-fill-check::before { content: "\f531"; } -.bi-shield-fill-exclamation::before { content: "\f532"; } -.bi-shield-fill-minus::before { content: "\f533"; } -.bi-shield-fill-plus::before { content: "\f534"; } -.bi-shield-fill-x::before { content: "\f535"; } -.bi-shield-fill::before { content: "\f536"; } -.bi-shield-lock-fill::before { content: "\f537"; } -.bi-shield-lock::before { content: "\f538"; } -.bi-shield-minus::before { content: "\f539"; } -.bi-shield-plus::before { content: "\f53a"; } -.bi-shield-shaded::before { content: "\f53b"; } -.bi-shield-slash-fill::before { content: "\f53c"; } -.bi-shield-slash::before { content: "\f53d"; } -.bi-shield-x::before { content: "\f53e"; } -.bi-shield::before { content: "\f53f"; } -.bi-shift-fill::before { content: "\f540"; } -.bi-shift::before { content: "\f541"; } -.bi-shop-window::before { content: "\f542"; } -.bi-shop::before { content: "\f543"; } -.bi-shuffle::before { content: "\f544"; } -.bi-signpost-2-fill::before { content: "\f545"; } -.bi-signpost-2::before { content: "\f546"; } -.bi-signpost-fill::before { content: "\f547"; } -.bi-signpost-split-fill::before { content: "\f548"; } -.bi-signpost-split::before { content: "\f549"; } -.bi-signpost::before { content: "\f54a"; } -.bi-sim-fill::before { content: "\f54b"; } -.bi-sim::before { content: "\f54c"; } -.bi-skip-backward-btn-fill::before { content: "\f54d"; } -.bi-skip-backward-btn::before { content: "\f54e"; } -.bi-skip-backward-circle-fill::before { content: "\f54f"; } -.bi-skip-backward-circle::before { content: "\f550"; } -.bi-skip-backward-fill::before { content: "\f551"; } -.bi-skip-backward::before { content: "\f552"; } -.bi-skip-end-btn-fill::before { content: "\f553"; } -.bi-skip-end-btn::before { content: "\f554"; } -.bi-skip-end-circle-fill::before { content: "\f555"; } -.bi-skip-end-circle::before { content: "\f556"; } -.bi-skip-end-fill::before { content: "\f557"; } -.bi-skip-end::before { content: "\f558"; } -.bi-skip-forward-btn-fill::before { content: "\f559"; } -.bi-skip-forward-btn::before { content: "\f55a"; } -.bi-skip-forward-circle-fill::before { content: "\f55b"; } -.bi-skip-forward-circle::before { content: "\f55c"; } -.bi-skip-forward-fill::before { content: "\f55d"; } -.bi-skip-forward::before { content: "\f55e"; } -.bi-skip-start-btn-fill::before { content: "\f55f"; } -.bi-skip-start-btn::before { content: "\f560"; } -.bi-skip-start-circle-fill::before { content: "\f561"; } -.bi-skip-start-circle::before { content: "\f562"; } -.bi-skip-start-fill::before { content: "\f563"; } -.bi-skip-start::before { content: "\f564"; } -.bi-slack::before { content: "\f565"; } -.bi-slash-circle-fill::before { content: "\f566"; } -.bi-slash-circle::before { content: "\f567"; } -.bi-slash-square-fill::before { content: "\f568"; } -.bi-slash-square::before { content: "\f569"; } -.bi-slash::before { content: "\f56a"; } -.bi-sliders::before { content: "\f56b"; } -.bi-smartwatch::before { content: "\f56c"; } -.bi-snow::before { content: "\f56d"; } -.bi-snow2::before { content: "\f56e"; } -.bi-snow3::before { content: "\f56f"; } -.bi-sort-alpha-down-alt::before { content: "\f570"; } -.bi-sort-alpha-down::before { content: "\f571"; } -.bi-sort-alpha-up-alt::before { content: "\f572"; } -.bi-sort-alpha-up::before { content: "\f573"; } -.bi-sort-down-alt::before { content: "\f574"; } -.bi-sort-down::before { content: "\f575"; } -.bi-sort-numeric-down-alt::before { content: "\f576"; } -.bi-sort-numeric-down::before { content: "\f577"; } -.bi-sort-numeric-up-alt::before { content: "\f578"; } -.bi-sort-numeric-up::before { content: "\f579"; } -.bi-sort-up-alt::before { content: "\f57a"; } -.bi-sort-up::before { content: "\f57b"; } -.bi-soundwave::before { content: "\f57c"; } -.bi-speaker-fill::before { content: "\f57d"; } -.bi-speaker::before { content: "\f57e"; } -.bi-speedometer::before { content: "\f57f"; } -.bi-speedometer2::before { content: "\f580"; } -.bi-spellcheck::before { content: "\f581"; } -.bi-square-fill::before { content: "\f582"; } -.bi-square-half::before { content: "\f583"; } -.bi-square::before { content: "\f584"; } -.bi-stack::before { content: "\f585"; } -.bi-star-fill::before { content: "\f586"; } -.bi-star-half::before { content: "\f587"; } -.bi-star::before { content: "\f588"; } -.bi-stars::before { content: "\f589"; } -.bi-stickies-fill::before { content: "\f58a"; } -.bi-stickies::before { content: "\f58b"; } -.bi-sticky-fill::before { content: "\f58c"; } -.bi-sticky::before { content: "\f58d"; } -.bi-stop-btn-fill::before { content: "\f58e"; } -.bi-stop-btn::before { content: "\f58f"; } -.bi-stop-circle-fill::before { content: "\f590"; } -.bi-stop-circle::before { content: "\f591"; } -.bi-stop-fill::before { content: "\f592"; } -.bi-stop::before { content: "\f593"; } -.bi-stoplights-fill::before { content: "\f594"; } -.bi-stoplights::before { content: "\f595"; } -.bi-stopwatch-fill::before { content: "\f596"; } -.bi-stopwatch::before { content: "\f597"; } -.bi-subtract::before { content: "\f598"; } -.bi-suit-club-fill::before { content: "\f599"; } -.bi-suit-club::before { content: "\f59a"; } -.bi-suit-diamond-fill::before { content: "\f59b"; } -.bi-suit-diamond::before { content: "\f59c"; } -.bi-suit-heart-fill::before { content: "\f59d"; } -.bi-suit-heart::before { content: "\f59e"; } -.bi-suit-spade-fill::before { content: "\f59f"; } -.bi-suit-spade::before { content: "\f5a0"; } -.bi-sun-fill::before { content: "\f5a1"; } -.bi-sun::before { content: "\f5a2"; } -.bi-sunglasses::before { content: "\f5a3"; } -.bi-sunrise-fill::before { content: "\f5a4"; } -.bi-sunrise::before { content: "\f5a5"; } -.bi-sunset-fill::before { content: "\f5a6"; } -.bi-sunset::before { content: "\f5a7"; } -.bi-symmetry-horizontal::before { content: "\f5a8"; } -.bi-symmetry-vertical::before { content: "\f5a9"; } -.bi-table::before { content: "\f5aa"; } -.bi-tablet-fill::before { content: "\f5ab"; } -.bi-tablet-landscape-fill::before { content: "\f5ac"; } -.bi-tablet-landscape::before { content: "\f5ad"; } -.bi-tablet::before { content: "\f5ae"; } -.bi-tag-fill::before { content: "\f5af"; } -.bi-tag::before { content: "\f5b0"; } -.bi-tags-fill::before { content: "\f5b1"; } -.bi-tags::before { content: "\f5b2"; } -.bi-telegram::before { content: "\f5b3"; } -.bi-telephone-fill::before { content: "\f5b4"; } -.bi-telephone-forward-fill::before { content: "\f5b5"; } -.bi-telephone-forward::before { content: "\f5b6"; } -.bi-telephone-inbound-fill::before { content: "\f5b7"; } -.bi-telephone-inbound::before { content: "\f5b8"; } -.bi-telephone-minus-fill::before { content: "\f5b9"; } -.bi-telephone-minus::before { content: "\f5ba"; } -.bi-telephone-outbound-fill::before { content: "\f5bb"; } -.bi-telephone-outbound::before { content: "\f5bc"; } -.bi-telephone-plus-fill::before { content: "\f5bd"; } -.bi-telephone-plus::before { content: "\f5be"; } -.bi-telephone-x-fill::before { content: "\f5bf"; } -.bi-telephone-x::before { content: "\f5c0"; } -.bi-telephone::before { content: "\f5c1"; } -.bi-terminal-fill::before { content: "\f5c2"; } -.bi-terminal::before { content: "\f5c3"; } -.bi-text-center::before { content: "\f5c4"; } -.bi-text-indent-left::before { content: "\f5c5"; } -.bi-text-indent-right::before { content: "\f5c6"; } -.bi-text-left::before { content: "\f5c7"; } -.bi-text-paragraph::before { content: "\f5c8"; } -.bi-text-right::before { content: "\f5c9"; } -.bi-textarea-resize::before { content: "\f5ca"; } -.bi-textarea-t::before { content: "\f5cb"; } -.bi-textarea::before { content: "\f5cc"; } -.bi-thermometer-half::before { content: "\f5cd"; } -.bi-thermometer-high::before { content: "\f5ce"; } -.bi-thermometer-low::before { content: "\f5cf"; } -.bi-thermometer-snow::before { content: "\f5d0"; } -.bi-thermometer-sun::before { content: "\f5d1"; } -.bi-thermometer::before { content: "\f5d2"; } -.bi-three-dots-vertical::before { content: "\f5d3"; } -.bi-three-dots::before { content: "\f5d4"; } -.bi-toggle-off::before { content: "\f5d5"; } -.bi-toggle-on::before { content: "\f5d6"; } -.bi-toggle2-off::before { content: "\f5d7"; } -.bi-toggle2-on::before { content: "\f5d8"; } -.bi-toggles::before { content: "\f5d9"; } -.bi-toggles2::before { content: "\f5da"; } -.bi-tools::before { content: "\f5db"; } -.bi-tornado::before { content: "\f5dc"; } -.bi-trash-fill::before { content: "\f5dd"; } -.bi-trash::before { content: "\f5de"; } -.bi-trash2-fill::before { content: "\f5df"; } -.bi-trash2::before { content: "\f5e0"; } -.bi-tree-fill::before { content: "\f5e1"; } -.bi-tree::before { content: "\f5e2"; } -.bi-triangle-fill::before { content: "\f5e3"; } -.bi-triangle-half::before { content: "\f5e4"; } -.bi-triangle::before { content: "\f5e5"; } -.bi-trophy-fill::before { content: "\f5e6"; } -.bi-trophy::before { content: "\f5e7"; } -.bi-tropical-storm::before { content: "\f5e8"; } -.bi-truck-flatbed::before { content: "\f5e9"; } -.bi-truck::before { content: "\f5ea"; } -.bi-tsunami::before { content: "\f5eb"; } -.bi-tv-fill::before { content: "\f5ec"; } -.bi-tv::before { content: "\f5ed"; } -.bi-twitch::before { content: "\f5ee"; } -.bi-twitter::before { content: "\f5ef"; } -.bi-type-bold::before { content: "\f5f0"; } -.bi-type-h1::before { content: "\f5f1"; } -.bi-type-h2::before { content: "\f5f2"; } -.bi-type-h3::before { content: "\f5f3"; } -.bi-type-italic::before { content: "\f5f4"; } -.bi-type-strikethrough::before { content: "\f5f5"; } -.bi-type-underline::before { content: "\f5f6"; } -.bi-type::before { content: "\f5f7"; } -.bi-ui-checks-grid::before { content: "\f5f8"; } -.bi-ui-checks::before { content: "\f5f9"; } -.bi-ui-radios-grid::before { content: "\f5fa"; } -.bi-ui-radios::before { content: "\f5fb"; } -.bi-umbrella-fill::before { content: "\f5fc"; } -.bi-umbrella::before { content: "\f5fd"; } -.bi-union::before { content: "\f5fe"; } -.bi-unlock-fill::before { content: "\f5ff"; } -.bi-unlock::before { content: "\f600"; } -.bi-upc-scan::before { content: "\f601"; } -.bi-upc::before { content: "\f602"; } -.bi-upload::before { content: "\f603"; } -.bi-vector-pen::before { content: "\f604"; } -.bi-view-list::before { content: "\f605"; } -.bi-view-stacked::before { content: "\f606"; } -.bi-vinyl-fill::before { content: "\f607"; } -.bi-vinyl::before { content: "\f608"; } -.bi-voicemail::before { content: "\f609"; } -.bi-volume-down-fill::before { content: "\f60a"; } -.bi-volume-down::before { content: "\f60b"; } -.bi-volume-mute-fill::before { content: "\f60c"; } -.bi-volume-mute::before { content: "\f60d"; } -.bi-volume-off-fill::before { content: "\f60e"; } -.bi-volume-off::before { content: "\f60f"; } -.bi-volume-up-fill::before { content: "\f610"; } -.bi-volume-up::before { content: "\f611"; } -.bi-vr::before { content: "\f612"; } -.bi-wallet-fill::before { content: "\f613"; } -.bi-wallet::before { content: "\f614"; } -.bi-wallet2::before { content: "\f615"; } -.bi-watch::before { content: "\f616"; } -.bi-water::before { content: "\f617"; } -.bi-whatsapp::before { content: "\f618"; } -.bi-wifi-1::before { content: "\f619"; } -.bi-wifi-2::before { content: "\f61a"; } -.bi-wifi-off::before { content: "\f61b"; } -.bi-wifi::before { content: "\f61c"; } -.bi-wind::before { content: "\f61d"; } -.bi-window-dock::before { content: "\f61e"; } -.bi-window-sidebar::before { content: "\f61f"; } -.bi-window::before { content: "\f620"; } -.bi-wrench::before { content: "\f621"; } -.bi-x-circle-fill::before { content: "\f622"; } -.bi-x-circle::before { content: "\f623"; } -.bi-x-diamond-fill::before { content: "\f624"; } -.bi-x-diamond::before { content: "\f625"; } -.bi-x-octagon-fill::before { content: "\f626"; } -.bi-x-octagon::before { content: "\f627"; } -.bi-x-square-fill::before { content: "\f628"; } -.bi-x-square::before { content: "\f629"; } -.bi-x::before { content: "\f62a"; } -.bi-youtube::before { content: "\f62b"; } -.bi-zoom-in::before { content: "\f62c"; } -.bi-zoom-out::before { content: "\f62d"; } -.bi-bank::before { content: "\f62e"; } -.bi-bank2::before { content: "\f62f"; } -.bi-bell-slash-fill::before { content: "\f630"; } -.bi-bell-slash::before { content: "\f631"; } -.bi-cash-coin::before { content: "\f632"; } -.bi-check-lg::before { content: "\f633"; } -.bi-coin::before { content: "\f634"; } -.bi-currency-bitcoin::before { content: "\f635"; } -.bi-currency-dollar::before { content: "\f636"; } -.bi-currency-euro::before { content: "\f637"; } -.bi-currency-exchange::before { content: "\f638"; } -.bi-currency-pound::before { content: "\f639"; } -.bi-currency-yen::before { content: "\f63a"; } -.bi-dash-lg::before { content: "\f63b"; } -.bi-exclamation-lg::before { content: "\f63c"; } -.bi-file-earmark-pdf-fill::before { content: "\f63d"; } -.bi-file-earmark-pdf::before { content: "\f63e"; } -.bi-file-pdf-fill::before { content: "\f63f"; } -.bi-file-pdf::before { content: "\f640"; } -.bi-gender-ambiguous::before { content: "\f641"; } -.bi-gender-female::before { content: "\f642"; } -.bi-gender-male::before { content: "\f643"; } -.bi-gender-trans::before { content: "\f644"; } -.bi-headset-vr::before { content: "\f645"; } -.bi-info-lg::before { content: "\f646"; } -.bi-mastodon::before { content: "\f647"; } -.bi-messenger::before { content: "\f648"; } -.bi-piggy-bank-fill::before { content: "\f649"; } -.bi-piggy-bank::before { content: "\f64a"; } -.bi-pin-map-fill::before { content: "\f64b"; } -.bi-pin-map::before { content: "\f64c"; } -.bi-plus-lg::before { content: "\f64d"; } -.bi-question-lg::before { content: "\f64e"; } -.bi-recycle::before { content: "\f64f"; } -.bi-reddit::before { content: "\f650"; } -.bi-safe-fill::before { content: "\f651"; } -.bi-safe2-fill::before { content: "\f652"; } -.bi-safe2::before { content: "\f653"; } -.bi-sd-card-fill::before { content: "\f654"; } -.bi-sd-card::before { content: "\f655"; } -.bi-skype::before { content: "\f656"; } -.bi-slash-lg::before { content: "\f657"; } -.bi-translate::before { content: "\f658"; } -.bi-x-lg::before { content: "\f659"; } -.bi-safe::before { content: "\f65a"; } -.bi-apple::before { content: "\f65b"; } -.bi-microsoft::before { content: "\f65d"; } -.bi-windows::before { content: "\f65e"; } -.bi-behance::before { content: "\f65c"; } -.bi-dribbble::before { content: "\f65f"; } -.bi-line::before { content: "\f660"; } -.bi-medium::before { content: "\f661"; } -.bi-paypal::before { content: "\f662"; } -.bi-pinterest::before { content: "\f663"; } -.bi-signal::before { content: "\f664"; } -.bi-snapchat::before { content: "\f665"; } -.bi-spotify::before { content: "\f666"; } -.bi-stack-overflow::before { content: "\f667"; } -.bi-strava::before { content: "\f668"; } -.bi-wordpress::before { content: "\f669"; } -.bi-vimeo::before { content: "\f66a"; } -.bi-activity::before { content: "\f66b"; } -.bi-easel2-fill::before { content: "\f66c"; } -.bi-easel2::before { content: "\f66d"; } -.bi-easel3-fill::before { content: "\f66e"; } -.bi-easel3::before { content: "\f66f"; } -.bi-fan::before { content: "\f670"; } -.bi-fingerprint::before { content: "\f671"; } -.bi-graph-down-arrow::before { content: "\f672"; } -.bi-graph-up-arrow::before { content: "\f673"; } -.bi-hypnotize::before { content: "\f674"; } -.bi-magic::before { content: "\f675"; } -.bi-person-rolodex::before { content: "\f676"; } -.bi-person-video::before { content: "\f677"; } -.bi-person-video2::before { content: "\f678"; } -.bi-person-video3::before { content: "\f679"; } -.bi-person-workspace::before { content: "\f67a"; } -.bi-radioactive::before { content: "\f67b"; } -.bi-webcam-fill::before { content: "\f67c"; } -.bi-webcam::before { content: "\f67d"; } -.bi-yin-yang::before { content: "\f67e"; } -.bi-bandaid-fill::before { content: "\f680"; } -.bi-bandaid::before { content: "\f681"; } -.bi-bluetooth::before { content: "\f682"; } -.bi-body-text::before { content: "\f683"; } -.bi-boombox::before { content: "\f684"; } -.bi-boxes::before { content: "\f685"; } -.bi-dpad-fill::before { content: "\f686"; } -.bi-dpad::before { content: "\f687"; } -.bi-ear-fill::before { content: "\f688"; } -.bi-ear::before { content: "\f689"; } -.bi-envelope-check-1::before { content: "\f68a"; } -.bi-envelope-check-fill::before { content: "\f68b"; } -.bi-envelope-check::before { content: "\f68c"; } -.bi-envelope-dash-1::before { content: "\f68d"; } -.bi-envelope-dash-fill::before { content: "\f68e"; } -.bi-envelope-dash::before { content: "\f68f"; } -.bi-envelope-exclamation-1::before { content: "\f690"; } -.bi-envelope-exclamation-fill::before { content: "\f691"; } -.bi-envelope-exclamation::before { content: "\f692"; } -.bi-envelope-plus-fill::before { content: "\f693"; } -.bi-envelope-plus::before { content: "\f694"; } -.bi-envelope-slash-1::before { content: "\f695"; } -.bi-envelope-slash-fill::before { content: "\f696"; } -.bi-envelope-slash::before { content: "\f697"; } -.bi-envelope-x-1::before { content: "\f698"; } -.bi-envelope-x-fill::before { content: "\f699"; } -.bi-envelope-x::before { content: "\f69a"; } -.bi-explicit-fill::before { content: "\f69b"; } -.bi-explicit::before { content: "\f69c"; } -.bi-git::before { content: "\f69d"; } -.bi-infinity::before { content: "\f69e"; } -.bi-list-columns-reverse::before { content: "\f69f"; } -.bi-list-columns::before { content: "\f6a0"; } -.bi-meta::before { content: "\f6a1"; } -.bi-mortorboard-fill::before { content: "\f6a2"; } -.bi-mortorboard::before { content: "\f6a3"; } -.bi-nintendo-switch::before { content: "\f6a4"; } -.bi-pc-display-horizontal::before { content: "\f6a5"; } -.bi-pc-display::before { content: "\f6a6"; } -.bi-pc-horizontal::before { content: "\f6a7"; } -.bi-pc::before { content: "\f6a8"; } -.bi-playstation::before { content: "\f6a9"; } -.bi-plus-slash-minus::before { content: "\f6aa"; } -.bi-projector-fill::before { content: "\f6ab"; } -.bi-projector::before { content: "\f6ac"; } -.bi-qr-code-scan::before { content: "\f6ad"; } -.bi-qr-code::before { content: "\f6ae"; } -.bi-quora::before { content: "\f6af"; } -.bi-quote::before { content: "\f6b0"; } -.bi-robot::before { content: "\f6b1"; } -.bi-send-check-fill::before { content: "\f6b2"; } -.bi-send-check::before { content: "\f6b3"; } -.bi-send-dash-fill::before { content: "\f6b4"; } -.bi-send-dash::before { content: "\f6b5"; } -.bi-send-exclamation-1::before { content: "\f6b6"; } -.bi-send-exclamation-fill::before { content: "\f6b7"; } -.bi-send-exclamation::before { content: "\f6b8"; } -.bi-send-fill::before { content: "\f6b9"; } -.bi-send-plus-fill::before { content: "\f6ba"; } -.bi-send-plus::before { content: "\f6bb"; } -.bi-send-slash-fill::before { content: "\f6bc"; } -.bi-send-slash::before { content: "\f6bd"; } -.bi-send-x-fill::before { content: "\f6be"; } -.bi-send-x::before { content: "\f6bf"; } -.bi-send::before { content: "\f6c0"; } -.bi-steam::before { content: "\f6c1"; } -.bi-terminal-dash-1::before { content: "\f6c2"; } -.bi-terminal-dash::before { content: "\f6c3"; } -.bi-terminal-plus::before { content: "\f6c4"; } -.bi-terminal-split::before { content: "\f6c5"; } -.bi-ticket-detailed-fill::before { content: "\f6c6"; } -.bi-ticket-detailed::before { content: "\f6c7"; } -.bi-ticket-fill::before { content: "\f6c8"; } -.bi-ticket-perforated-fill::before { content: "\f6c9"; } -.bi-ticket-perforated::before { content: "\f6ca"; } -.bi-ticket::before { content: "\f6cb"; } -.bi-tiktok::before { content: "\f6cc"; } -.bi-window-dash::before { content: "\f6cd"; } -.bi-window-desktop::before { content: "\f6ce"; } -.bi-window-fullscreen::before { content: "\f6cf"; } -.bi-window-plus::before { content: "\f6d0"; } -.bi-window-split::before { content: "\f6d1"; } -.bi-window-stack::before { content: "\f6d2"; } -.bi-window-x::before { content: "\f6d3"; } -.bi-xbox::before { content: "\f6d4"; } -.bi-ethernet::before { content: "\f6d5"; } -.bi-hdmi-fill::before { content: "\f6d6"; } -.bi-hdmi::before { content: "\f6d7"; } -.bi-usb-c-fill::before { content: "\f6d8"; } -.bi-usb-c::before { content: "\f6d9"; } -.bi-usb-fill::before { content: "\f6da"; } -.bi-usb-plug-fill::before { content: "\f6db"; } -.bi-usb-plug::before { content: "\f6dc"; } -.bi-usb-symbol::before { content: "\f6dd"; } -.bi-usb::before { content: "\f6de"; } -.bi-boombox-fill::before { content: "\f6df"; } -.bi-displayport-1::before { content: "\f6e0"; } -.bi-displayport::before { content: "\f6e1"; } -.bi-gpu-card::before { content: "\f6e2"; } -.bi-memory::before { content: "\f6e3"; } -.bi-modem-fill::before { content: "\f6e4"; } -.bi-modem::before { content: "\f6e5"; } -.bi-motherboard-fill::before { content: "\f6e6"; } -.bi-motherboard::before { content: "\f6e7"; } -.bi-optical-audio-fill::before { content: "\f6e8"; } -.bi-optical-audio::before { content: "\f6e9"; } -.bi-pci-card::before { content: "\f6ea"; } -.bi-router-fill::before { content: "\f6eb"; } -.bi-router::before { content: "\f6ec"; } -.bi-ssd-fill::before { content: "\f6ed"; } -.bi-ssd::before { content: "\f6ee"; } -.bi-thunderbolt-fill::before { content: "\f6ef"; } -.bi-thunderbolt::before { content: "\f6f0"; } -.bi-usb-drive-fill::before { content: "\f6f1"; } -.bi-usb-drive::before { content: "\f6f2"; } -.bi-usb-micro-fill::before { content: "\f6f3"; } -.bi-usb-micro::before { content: "\f6f4"; } -.bi-usb-mini-fill::before { content: "\f6f5"; } -.bi-usb-mini::before { content: "\f6f6"; } -.bi-cloud-haze2::before { content: "\f6f7"; } -.bi-device-hdd-fill::before { content: "\f6f8"; } -.bi-device-hdd::before { content: "\f6f9"; } -.bi-device-ssd-fill::before { content: "\f6fa"; } -.bi-device-ssd::before { content: "\f6fb"; } -.bi-displayport-fill::before { content: "\f6fc"; } -.bi-mortarboard-fill::before { content: "\f6fd"; } -.bi-mortarboard::before { content: "\f6fe"; } -.bi-terminal-x::before { content: "\f6ff"; } -.bi-arrow-through-heart-fill::before { content: "\f700"; } -.bi-arrow-through-heart::before { content: "\f701"; } -.bi-badge-sd-fill::before { content: "\f702"; } -.bi-badge-sd::before { content: "\f703"; } -.bi-bag-heart-fill::before { content: "\f704"; } -.bi-bag-heart::before { content: "\f705"; } -.bi-balloon-fill::before { content: "\f706"; } -.bi-balloon-heart-fill::before { content: "\f707"; } -.bi-balloon-heart::before { content: "\f708"; } -.bi-balloon::before { content: "\f709"; } -.bi-box2-fill::before { content: "\f70a"; } -.bi-box2-heart-fill::before { content: "\f70b"; } -.bi-box2-heart::before { content: "\f70c"; } -.bi-box2::before { content: "\f70d"; } -.bi-braces-asterisk::before { content: "\f70e"; } -.bi-calendar-heart-fill::before { content: "\f70f"; } -.bi-calendar-heart::before { content: "\f710"; } -.bi-calendar2-heart-fill::before { content: "\f711"; } -.bi-calendar2-heart::before { content: "\f712"; } -.bi-chat-heart-fill::before { content: "\f713"; } -.bi-chat-heart::before { content: "\f714"; } -.bi-chat-left-heart-fill::before { content: "\f715"; } -.bi-chat-left-heart::before { content: "\f716"; } -.bi-chat-right-heart-fill::before { content: "\f717"; } -.bi-chat-right-heart::before { content: "\f718"; } -.bi-chat-square-heart-fill::before { content: "\f719"; } -.bi-chat-square-heart::before { content: "\f71a"; } -.bi-clipboard-check-fill::before { content: "\f71b"; } -.bi-clipboard-data-fill::before { content: "\f71c"; } -.bi-clipboard-fill::before { content: "\f71d"; } -.bi-clipboard-heart-fill::before { content: "\f71e"; } -.bi-clipboard-heart::before { content: "\f71f"; } -.bi-clipboard-minus-fill::before { content: "\f720"; } -.bi-clipboard-plus-fill::before { content: "\f721"; } -.bi-clipboard-pulse::before { content: "\f722"; } -.bi-clipboard-x-fill::before { content: "\f723"; } -.bi-clipboard2-check-fill::before { content: "\f724"; } -.bi-clipboard2-check::before { content: "\f725"; } -.bi-clipboard2-data-fill::before { content: "\f726"; } -.bi-clipboard2-data::before { content: "\f727"; } -.bi-clipboard2-fill::before { content: "\f728"; } -.bi-clipboard2-heart-fill::before { content: "\f729"; } -.bi-clipboard2-heart::before { content: "\f72a"; } -.bi-clipboard2-minus-fill::before { content: "\f72b"; } -.bi-clipboard2-minus::before { content: "\f72c"; } -.bi-clipboard2-plus-fill::before { content: "\f72d"; } -.bi-clipboard2-plus::before { content: "\f72e"; } -.bi-clipboard2-pulse-fill::before { content: "\f72f"; } -.bi-clipboard2-pulse::before { content: "\f730"; } -.bi-clipboard2-x-fill::before { content: "\f731"; } -.bi-clipboard2-x::before { content: "\f732"; } -.bi-clipboard2::before { content: "\f733"; } -.bi-emoji-kiss-fill::before { content: "\f734"; } -.bi-emoji-kiss::before { content: "\f735"; } -.bi-envelope-heart-fill::before { content: "\f736"; } -.bi-envelope-heart::before { content: "\f737"; } -.bi-envelope-open-heart-fill::before { content: "\f738"; } -.bi-envelope-open-heart::before { content: "\f739"; } -.bi-envelope-paper-fill::before { content: "\f73a"; } -.bi-envelope-paper-heart-fill::before { content: "\f73b"; } -.bi-envelope-paper-heart::before { content: "\f73c"; } -.bi-envelope-paper::before { content: "\f73d"; } -.bi-filetype-aac::before { content: "\f73e"; } -.bi-filetype-ai::before { content: "\f73f"; } -.bi-filetype-bmp::before { content: "\f740"; } -.bi-filetype-cs::before { content: "\f741"; } -.bi-filetype-css::before { content: "\f742"; } -.bi-filetype-csv::before { content: "\f743"; } -.bi-filetype-doc::before { content: "\f744"; } -.bi-filetype-docx::before { content: "\f745"; } -.bi-filetype-exe::before { content: "\f746"; } -.bi-filetype-gif::before { content: "\f747"; } -.bi-filetype-heic::before { content: "\f748"; } -.bi-filetype-html::before { content: "\f749"; } -.bi-filetype-java::before { content: "\f74a"; } -.bi-filetype-jpg::before { content: "\f74b"; } -.bi-filetype-js::before { content: "\f74c"; } -.bi-filetype-jsx::before { content: "\f74d"; } -.bi-filetype-key::before { content: "\f74e"; } -.bi-filetype-m4p::before { content: "\f74f"; } -.bi-filetype-md::before { content: "\f750"; } -.bi-filetype-mdx::before { content: "\f751"; } -.bi-filetype-mov::before { content: "\f752"; } -.bi-filetype-mp3::before { content: "\f753"; } -.bi-filetype-mp4::before { content: "\f754"; } -.bi-filetype-otf::before { content: "\f755"; } -.bi-filetype-pdf::before { content: "\f756"; } -.bi-filetype-php::before { content: "\f757"; } -.bi-filetype-png::before { content: "\f758"; } -.bi-filetype-ppt-1::before { content: "\f759"; } -.bi-filetype-ppt::before { content: "\f75a"; } -.bi-filetype-psd::before { content: "\f75b"; } -.bi-filetype-py::before { content: "\f75c"; } -.bi-filetype-raw::before { content: "\f75d"; } -.bi-filetype-rb::before { content: "\f75e"; } -.bi-filetype-sass::before { content: "\f75f"; } -.bi-filetype-scss::before { content: "\f760"; } -.bi-filetype-sh::before { content: "\f761"; } -.bi-filetype-svg::before { content: "\f762"; } -.bi-filetype-tiff::before { content: "\f763"; } -.bi-filetype-tsx::before { content: "\f764"; } -.bi-filetype-ttf::before { content: "\f765"; } -.bi-filetype-txt::before { content: "\f766"; } -.bi-filetype-wav::before { content: "\f767"; } -.bi-filetype-woff::before { content: "\f768"; } -.bi-filetype-xls-1::before { content: "\f769"; } -.bi-filetype-xls::before { content: "\f76a"; } -.bi-filetype-xml::before { content: "\f76b"; } -.bi-filetype-yml::before { content: "\f76c"; } -.bi-heart-arrow::before { content: "\f76d"; } -.bi-heart-pulse-fill::before { content: "\f76e"; } -.bi-heart-pulse::before { content: "\f76f"; } -.bi-heartbreak-fill::before { content: "\f770"; } -.bi-heartbreak::before { content: "\f771"; } -.bi-hearts::before { content: "\f772"; } -.bi-hospital-fill::before { content: "\f773"; } -.bi-hospital::before { content: "\f774"; } -.bi-house-heart-fill::before { content: "\f775"; } -.bi-house-heart::before { content: "\f776"; } -.bi-incognito::before { content: "\f777"; } -.bi-magnet-fill::before { content: "\f778"; } -.bi-magnet::before { content: "\f779"; } -.bi-person-heart::before { content: "\f77a"; } -.bi-person-hearts::before { content: "\f77b"; } -.bi-phone-flip::before { content: "\f77c"; } -.bi-plugin::before { content: "\f77d"; } -.bi-postage-fill::before { content: "\f77e"; } -.bi-postage-heart-fill::before { content: "\f77f"; } -.bi-postage-heart::before { content: "\f780"; } -.bi-postage::before { content: "\f781"; } -.bi-postcard-fill::before { content: "\f782"; } -.bi-postcard-heart-fill::before { content: "\f783"; } -.bi-postcard-heart::before { content: "\f784"; } -.bi-postcard::before { content: "\f785"; } -.bi-search-heart-fill::before { content: "\f786"; } -.bi-search-heart::before { content: "\f787"; } -.bi-sliders2-vertical::before { content: "\f788"; } -.bi-sliders2::before { content: "\f789"; } -.bi-trash3-fill::before { content: "\f78a"; } -.bi-trash3::before { content: "\f78b"; } -.bi-valentine::before { content: "\f78c"; } -.bi-valentine2::before { content: "\f78d"; } -.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } -.bi-wrench-adjustable-circle::before { content: "\f78f"; } -.bi-wrench-adjustable::before { content: "\f790"; } -.bi-filetype-json::before { content: "\f791"; } -.bi-filetype-pptx::before { content: "\f792"; } -.bi-filetype-xlsx::before { content: "\f793"; } -.bi-1-circle-1::before { content: "\f794"; } -.bi-1-circle-fill-1::before { content: "\f795"; } -.bi-1-circle-fill::before { content: "\f796"; } -.bi-1-circle::before { content: "\f797"; } -.bi-1-square-fill::before { content: "\f798"; } -.bi-1-square::before { content: "\f799"; } -.bi-2-circle-1::before { content: "\f79a"; } -.bi-2-circle-fill-1::before { content: "\f79b"; } -.bi-2-circle-fill::before { content: "\f79c"; } -.bi-2-circle::before { content: "\f79d"; } -.bi-2-square-fill::before { content: "\f79e"; } -.bi-2-square::before { content: "\f79f"; } -.bi-3-circle-1::before { content: "\f7a0"; } -.bi-3-circle-fill-1::before { content: "\f7a1"; } -.bi-3-circle-fill::before { content: "\f7a2"; } -.bi-3-circle::before { content: "\f7a3"; } -.bi-3-square-fill::before { content: "\f7a4"; } -.bi-3-square::before { content: "\f7a5"; } -.bi-4-circle-1::before { content: "\f7a6"; } -.bi-4-circle-fill-1::before { content: "\f7a7"; } -.bi-4-circle-fill::before { content: "\f7a8"; } -.bi-4-circle::before { content: "\f7a9"; } -.bi-4-square-fill::before { content: "\f7aa"; } -.bi-4-square::before { content: "\f7ab"; } -.bi-5-circle-1::before { content: "\f7ac"; } -.bi-5-circle-fill-1::before { content: "\f7ad"; } -.bi-5-circle-fill::before { content: "\f7ae"; } -.bi-5-circle::before { content: "\f7af"; } -.bi-5-square-fill::before { content: "\f7b0"; } -.bi-5-square::before { content: "\f7b1"; } -.bi-6-circle-1::before { content: "\f7b2"; } -.bi-6-circle-fill-1::before { content: "\f7b3"; } -.bi-6-circle-fill::before { content: "\f7b4"; } -.bi-6-circle::before { content: "\f7b5"; } -.bi-6-square-fill::before { content: "\f7b6"; } -.bi-6-square::before { content: "\f7b7"; } -.bi-7-circle-1::before { content: "\f7b8"; } -.bi-7-circle-fill-1::before { content: "\f7b9"; } -.bi-7-circle-fill::before { content: "\f7ba"; } -.bi-7-circle::before { content: "\f7bb"; } -.bi-7-square-fill::before { content: "\f7bc"; } -.bi-7-square::before { content: "\f7bd"; } -.bi-8-circle-1::before { content: "\f7be"; } -.bi-8-circle-fill-1::before { content: "\f7bf"; } -.bi-8-circle-fill::before { content: "\f7c0"; } -.bi-8-circle::before { content: "\f7c1"; } -.bi-8-square-fill::before { content: "\f7c2"; } -.bi-8-square::before { content: "\f7c3"; } -.bi-9-circle-1::before { content: "\f7c4"; } -.bi-9-circle-fill-1::before { content: "\f7c5"; } -.bi-9-circle-fill::before { content: "\f7c6"; } -.bi-9-circle::before { content: "\f7c7"; } -.bi-9-square-fill::before { content: "\f7c8"; } -.bi-9-square::before { content: "\f7c9"; } -.bi-airplane-engines-fill::before { content: "\f7ca"; } -.bi-airplane-engines::before { content: "\f7cb"; } -.bi-airplane-fill::before { content: "\f7cc"; } -.bi-airplane::before { content: "\f7cd"; } -.bi-alexa::before { content: "\f7ce"; } -.bi-alipay::before { content: "\f7cf"; } -.bi-android::before { content: "\f7d0"; } -.bi-android2::before { content: "\f7d1"; } -.bi-box-fill::before { content: "\f7d2"; } -.bi-box-seam-fill::before { content: "\f7d3"; } -.bi-browser-chrome::before { content: "\f7d4"; } -.bi-browser-edge::before { content: "\f7d5"; } -.bi-browser-firefox::before { content: "\f7d6"; } -.bi-browser-safari::before { content: "\f7d7"; } -.bi-c-circle-1::before { content: "\f7d8"; } -.bi-c-circle-fill-1::before { content: "\f7d9"; } -.bi-c-circle-fill::before { content: "\f7da"; } -.bi-c-circle::before { content: "\f7db"; } -.bi-c-square-fill::before { content: "\f7dc"; } -.bi-c-square::before { content: "\f7dd"; } -.bi-capsule-pill::before { content: "\f7de"; } -.bi-capsule::before { content: "\f7df"; } -.bi-car-front-fill::before { content: "\f7e0"; } -.bi-car-front::before { content: "\f7e1"; } -.bi-cassette-fill::before { content: "\f7e2"; } -.bi-cassette::before { content: "\f7e3"; } -.bi-cc-circle-1::before { content: "\f7e4"; } -.bi-cc-circle-fill-1::before { content: "\f7e5"; } -.bi-cc-circle-fill::before { content: "\f7e6"; } -.bi-cc-circle::before { content: "\f7e7"; } -.bi-cc-square-fill::before { content: "\f7e8"; } -.bi-cc-square::before { content: "\f7e9"; } -.bi-cup-hot-fill::before { content: "\f7ea"; } -.bi-cup-hot::before { content: "\f7eb"; } -.bi-currency-rupee::before { content: "\f7ec"; } -.bi-dropbox::before { content: "\f7ed"; } -.bi-escape::before { content: "\f7ee"; } -.bi-fast-forward-btn-fill::before { content: "\f7ef"; } -.bi-fast-forward-btn::before { content: "\f7f0"; } -.bi-fast-forward-circle-fill::before { content: "\f7f1"; } -.bi-fast-forward-circle::before { content: "\f7f2"; } -.bi-fast-forward-fill::before { content: "\f7f3"; } -.bi-fast-forward::before { content: "\f7f4"; } -.bi-filetype-sql::before { content: "\f7f5"; } -.bi-fire::before { content: "\f7f6"; } -.bi-google-play::before { content: "\f7f7"; } -.bi-h-circle-1::before { content: "\f7f8"; } -.bi-h-circle-fill-1::before { content: "\f7f9"; } -.bi-h-circle-fill::before { content: "\f7fa"; } -.bi-h-circle::before { content: "\f7fb"; } -.bi-h-square-fill::before { content: "\f7fc"; } -.bi-h-square::before { content: "\f7fd"; } -.bi-indent::before { content: "\f7fe"; } -.bi-lungs-fill::before { content: "\f7ff"; } -.bi-lungs::before { content: "\f800"; } -.bi-microsoft-teams::before { content: "\f801"; } -.bi-p-circle-1::before { content: "\f802"; } -.bi-p-circle-fill-1::before { content: "\f803"; } -.bi-p-circle-fill::before { content: "\f804"; } -.bi-p-circle::before { content: "\f805"; } -.bi-p-square-fill::before { content: "\f806"; } -.bi-p-square::before { content: "\f807"; } -.bi-pass-fill::before { content: "\f808"; } -.bi-pass::before { content: "\f809"; } -.bi-prescription::before { content: "\f80a"; } -.bi-prescription2::before { content: "\f80b"; } -.bi-r-circle-1::before { content: "\f80c"; } -.bi-r-circle-fill-1::before { content: "\f80d"; } -.bi-r-circle-fill::before { content: "\f80e"; } -.bi-r-circle::before { content: "\f80f"; } -.bi-r-square-fill::before { content: "\f810"; } -.bi-r-square::before { content: "\f811"; } -.bi-repeat-1::before { content: "\f812"; } -.bi-repeat::before { content: "\f813"; } -.bi-rewind-btn-fill::before { content: "\f814"; } -.bi-rewind-btn::before { content: "\f815"; } -.bi-rewind-circle-fill::before { content: "\f816"; } -.bi-rewind-circle::before { content: "\f817"; } -.bi-rewind-fill::before { content: "\f818"; } -.bi-rewind::before { content: "\f819"; } -.bi-train-freight-front-fill::before { content: "\f81a"; } -.bi-train-freight-front::before { content: "\f81b"; } -.bi-train-front-fill::before { content: "\f81c"; } -.bi-train-front::before { content: "\f81d"; } -.bi-train-lightrail-front-fill::before { content: "\f81e"; } -.bi-train-lightrail-front::before { content: "\f81f"; } -.bi-truck-front-fill::before { content: "\f820"; } -.bi-truck-front::before { content: "\f821"; } -.bi-ubuntu::before { content: "\f822"; } -.bi-unindent::before { content: "\f823"; } -.bi-unity::before { content: "\f824"; } -.bi-universal-access-circle::before { content: "\f825"; } -.bi-universal-access::before { content: "\f826"; } -.bi-virus::before { content: "\f827"; } -.bi-virus2::before { content: "\f828"; } -.bi-wechat::before { content: "\f829"; } -.bi-yelp::before { content: "\f82a"; } -.bi-sign-stop-fill::before { content: "\f82b"; } -.bi-sign-stop-lights-fill::before { content: "\f82c"; } -.bi-sign-stop-lights::before { content: "\f82d"; } -.bi-sign-stop::before { content: "\f82e"; } -.bi-sign-turn-left-fill::before { content: "\f82f"; } -.bi-sign-turn-left::before { content: "\f830"; } -.bi-sign-turn-right-fill::before { content: "\f831"; } -.bi-sign-turn-right::before { content: "\f832"; } -.bi-sign-turn-slight-left-fill::before { content: "\f833"; } -.bi-sign-turn-slight-left::before { content: "\f834"; } -.bi-sign-turn-slight-right-fill::before { content: "\f835"; } -.bi-sign-turn-slight-right::before { content: "\f836"; } -.bi-sign-yield-fill::before { content: "\f837"; } -.bi-sign-yield::before { content: "\f838"; } -.bi-ev-station-fill::before { content: "\f839"; } -.bi-ev-station::before { content: "\f83a"; } -.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } -.bi-fuel-pump-diesel::before { content: "\f83c"; } -.bi-fuel-pump-fill::before { content: "\f83d"; } -.bi-fuel-pump::before { content: "\f83e"; } -.bi-0-circle-fill::before { content: "\f83f"; } -.bi-0-circle::before { content: "\f840"; } -.bi-0-square-fill::before { content: "\f841"; } -.bi-0-square::before { content: "\f842"; } -.bi-rocket-fill::before { content: "\f843"; } -.bi-rocket-takeoff-fill::before { content: "\f844"; } -.bi-rocket-takeoff::before { content: "\f845"; } -.bi-rocket::before { content: "\f846"; } -.bi-stripe::before { content: "\f847"; } -.bi-subscript::before { content: "\f848"; } -.bi-superscript::before { content: "\f849"; } -.bi-trello::before { content: "\f84a"; } -.bi-envelope-at-fill::before { content: "\f84b"; } -.bi-envelope-at::before { content: "\f84c"; } -.bi-regex::before { content: "\f84d"; } -.bi-text-wrap::before { content: "\f84e"; } -.bi-sign-dead-end-fill::before { content: "\f84f"; } -.bi-sign-dead-end::before { content: "\f850"; } -.bi-sign-do-not-enter-fill::before { content: "\f851"; } -.bi-sign-do-not-enter::before { content: "\f852"; } -.bi-sign-intersection-fill::before { content: "\f853"; } -.bi-sign-intersection-side-fill::before { content: "\f854"; } -.bi-sign-intersection-side::before { content: "\f855"; } -.bi-sign-intersection-t-fill::before { content: "\f856"; } -.bi-sign-intersection-t::before { content: "\f857"; } -.bi-sign-intersection-y-fill::before { content: "\f858"; } -.bi-sign-intersection-y::before { content: "\f859"; } -.bi-sign-intersection::before { content: "\f85a"; } -.bi-sign-merge-left-fill::before { content: "\f85b"; } -.bi-sign-merge-left::before { content: "\f85c"; } -.bi-sign-merge-right-fill::before { content: "\f85d"; } -.bi-sign-merge-right::before { content: "\f85e"; } -.bi-sign-no-left-turn-fill::before { content: "\f85f"; } -.bi-sign-no-left-turn::before { content: "\f860"; } -.bi-sign-no-parking-fill::before { content: "\f861"; } -.bi-sign-no-parking::before { content: "\f862"; } -.bi-sign-no-right-turn-fill::before { content: "\f863"; } -.bi-sign-no-right-turn::before { content: "\f864"; } -.bi-sign-railroad-fill::before { content: "\f865"; } -.bi-sign-railroad::before { content: "\f866"; } -.bi-building-add::before { content: "\f867"; } -.bi-building-check::before { content: "\f868"; } -.bi-building-dash::before { content: "\f869"; } -.bi-building-down::before { content: "\f86a"; } -.bi-building-exclamation::before { content: "\f86b"; } -.bi-building-fill-add::before { content: "\f86c"; } -.bi-building-fill-check::before { content: "\f86d"; } -.bi-building-fill-dash::before { content: "\f86e"; } -.bi-building-fill-down::before { content: "\f86f"; } -.bi-building-fill-exclamation::before { content: "\f870"; } -.bi-building-fill-gear::before { content: "\f871"; } -.bi-building-fill-lock::before { content: "\f872"; } -.bi-building-fill-slash::before { content: "\f873"; } -.bi-building-fill-up::before { content: "\f874"; } -.bi-building-fill-x::before { content: "\f875"; } -.bi-building-fill::before { content: "\f876"; } -.bi-building-gear::before { content: "\f877"; } -.bi-building-lock::before { content: "\f878"; } -.bi-building-slash::before { content: "\f879"; } -.bi-building-up::before { content: "\f87a"; } -.bi-building-x::before { content: "\f87b"; } -.bi-buildings-fill::before { content: "\f87c"; } -.bi-buildings::before { content: "\f87d"; } -.bi-bus-front-fill::before { content: "\f87e"; } -.bi-bus-front::before { content: "\f87f"; } -.bi-ev-front-fill::before { content: "\f880"; } -.bi-ev-front::before { content: "\f881"; } -.bi-globe-americas::before { content: "\f882"; } -.bi-globe-asia-australia::before { content: "\f883"; } -.bi-globe-central-south-asia::before { content: "\f884"; } -.bi-globe-europe-africa::before { content: "\f885"; } -.bi-house-add-fill::before { content: "\f886"; } -.bi-house-add::before { content: "\f887"; } -.bi-house-check-fill::before { content: "\f888"; } -.bi-house-check::before { content: "\f889"; } -.bi-house-dash-fill::before { content: "\f88a"; } -.bi-house-dash::before { content: "\f88b"; } -.bi-house-down-fill::before { content: "\f88c"; } -.bi-house-down::before { content: "\f88d"; } -.bi-house-exclamation-fill::before { content: "\f88e"; } -.bi-house-exclamation::before { content: "\f88f"; } -.bi-house-gear-fill::before { content: "\f890"; } -.bi-house-gear::before { content: "\f891"; } -.bi-house-lock-fill::before { content: "\f892"; } -.bi-house-lock::before { content: "\f893"; } -.bi-house-slash-fill::before { content: "\f894"; } -.bi-house-slash::before { content: "\f895"; } -.bi-house-up-fill::before { content: "\f896"; } -.bi-house-up::before { content: "\f897"; } -.bi-house-x-fill::before { content: "\f898"; } -.bi-house-x::before { content: "\f899"; } -.bi-person-add::before { content: "\f89a"; } -.bi-person-down::before { content: "\f89b"; } -.bi-person-exclamation::before { content: "\f89c"; } -.bi-person-fill-add::before { content: "\f89d"; } -.bi-person-fill-check::before { content: "\f89e"; } -.bi-person-fill-dash::before { content: "\f89f"; } -.bi-person-fill-down::before { content: "\f8a0"; } -.bi-person-fill-exclamation::before { content: "\f8a1"; } -.bi-person-fill-gear::before { content: "\f8a2"; } -.bi-person-fill-lock::before { content: "\f8a3"; } -.bi-person-fill-slash::before { content: "\f8a4"; } -.bi-person-fill-up::before { content: "\f8a5"; } -.bi-person-fill-x::before { content: "\f8a6"; } -.bi-person-gear::before { content: "\f8a7"; } -.bi-person-lock::before { content: "\f8a8"; } -.bi-person-slash::before { content: "\f8a9"; } -.bi-person-up::before { content: "\f8aa"; } -.bi-scooter::before { content: "\f8ab"; } -.bi-taxi-front-fill::before { content: "\f8ac"; } -.bi-taxi-front::before { content: "\f8ad"; } -.bi-amd::before { content: "\f8ae"; } -.bi-database-add::before { content: "\f8af"; } -.bi-database-check::before { content: "\f8b0"; } -.bi-database-dash::before { content: "\f8b1"; } -.bi-database-down::before { content: "\f8b2"; } -.bi-database-exclamation::before { content: "\f8b3"; } -.bi-database-fill-add::before { content: "\f8b4"; } -.bi-database-fill-check::before { content: "\f8b5"; } -.bi-database-fill-dash::before { content: "\f8b6"; } -.bi-database-fill-down::before { content: "\f8b7"; } -.bi-database-fill-exclamation::before { content: "\f8b8"; } -.bi-database-fill-gear::before { content: "\f8b9"; } -.bi-database-fill-lock::before { content: "\f8ba"; } -.bi-database-fill-slash::before { content: "\f8bb"; } -.bi-database-fill-up::before { content: "\f8bc"; } -.bi-database-fill-x::before { content: "\f8bd"; } -.bi-database-fill::before { content: "\f8be"; } -.bi-database-gear::before { content: "\f8bf"; } -.bi-database-lock::before { content: "\f8c0"; } -.bi-database-slash::before { content: "\f8c1"; } -.bi-database-up::before { content: "\f8c2"; } -.bi-database-x::before { content: "\f8c3"; } -.bi-database::before { content: "\f8c4"; } -.bi-houses-fill::before { content: "\f8c5"; } -.bi-houses::before { content: "\f8c6"; } -.bi-nvidia::before { content: "\f8c7"; } -.bi-person-vcard-fill::before { content: "\f8c8"; } -.bi-person-vcard::before { content: "\f8c9"; } -.bi-sina-weibo::before { content: "\f8ca"; } -.bi-tencent-qq::before { content: "\f8cb"; } -.bi-wikipedia::before { content: "\f8cc"; } diff --git a/choosing_files/libs/bootstrap/bootstrap-icons.woff b/choosing_files/libs/bootstrap/bootstrap-icons.woff deleted file mode 100644 index 18d21d457558d4dc2e231a8f6ee585fada9c6bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164168 zcmZ5ncR1B;+*d-G4I^alol(fj-s=dFnS*SRbU+;5W_s3^_zxVIt%5{$Cd3i}|9?~s3>EP3 zu3QJc6gW?qV>l4H20|jhQvzBZ94lF3*s+a^wL9>l@bHA!@$g)(t9@-$vUm2g!^0DO zg?IJ3I37W#R(0^&?h9LMINnvMaxe#W;5~d=p8NO(Fo8D@G`Fm`T z&#kOO@Q~6X8NytmGN{-1UHIQ?LLA7M?ZTq2;&Dn5sNq4g*2C7BpFe;9{JA=Q?ly8b zbm-3Aqq_mLcT?{^O{1+24G|lojKF824bHS4zT#0pJ4FkBEyfnj%84h#PaF##*f(=( zYJbLXSnU*O}$41t136;734{uP?C@+>)%vJN?lkyd*|)1~USGqnAdxERjX~)j?t;acl3K;Zc--a1Cqvb< z!*275rk$L%QsSK%KFje;fq`UOzS@zA-|HXOYn*)!{0=;)*_g7czK<`3ia9DfY( zZxfwKXwM1GT2?maH~e$C)vm!X6y980FtOuo`;qfmj?2JDd;eOYx-h@N0Hrq08RSg1 zTMrYKso!Uzd8hSQ_4xH!{ChsexBi#i!48IF1H2>UPhwyd8eZHZCBvU#yBZaI`zj^) z1v%X3I%(0iyh$adh2Ci=w&{ruhJ}i0uC|4VCa|S85vlL%3I2R#yrre3g{5V5019x$ zh|)I4T)I+~(i+G2>7{n1jgEPyrADRoj`_b!y-QnhxsOV9O6zd%n@U|vn{j!SdNPJW zBhU8r0}bUyEXnlnN0=WxCDT_Nx&Oe-yhNoK<(NoU(N$dIm`PW~S^U-!onBs8T;iDC zq@rysI$ZBqm|kF4Ch1t2UbIw30ItGNmvK0P=dCp89U=B=H7#+~D;sw7$~Vm)E%kD2 zZBm~qe^?xcGxEx4GM~zOSSB@Mj&rS7p32`ed^Qq@lix@FE@U){FD@F<*^fmSZNQpG zJRRc^7OlAlr8Fb5`)Gv8hH+Jy_;3bJVE-dRwY6;8fT=WoxEpt8zvM(Ku(D0hvb1V= z3`f6T@hG>=V5W>|I3CBfU-zgu$RP5Gd{VJe0k1(LZ|Tek6Ha$O<>c9U{>6xflgoz@ z9e;*b!;z~U`?s1B1uJ@2*!J~LUIfMpR_Trwtr+Y(oV+rZ&&eAcwqLE=muz}3YivA3 zvl`=NYp!hhK4ZFmC6Wa6g>580RLMtize2DfS z^Y*-%;jI;)egBid^Vb)8!5F#GoE6=DniI|QqzlvF{Pq!|J)aZR^MnhN%lE+}MEh>0 zjch5IGwi+2COKP5pJWk)! z^81CCo_e-O{>*gL5w}mT)ABOt7#6G7axv&0evp#ht0iMFW9CYi8c~RHa86GxEKGB7 zHBC(}OmeXKo$g)Ox@z?(U8k^a^?6geYhm-Mb>)2-ZJ}S2d%}U*a=&Is@8kC~i;j~D zEB4%K7^qKPlwQ4Efe6LSX|QeWSF z$X_=+aFqJ}uEu6VLTXy4HerKOYDA}QY<$%_qIGoOL*2TwRQEvr?s`D;XTc9K>(86N z3D)(pUBuCZ2md@Tzul$hRcDse`IU#v`fRd z|9Y!;S?l1m8&fsK@5uFsr`3VqWF496;wLu_Zk%GKtaEC0C$kP{Ps^uleI}QkpBrRM z{Gs01I-oc$I`6(%OZ+t;v6i_j_-TdQGqRb@jK}zQ(o5B*d@~cDOsVOtS)Es0jXRrg zpJ=I(tknSz`({rwWuHo^8S{1CW=%6M<6k2l_2vx5W9B$P&waB%pGK!yx+ay%MyEN` zCZo!Fr@z0OyenJRW*;@_RMxG{H#NCdHm}W9y33d|jSZ5y<4@i6DWIQIY0}^1^{J;{ z>uTI~4Q=ky_NkllXc(HBHEO1xqH7qf@LZeH-n47znZmjH_cHKO_PS+4e!B5nN7dL(8)E6 zSEqk8H*F82C$}uTsv5_p=r^?wll>=K|4w^tH6Bh8Z7Lq3PR9f1WxaA52d7dt`3~z( zy8@TneB?ecP3dmhAI6-Ha0q&(^_u@Y-@I@SZVqnQ`AzTEx;st8bbhNXQD~$0sJ1Or zZj@;`{*deF&Uwj&Sa4I-?BGB9le)8si+h$obJhlTX^uz&If7B`M#pd`x;w>_sb)AoU? zL;5q7;F$LQnK|)OsdMuS*Y?htzgzo<$EW9E7cA}layX{l_|uJ`l$pOdhe9WT7gX&t z?KsO_wgYc>K$2kcwL8N-g61@Oqu}-nl~hh1@8KvB%Y8Pe&xt>ET%4vq|37_ zrgDsYl;`?M%#4~alEwPPUFwKPzK*E-B4$*T=hvpC0y+)_q;S&(%k^`!%%sK0mSM*P&{DGnz^Y@i&InUY~@^Z#Z={Rm=XNbS0<% z+U2e}PU%Y45I)(#VD0%y^bgg?H~wE+=i1zZeVL{2G7?ins(#I%tNG_U&X|2&H-cfV zg>)%953$0`#8aqyU!<{3NkXpzwPe&JHNgC#urh3b1=%j%kz1suZ6Un#Z95uqJKQ|Ip*opO4ixRg#rO_1|V`Yx54m(I5{x|V9ZobOC_dDjH4)0}o+ zd8v2rUS#Lo_IC-^cd_~NhTAxaNAKR+{QV>$s}ptS@34e`#hs#V+Lv~jcb2<5Un;lA zR>q2dGu-a_#90})Hh=O-c>1<@2?LI2zZ9XpHB>@tOP#K4S7Y)#Ieo3q(LX!OitBg( zfsRkQ)RdvS{in9ghlfRSeKQMg2N`D-7uJ_emlKz_1ES`t^&TdY>~_rinwl|$Hkq}~ z$46`SooA=iOQGGPmh-fJ2*zWrmxx`DseolH(`CO=Qk;%27d3 zTKhooJ+984mtk7{y2V^0r#SrmGTEOkPSc_}sk#+)(}eUJ)(7tXnKIMaR=OX!CUy>P zKO4zfc6~Y1gb)7mwr$~>k2l*QXK+m0LPxC^9GA7hW9`eAq}`EszP_Eq=*ec@)45R; z@$2hqo`M8hChY+6li%6Sqqd7B_y*p2{%!fhEEpRzuYK@ptatw% z!}IQO4vSmPU$Y9bK$YE+tuSd-tWw98pdS~?pO4O zEwR+~OFLU^a~<#GDVY~k8Z{Ja5Km+Z8I33RYfdBrTV&;PF#c<@h|ug}%aN+p zhP}xX(euU&i%Y9_qFkv7T7I6jlAW1$ys4sn6HE6Der7rih%RT4^o19q8?k22ycxVp zw+%*~h`v>K;d%C((ILKeasB7PUH|eao16xr@zw+7=D{|&<;SY=^8>@v^uVb$>zNO3 zlRoRs2QsH^=bwXK$kj4U>aG_Zh@Li{4+Yt_f1DY2+qiO?b^Zms!dkgW%k`>*-1B~F z=eKKHgpFTZi|Lmlnt!^+W-Ko?lU2@YoYe;vwttbE&H1N$!f?TJ`C(=?XL~RrzeCvC z@9C|FQg%qkgx*_U}fQTD2Qq?=VGn3%&O1fwa_eB$C&(xjC# zvbg7W5)k;hO|M~Oab} znEV{%cIjiS-z(IWjYM&NnxI4}8I#lMNZo-1@s;hTA?pIG-uTNSo` zaP5(uD_q`ZCjDUlyUt9~=Yv!iLs{%u=6d2`@NxUO+{H|_lr+tB?6Rp%#pQ!DT3qh2!Iyv!BHhU;Is zn5&MBq~LmA$(UPOR?@FTG@)F}GgbYN;YOR{Dy#N%om+FT+qpN z3?A&Be|3i+i3Jqm()X7*J?kc{9;QF*Y~yjUegNM-mZtOH5%DT!yN+TNs?WfO2Wu@DPShO+c|UZwJo~<|3QYFn()!^$>h&nZ?UIkM-ULUkeK>5R zAX}j{Y}i2ED-l6gq65?A8ZmJsfSF^m-!T~Ggdu0H zH^M!JtzpPn>n(6rFmZJT1)N=pqPn`AlvwPrN=b+M6z{$UY{iRBZA#FKy+jK0jI#=PV7Y8V#Ad{kr5#4(oqRh#1Tk}j!$aUq*@aY`@>jVvV`OG$#dOTwe@ z;SN|48li*}gXwCvMhxqe{8E=;^CB#l= zP8#N4Fu=9{ewYArpl+^)<0y$yYvuP6E;)y#AQ9#`7|c!0Tm`3HGKNBE;yhq(n&$F2 zhLW)agfUJ7wx!khj5<-nIl`DUTT#PYurcJx6Pzh5N8MZ%=UK9*9>}uK3A5B_ zO&d0bi6c);aVoGGwbtUH?)r+r02^WZgl^iB~$H+eBO*vsMc|RPfb}r~eUm}N* z)xznP#3N5Maru~wesfMmUK z*!m%g5zdg-q^s)@97@&pPUv#pxd+PrP$wI7XaJdj;uwr@*g9Jr?E=S8DuV@Q+{7Fe zAO{Iu>;HHi`pBzLfIM0yhRra8NE<}ctbn*cgar_Dh_C??IFw2t%N%Dis|XQRKx`nw z0*Jv7wqsC@?NF90uH__DYzL<~ge|L5W26nTExN`%5{HGMDqs+)v!w*F#hE=)qHBD@9B0PM5@)8N#+Cvb!WP7edGK%n z3k_y;zzh+X$pJIL&=PH6PynMH(|tKce38%LPn`Y%uKNXYY$M396SOllghf z6hNYv1ZMK+K&;>e4bnlK2T;cm1vIA}#Wbd4DFXfISuck+K^eppb=BXH<>tDreFbVyR6ra2?@fm0x`{YS)yy+eg( zLqjtp8)}-tLLayU0$YB({;;>LpgJ_vO_HUi$t3g&G+TazL#8ogPW@;8*9-&ZS1L?_ zB@F_d9Av(tYkyv%64LJdbpq)i zJ4jI_m(EHF5L5f6+2V2}Vq2sB!vfbkp{nvlT}#@G@|da~&S|Dl?aAirfMPbjm4 z5LrR-_2hQ{c}yr{M@74rIs*S;CMyu)KtQ!kmasMtA=O*SCpfFQ!=R!OT7 z1}?IQtnf`jLJNpnK*XcvE&ag5e*X*l9}|EG1tI|mZzK@WK>UIPREq$j4iYGN%L#3; zKoTtQhqmbgK>&%K+^QCEk1Z3pGzFWR(xOG!x4C#*aBcwe4fv`-cq#_`^n@?60_ZQY=UHHq36w9{!6XeRwf9)% zTqqKr?pcZmT^zDq2FI@dysfQr@Zv2CoBxMzXjJRdc`Vj~e;W=LO1>siOQXq3I}yVX zi2{L#1VmMlfWo3<*DKINaJXAiA{Z=NP!p+*)Og3r=3k8Ar=3vbSj1wpxh2zM*WaRT z{-end{rexyhUlIDC<>wp5arQTIZ*29fx~qZGZi3O@*h=!=qemOr^$;%`B-`o()t~8 z*rOpz{U1$$C^uqR4hQn z4OA#VB?VN#hJ8>W1Tj8{<>4=9tZF~GT{rn74(_K18^}Oh$sTj60xE2vq7N#D;EaIt z0#r#s6+8<)*c1n5J-Tz> z1pYGcA!sO4k1Ye~2c)ctndM{ZF&ZG1ffNQ(fqEJ^GCIx+A{eotC(Zf#u7UB zlYm7CtY~0y#;l2h)&npk0ESel$Dl?AxU?Tw_$FpEYSd$HEHP`4RRIPc)_w|-GBIlh z&*KJ$eZX)t_WiUrwHJxWus>j$)Lwih!>54hQtw}>Ev7S)MZ9s-u29QcMGmk-xx zVv9MEFd5!}>*p}XoUoe=GXTaKb0TIkoCO$5%n85AusK}c2TZ)<$1&E5G$cvu8ZCW9 z(_mSf57Elr?P}B$t?~S|ryRA|&6FP2W=ocsSa2ilIq#fX4Yyz1J&_YHkJO*j%#pMk z+7Mv{#04TOfS5ys4Uj;O)GM-3M-e!(tdSG5HV}b21|F%jvTTuQYn~pdjcv?;XhMV) z5GRPRL{9vD=8-Bxj_g?9W{~XDn@Q*(-N%>gW0ymBXzkpANCF@vfV87KVqYTf*~QLa ztq&xX$UT)`-?Mvr+ar|&IxuiVJW`!Jz=>YCKX#@=?%B@-5p_T;A)-yb+atGdKj%!d z@;Ep+ZA(sPDNZRN!H-RN0Y0t9FPSEOTNPN}AnOKXu>uR-f$eEQ-O~ZV!gUW3H}(QZ zCvtM_s=y*L`{;X6Q1cxtq?3VGmxM~H&<;tEQ}xs=z?0S9v2pDxdPqyAF@YZ(J(*&lI%IbTm`T|>LJ3!ZjVk_*BM~t zn#ju3)~S_{jLd{v!cduTGY>(@o=*$X9%!eY;|2CHGznI{l7j}FV5Z570wBoB)tGFi zrQ;z`@*gPZi10PO$%Grhk}?;bz~Ugt%7j0Kg+Y*zxnK;7fgl5dNC;8@c<@N}R4s^j zpe@y9AP5A|v$z1hErbw6K%fFa7X+LT6hdGJ!4d@25F|rj1i>f-4IAnSNv_h;EVu26~gxER6&LM^mF?@)HK`abn ziV#zTSO>&9AZCnCAk|bsLhv6$0anS%MVoAf1R4;i0BDTJTrd#H$`sp&6H4}^E|_|tg?qFh;D^8&f_o5{d7wFZz;~0Q zC*bSMK^i}EJgJEqBW-PzvJg^@#Rl-7)@$IrEBLAJJ{%? z1=J03q$+1QYy5P3x-{Z4ZsF(Y7*ci1Qj@VYn89yvXMf>muN!N;MUW^EWI%|cRfXEa zr4h%RJ1dI~kcb0f10-9_@fK}q(kF*m3qRYpSmQ4O#r^iS1R%izgpl9fdd0%ex-GW& z>_9ocy(J=SzPOwkW9tFS&Px3xHh)Z33y51l#G_TK0%N5SxW5ZO4H^uCth5ewnJo&)^8jRNcENo|u7d?OAm-*KX z`}bb3CgbuE9uQlQ&;^2MN1|H}-R*b&R(fDR`6`I^QVi zf#zs!pEp1;oLij4Ma zmOITCr_W9={@Ml?rMIka4I@(mGfj7D;|)|T4xDg3y+PXeeiKy=>_VpxWMW&^f9|>O z)T;hs!}c<2YobzQ(vvxb{KW(mEe;G2?0yrvtNIJJas{?vPNNrLM9hvCUXg$^2nsMtQYN3?$qWC8T9mKtLd@{`LoJowXDDW0P1&EX(_7@ z>|vjO=O|xs3VujXz9>mqolM1JB`{bJQZF5Ub#y0y_-Q){x0Q?_CS<=@=}M00ErNi7 zPRf6hNj$TjrFx&2%@nTW7$jYlEutd`(D5QZ%A^C~0}wjue_kFg3>hp@1cj8Vvdb_K z_Hxg9;-H`?WUw(4OkDv}iXcz{Q*mG_9jp{9U=EaUQIS7!|D74SH}`>nAWijGG9`wq zsDfKfSLc}lGCT8Q9E7>|MPK|*3+>Bwpn**D z|IB>I%z{h`$TZeN(u!@U%iI0BXn3WE|=D3K%RdG`trieFQ* zs}9LS@CE8b>LIn%BVou!Q3e(HrGZxx1ZfX`@$q2G)86GW*V#QnhxVnfaucKFR}CrQ z@3g84nQ0T>{RepvD}W#$f+7Gqxe#EOJ>ieuhW4RW;lya|RZ0k+Kp;jeqFOknhm;h_ z(vcV8%aWI0!tR+8qb*mpAmE3<8G?JnXp>bl2&5qhfZ!?w3dABpg)!V}K?N~905rL= zv8jRu%%abmVng932nK?l+Er7qNwEPvx=CrFG2Rg*qiDquBS?aX*m9*w?;4lKmpNHB0e<$KY`$AXGp`}dV z&(!LKnIMheS0p!^_z{bU6$t4e8wI8`<(EG0 zDHDq{6r6Hn|0K65LE4sBq^zI{ygY#^U3t6uJ;VR>tsp+zlSj&ZPHuYN`u=e$_mR5k z1M(0!TYBGG4g{6^^tSZBk?zX^!lVZX3+OOG9bw?)Kn{;`pHzg4#1aq*wOe)H z+$e=L@4b&QdH?uUoze~EzT40NH{GUH?&Aj+@heBC8Uz(ZNiI?Va)ALv2qJ}mFh!?o zUlfd=w9gFe=5ULu7V>=WL(xWyc*2w4_uWg&=RVHzi$>3wjWrsSxr>)_FN zXs@c5=scjI4}k%I?~r_l;hxB3P}Z-N6~u6xBpJR3 zV6LQJ%iElqxc8@AglDzUgbFrPRI90`p7XsFojjdx$R^+~Q>H_>RYORdMpc^*hZ|uX zQD4%BIoawIj3Q&iePB-llnP1M2#LsQcnLggNYEqch%IX?RM4kRRx*Z zc9lLNWBcw*u!@M>fyeYfU7 z7*bgXe4ZR^%;rZNYXbv(m}C6-njbN);<3WjfK;4P(pidMH}Vh(hBu(P>s&bF+x)rw zG8>z*fBV228+%t0ApEg56f>F@b}P<&erZy5r`X;UtahE`v6{-x4IvFcUlnmDB7n~tQ2tQNE(~dFO1OH0 z6Q%rNoKp}&`bYT+?Wc^Z*?|-UX&tr8JhS&&!B5^QXCdX57#g1Eo8zjtJi9e1g?(DI z0O12=$HWoMjX2Gt#Olr6n;Nwl*P3Eo3_UMO7=T^*$Skxvd&VmgXrJ^9QM zjcvNB3^%`_oLT>db-+~Pmc2lJR9$j{JULCz?4L6o!sR6jk#YZE^q0ot7}A5@nT3}s z7cB9jJ3`^;%b?z~;KT)uN_F+hg^0wx?IpjYl%)*c!87 zzk22l^Dx?FQ|n#NNMRL_5f#!l9SE|B_>g&irZ%)=zLT%kE8EkHPBt6tMI}r3#&Zhz zB{M0S4yXt5J4kXJzr-w(E_5d(iz0I#n;tw5Vs)5^IabHm&MYjd_qO%ua)w!MQHmTr z(BTL>)nNmNE9{gP`6bXE`6c*JOXO1!HLaOk1}RPwuE&R#mq{VT`N8!Dxxx@vXopF9 za*bHS5VvTDV*uj}GYu!jalrM;(DD^3g!PYTCGq{pL_7$0(&05Uj;KzHVr}ZJc5;)J z%O?2tfDlKFPY|t1%PsU|gdd0k#`+2*W>a9~-No6xj`CDUE zMNw;fJ@4IS9vcN&^ctg*NC(DlewDJ+JW5D9egwl7>|>Cc^w%%XE&|wi_TE3ceyP+H zaEE7MXan;jWs^C)?L!)+$Epr&MgN(a_0%RyxL0!uC1ThJhD8ynv7|7vhimyoQF=Jg z^DOk{V~|4eD1|m@9pdBKEMOAx!21ore%%Cx&2{$hKNHHtjUO^7r&m2O|8x$K3XB^Z z;A0_*a_0pT&%#el3{q7nL4mMU;b_JLdk8TNV%j}Auw)H`q;f+laJHxur~RXLXh~^M z|J&N4NH@4E=pa4lk3q$6C3MvVD$%tb+YGJr=O9(wE)vBMyY?8{V8Ra1X=T7SrJ#6W5^W@WP@qHG|&-y|S)_UDR`CAyFk^bjsE<>DU%{@V5KTj&mpY z7}X|}%qn!+<_kVNF?Hr+dlA&V=#)NzWHzDGLSHdI>0RN4?Y?ew%04fns>NuTue6^@ z)%=Zx#TaT`b|E?E%%3<=zC3>w{mJ6>`##@JQSR@j zyxHpd(_Y*B(K{B=_6CV2MZV<9Xc&7ojV_6i#)WLnpc)+bhZQuqZ_4Pw3SHcTM6UzL*N` zdGmVCm}Lh=>cL;hEqgJ~rHDOTV>WnZPrY(Ow#HCb+bp?=kAkuwBM%r!zz_$<6fpKd z!-s$%pgo)N-#J46^WmEIm6<9EV6*|_1Tu85%(&qJ<25h{fkCeYjO)P214aa@i}9Wg zo&P_Lq46*_H5-a|>~S&@(P9U)hL{?nDo!BMfw&7&8+DMf#rcS3i%tK$Hsq^%NBu8@ zHY+gFfI$fi1IPf4S7Z(?`Ky?13p-?&e`B)Pbf?ykFHIfxJw-ofjI3DXy_0Wd9xHct zv3a_ET#>RhA@|yTDR>;|#9-&71UMtNKD+@23>e@Kc%q6e(%w>se6TI_UiLY{!*@Dq z;a`h5vct22HFDWhn|#oVO;UP{&cnB|9{e<0!_GC1CUkgCDKYwQ*zJsy&|__coY~`B z-AVk`!?hP`Xk0nsy_(~sM>o88o;FBfZKfV3bT>_@Gp>2lfJSqV4Os)SySX(|dU~>T zp@#Dr53|iyKC`Fcb`Y_MF%=VYxXdLpZF#pMyqa+mYbC?T8Mg2HhII6=zR1(~Zph#Y z+aK2q^smOI&XRB}4kGt-^xG4*-CL7wJ z_O22B$Ptz^R@>_2e^9}+CF3kNji}D?i`ke8WHR+PZjL>;WZNnKj@zWg)cjGkTcFzR zzP#M-W(q#rCgO7cr+DykW}ebDqB;F9;d$~r8DcuOz3Jn83RR<8i$(hgQ#sk_Nm&+c zqk1T#G?GTW!SKL%)~?~#1`|sRT;%|vdR=x>bM&l4-6O_CP%X46pxah7qWH;DXbvx3 z=W{ERhgVx(S%h7}cV|7$f2Q&cuEB1z#~D?ureF9=(2uIkh8|FLRJTTJAAFWlGLE*G zeVVRuo#%mhRWUBY#-p5^M2{q)%!8pAU*T;v17}%Qt}`l4xt18IeKUN@X0V|gR$@K5 zmD7q#F0)&;E*o{Oe3)_h(Ilx%8zFI@MmD__SK%qT(|1qCJyYU|9fjt`N_}}Z-{Plb9-mCAUJbD;_IBlcM_b`rS>Kv@WUV8M1L!(%vZ)^ zc-IiYLTRgelVuDN-MRa9smC0qi~?y-$QCml@8TpovE6-$BhDvR#v@x}bGLcYlO!v% z3N=z*2FCNViyhTCIz>EbxGg<6%sb-au6Xv4tX?bO$#?i#eXh(tk*k6>OgrVVo$0e1 z`v;iszY(hSuo!EL*=V!RFE{URe?5~D{^Hur-=m;_AxqZpqfuib*uh=>GdCvnbDku1 zxqDaL{hi%RkD?#l%oIxipG|>g#5GI)qh$8dF#mTxB=2D}#$_069xi#+vDSP102^A6 zT4+!r1y7YNoBT<%9f|a1;bz1qV4+p46*6)>#YI0|VQjb0jYcoh?5q-rd@nJ+_v=YH z!Tdzz6`ipUB72#GMay@6Z{NQBcKx~o;!-W>3+>5R?t1Ut^X|ltcQjjUu0{AP>~4)jo!>x!V5GLf>CL}V>!h<>OnSISUSGj+37IQQI

    ^YC_to(5ZsGL}lZw<2Uym{uxOEzKJoQ=ksu;nWUqU7k-|xI% z^=^!IH!SNBb0g zLD|dgE-2plMf*jzjB^q9r&FgZ{eCUp+r_N)3`HLAi{<6pGY1WWol6g`O7`gzOScq? zkP`7udF!8RRTJNm2FP9QY~7*--Wz=jT6yFMOZ9+2sqx~lAD1k4_$=`F z$>8wWwD}6@E}O`WqxuK<0l(?+^oX%6rL_5}>C6tHZibxnwgw5xtQLOF^CZcx$r`Ww zi7=@5m(Ma{9_S}hx1{u@PjRm{{Vn=^V`l=d`pb7a_YbsLwEgm^wIRFE$NH(#AvZAW z1dduh9~Z^dK2OS*z;Vg5d<~X2?tf1=an)KnbaI*b>7~~rcDy(p${t?oaG&?8b z6>nUDqkNg}i`qrEL>x!614X<&;!mDSy=h26y&7IE^ZfCsRs(*M(#_Z65mQ0G%TUB_ zbjm3=Z{@mZT}wz7HX&nS=y;i2u033@;8mjkl5=^9E%#0u#)E43E}{M^+j9s0&pB`o zF8plqCB>t=e7pHKC@iE%jWoOst@&HOG7v?1cMa<}AC zG(dy}@%6j52T!4X&ovu38!~SN6a`!VeJ{H(Nw?Qs-Lo|l_{p0+hn_h5a=-`8(5-BJ z@fLn8W|x-CQuUm6@mi&p0&MVsFtFB+qCm}QZsXdZvmex|RLNll9fh&Mbso!$xc=+V?^=J!j z0{N0$KKDF2??zZ_2RCJl!ko&75z3f*dq)mU2aRlh9!$O~sU}*lQfQdk(lfHhCoS!Z z3zdt&*SWHym_%EuF6iU@X+%S^;kna<##^2V{i_z8)6cJcyd_+#-9MfEdUGjtYgCnQ zCxcc`Hm7=_DjxhdJy&*KWKAmiHzZu&4!1&Zxym-*`970AxJt2kdwHwhiNqo8^*-Hb z^^c|~^zEjv@)Y4*BNc?@DzbP6ds3Nzg$w`H+rcqI;XdZZfCf#B0U%jEnfng~d-+cvE-r|C@_T1KAPAui_DT1q)^Lp~Oa_L4zmm);kCP%-qn%wuA zZ2V58WI`RNSUsG6-BRkhe{P?#@-ND=U5$`2@&LinCz|&I0-m{7c{opDPJ+#<`e{De zX}pljW_MrrUSLIWsgod7eU09v#NYlgBGh)E{Y#`^OuZ_c*GcLAVMZvqVSvD&lZ)+I zSAy5|EF>}(g2_?rm71Xr#6wNoD470|e`ueuEa^+4rpTDCay&=ksISRa`0pNl2)xH( zu3WgZmyen8%XrF9qr74Gbkg6TzJ4!tr5o`h|&t~I0k=aw8Y zr@FN7#@BZZ@#Lr;xhC3-5Qy$m_EFMd_*qsy=Uh01TGsLF2&=vAW41KjuYOcCPwdfA zjqiPxqTZhJ#h07U=~8L&&mD$ovKc85j4nj2*Isd7ORUjhe`$I@^PPj!O&P^!;$MdA zZnIT%Y!AvY;SASaaM%Zk{tCD7AQM=6VVTWyyGof1BV)44Om9%&^wz-D-nf`);L*+!V#4qUp{fm5$za)rOvu$GZ*96K;6d zt5{am8&slrmZ)@9)&te@Mzn7ne@jH^6YF^%+J$nZ@QvF@)f4d$Mu{kHiGokD=fkot zc-f)ZG>MqkV+N)>0$Z(%XJc-Gy%laOBuMt%cEZ)+PvHM!dt%?|=ds@VSe+r{tNyjo zgF@pm!l?ne7o1u)8#UjqnNU4}xiC5z`6*I|mTVqZ`4nBvw!Ai7NA{P6IiGCdTyQR& zpyMf0%%RG&dgRf{I@PexZC|_bM^abHGqp}<=^oEtb^F+u|KrZg6|cMHUeOrQ{Ez|B z8|bk$dC`Otx{Z`DZuv<74^x#e*UE`Q8T;i zdk!O+$|~8mss@2-Vu@?QfvwNgV3`BIMe$>tE~DOzpSVzT4T-k!MV6HA?>t=XyVTUcwWg z_GdvhyZ9`mt>oGVA^FoF$wPVWDmF!WL-*OX2%C5HBUZsQbeni5ZYy=U;dswNKGsHU zJc0qun+Z)yL%b$5=8Krgc25+C?)`FtCs0&JtmC`VS#wkF*-uZoovhl;r&toH@ z+SkQ2^aXLHb5t_FewL$g87Dutq=;t8d#il>Hv2=Y`|MN( zIni|RveBTNv6p?xNkrr`+mNuQzOU96DFTblW}Z(S6>^^X(vYwERnuV$9Ug7(ysi`2IJA+l~qk=C9nSB^YnU%5@E1`)IW?oa(y4aZdLx`|9QO z)us2U!vrrsnVAaf-~aZM^W|XZMd+WDLXQv$y88jP+)JD6+QL|;M=c=u7lxuyEdxM`xdL>LN<2TEs8Irvgt9K{a z0d4YPOd^Kdyyx00@2P=X$o96*Uo}NUAMpKR7uKD%DwWtN$gd^Hg(=JSb#H}mvr zoi)F%|C1ix`M9fR^Z2e!OMe*W*ozF3yE*B-M09Y@t!Ae?*M9%FrvAhmzAeVPNkb+t z-54$Drst}`GEb@Tc5O8zMwZgJk)%WMPek2f{Fjb%Jr-GfjSDjdiha4BklS#Rr;9KN z?&le6HSgcg8JCsmrBq_C#Xk4E`G{FKZ0oHShps}sV(-4?_ytoTOA}*tQraY6=mOJY z1Qz>;QAB~F%Zk;-PWE!++u7N(j$*4;9{&d)rGi~4@95`XZf1JH^WPVDB@#`nTdLj` z|LN<|ZLD7yKvnzny-jx2`xnPJh9mAWRfB0dY60LF{qt1*}u$5(G2M#V+)RePw$R54ibVOSy$F_xUiSTry08{D_J3iW2lS2S|^ z#B(F^?@dXc8`Ejj|1~fB6+fBBzjwGGz)WgZ|JKn$CGMi+z_`w7480y7?HY0^_A9wv zR&3`%eSd#Ax=8CH6NIWF!Z-?iLzE6;UK_j${37V$LHV7cOqJ7(SlyIB3Hv71WH&(3 z#72Mco6K;Q+@=4KI^{6k;j@J}GY6){Aec=9WXLR#H7$d4~%>gH0T218v#>Y0F3X`B?^xgJ2UE9q= zaXu+;P4fnFW-f0;^!^t2r>sB9!3C6iZlu=G#4_!l)==U``ucX#p<+uz51Tcd!DH==zhxxc|S)lT*H z87$;Cpq!Q#+6iWf$r;plX^q;S{jiO$DLtHGrTP0fb0aU(sVjm`Y03n@Hh{`1XiDpT zBc-_iA*A^>5#gWzu-7Soq!7HL#};H)S$&7x?)OUZohM};#{<0Fi4vzBTjF)8S}rY5 zP3=8h>lSP;z7dbZZEgzA5gl?Ed=1x>5nGh%<*yvY%H9}{jm;9;ifmbUMY(PTb4nv@mK|XpAXF-nNwV*aqcUtZ=O!A>o8hxd zkY`!h!L$vW4QAa15*ARsfh7z#Xp|j8?U>8z2_QTAiH<;Lgo0j9_N!~jSYVvwU=2A> zat!MTyOACF7#=4(^16(RmK}qXMwh`tZpV-(IzZ<*|NMEV?>^3>zN&I(&~M2dsL4Sx zpiU-u(r3I(#Ns@d(lms|6i77Ssg92}emraYpA3|Q9tEl#@ zw|_|#O>0T5*y?`E_GWFz;|mrsJx??xF;$l}?&jgTEb_yUhQ1A{YAIM(KR{zS)C})2 z%LsgfGBRB=-SbC)&(yMB(fL~0Kk8|a#l*A$G@hPNWa2t4L`qUo-QPP@kptNpmpmQN zaLg&r&pQ)lu_&5~Vv5D0Inj1oh^1ug$MmW_Lv{s)*-k^x2F5HXYA>OUWgH0KuZ`sm z<83UlOwM`}`bWr8Jnb0UeJ{wyax!aTxgdF*U;H=|%LpX7NXP?fNOq2lvAUj>(!*H) zYo!)>joMh!I@zd|<-+CW7($FQu?(XkS7;s@!9>=+lCCY~KRW;4AGNQ1kD8Bj?JN5t zzUrr`9Dr68c0f@z5xp19RTsij`9+U2ub}kV*}QTJ1xqeZ?Tg0kB<;Sky4DK@UNqB; z6peeu#J*ym7`CrOOodFBV_~_N{x}~SV@)i>=*Z`*5o~1bD?>Ft$|mFcIrf!2#u~D( zjG2MRv9D}wXJ3iwG-6-v=ViaLmR5~M>?;|qD#yBV;kK1=oznMdTUpAttz_&N+u?Xv zMaosB((;v!-D4~cu|J8exLJGlssN+zlX9vx2xM;L7W||e#YtWzt&v+Ju#78mERb*F zsR0qV@j7HlDEP*aJ8z=phBs8{q@dn9awl%DHL8cS>57Wb z6j^8kZQ6pY2);COLq#PQo9U+{@fr`Aq$3C&I_rFmDE;3fcO)^CF`*p>b*B-SGcchK z3gy`W^^Vt>8<=xW4V z48{(x`XAm6T|b;h(2wQO6I%YRX+N=>qQzJqqd(;oN(JV&v=*~K$}_BotLj@pG9S@G z_qLvGK5N?az$OKjC~R94^(=iHJxNH(d;;G4Jd9hYLlr#TN~O8Pk42$_zncVsjS>bdA`7@;lTw5CB7G>vM8)A%7;8vNGqPifu zAFT}fbahQMcBShVVPsk6 zg_4e|xzJUMFPeVseZ^YQt`>i}zPD0eo?O06ws~=Ru0B^Ox0V`;vQbp^iTx9XuA6PA zM3E@sCG zM?9gzMLK@*JtgxMlJp9*^q!*s8z^UHXQ@4kDo=0(cAR^*=ojvjEa|?2UwkjUGl#lx z_;ikbmDHWVvX8cJfFKl`;hZ`(8HICcp_&}(V7~o`W85iji^01ZJAVmKPyB5frILbmQPT2_)Za-r$2<*guaN{jlMuJwLH!2EOI`6;Bwdm^Yc z>CQVP?GYf1@<+lDNKtyjFFqaDz)|kIPbP#qspr5vilPL4gP5B_V|mY;!5ZS?a>`9_ z;?qT^VE#zaPZ6EL{2t}vV2<<;g|3&rjM@%cUXO-?%bQ(+a|^xCam7Xd2<>N-9+gG7 z1SbgX0ADQ@?cz5RrT^8MVK|0IymqCisReIOnRt3p*A?@MxoWLin|u0t*X^`%;Id_V zo_(cO1QA;U4x3s=PSR;b_Q zU}*3gH|dZFx0ySD?i44XuD3@c7=^^9mk*Dt#NsAY!s)o~Bhdb-5Ks*lYwi;dk6fm& zWieXNarwqywrPB|Rl*busc3+`VFkl=j8o{Hi)-S>Bpa`AB7UzCLOCK6%f2 z{k5rbuP&T$JkKe2t^LQA3wt(KGI(ZjYuIW~TwW6g#Zi_qsLKH34*}=&2SKm96INd# zNEKtvv#fz#B3qTc#P`j~`uu7R7SD=$w~Sz&IMJ-HpIBMh+*4RS_Ofx9OW%~wpDYLcLgEU4@=(Y}jg6Wv>Hx&c<&PunUDw=9|E#FWzS-mU9@xM?s z&C;|3Y&F5VQow$oh^(Q?JmCv^!L|#A2}xPKD#E@T*QEv=u)rPQPT*RCK@z7i3@Q-E z6c~gH31lToTo76AbStV1weVXW)Iw1!WrSMSRSm0aeqvif{b05-dVyBPEILWI_U*&>ZldKv46W?E>{E1^xO|FF0QmSN8b}m z{`~;?=H~qTKA~jVE;oc@j6|}GTIsXMEIT3g8jV4-Vl@i)?Ta9qr!XJc z2B%&O+*(_Av>zOU%JjHxAGeXR+(-Nxa|Up%#U`&A3wy2APA|E&+@3HBz^SHB zDz0Cx`fi2z=If0@!O%_OB{w}{5+w!R^`)X^mkf=!y+*~V)IFQmjJ$iPey9npaD%&( zT2%lL!1-e2agSj3TXeM2A4KhN=qYQFJ5l9oggjFlVA%(9s-qi)8*-@hGeuT|I@F-S zYGqqF_wF6n0>l)*p?CG(ls+^}K@>EsU+4!R*FA%Z&sSq`el%F}{iVHgwQ99SRh*4f zVFxz%@84Wp+(d04BlB>iwU^2~nm=W4??M%q4~9i2I?By?T#Wz#7&~et7o;bm>IF(I z?ME@t744%iG(Z$jZ4l~-zhm3Q;$I{Z;+0;-ww$8w7(inmG%l;8X-2t#S2xd9;b&M= zEV*`}D2jrvsGw`PZV|6|xu9vXQ+4?F*Z(}avXPK^TdhGjl+kB+ew#3vqNo=X@xZZ9?iey?Zl~fL$NQT1(tm% zJa{ONPoeZvP%s5xYYdZ$sWwz+7KK4SQ5#0vZ`28|_y8yc`rB5;g1`SYE?BEBR^jg_ zYn@t^RI48b5eX6n4)0Hud>@EQlrHu9%QtVoJ=K;KXv>oT2gVug4JbN-G(;%~b{vS* zI#qz6c9sF;GeDu6%YQZ>IZq;-nGT;z z=5$%#emJs{WJbzkIzX(3f}BR-rl{;CX!~=`BtEG+LA4q0FNbI>)(T^Je(jXqpV@ce%8P7;N(5{Fk9ht7uR_LX?_Uz^ zAfVo|a0a0)*Vh?@4u#i#%6%dghbzKScLyA$qE(Ed=Uz0h)71!hn0YshI^mDY;KbxS zZjQ!!9houQ86EeArEQ4v(ilvf7O+hDf7uQL$$CJHr`1SB(8w!(Yq%s*&CNW^f4IJX zp7t;!878z}qkbJq2R$5DzL6^843_C?wK8v7larRomuu&;rL8j<&S<5Hl2;&N>VTv9jHTqE-+DqoJyOTLeWaL+?ye3;I|=j+ku*7H&L z!Mh+OeUGNoIK}vd>vSwIZhiu1r+0_a2LuEv2f)raktpE%IY7RDd-SI8i?X4!gLFs{ zeGDLD#6?yXanF){&|l%G4z-kM$`50wQNjhD&%(W|4VKpiYcS~WeDwD}La5!nWl@Yi z-dUaJF_g1Thz(2AWNd<$$}}pN;^DT+gq*ft<4_R zbYA3n7#k72prZRK;Z4nMNHT%@pKt;|p)A;@oQjvN1Kdm85gNODtqX7~Xh@ZVok8#5 zYvnbJehOp4$1kh-f-u{2oZhS;__fQnt3jvK)f7>a3dKO=UpYHFGg+T@oay@H%eqkhrXa<`!^i~0hiX*WQ?R+)z|hSNC0Gae4GI)N|Gbo&97 znajAUf>xi#=2R@w8FZoDLFF*E#u2hrFeVy`L^SUxItoilW5Vzc)B=I;^jw~IdmUZ~ zY6rp^Te6@MjH7|^Dip$M9Oz|TREbc~1pfJgAzGGEuuFU4r(_ol%My)$-UT$&X7~~h ze={{eMHf*)WT|0mCQk%`H`Ia-*#km(BJp1o)N)ZEg5d}WE+`+GFoM5sh!Y3p9V>m5 z4uqN5q4frx0r?WBy)`peZq2sJbMK5VWis(e~rZLv@)t<{%@ zY&yPTdc@JTR>aRGp;iJRjI}eV@Ax8Fwg?2Cliq7Y5M_@pbrO^g=fnbd|0WtUPRWJ561;8h15| z9h!O{ucF%06a_<;)C#sUSskF=LROoi!ON;tVOJ-^EA~qCY@@KzhX0>^*wXc8r)xFu zYJ{me7NzKd42tj|K9}V%WN4TeBnkG4GWH44 zN{c1$CeQBOc=Jt#oBZPRzS89>1c#|xB3x1gHyQT$5Qzef%hD8i0}&ivMF^%J5Y4vz zoBYz^Yi_#vM(ZZ8v~Rljwozm^8738-byP|wf> z83SLQ|7%eux(r<;+$-(-`5QMKcge+n*E#>(^Z!*MJXu(m#kMG)5rwv-C{kMxACd4z z`>sdgAIEi{fHArfu4`T7Cb${sH|JsOGoWyHiUea{fG*cch7&Zp+Y!>~MuyVpKQ&7w zv-mn7M}9_<9>vBj>?y^5K&3qbfXE*UD)jdj8j8#KI6fjZdYl)LA$vY$->64QH=i8d=9s+p2LY6}0XyIEGPoPGKZC zbsZm^i4W&efoh{TwKW>QFy&cNrnCkHwAYWI>h&XddS_`7l#W1Dq%bYcWl%Vwse@Kj zBI^tY1^}1Xcd*QT+%nxeX166D!G%Lx5+A`N96BU)=Y~TkxlIPA!UMx2c1sF1G&j@cfW^}glx=)c!GoU$}C%heF4b%!`{quoB$>6~I5hWOk{ z2T4q^;rbcC>NzJdJa5Kqx1R7~1S8{tK6g1_{0{63U0gs)1HK+1{$%3e6b~~Zu>%Vc6SlcpIyCCNFgjp#r-nWpwFvUu;^dk zCGuJ3bv)0kB6FE5p~Egog-;M?sIF?tZ8-e6;>3J0j$gmI%V+<Sz4 zl1hD!PdA|vY&^2LnZ%KYpdxSw8$^Xa=~qG7stiLB zm4E*Kf9N4ema{M{?h1xh%wH{KJ2>VVP6P&~#)ID3+mm`j-b~-woDjrnL7F!0bvxD@_HpN+U&H;o(AtU9hC_XsH#AEi zu_|<)V%8)CDh!2dC`3WPp5EB>?d$LX6v_ZFRA_|jtl;mn+`I0&$a00aT+|OcIrBP0 z5QN0?ZD#NZ9e!!x-wj$G&UDc7?iwyE^lRasg>h;VWaibtOVqb(f=ACYoL{zh(4YgH zSYG7Ow{iu;c+zut#U~%n5B~8 zR?ItYF)T?{)XrYXgaMLWSopkZ8zp{9o%V_~SJhmzP%PDoFmivjw5SwRMFfqA9O92( zcipp+?i4IXmTGpvE6BgTp_?$&A$xD&Wl@o=LQgg2im#WeQ`NF4TfSvms&yRNmLy8N z#9Jqw#IA(vbYzU^KsS{r`)+87Kw|`r-#y*w(w$H`IQ{IkBu&?(sl9@v=q8a(U6F*n zJ`CDOAZs%It$eiQ7_DN3C1Pa0s|_#!=RBk zvR7XH>$DWoDA&TmCB^(%f699;+9ydFj~%rcOjRvKSp%%-68tHv)8)x|zlCHs(S%7n zUX#OlqY$1Fw;%M3<0*K$3T_RA(t&MMLAUYb*;cA+;XZMmA1FCMs-A z(JK~fGdwQ|lLYSXouZ)E%Jm_*rGh^<>7rX$sq9pp&jGy!X|8TKzH3eL_-v-9uo}tE zpN&*TNYSv4BZ`QMN=(0~YMn0BYkF;{F3915Pf2StfF!s8?R#mC1_**C zk>buy&%Jvu-k=~f=rwz!Ns^!!&~#@`d&HYmAzMLohwi4w+E;+4bay-(=%uQU8-gO& z58=9nhR0P5^3dy|y%D&GX&0mNcj(%s)qrXj6s2GaFyyl>trFHE{bWkeRLk^;ZDi2< zL|AoM{2qP*eJ)f=0R2d=Ev=Rce2kI!iBRY^=RHR-Z9rb4K0F> zRqg#}A&`m4?1(1RYPN%DMI~G5I(*soF zprJ?MBWA+gkVKrG5^qq5Bv439x#-Q6&Gz1!Xlq?T>Ik*glp|JJB^$`r&@9m_O&qEV ziY^&`kvBZw0sP6rlR9x471gX+AU1U28+3J*=JO()N)@%(-5aQ_g<|oD@(y41S4)b!nqX(VoLa&m5+P0{( z6`h?qnrtQ$g!45=2~N<&Q#HM02DTNpaPL;51buO%vmuofb(1gA)np}pQ&mb*+cu#$ z?$Bd>}c@XbWQFezgEY2C4KEZ8bVOp4IS#)k$mt zN4XO)f;d;&jFNo%}`rSCSP8qsGtBwewsECn7uMkntL^`slcU0Au$o1g^-rgXRt*UMM z_VsPb?&SInIw0I)C)$pdmhiZbq4R^7UQeTR9q)XQp>-gOnkLGf61%*=0?%3Ng)b`i zvn)ytDvcU0-HAjyON|IRJ%;#KK;|3Ne{+eulIm6IJvoNcxZ-B$eis{`#Rswxb zz8G)OWqR}$h$yieah-_OC+b1{ydortUduj0+S{H8h+S2R$i$Z;`NjN#$up z!+K{@^l3>HvlU$cg)+P$ll-b zl)lmpR_KoCsFk3GEK`l^7tsH*wr0=Y(CeMtYhT$4Y6Z(G)Pk#nYN1#xRD*9-EB96_ z^|j*s>u%_+o_yVW@l|GVvh~BQ$)Xu25Qaj^u8C2odm!mgaBq{c=z3+{<*AUpmrX| z^528;$=Vt({U)xfT%isp%q5Vkw*e4na1gSAQOLp$sU_=^-4 zqDilLjij|z;|@u>!%+W72;BhD;bnzCz<`p))m2fJK%G_oc2N`;|CZS-)AeuU)juWl z(^bDdcKXZK`q#sWw4|;k*QC~&wA|Rfnkfgr%X4e^CDthK*rsMAg=^0BWIx_-kj4}2 z5LON5IjWowp_gb~vUn-69Wb&PgdqZAU%5?QG zN-@I|1#W__B+2BvJ)*WU1^rMiuKqMtUS~YQ(tNOx#|PWE(0 z4(QQcrF*m%#9IaV+S;(Toju!h1nlu-hmipE#oPeMdu%2U<1#`5D3gakUB2%ehQB@ zXpQUnUW;hM?{-$V$KR;0Vwk=zUuyF_Jfl$2h($3}M|Lg0n>)3f{Km0OOBn4Rhe*t>Oq`{wpxx?vv*rF7706W zCG?u|Jq0gue+c#gyfI+UCP;VMW7B5+K|1>*=mJMTq0&_2{MQZjJMuT#41Al__)(@V zPqC}xxGgIk^2=A1f>J4aVhhcHfKc^aET4@qfj(O)c~XaPg{QvzR|bx|uE&x!i3)-t{s&ahw(7U8Sou za5TKmUCv#{{Q&oa-0Qd>2fV*8waa!d!ET7i7~kELniNE+RO0t%=-zd7CnfeMh;mRu z_rSIOASQ5n+7ij^P4~TNZ<6jWdbgJ;w9GRZ?x7A)w18y)v#~UF)yzC7G@Fc-(rAZz=2@S)ua-a_gaKt2o_k zl}fFdedSge{o5xzhB2V{;gr40mQpqO=$=Wi|N}^St{>;Iv z56;XSY>A2@&K%xrTeF9+II_<%TvHO{C0QdfF(uQ#x7nypn#HQO<~PlvWp1_bEBI8= z}Bo4hJ5%OFvw-`MXT5IxHcK5+F)p;AcsOcm)Gy&hf3(2Jv- zP}qV9!+p9)xYcF5EK)OLxbxzO4gHmuSDP;2vFabIQe@8nwtpr>WO&*Lrl*4~JZw|| zlYq~%>G)StwD+oo!n=}J;qPqtE*!WN+{`zs2%|`@G+ml@L(fIr>J**J$in%ryAL}L zKm72A9>z4OK1|aOKa6{pg?VToPfMIfchN&%w#akx8g7GnWW1ca6Qt@Jxcj*W!WRBP z?i1Y4aF27p$bF9cJoiQJSGccmPjO!Z$=`|sm;~v6xU~$wEpOQivd?Jr2CpZNeEz9uhq5oW*$pO+oKw1ZgcL2kmr819S?@3`6xNv7|8U%*pXc{37Gz|E29QL<| zU22*`$oc=~KI%N|p8s~{^i2&-kXk+ZuAlh~vpoOTK!r!~gUpGNWC8NkbQgadnvX{4 zg-ZaMR*C(rhUdP+exh^grxYjHPjoK17f9<@a(Bn{ek=E*l;)3eAK^aEJ;wbq_ayhv zxqk`NesO8tpB_)BbeaXrfqZubgBQN+T_mBu9=4}ZN>a-0$<2=zb+JSqN7OwOewu?$ zIZV^S3(OwL-Mk2zpXPpqdmHx-?p@q_xS!xYI+n&!Xe7EmcpQz}Ax$&qFgonU>$x|jC=<2Dp9@>#mr?dsNw0KaEiv+WA3jUzw|604 zm9RCAoG++Nx~1{W5nJEm;s5#nI$q8ql|B^y|CeoABerCBOlzdnqXcf{O4`yWrMGK` zqq4UOZ4=vKdX>U8L$WuLyV%!$m{R)FJIh|TRl3mjIHphSisS#eiG<@k5Z_9G^cUgN1r?n zZ2xUKU{O=ZPyNL2{{zLz`RBIL8?tf=z3gxu*qerW5R_Aqo_LWuVh?z_9cl*3@cF_t z!g1nGxgaHC8`YujGELz_;s4fnz3?AEZ+JZVAFn)&)f>)#{U3H@R4Tsq#L}!kMrDZo zaBD+8UH4~fO4L`#+u?fn{gEg}J3LQC2T!Iy6StqOB)Ku}ZuHf6Vo$CEIjQXrcg3l^ zz8c$b)L%z!IMSp>HRt!`_0=VBdK=yM(v5j8Qhi2A@`4V8c2u8TxBvZ*gmzS#!x%JS zJ6NC|jq#51(=g8Wl4~V(&FoLn`nhDe(`cG9*)9WE#mefLr(!FYx{#{w_-N zq6GTx7Y$>d+X%!@ihjM!+l7M7m+O9fY1&J=C45q_bapz+KKcLH>Cf1SRPk6e9Lp1J zYbb~4Qt-?@Nj`8|WgnemC-#^46E4trGn27C#IkOHwTX-N!8}74*Ehl-+^jSPI^Lh3+J}JcKFH>PKC?53IQzH@5OG2<1d**} zQpi4_-4%2{yEJSH-KBx89bC)AB*e`elFf?ysZET7{#9_mc@*2+Lg?WD@V+_PW9OIgjbEm*#?xyxY9alzQ4ibnlifmIgOk6 zWm$YXmiQC`3mBBer?9ZMi}K4uW$2p6(Cg-tgzel_f;Zvyw_`Qmj*p)bW$C9Q4v_fA z!ku3t80#VZvzi*N9i&%j&g}&04O9~PzcmG-#2}=Fry#_6+{bnX5ci`B0p!DZ#~Sq0 zS5kk>VQAPytK#|0gQm}}*$yTb$N)AWcE|$llOsIvbj$+sFbBLTmjfc)DggTxBlJg# zXPlVh-9YGeE$O|6)DD#W{Ya* zN}NfebQLe~f zJCDn2@20%2(jAPHIs3pqTBiNLz6bKl-LvGx<;siBB9<-1WlQ1cz0KnI1cN{c=+X(L z-}TTZ%g;hJcuWvB_dQUB;%uCtf19qqSC-}X3Bvo}L;{}Q=PVgeOkw%s%kcN{bE3G$ zE1!`yevOAeP5z9+hx@%HzdOVEltbB;v6n|1DCz74}}Mf<0vmsoHA?7u-|bmWL^uvnj`?X{BbV3_oysGz*yv!$iT~g=^MLgE9=a}(wvsO95Dro|XiQd}`WG&c#c;MNYxRdRX@LP-Bu70Cp~~Tk zyO`U1LBBf)21}%m;i`cDfn)mdHDd#kG&B=lad zcc$0--+N>)&(8|-bsa&vNfu^#zSE&MZjyw~b+T|zv)QyKE^9U~o3J5Sx~zHdVDqx; zn$3yNvbzVlbd2d~&;fAQg?^}0^;ujAIgEec(>qw5ffq`Dk42SO>-8gD(PO@6xCm;1 zCV>H3z@XY_CQ!Pb*Dwo`;`=BdeP59Z=3kH8dGlmpV(;FG!lV-=J}wCLnPS29gNAKX z&0^E{9jiD~m+5`W@%?7etQvMB@SFnNzb5lFO{B*c(^S`a0ctrL!j7xA80^12a_2%} zPx%vW=ZAu;yCSP=3=e3V-l*?iE1l{GLlZq+FNy6YjZ25dTIPV7c0+A8qvQH*&TUV_ z|GCTEQ|{&GpG%)uPjWz%=mJiOw3D@49lCfEZfI@z+3dj26YX}K?sQJGt3>YAIG>wB zS>uLF39!M1OIrJE+lp|_t`ZHpl$lodVbeZt+89`F?I1tK^B<$D zaZ5%G+E1rulr+p2s~) z*9f*jP94JCVZum9psX?^m2nS!P*CA*L5ENGqMB95ajOGg zVm;v$&&>_j?Uom|b_#C8ape1|WZ9b(-YiUBd|lmoxm@Ss^|t>u^fAVr=nl{^&mtWw z1W}yBZscu^o0{XDE(Xhm8$q^ik2AOHQ*4Um&)L;)vv`u9VR0%?Ce?T*T+R3+8E@Vr zEUc%_0!}Jv0x7xh9{YYE4ykcrfQR_MK=>Kbwb&j$yvFtctcQg@t}MbxH@(ePklAx9 z!-46GL9#tC4N00@1j$l9LbokF!&X-+mzT(JRvVZDhU?GWl^KUnz9|#i-5)Knp*?-OOSUH;=b7)T@2}I9c_lJa5W>q0oUF z+D!RupV!dVy96z#Lf40JZIBGgV6D^b`4Tja9`3fXMg*EH)V+Ox{aERmGjIs!K3#c<)8(_`FKG=dWgn9*BaIYOf{p;ZP{Y=y=1S_XRb zx-w89z`ft-9_lcf>jjWD)LO2jDvH3v5LnU+ zF3*cv*^&)K{9Dm8TOFx=U_zNa)+V~HSIU|t^NMasCEY0r1z8mZ;A9DkDO4Z}B9dZZ zud6Gfz#FA9;2HzZ6&*toWh=0?q8%V^Dk&Wed3qT}WaxSM8t#7XN4fWMALSnB{u%dW z?sq^F{ZsBQx&OrdcVdtV*@IE!Qr&`^+8!-YHCFuY8e+#H$Y*N-y^v|T8%)p@TgZDD zT`5YZjP%2?P;m7x8+M>h5{^LD6dZ-H(8v}UuptRu4b}}&|MBzCehm z`Em{6VJU?gc6~H#b_Sg!jfL`S6MT`EJKZ1y0gEY0A=sL`YIgRjTkxGX_0AlS=<7&o_CV9?m7nvlYk(UJ&?aDgwSK^5mnqnFH?6 z0Y~wEXcySZAZy_ya0JGX=SAUIlKgS_SjM&F3i$%Tqkz}HuL(rtHGvoZBcucYFaHzI zYfzk^@xtE_NDJ^lBjUdSCcp0WSQUEW4+3NJP(D2#rWcZk=@1WaAYN1f{x9RypAf<- zfXCm#3k)X@>5s>?5y)wJWc6F%DKdF>IuN5%5Kl+g6ot={5P^97UAzz^0g`*8su2F~ zqM8u?4+$VZqzL&uk4FKo-xAh95|70x`elg3%TwuxAlv&+VEyTd%n$*vhHVj!e+x&7 zO`eZp%j5h|2hI~1Mv}#4!Qbwp0Fnh|(;BXM$9+rIR>&M==-n{mR-rz!R%kXQT@ge@ zgQ1sXmK9MiOx!)s%LM*~{SWSOHBB|3k5izgvZ9HiQP57W~4M2a>t264W)IaYUdq^x`1IXx3Qd zvDZ7oV{FzXO_FMS(Rja6c}Zql^>{7UZF!M> zEh=Mfhf*da!Mw9SClJrwPa7MJ=`0( z)7)FRcj3GP^bw$!4yfb?6{$zjom0*R?*#K@{yF41dDHq^17XqX$*_#Pj$h`?)?5KCWUvg|gh(8sbKoXA|>UVM&A{BrBc+3Wk zq+BiGjiux}j?2)z$z8*}oVyoBFz@3&0WJI2cdd23qzRp`bX|HX=jvXUn#L9Gc&cUp zBDCyXXkIUA@(wFrm!7a`{p(WGa}Rd|cZz#6_hZ~oazD>~5m#+rnD+IOrtLW8>r&Bp zS320GAbCpXo=c66Kfry8`y7m(ek-Mcz4QpWYX$65k@cDF^{^M6pxdiqp-=N-4z0h% z{q0Me(sXVNt^#I{+HWhH9*<23p^}DIbK6!I(xEgH)dWz^O z6FNoTFS3-XQ<^{jJ!plvF2~5z6x$t(4+e^Vghy`_9(^9xUc!n55v}Qppxtn+FcXNc zG+Q%OO|Q;O*HrZgAYnMiS*g;>+j`3)``(&{o z`o~ju?3XT?Uqbp~qF20`ZPdYox+tNxh=ac0zeL)izKyQd~H%7*I zq251gXa7s??_T0o_7_R@f6U=xn8L zukOG2{BdeWecv3?_j6|Dx7GMxf?TkZ%KxI1eS2O1l1$g`JU@S78vjd>%rAxc`CaJx zmw?;}t@GyQU+OaZ!qoj2ounJP)$?C`!tO@VH)1_MiHDrD^e?2M7`;^V`LOH2?Y3AT zS&OtKjh1~#XACod71b3%P9KXys7vjU4+ z&H)1H-rq_Ty^gwE#QS>pycUN3#0VzXyfFr?5{3fxa-QKm`VEbE!tRr*CT>aOK3 zCq>zzu_3g^0k|cgZkPhx4qDbk$f>GQ? z-waj(f(h6$u8Uj+nAnDv}5j;dzjA9b+c^Pp2`uF!4khA_LI# zB&7H^NL%9Lr%pK?x@@@f$Xyg+ZF=0Gwe8R&VllkYP9*?udj%;SyyJ%ik?c7r2^;(` zO}?CYWE1Z42SY606=Tn3$U{6jNCYm4!w|2LUj<&meb2Z-JOhVI3^Rf^^8{4AMPl(2 zJjPbpZoTf-o%qeS)jYYwj)d8YvB5mRqhJll~;53ac{*nm2!)2D>lj~7?pxC4DJIs zSnJ_R(k4o%?%E1&McHX}WDs(GFcY>q+}xOj6zO*2J>CXUqAQ2K6But8tq8hG15Iq= zQPOl20lvMoxV&Kds_`G@ZkwfYY5w+ESyJxUH;c5MeFZ(u-)-0i{B5z*8Dgjyr5F!S zs>X4nEO!!)=_oGTLT$fh*LY}!a5B^xQ6%WcPefg_ASt3G730JiRo5YJH9A2tFf`O7 z9zr}~tcWJJ0@CO$+)vP05kuSDbuALPi!6~m9O1g2&RP$!x#G*+P7rnkxN}*j#Xewt z2nw>m8y0Igc-$4H!I8)aa11DULQrap{Ug(uAWYkrjEr~Rz4zUB z?|t{(8`IfisuuCpvLUT7rvB*}sv_PD9llD0MSTIE!^6u%m9QJ>eWya@{YPUOVt6z5 zC+Al zNjZr*$2M>@1;Nm?iZ9DHM(=pNIiJxxN)(AlL+~(aumsownS&9(J6Ep#2^CInJjSa+ z4O2$AYl14VOl`VbuG@4`J77MFH9=A%xR&XdU!&R3S;`&Xxel$; z;44=0IIKw%yg= z5;B1NJPxR@QLwkZf^_;ySQ8X+*Q9x3@7xuCL4a5ck-%@DSmK)1T0SV=3K|_6F|yL@ z57LPJAuVT?a^^>T{C*%`BsrpMMo!4-IlG)+DBqSda%L_A)4ysurs*2DQiQiHL)Kke zQA>4uy*l&O2VNs=l+gY065g*BTlKY~owGPojx- z^jz*kM~dQT%sgfcZcP^Su;kM+`sfM?CFjv zds2{(5($>Xc#XUuER9}_MVU4`}in)JrhdgCw4~?7v)31eBSX& z?ML6q`o9INF%nC!r>O>2IXOp~v{qHXv%VrTKEs}q#h~SdQ4GuKsmov9gIkpt zZf1aTU6{LH&ON*vjvAyj@PZ5qFuTNX)*5uZR)_la)_i*etZC|U_gHm?wS<|131x9A z>ZCEu7wUz7ZrHkB)_Xp(|1Q_c&FA%nM{v@)O$~B}LavSuPb7%T^@gj(ow4`6HHS zWxEDvIdOv6%6^h8jaW6nz5H zAJrH1{Cuu;1Q7I4PS;Agf~gro?uep;W?|KAlSBwHG|d1E>OVV*NnTs8Kk&dkOH1mi zrrWFCTwa060RD1TeoL1WyC@eC7n*)=-V_meVlMYnd&zCE_EEbXGQzPCnV&&lZ8OpeJKSk!0yoUuWM3?CFZ0A&I~?TAtux>t-M z!{rDjaRy7Kzz_D&W%(G6_ne7C%=)k~#We$~+Zgk-O>ujkE*T7C^ZdeD9CZr_|5?LA zdos$mu7=wGhQH3I_^2F=kGac+diJbp>}(-0TdO0HrW$RdZWN5?_hLvn!H-?;rQF?^ zS8hMrOVSkG=u>MrauD_g-DFv!QJi}*G}>eIYD4>x()^)xGshsI4-Y#Y%jz|^)P19*F0K79)j}p zC}4&)TPAdMVXaVc`J54&?Pg1~C8n55aDf{!o(T9%5t7MIT8Gvp|l3 zFXnrCCsKP2lY7E1D7cYaEpqF0M?}o45;$}Arg7Rkni|r9vnBBQWH?(YzMsobzUf!& zfy2-6SokJ%1MOsYaKTXN-c&fW!?DRF{T3J}{7UXVoO^wb%buMYB2Jc<1JtjM?+EGs z26M#x&~7w)Rm!oEBgI41>5+Sg`C@)&Pa^)ynd-V-FQJD+mksN!==o4ylaRlGpXNU9 z!GrbG>_O*!_-``le&PYvsj6YcJG;o-IZsZ;1~I(M(k#^|)9%^N=p4h@v+ICe9qIAe zd+5GC+xHXM4w3H%V;pz!{?y6%-k&|_J&8{!lhCK)y|G0RJNcG7e{nJbC*|%<`=M;A zpSx1=aHtK9LAI@!KPi&61%JhAA0DMWD6+esDU$|IhW(jvU`6&pBkl3X^u}a+>Ed3P zX~eIDm>%JIS%{%C;SX9(>sHzRpd_}uy}UvTjN%B<`EeXWr$SBnM5=a`n1JBoXkZbSWQr0?Dn?^1Hi-LRiA7ll^rKHh$khAyI= zJH~js6!V2eaxm@UU23-Pj2vjcwHpEd*!L&x#C%DWVMmgseP7DU#)%gbsE zU+9J#!q~legW_K@bH98&^Y9%LSzUe$=%8(J2NIbtU?x15%u~E|EbSR|X zgkL6oc1gLx^og_M^kfg((uy*pypLI3%N8C({=QM2%%ss~y09-(gXP+jzy0xW_G_2!llwld|EmbFNBW~9*`e6N)1E5gkPGn>nmns(% zzQoB0g8s!B^mPu~DM3Wj^=q@~Z4Aj#mnVaG!1Z3U@tZ@pShTO;nS^)HcbHA49LL@e zMZ(BQ|DuwKpAQ`r?e}s~#$B-O#C4|AC|lQ_#6LL^E3IZk7PYg3lDHvRy|o`MqXq0T zx3lcZKp)I-0OI)={PLz@mnA(<$T0L--T}JNb$TuL;Fw8#nc1$bz_pp~&(BRX=}vC@ z?$xt#S$QJvjKQgJC9cMH>CfSg#&C_kHwX&zIc?_RzV&gd ztrRdCG_V6%Ea+i4Z|%{?&F+@p#$WWL=kkSJ5=($FbFd5s%eX zaj#3!-~2NdHBEo%yXaXAW{DYEG5@qe>qGn4kN_KD&QYIkT^CKH7)t1}*?9`u1qD~o zC|Y*5+W^%i?9Ls8E}Dr6yc`1l7y~mdRkoZ#x7XSQK@5bQ^Z1#KrMnP@h0O(usrcN+ z=)V9~@a7&|poE1Q!-{E2nU!jkM{vj`Mw@M)H9qA>v}f|oCL?m4{iF@b1zyJ1@&bNZ z=Z<5&_wl((as89wJG(R7tJ%j&;%Zke+$5~y#}b!%nA14f2dqSPKle870$Psa_oq8_ z685JXc6I1P8U6DSSUATzd{guRo%$t(e%v(nce~;%{x3k5k3y3A++-i|e@R{W2;EUW zro_dyzLpoP@C|7g*-{sSl1kUUM}==pS=vSP+O}#Odm2aQ`$9E<7Ayf^gcCGp%jT6`Hl#_d2GbQqXF+I0I!LjODB@8d*) zO5j8!i)nicF%@rf-$dO@%S-8aM`#@Pe(RIFZ zW2c2RlUhnB{u7xtpR2WN@bAe`k~kI&W@`!l49gT*b<@kG`aEuWhQkx(>FG|bcFMKR z(;)r}1()pzgL#TM4OgQ5(Y}uS!VCU-S`k-~LufrYfCwYZ27QXjRe$>d4LrLrw>k&^ zHY>BUaN=oshd-_ri`sGC$v=)*yvn|LIiU~E+W9Hb&>zs=zqu}shly*{HmQX@>SSOloAKGoV;ljV2VQ9a5>N!Jw9O(!LEJwOJJDX=u z`yKHtyl~G9cjT8JpLx}rn8E;uy5Hf=0)3vc1mg?tD(7*W@1jq4rsrCZr=S8(OE!j^ zBn4XAafvjz0#`vjbI>1nF70}OZsiGg7kk3MeqJTv8{d4Bs=C%Y`p*`gy;(D3?^UFt z1{?!FHLm?XabJD|;621GpG)jj`2mRosnZ)M>6UZ%s)q1+)llxwy~A=f zg=nWvy=n*!8xSZ-AD4ANBXst>Zb`o|^QxJzg>VTmJYu$lk+>WHS9DU7|1f^PdFs?N zKE*+sA3}Cv=JA;(qbVL@bBqG54`}V`SJU08vB0L21dk2kQcZccLGNYm&JBwR2U}wl zw_;h6x}-{$RdE&LyP4A9^)^b1nqBfmL8*R+U*i^`2PL{#kmW+rP!=+T!zGj&ooPGD zSa6QTy~cR~W!fQb4Mr$80P)oA0lb4y#LCT1E5LzoC3O34xWCp5`v-m9uCy$tS^ii% zS1RS&wVP{q;EAHEAWCz!n?K7cieH&p>|*_??&8!=VX9!4TesV}_vdiCG=9*%qGW}^ zc_P}g?Asl4ly^H=$7`LYuUd@E4Xj%_NIOIxlP&qZ64BM3p@MSV17%ryDLthJQjz6H zq=LcPH44&$^duqoS)228*Zb&pJ8YE@C#mj`KH74+S%CcAd*9nrjcr4HG=k{D_Vy4^ z<|B`=8EHF&&bC9oT_T4#gR^0-?BLEz-<5&%8Fc7|rULO2na62C-=0S+@_x;lTPZ$h z&8`*;eWT$T{Z~gD!3}3>$|>RD4~i>u)`NI>Z{KhmMqi8ed6$L8k%sWDchQf)wmd>w zAjhh>PJ!u(Xoj&BzTX|3fDgE8ek9-N)C?mJpY0i4|LuXUD(=jT(f`Ot^15E@bl@Aq zfX}`$GvlbL(NB!i9-UF{1}%z%S0b{pG%MEHqgao&lmi3faz`uJRK9@#F`<{T189Q% z0kc^FZ)~*7EnsjN=J8e8%m1UiCl`20(Ri8Q2IaOOFP&JT$pti>$h@XVe1&aE{wmYx ze+)^5*{0Nwlmz+XvQXk>Ik(x|%*pb1a+Z~ANxW#P4M|juvO$=!h!#TSxFD%&X<%@|6Mkp&-FA)TSfweV{N1D%GxCKf_`6%VFm znOEuIoGhM2y&4WR8ha+_7-+}4g3=iM)m2%18oz>rja%%C#G=PjR0b2NET~wxRmV^^ z!4+uDb_v8w@^)-&GCaJ5yL~b&G}}&mjXM?b(97&`ErMMZ&xeQL-l(pw+w-N#b*A zPEm3yeASP`RRZ|udBWd12Zts7GAPiPN1YXK|YC0 zte^Jx;9kPp!)G?Dx)DE)BE)%S>~wuryDuaN`|Kva&fu{#la4fJB*X2^V8g7o*VtKP z9a!}H6WI(R_bo0DyoC`k$I&K4>DhejK2#9CBvAzB~f*iqs&GR8nc=YoRdWzR+ zZ?F>PGpG=@pFMXUq7lp^8SoRL8IYq(6iGf_|Hj9wBGXBqRa!6qZ`Xm>vJ3Rx!0fY5 zgx7Ofc#W~}zVJ$KBe;OuOuT-2e|Y^HidW>e?bS`Pg2C^?XY*DlrL&;W2_Vj#wwG1MM2#CrwdUeVYWUg@ddRwiD*8pqoR z-2OYshato(#fdKmI?5olw_pzL52JEBEeC>{&r{F`v=Z*3Yc&XWgF?>?R~B3loMF*! zEb`pJOnG_YyUIcjpAyg1;Ff8A6GyGdg3Vk%tC)`K_WFGi+`#RN!VgpiHu83 z=WT2XG--n&I_o^l4ON&R>Yoxt=8IzgL~%z{>Vo)Pwn(6`kH>H$fv5|jvnI$&M~dFMqd(V09fTuL7S=pu$Kk7raGdu&3g1BtV2JevUFgd@YmEps}qH~0-(ZwpK3_I z8}ES~UsW6Cv-_@}&%%20LFn8H>H8aZ_s4fzEbk!Q2a735F&b_H2K=Y&m&uL35v`_a zM#p>6f=w3^g=sA+Bzpb4c{vS-SbJ*UO#0j~P9|m8H0@t^{j~Q2@7vIB$o-N2L5FUc zbLciWKY|El>ICHfRPx6H-IYjpPewd21yFVbvl46UOF71pKWDNdku#+oc z#L8)ZRRw)|G5FKquMj0zTk8$Nj)b>{Iv|mG=)iIBGnLQzNf}odM3))l%h;P)=lk#j zL98p%c|jC~PfCkt&+af_OKdr-d}~=p!|hnZhLns^}0^@H&9wm zw-f$(UFW(es7=`m@c)#ScZ~YN!Y2H4G;<=FF8Kd#`k%*kr*J%tfE*mXn7GszID~XMlb#F#j>HY|nSs4Z8h73!hu> z_qv$S)b%h@KpCv?dE$Eg=bdJ`+&qly8SkzJt5YCaa;9SD4PDZCGp{Q~&X!C*r^}LR zD)Rq;rpz6@u;dmB?z3*eP_di?v8FvZtJ?nS4mZnNQ~qk#)Z(IM5LG2+N#}W&XqusE z#MBBBsqk7=Pyn4RUX^6x{RvIk2Ty?IhVMVEn;%e(`$@hm=PFZbCDMt}7pC}`B!fM9 zP8h$`0d}8bW?XBI8r^cs!6iKECTsU>8o`8-ce9T3QgE8A$zg*=}&sX~%qlUZiOG_k9V5|dHuxZCO5n`vjV(+du&&CJfI|Q10;Q!iIv3; zTXLoa1H9H?ivjtY>D0SVMD9$@cW~yWXdkC?qV#X=-?05`y*7J+A2PNTcWBmpFJ~9K z+64`(-R2@+1p3NXsTTu4b*WDvC?ycN3Kf4L86ArZ{!g9}CHW_0NjxK{H@_tGzP`ln zgb;T=a7HqSDV^cxVh(1@yaX_jB79hp|1!wWds`|)ud-`~UY2QTqaA&FBgxL+`v%rlyxr} z(@~z^dw0w9yL(36Zv0!iTi*W`H2RTwfd2scV+{534bUSq)ywSMz@${jTSY_TEx&g~ zUNf`qrTk6HG>(6wjKRD2FUlwUOJjE_9)0=F@jDXj(L=x4jeeDnPjml*<5C%Wdkfk7 zV)xan>Tdwy7kv~zr61potJuX#Vc0E6ijl(I<1)5@X43#LY zW(Pw7U|zxHKsE@6GR=pHQBiapcHR0>K_sS7Vmb7m_hqXesLKQ{4koFfN_?$WT&~cO zHP60L6B0R$_n4w{$Q0M5Ge{WQ7oLQ{&TIXF8`TuTMDDmA;&ulcov;hoF_;P!SqYN2 zC!za|Lsi!e#<*Pq4TXq8O)gl?8*aa$*}P$)Y=ePVmv<5%PqTMCqMA}5Co0QD&oO!F zMoliX%k_;$W8;R6Isqk8S8U%Oj(v0D`X7avMkoy2od^oS1R##qT|4&jT8)>~LOfqP zzNowTOqOB} z;y&&RibK(h)*)Cxo(+yeGbT&EWEl%|al#b)lKLft=II2W{s#&_Waajs(shcz zRYZ8+wRTw2Hw2obKI1t}OW`~ghp!!P73Z1QTcdRk_WRk)HzZRgB;J?G?~r`^Rz@Du z0KZ4a!)>DFk+@7jF%pSe!?_q3-z{;sWOLmL>8!Q=%s&Ge7s}Q_0{1&@9LX5uh8HV* z^iYBsKg!FJqU3Emuc@LT5K-YvqM-1%hz2joLJ`i16h4yV(r0;v7fMql(bNT55{l(w zK|B;Ym)X}`B0owKxc2t(FpCA+(XBd&Ix@((HxlO`mda(YABzg>i_Mc$Lw80~;&qxL z7wv*dMAHBy33kOU4Btw~hB|21{cI}5j230Yd4evdGomV<_9K*JF-eF2l`TQ60!rZD zDhnxz)))f3uhNP-V_|+M2qbhNC9Xzd{`p;Chr?*3W4EC*M+EGNEUZNFxO}27D@R_9Yv4YD9vW#ahIv^e0HMom!S#e1eq7@sgeXNsfc{hp@T3wm)X~x=*Q2q z`S+#VYcL<20~79`@1^Hk=qey`keHqU1Hs^1&lr&Ld+RbU*UPeEmltq;hDq9jF9odW z!mgr>xnwq6XjPt*UrrYL0&FEaHkJ34v48unf4G&N1sX0B12FaN&qTA*ve64@D6r{$;_rB=Qo0XNoXk^C^aXRul^`hYK(UbyI{% zT;N5J#{P*MeHoko!nu7M439atkHG!*4`OCd$_jsO&!Seiz=F=Z?DG_HzO&oxD33L} zC*_7ew~vGQG3WLXm@ggl%+4qJF-{LgK(@=Q9`R@pYcZ^&HT@>WFymHqXZ+m~Ra|Q;)1Zs=vkJFPvsb<%uGwJJ^h&hjZxCm@^-1l!Rn3y-=Os&934_p9 z!+xypW$vlU(W44{>`>gsIyR==S4~nj34S{R7#uLkW)gEomF{sGjgYiCIQ0Hut1#JG zh8-5r>8AbBD8o+NnYchcU&0`vrVuBvGVjR+b zC^C_Kxi_sQFgJIj;KX)km0RG}V$ow+)E(daOwe;oD>Q)q(g;H|Dd#Xp<~}JlkzKks z#l|yJcO%v~_A2&yKfN8d7h`~#^4T}J6uTGi}*#;_Bq183!zK zBWBpHWx5GOl~&oF-IXB4rt(NqBurnsg^mUQT75l**cu_&F=z9y=s zcvceErJ^Vw$`wWFtZa$O-8z@79a~S=jtv5~%l_Edh_5%_E}7z~4z{|EO^LBpWlNOq zJ|u!70$)jI#pHS_t{pG!URT;t60NqI+3UG)BJuV$BfBK@*GK}EP%l!rzv3*4QOsl( zZD0Ib5p*c=UGUDE5pT!71#cEFN#ZTo)Jr%nsWZ=JtPH2CCq~P?^CBhDx-439=aiUO z)CJfgBHcZ_M`v}MJvs^QAeq}9Hbp~=K`~-R|~| z*7baAZJGxDuGVU+Ka8NiA1iKR;RP;)&0>{62T_R{HcQ3m+V=yLI%x@`Y3Qi{tMX)V~%G z+rnvV==cYCpUxN)S%h9;#8)gXmu>nVgk?;FmnW2po8gT&-;89XyK;Cwb-n7x;K0G* z`CD#5dT$BvPkkYI`Hz`&5AZz2eG6c!hq(*KZ9mrDUkLb3*uY~<^T_D)Pz%FY*l(ZT zDG0aRf>{yaDfsg4;N;1p`FvBb2Lk~%sbU_p^2*R%l0^jcovLS5p{3fr2V}<(?ya9f1vs{=I!MJ@f z{R2`+zA*g#@B6>+<9w@t1wi?wMFjR9}y&M)x%gAelIOYTZulH493 zh5ZcMqjTf}hIxyCH(baAu{blcEN;`Ss{c08;3`L*1O~ z#Um{v?KY-$hc@prr*P#kuBcUvYuZecjw#VhX}eZ;0Q+i2R}wFDUsf;olJq| z);Dh4sMEv$QK$PAL`l~y^D@TDHic*F{+IQQHTs<-)``%>FX0I-rdOklu#1I|Z4P9s z|6H_pYMJWM$C93Ura3!NuR6UGq^k^74++w!dg*%X7ZLtV8k!B7*d~^jm&8>}>sNRd z5B7992${;?b@3=|&-I8fr* z4DiBpmOCU*&RiFNCKe{fd9E_cUCLT6dl`k;3F*)UrH-Iq+_(x*zP*RHI-6$ zPWC2->g|XCkJ^;;pJjRCg04NB?2{GYKcY#DWn%O=haD@!f7r1!ZEm?P+QgQS$D>R; zswzGnRWABo`Uq|_Rm04O^Z>?ptgKRPf-&t^Bmc}KLwAS{_g)tr(%aO-qR#8?cyzfZ zquTU%1lk^|?kp$g;hJADV~^_72SC4!veaiLpkr30>WSv&w9I(NSQ2?}nXwYA$`pbM zMQ8?Kb*SFJqlsszsXt1FXGxQv#&u3oF7c+&%F&F@k}&NONs*i)kpzl8XN0)V6f(C7 zf+)Q4xXeo%xLzP0+7d)bxc|5yuzVS5e!u&=_Snvv133V;A6XJ)VIrM$M8)HWClYHhorF~*=j?+}ye8-fu_gkT!K=_Z*#oMn zun`M%O27b+F@9v@t<%HY2=Q)ssWd}$G)m|L75$ux?=-^wn51YLJZOWa^`V3n!OBmn zvLtHQHw|7O>Xvy0!G!~`qFF4On)Lpd`5;rfC+No#=g}JQm~*}CCJ_x{B1mrA59Ct3 zJ8UtvAJcGB>k!X~vJ`d*fILk>1YqMGV|V=3>VLvYMdRr3OGPI-r%J2zl~EUQ?NJu5 z;5$Bmrv5q(Oksvc+gD1^>SmZ#&Rz$-QkFtwLd5N!F{wDp@EMPq4@H*1R%9P+`6j_; zEXQ>~-&b&N;NE^fG#-hExD$MG%0D{F7My?sp4b~Pd<-wWT`E3Pn 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%0Aub6*Q4?Lh?RzF3+=+IGMyc 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

      V5sL;~RGzKe44( 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࿣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

      E0Q>dwTHGr5Eml?v4A4cqksyc*{&0*B}<_UWD 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 N7Xi?h+IjWj{{hmn!3F>T diff --git a/choosing_files/libs/bootstrap/bootstrap.min.css b/choosing_files/libs/bootstrap/bootstrap.min.css deleted file mode 100644 index 0c07a5b..0000000 --- a/choosing_files/libs/bootstrap/bootstrap.min.css +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-white: #ffffff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222, 226, 230;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg-rgb: 255, 255, 255;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size: 17px;--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-bg: #ffffff}*,*::before,*::after{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.29rem + 0.48vw)}@media(min-width: 1200px){h2,.h2{font-size:1.65rem}}h3,.h3{font-size:calc(1.27rem + 0.24vw)}@media(min-width: 1200px){h3,.h3{font-size:1.45rem}}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#0d6efd;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr /* rtl:ignore */;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em;color:#000;background-color:#f6f6f6;padding:.5rem;border:1px solid #dee2e6;border-radius:.25rem}pre code{background-color:rgba(0,0,0,0);font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:#9753b8;background-color:#f6f6f6;border-radius:.25rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.4rem .4rem;font-size:0.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:#6c757d}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0, 0, 0, 0.05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid #9ba5ae}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #ffffff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #ffffff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #ffffff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;color-adjust:exact;-webkit-print-color-adjust:exact}.form-check-input[type=checkbox],.shiny-input-container .checkbox input[type=checkbox],.shiny-input-container .checkbox-inline input[type=checkbox],.shiny-input-container .radio input[type=checkbox],.shiny-input-container .radio-inline input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio],.shiny-input-container .checkbox input[type=radio],.shiny-input-container .checkbox-inline input[type=radio],.shiny-input-container .radio input[type=radio],.shiny-input-container .radio-inline input[type=radio]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox],.shiny-input-container .checkbox input:checked[type=checkbox],.shiny-input-container .checkbox-inline input:checked[type=checkbox],.shiny-input-container .radio input:checked[type=checkbox],.shiny-input-container .radio-inline input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio],.shiny-input-container .checkbox input:checked[type=radio],.shiny-input-container .checkbox-inline input:checked[type=radio],.shiny-input-container .radio input:checked[type=radio],.shiny-input-container .radio-inline input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23ffffff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate,.shiny-input-container .checkbox input[type=checkbox]:indeterminate,.shiny-input-container .checkbox-inline input[type=checkbox]:indeterminate,.shiny-input-container .radio input[type=checkbox]:indeterminate,.shiny-input-container .radio-inline input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-check-inline,.shiny-input-container .checkbox-inline,.shiny-input-container .radio-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:rgba(0,0,0,0);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dee2e6;border-color:rgba(0,0,0,0);border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dee2e6;border-color:rgba(0,0,0,0);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:1}.was-validated .input-group .form-control:valid:focus,.input-group .form-control.is-valid:focus,.was-validated .input-group .form-select:valid:focus,.input-group .form-select.is-valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:2}.was-validated .input-group .form-control:invalid:focus,.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-select:invalid:focus,.input-group .form-select.is-invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-default{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-default:hover{color:#000;background-color:#e3e6ea;border-color:#e1e5e9}.btn-check:focus+.btn-default,.btn-default:focus{color:#000;background-color:#e3e6ea;border-color:#e1e5e9;box-shadow:0 0 0 .25rem rgba(189,192,196,.5)}.btn-check:checked+.btn-default,.btn-check:active+.btn-default,.btn-default:active,.btn-default.active,.show>.btn-default.dropdown-toggle{color:#000;background-color:#e5e8eb;border-color:#e1e5e9}.btn-check:checked+.btn-default:focus,.btn-check:active+.btn-default:focus,.btn-default:active:focus,.btn-default.active:focus,.show>.btn-default.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(189,192,196,.5)}.btn-default:disabled,.btn-default.disabled{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-default{color:#dee2e6;border-color:#dee2e6;background-color:rgba(0,0,0,0)}.btn-outline-default:hover{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:focus+.btn-outline-default,.btn-outline-default:focus{box-shadow:0 0 0 .25rem rgba(222,226,230,.5)}.btn-check:checked+.btn-outline-default,.btn-check:active+.btn-outline-default,.btn-outline-default:active,.btn-outline-default.active,.btn-outline-default.dropdown-toggle.show{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:checked+.btn-outline-default:focus,.btn-check:active+.btn-outline-default:focus,.btn-outline-default:active:focus,.btn-outline-default.active:focus,.btn-outline-default.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(222,226,230,.5)}.btn-outline-default:disabled,.btn-outline-default.disabled{color:#dee2e6;background-color:rgba(0,0,0,0)}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd;background-color:rgba(0,0,0,0)}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#0d6efd;background-color:rgba(0,0,0,0)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d;background-color:rgba(0,0,0,0)}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#6c757d;background-color:rgba(0,0,0,0)}.btn-outline-success{color:#198754;border-color:#198754;background-color:rgba(0,0,0,0)}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#198754;background-color:rgba(0,0,0,0)}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0;background-color:rgba(0,0,0,0)}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#0dcaf0;background-color:rgba(0,0,0,0)}.btn-outline-warning{color:#ffc107;border-color:#ffc107;background-color:rgba(0,0,0,0)}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffc107;background-color:rgba(0,0,0,0)}.btn-outline-danger{color:#dc3545;border-color:#dc3545;background-color:rgba(0,0,0,0)}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#dc3545;background-color:rgba(0,0,0,0)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa;background-color:rgba(0,0,0,0)}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#f8f9fa;background-color:rgba(0,0,0,0)}.btn-outline-dark{color:#212529;border-color:#212529;background-color:rgba(0,0,0,0)}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#212529;border-color:#212529}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#212529;background-color:rgba(0,0,0,0)}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .2s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:0.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid rgba(0,0,0,0);border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container-xxl,.navbar>.container-xl,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container,.navbar>.container-fluid{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:.25 0;font-size:1.25rem;line-height:1;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-top,.navbar-expand-sm .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-top,.navbar-expand-md .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-top,.navbar-expand-lg .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-top,.navbar-expand-xl .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-top,.navbar-expand-xxl .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-top,.navbar-expand .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light{background-color:#0d6efd}.navbar-light .navbar-brand{color:#fdfeff}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#fdfeff}.navbar-light .navbar-nav .nav-link{color:#fdfeff}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(253,254,255,.8)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(253,254,255,.75)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:#fdfeff}.navbar-light .navbar-toggler{color:#fdfeff;border-color:rgba(253,254,255,0)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfeff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#fdfeff}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#fdfeff}.navbar-dark{background-color:#0d6efd}.navbar-dark .navbar-brand{color:#fdfeff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fdfeff}.navbar-dark .navbar-nav .nav-link{color:#fdfeff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(253,254,255,.8)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(253,254,255,.75)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fdfeff}.navbar-dark .navbar-toggler{color:#fdfeff;border-color:rgba(253,254,255,0)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfeff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fdfeff}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fdfeff}.card{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-0.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media(min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:0.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,0);border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{color:#595a5c;background-color:#f8f9fa;border-color:#f5f6f8}.alert-default .alert-link{color:#47484a}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;display:-webkit-flex;height:1rem;overflow:hidden;font-size:0.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#595a5c;background-color:#f8f9fa}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:0.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-header .btn-close{margin-right:-0.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-0.5rem -0.5rem -0.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:1rem}.modal-footer{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(0.3rem - 1px);border-bottom-left-radius:calc(0.3rem - 1px)}.modal-footer>*{margin:.25rem}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^=top]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^=right]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^=left]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-0.5rem;margin-right:-0.5rem;margin-bottom:-0.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-default{color:#dee2e6}.link-default:hover,.link-default:focus{color:#e5e8eb}.link-primary{color:#0d6efd}.link-primary:hover,.link-primary:focus{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:hover,.link-secondary:focus{color:#565e64}.link-success{color:#198754}.link-success:hover,.link-success:focus{color:#146c43}.link-info{color:#0dcaf0}.link-info:hover,.link-info:focus{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:hover,.link-warning:focus{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:hover,.link-danger:focus{color:#b02a37}.link-light{color:#f8f9fa}.link-light:hover,.link-light:focus{color:#f9fafb}.link-dark{color:#212529}.link-dark:hover,.link-dark:focus{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #dee2e6 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #dee2e6 !important}.border-start-0{border-left:0 !important}.border-default{border-color:#dee2e6 !important}.border-primary{border-color:#0d6efd !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#198754 !important}.border-info{border-color:#0dcaf0 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#212529 !important}.border-white{border-color:#fff !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.29rem + 0.48vw) !important}.fs-3{font-size:calc(1.27rem + 0.24vw) !important}.fs-4{font-size:1.25rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:#6c757d !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.25rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.2rem !important}.rounded-2{border-radius:.25rem !important}.rounded-3{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-end{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-start{border-bottom-left-radius:.25rem !important;border-top-left-radius:.25rem !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.65rem !important}.fs-3{font-size:1.45rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.tippy-box[data-theme~=quarto]{background-color:#fff;border:solid 1px #dee2e6;border-radius:.25rem;color:#212529;font-size:.875rem}.tippy-box[data-theme~=quarto]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=quarto]>.tippy-arrow:after,.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=quarto]>.tippy-arrow:after{border-color:rgba(0,0,0,0);border-style:solid}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-6px}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-6px}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-6px}.tippy-box[data-placement^=left]>.tippy-arrow:before{right:-6px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:after{border-top-color:#dee2e6;border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:#dee2e6;border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:15px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:after{border-left-color:#dee2e6;border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:#dee2e6}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow{fill:#212529}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}.top-right{position:absolute;top:1em;right:1em}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:inline-block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,.h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,.h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,.h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,.h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1,#title-block-header .quarto-title-block>div>.h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}@media(min-width: 992px){#title-block-header .quarto-title-block>div>button{margin-top:5px}}tr.header>th>p:last-of-type{margin-bottom:0px}table,.table{caption-side:top;margin-bottom:1.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6c757d}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}div.ansi-escaped-output{font-family:monospace;display:block}/*! -* -* ansi colors from IPython notebook's -* -*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #ffffff;--quarto-body-color: #212529;--quarto-text-muted: #6c757d;--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.25rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:absolute;right:.5em;left:inherit;background-color:rgba(0,0,0,0)}:root{--mermaid-bg-color: #ffffff;--mermaid-edge-color: #6c757d;--mermaid-node-fg-color: #212529;--mermaid-fg-color: #212529;--mermaid-fg-color--lighter: #383f45;--mermaid-fg-color--lightest: #4e5862;--mermaid-font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--mermaid-label-bg-color: #ffffff;--mermaid-label-fg-color: #0d6efd;--mermaid-node-bg-color: rgba(13, 110, 253, 0.1);--mermaid-node-fg-color: #212529}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] 35px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 250px) [page-end-inset] minmax(50px, 100px) [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 150px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 1250px - 3em )) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1.5em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}.zindex-content{z-index:998;transform:translate3d(0, 0, 0)}.zindex-modal{z-index:1055;transform:translate3d(0, 0, 0)}.zindex-over-content{z-index:999;transform:translate3d(0, 0, 0)}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside,.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{opacity:.9;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#5a6570}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,caption,.figure-caption{font-size:.9rem}.panel-caption,.figure-caption,figcaption{color:#5a6570}.table-caption,caption{color:#212529}.quarto-layout-cell[data-ref-parent] caption{color:#5a6570}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#5a6570;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:1em}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.25rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#5a6570}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f6f6f6;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:#6c757d;background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.toc-left>*,.sidebar.margin-sidebar>*{padding-top:.5em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:#6c757d;margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#0d6efd}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.sidebar .quarto-alternate-formats a,.sidebar .quarto-alternate-notebooks a{text-decoration:none}.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#0d6efd}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem;font-weight:400;margin-bottom:.5rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2{margin-top:1rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul,.sidebar nav[role=doc-toc] ul{padding-left:0;list-style:none;font-size:.875rem;font-weight:300}.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #0d6efd;color:#0d6efd !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#0d6efd !important}kbd,.kbd{color:#212529;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}div.hanging-indent{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.table a{word-break:break-word}.table>thead{border-top-width:1px;border-top-color:#dee2e6;border-bottom:1px solid #9ba5ae}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout.callout-titled .callout-body{margin-top:.2em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body>:first-child{margin-top:.5em}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){margin-bottom:.5rem}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:#6c757d}div.callout.callout-style-default>.callout-header{background-color:#6c757d}div.callout-note.callout{border-left-color:#0d6efd}div.callout-note.callout-style-default>.callout-header{background-color:#e7f1ff}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#198754}div.callout-tip.callout-style-default>.callout-header{background-color:#e8f3ee}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#ffc107}div.callout-warning.callout-style-default>.callout-header{background-color:#fff9e6}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#dc3545}div.callout-important.callout-style-default>.callout-header{background-color:#fcebec}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#212529}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{color:#fefefe;background-color:#6c757d;border-color:#6c757d}.btn.btn-quarto:hover,div.cell-output-display .btn-quarto:hover{color:#fefefe;background-color:#828a91;border-color:#7b838a}.btn-check:focus+.btn.btn-quarto,.btn.btn-quarto:focus,.btn-check:focus+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:focus{color:#fefefe;background-color:#828a91;border-color:#7b838a;box-shadow:0 0 0 .25rem rgba(130,138,144,.5)}.btn-check:checked+.btn.btn-quarto,.btn-check:active+.btn.btn-quarto,.btn.btn-quarto:active,.btn.btn-quarto.active,.show>.btn.btn-quarto.dropdown-toggle,.btn-check:checked+div.cell-output-display .btn-quarto,.btn-check:active+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:active,div.cell-output-display .btn-quarto.active,.show>div.cell-output-display .btn-quarto.dropdown-toggle{color:#000;background-color:#899197;border-color:#7b838a}.btn-check:checked+.btn.btn-quarto:focus,.btn-check:active+.btn.btn-quarto:focus,.btn.btn-quarto:active:focus,.btn.btn-quarto.active:focus,.show>.btn.btn-quarto.dropdown-toggle:focus,.btn-check:checked+div.cell-output-display .btn-quarto:focus,.btn-check:active+div.cell-output-display .btn-quarto:focus,div.cell-output-display .btn-quarto:active:focus,div.cell-output-display .btn-quarto.active:focus,.show>div.cell-output-display .btn-quarto.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,144,.5)}.btn.btn-quarto:disabled,.btn.btn-quarto.disabled,div.cell-output-display .btn-quarto:disabled,div.cell-output-display .btn-quarto.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}nav.quarto-secondary-nav.color-navbar{background-color:#0d6efd;color:#fdfeff}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#fdfeff}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner,body.nav-sidebar .quarto-title-banner{display:none}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#6c757d}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(233,236,239,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:var(--bs-font-monospace);color:#383f45;border:solid #383f45 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#e9ecef;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:var(--bs-font-monospace);color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table>thead{border-top-width:0}.table>:not(caption)>*:not(:last-child)>*{border-bottom-color:#d3d8dc;border-bottom-style:solid;border-bottom-width:1px}.table>:not(:first-child){border-top:1px solid #9ba5ae;border-bottom:1px solid inherit}.table tbody{border-bottom-color:#9ba5ae}a.external:after{display:inline-block;height:.75rem;width:.75rem;margin-bottom:.15em;margin-left:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file,.code-with-filename .code-with-filename-file pre{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file,.quarto-dark .code-with-filename .code-with-filename-file pre{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#fdfeff;background:#0d6efd}.quarto-title-banner .code-tools-button{color:#97cbff}.quarto-title-banner .code-tools-button:hover{color:#fdfeff}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.25rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:repeat(2, 1fr)}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-5px}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents a{color:#212529}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.7em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .description .abstract-title,#title-block-header.quarto-title-block.default .abstract .abstract-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:1fr 1fr}.quarto-title-tools-only{display:flex;justify-content:right}/*# sourceMappingURL=397ef2e52d54cf686e4908b90039e9db.css.map */ diff --git a/choosing_files/libs/bootstrap/bootstrap.min.js b/choosing_files/libs/bootstrap/bootstrap.min.js deleted file mode 100644 index cc0a255..0000000 --- a/choosing_files/libs/bootstrap/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 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="transitionend",e=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 e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},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(t):null,a=(t,e,i)=>{Object.keys(i).forEach((n=>{const s=i[n],r=e[n],a=r&&o(r)?"element":null==(l=r)?`${l}`:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}))},l=t=>!(!o(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=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?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();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?(p.length||document.addEventListener("DOMContentLoaded",(()=>{p.forEach((t=>t()))})),p.push(e)):e()},_=t=>{"function"==typeof t&&t()},b=(e,i,n=!0)=>{if(!n)return void _(e);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})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},v=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,E=/::\d+$/,A={};let T=1;const O={mouseenter:"mouseover",mouseleave:"mouseout"},C=/^(mouseenter|mouseleave)/i,k=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 L(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function x(t){const e=L(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function D(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;sfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=S(e,i,n),l=x(t),c=l[a]||(l[a]={}),h=D(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=L(r,e.replace(y,"")),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(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o=D(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t=t.replace(w,""),O[t]||t}const j={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach((o=>{if(o.includes(n)){const n=s[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const n=i.replace(E,"");if(!a||e.includes(n)){const e=h[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f(),s=P(e),o=e!==s,r=k.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};class B{constructor(t){(t=r(t))&&(this._element=t,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){b(t,e,i)}static getInstance(t){return H.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.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return"alert"}close(){if(j.trigger(this._element,"close.bs.alert").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(),j.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.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(W,"close"),g(W);const $='[data-bs-toggle="button"]';class z extends B{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=z.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}j.on(document,"click.bs.button.data-api",$,(t=>{t.preventDefault();const e=t.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=q(t.dataset[i])})),e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={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;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;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=>!c(t)&&l(t)))}},K="carousel",X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z},et="slid.bs.carousel",it="active",nt=".active.carousel-item";class st extends B{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(nt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,et,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&j.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),j.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach((t=>{j.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(j.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),j.on(this._element,"pointerup.bs.carousel",(t=>n(t))),this._element.classList.add("pointer-event")):(j.on(this._element,"touchstart.bs.carousel",(t=>e(t))),j.on(this._element,"touchmove.bs.carousel",(t=>i(t))),j.on(this._element,"touchend.bs.carousel",(t=>n(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=st.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=n(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),st.carouselInterface(e,i),s&&st.getInstance(e).to(s),t.preventDefault()}}j.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",st.dataApiClickHandler),j.on(window,"load.bs.carousel.data-api",(()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element));null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(ut,this._config.parent);e=V.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=V.findOne(this._selector);if(e.length){const n=e.find((t=>i!==t));if(t=n?pt.getInstance(n):null,t&&t._isTransitioning)return}if(j.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,"bs.collapse",null)}));const n=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]="",j.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[n]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_getConfig(t){return(t={...rt,...U.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=r(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=n(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,"click.bs.collapse.data-api",ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this);V.find(e).forEach((t=>{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt="top",gt="bottom",_t="right",bt="left",vt="auto",yt=[mt,gt,_t,bt],wt="start",Et="end",At="clippingParents",Tt="viewport",Ot="popper",Ct="reference",kt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+Et])}),[]),Lt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+Et])}),[]),xt="beforeRead",Dt="read",St="afterRead",Nt="beforeMain",It="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",Bt=[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||"").toLowerCase():null}function Wt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft={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];zt(s)&&Rt(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}),{});zt(n)&&Rt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Ut(t){return t.split("-")[0]}function Vt(t,e){var i=t.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e=Vt(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 Xt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return["table","td","th"].indexOf(Rt(t))>=0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return"html"===Rt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)&&"fixed"!==Yt(t).position?t.offsetParent:null}function te(t){for(var e=Wt(t),i=Jt(t);i&&Qt(i)&&"static"===Yt(i).position;)i=Jt(i);return i&&("html"===Rt(i)||"body"===Rt(i)&&"static"===Yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&zt(t)&&"fixed"===Yt(t).position)return null;for(var i=Zt(t);zt(i)&&["html","body"].indexOf(Rt(i))<0;){var n=Yt(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 ee(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var ie=Math.max,ne=Math.min,se=Math.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const le={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=Ut(i.placement),l=ee(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d=Kt(o),u="y"===l?mt:bt,f="y"===l?gt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=te(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,E=oe(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-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)))&&Xt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(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=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=bt,v=mt,y=window;if(c){var w=te(i),E="clientHeight",A="clientWidth";w===Wt(i)&&"static"!==Yt(w=Gt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==mt&&(s!==bt&&s!==_t||o!==Et)||(v=gt,m-=w[E]-n.height,m*=l?1:-1),s!==bt&&(s!==mt&&s!==gt||o!==Et)||(b=_t,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&he);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}const ue={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:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(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,de(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 fe={passive:!0};const pe={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=Wt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,fe)})),a&&l.addEventListener("resize",i.update,fe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,fe)})),a&&l.removeEventListener("resize",i.update,fe)}},data:{}};var me={left:"right",right:"left",bottom:"top",top:"bottom"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e=Wt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e=Yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Rt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Wt(n),r=s?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e===Tt?Te(function(t){var e=Wt(t),i=Gt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e=Vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Te(function(t){var e,i=Gt(t),n=ve(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ie(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ie(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ye(t),l=-n.scrollTop;return"rtl"===Yt(s||i).direction&&(a+=ie(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Ut(s):null,r=s?ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case mt:e={x:a,y:i.y-n.height};break;case gt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ee(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Et:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?At:o,a=i.rootBoundary,l=void 0===a?Tt:a,c=i.elementContext,h=void 0===c?Ot:c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=re("number"!=typeof p?p:ae(p,yt)),g=h===Ot?Ct:Ot,_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Ae(Zt(t)),i=["absolute","fixed"].indexOf(Yt(t).position)>=0&&zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)&&Xt(t,i)&&"body"!==Rt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Oe(t,i);return e.top=ie(n.top,e.top),e.right=ne(n.right,e.right),e.bottom=ne(n.bottom,e.bottom),e.left=ie(n.left,e.left),e}),Oe(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y=Vt(t.elements.reference),w=Ce({reference:y,element:_,strategy:"absolute",placement:s}),E=Te(Object.assign({},_,w)),A=h===Ot?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if(h===Ot&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[_t,gt].indexOf(t)>=0?1:-1,i=[mt,gt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function Le(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?Lt:l,h=ce(n),d=h?a?kt:kt.filter((function(t){return ce(t)===h})):yt,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]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe={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,_=Ut(g),b=l||(_!==g&&p?function(t){if(Ut(t)===vt)return[];var e=ge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)===vt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O=0,D=x?"width":"height",S=ke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?_t:bt:L?gt:mt;y[D]>w[D]&&(N=ge(N));var I=ge(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.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"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(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 Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]>=0}))}const Ne={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=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Se(l),d=Se(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})}},Ie={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=Lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Ut(t),s=[bt,mt].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,[bt,_t].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}},Pe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Ce({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={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=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Ut(e.placement),b=ce(e.placement),v=!b,y=ee(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?mt:bt,L="y"===y?gt:_t,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P=b===wt?A[x]:T[x],j=b===wt?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?Kt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],$=oe(0,A[x],H[x]),z=v?A[x]/2-I-$-R-O:P-$-R-O,q=v?-A[x]/2+I+$+W+O:j+$+W+O,F=e.elements.arrow&&te(e.elements.arrow),U=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-U,X=E[y]+q-V;if(o){var Y=oe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?mt:bt,G="x"===y?gt:_t,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=oe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function Me(t,e,i){void 0===i&&(i=!1);var n=zt(e);zt(e)&&function(t){var e=t.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r=Gt(e),a=Vt(t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==Rt(e)||we(r))&&(l=(s=e)!==Wt(s)&&zt(s)?{scrollLeft:(o=s).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c=Vt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=ye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(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 Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Re(){for(var t=arguments.length,e=new Array(t),i=0;ij.on(t,"mouseover",d))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){j.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),"object"==typeof t.reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===Fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:o(this._config.reference)?e=r(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=qe(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_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}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(l);i.length&&v(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.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(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find(ti);for(let i=0,n=e.length;ie+t)),this._setElementAttributes(di,"paddingRight",(e=>e+t)),this._setElementAttributes(ui,"marginRight",(e=>e-t))}_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)[e];t.style[e]=`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(di,"paddingRight"),this._resetElementAttributes(ui,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const pi={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mi={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},gi="show",_i="mousedown.bs.backdrop";class bi{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()=>{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()=>{this.dispose(),_(t)}))):_(t)}_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}_getConfig(t){return(t={...pi,..."object"==typeof t?t:{}}).rootElement=r(t.rootElement),a("backdrop",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()=>{_(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(j.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi={trapElement:null,autofocus:!0},yi={trapElement:"element",autofocus:"boolean"},wi=".bs.focustrap",Ei="backward";class Ai{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),j.off(document,wi),j.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),j.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,wi))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=V.focusableChildren(i);0===n.length?i.focus():this._lastTabNavDirection===Ei?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ei:"forward")}_getConfig(t){return t={...vi,..."object"==typeof t?t:{}},a("focustrap",t,yi),t}}const Ti="modal",Oi="Escape",Ci={backdrop:!0,keyboard:!0,focus:!0},ki={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},Li="hidden.bs.modal",xi="show.bs.modal",Di="resize.bs.modal",Si="click.dismiss.bs.modal",Ni="keydown.dismiss.bs.modal",Ii="mousedown.dismiss.bs.modal",Pi="modal-open",ji="show",Mi="modal-static";class Hi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()=>{j.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>j.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t={...Ci,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||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,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add(ji),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t=>{this._config.keyboard&&t.key===Oi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Oi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()=>this._adjustDialog())):j.off(window,Di)}_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(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains(Mi)||(n||(i.overflowY="hidden"),t.add(Mi),this._queueCallback((()=>{t.remove(Mi),n||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,xi,(t=>{t.defaultPrevented||j.one(e,Li,(()=>{l(this)&&this.focus()}))}));const i=V.findOne(".modal.show");i&&Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi="offcanvas",Ri={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},$i="show",zi=".offcanvas.show",qi="hidden.bs.offcanvas";class Fi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($i),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ri,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Fi.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)}}))}}j.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;j.one(e,qi,(()=>{l(this)&&this.focus()}));const i=V.findOne(zi);i&&i!==e&&Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,"load.bs.offcanvas.data-api",(()=>V.find(zi).forEach((t=>Fi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Ki=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xi=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n=e.filter((t=>t instanceof RegExp));for(let t=0,e=n.length;t{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi="tooltip",Gi=new Set(["sanitize","allowList","sanitizeFn"]),Zi={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ji={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},tn={animation:!0,template:'

      ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["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:[]},popperConfig:null},en={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},nn="fade",sn="show",on="show",rn="out",an=".tooltip-inner",ln=".modal",cn="hide.bs.modal",hn="hover",dn="focus";class un extends B{constructor(t,e){if(void 0===Fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip&&this.tip.remove(),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=j.trigger(this._element,this.constructor.Event.SHOW),e=h(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(an).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add(nn);const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=qe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{j.on(t,"mouseover",d)}));const c=this.tip.classList.contains(nn);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,j.trigger(this._element,this.constructor.Event.SHOWN),t===rn&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(nn);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==on&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n=V.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return o(e)?(e=r(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Yi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_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"function"==typeof t?t.call(this._element):t}_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:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===hn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===hn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t=>this._enter(t))),j.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?dn:hn]=!0),e.getTipElement().classList.contains(sn)||e._hoverState===on?e._hoverState=on:(clearTimeout(e._timeout),e._hoverState=on,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===on&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?dn:hn]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=rn,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===rn&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Gi.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?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()),a(Qi,t,this.constructor.DefaultType),t.sanitize&&(t.template=Yi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn={...un.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},pn={...un.DefaultType,content:"(string|element|function)"},mn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class gn extends un{static get Default(){return fn}static get NAME(){return"popover"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(gn);const _n="scrollspy",bn={offset:10,method:"auto",target:""},vn={offset:"number",method:"string",target:"(string|element)"},yn="active",wn=".nav-link, .list-group-item, .dropdown-item",En="position";class An extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":En,e="auto"===this._config.method?t:this._config.method,n=e===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(wn,this._config.target).map((t=>{const s=i(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...bn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=r(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=V.findOne(e.join(","),this._config.target);i.classList.add(yn),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(yn):V.parents(i,".nav, .list-group").forEach((t=>{V.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(yn))),V.prev(t,".nav-item").forEach((t=>{V.children(t,".nav-link").forEach((t=>t.classList.add(yn)))}))})),j.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t=>t.classList.contains(yn))).forEach((t=>t.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e=An.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,"load.bs.scrollspy.data-api",(()=>{V.find('[data-bs-spy="scroll"]').forEach((t=>new An(t)))})),g(An);const Tn="active",On="fade",Cn="show",kn=".active",Ln=":scope > li > .active";class xn extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Tn))return;let t;const e=n(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?Ln:kn;t=V.find(e,i),t=t[t.length-1]}const s=t?j.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(j.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const o=()=>{j.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),j.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,kn):V.find(Ln,e))[0],s=i&&n&&n.classList.contains(On),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Tn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Tn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains(On)&&t.classList.add(Cn);let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Tn))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn="toast",Sn="hide",Nn="show",In="showing",Pn={animation:"boolean",autohide:"boolean",delay:"number"},jn={animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.remove(In),j.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)&&(j.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)&&this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t={...jn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_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(){j.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),j.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Mn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}})); -//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/choosing_files/libs/clipboard/clipboard.min.js b/choosing_files/libs/clipboard/clipboard.min.js deleted file mode 100644 index 1103f81..0000000 --- a/choosing_files/libs/clipboard/clipboard.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v2.0.11 - * https://clipboardjs.com/ - * - * Licensed MIT © Zeno Rocha - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1>> 0; - - // 4. If isCallable(callback) is false, throw a TypeError exception. - // See: http://es5.github.com/#x9.11 - if (typeof callback !== "function") { - throw new TypeError(callback + ' is not a function'); - } - - // 5. If thisArg was supplied, let T be thisArg; else let - // T be undefined. - if (arguments.length > 1) { - T = thisArg; - } - - // 6. Let k be 0 - k = 0; - - // 7. Repeat, while k < len - while (k < len) { - - var kValue; - - // a. Let Pk be ToString(k). - // This is implicit for LHS operands of the in operator - // b. Let kPresent be the result of calling the HasProperty - // internal method of O with argument Pk. - // This step can be combined with c - // c. If kPresent is true, then - if (k in O) { - - // i. Let kValue be the result of calling the Get internal - // method of O with argument Pk. - kValue = O[k]; - - // ii. Call the Call internal method of callback with T as - // the this value and argument list containing kValue, k, and O. - callback.call(T, kValue, k, O); - } - // d. Increase k by 1. - k++; - } - // 8. return undefined - }; -} - -// Production steps of ECMA-262, Edition 5, 15.4.4.19 -// Reference: http://es5.github.io/#x15.4.4.19 -if (!Array.prototype.map) { - - Array.prototype.map = function(callback, thisArg) { - - var T, A, k; - - if (this == null) { - throw new TypeError(' this is null or not defined'); - } - - // 1. Let O be the result of calling ToObject passing the |this| - // value as the argument. - var O = Object(this); - - // 2. Let lenValue be the result of calling the Get internal - // method of O with the argument "length". - // 3. Let len be ToUint32(lenValue). - var len = O.length >>> 0; - - // 4. If IsCallable(callback) is false, throw a TypeError exception. - // See: http://es5.github.com/#x9.11 - if (typeof callback !== 'function') { - throw new TypeError(callback + ' is not a function'); - } - - // 5. If thisArg was supplied, let T be thisArg; else let T be undefined. - if (arguments.length > 1) { - T = thisArg; - } - - // 6. Let A be a new array created as if by the expression new Array(len) - // where Array is the standard built-in constructor with that name and - // len is the value of len. - A = new Array(len); - - // 7. Let k be 0 - k = 0; - - // 8. Repeat, while k < len - while (k < len) { - - var kValue, mappedValue; - - // a. Let Pk be ToString(k). - // This is implicit for LHS operands of the in operator - // b. Let kPresent be the result of calling the HasProperty internal - // method of O with argument Pk. - // This step can be combined with c - // c. If kPresent is true, then - if (k in O) { - - // i. Let kValue be the result of calling the Get internal - // method of O with argument Pk. - kValue = O[k]; - - // ii. Let mappedValue be the result of calling the Call internal - // method of callback with T as the this value and argument - // list containing kValue, k, and O. - mappedValue = callback.call(T, kValue, k, O); - - // iii. Call the DefineOwnProperty internal method of A with arguments - // Pk, Property Descriptor - // { Value: mappedValue, - // Writable: true, - // Enumerable: true, - // Configurable: true }, - // and false. - - // In browsers that support Object.defineProperty, use the following: - // Object.defineProperty(A, k, { - // value: mappedValue, - // writable: true, - // enumerable: true, - // configurable: true - // }); - - // For best browser support, use the following: - A[k] = mappedValue; - } - // d. Increase k by 1. - k++; - } - - // 9. return A - return A; - }; -} - -var PagedTable = function (pagedTable) { - var me = this; - - var source = function(pagedTable) { - var sourceElems = [].slice.call(pagedTable.children).filter(function(e) { - return e.hasAttribute("data-pagedtable-source"); - }); - - if (sourceElems === null || sourceElems.length !== 1) { - throw("A single data-pagedtable-source was not found"); - } - - return JSON.parse(sourceElems[0].innerHTML); - }(pagedTable); - - var options = function(source) { - var options = typeof(source.options) !== "undefined" && - source.options !== null ? source.options : {}; - - var columns = typeof(options.columns) !== "undefined" ? options.columns : {}; - var rows = typeof(options.rows) !== "undefined" ? options.rows : {}; - - var positiveIntOrNull = function(value) { - return parseInt(value) >= 0 ? parseInt(value) : null; - }; - - return { - pages: positiveIntOrNull(options.pages), - rows: { - min: positiveIntOrNull(rows.min), - max: positiveIntOrNull(rows.max), - total: positiveIntOrNull(rows.total) - }, - columns: { - min: positiveIntOrNull(columns.min), - max: positiveIntOrNull(columns.max), - total: positiveIntOrNull(columns.total) - } - }; - }(source); - - var Measurer = function() { - - // set some default initial values that will get adjusted in runtime - me.measures = { - padding: 12, - character: 8, - height: 15, - defaults: true - }; - - me.calculate = function(measuresCell) { - if (!me.measures.defaults) - return; - - var measuresCellStyle = window.getComputedStyle(measuresCell, null); - - var newPadding = parsePadding(measuresCellStyle.paddingLeft) + - parsePadding(measuresCellStyle.paddingRight); - - var sampleString = "ABCDEFGHIJ0123456789"; - var newCharacter = Math.ceil(measuresCell.clientWidth / sampleString.length); - - if (newPadding <= 0 || newCharacter <= 0) - return; - - me.measures.padding = newPadding; - me.measures.character = newCharacter; - me.measures.height = measuresCell.clientHeight; - me.measures.defaults = false; - }; - - return me; - }; - - var Page = function(data, options) { - var me = this; - - var defaults = { - max: 7, - rows: 10 - }; - - var totalPages = function() { - return Math.ceil(data.length / me.rows); - }; - - me.number = 0; - me.max = options.pages !== null ? options.pages : defaults.max; - me.visible = me.max; - me.rows = options.rows.min !== null ? options.rows.min : defaults.rows; - me.total = totalPages(); - - me.setRows = function(newRows) { - me.rows = newRows; - me.total = totalPages(); - }; - - me.setPageNumber = function(newPageNumber) { - if (newPageNumber < 0) newPageNumber = 0; - if (newPageNumber >= me.total) newPageNumber = me.total - 1; - - me.number = newPageNumber; - }; - - me.setVisiblePages = function(visiblePages) { - me.visible = Math.min(me.max, visiblePages); - me.setPageNumber(me.number); - }; - - me.getVisiblePageRange = function() { - var start = me.number - Math.max(Math.floor((me.visible - 1) / 2), 0); - var end = me.number + Math.floor(me.visible / 2) + 1; - var pageCount = me.total; - - if (start < 0) { - var diffToStart = 0 - start; - start += diffToStart; - end += diffToStart; - } - - if (end > pageCount) { - var diffToEnd = end - pageCount; - start -= diffToEnd; - end -= diffToEnd; - } - - start = start < 0 ? 0 : start; - end = end >= pageCount ? pageCount : end; - - var first = false; - var last = false; - - if (start > 0 && me.visible > 1) { - start = start + 1; - first = true; - } - - if (end < pageCount && me.visible > 2) { - end = end - 1; - last = true; - } - - return { - first: first, - start: start, - end: end, - last: last - }; - }; - - me.getRowStart = function() { - var rowStart = page.number * page.rows; - if (rowStart < 0) - rowStart = 0; - - return rowStart; - }; - - me.getRowEnd = function() { - var rowStart = me.getRowStart(); - return Math.min(rowStart + me.rows, data.length); - }; - - me.getPaddingRows = function() { - var rowStart = me.getRowStart(); - var rowEnd = me.getRowEnd(); - return data.length > me.rows ? me.rows - (rowEnd - rowStart) : 0; - }; - }; - - var Columns = function(data, columns, options) { - var me = this; - - me.defaults = { - min: 5 - }; - - me.number = 0; - me.visible = 0; - me.total = columns.length; - me.subset = []; - me.padding = 0; - me.min = options.columns.min !== null ? options.columns.min : me.defaults.min; - me.max = options.columns.max !== null ? options.columns.max : null; - me.widths = {}; - - var widthsLookAhead = Math.max(100, options.rows.min); - var paddingColChars = 10; - - me.emptyNames = function() { - columns.forEach(function(column) { - if (columns.label !== null && columns.label !== "") - return false; - }); - - return true; - }; - - var parsePadding = function(value) { - return parseInt(value) >= 0 ? parseInt(value) : 0; - }; - - me.calculateWidths = function(measures) { - columns.forEach(function(column) { - var maxChars = Math.max( - column.label.toString().length, - column.type.toString().length - ); - - for (var idxRow = 0; idxRow < Math.min(widthsLookAhead, data.length); idxRow++) { - maxChars = Math.max(maxChars, data[idxRow][column.name.toString()].length); - } - - me.widths[column.name] = { - // width in characters - chars: maxChars, - // width for the inner html columns - inner: maxChars * measures.character, - // width adding outer styles like padding - outer: maxChars * measures.character + measures.padding - }; - }); - }; - - me.getWidth = function() { - var widthOuter = 0; - for (var idxCol = 0; idxCol < me.subset.length; idxCol++) { - var columnName = me.subset[idxCol].name; - widthOuter = widthOuter + me.widths[columnName].outer; - } - - widthOuter = widthOuter + me.padding * paddingColChars * measurer.measures.character; - - if (me.hasMoreLeftColumns()) { - widthOuter = widthOuter + columnNavigationWidthPX + measurer.measures.padding; - } - - if (me.hasMoreRightColumns()) { - widthOuter = widthOuter + columnNavigationWidthPX + measurer.measures.padding; - } - - return widthOuter; - }; - - me.updateSlice = function() { - if (me.number + me.visible >= me.total) - me.number = me.total - me.visible; - - if (me.number < 0) me.number = 0; - - me.subset = columns.slice(me.number, Math.min(me.number + me.visible, me.total)); - - me.subset = me.subset.map(function(column) { - Object.keys(column).forEach(function(colKey) { - column[colKey] = column[colKey] === null ? "" : column[colKey].toString(); - }); - - column.width = null; - return column; - }); - }; - - me.setVisibleColumns = function(columnNumber, newVisibleColumns, paddingCount) { - me.number = columnNumber; - me.visible = newVisibleColumns; - me.padding = paddingCount; - - me.updateSlice(); - }; - - me.incColumnNumber = function(increment) { - me.number = me.number + increment; - }; - - me.setColumnNumber = function(newNumber) { - me.number = newNumber; - }; - - me.setPaddingCount = function(newPadding) { - me.padding = newPadding; - }; - - me.getPaddingCount = function() { - return me.padding; - }; - - me.hasMoreLeftColumns = function() { - return me.number > 0; - }; - - me.hasMoreRightColumns = function() { - return me.number + me.visible < me.total; - }; - - me.updateSlice(0); - return me; - }; - - var data = source.data; - var page = new Page(data, options); - var measurer = new Measurer(data, options); - var columns = new Columns(data, source.columns, options); - - var table = null; - var tableDiv = null; - var header = null; - var footer = null; - var tbody = null; - - // Caches pagedTable.clientWidth, specially for webkit - var cachedPagedTableClientWidth = null; - - var onChangeCallbacks = []; - - var clearSelection = function() { - if(document.selection && document.selection.empty) { - document.selection.empty(); - } else if(window.getSelection) { - var sel = window.getSelection(); - sel.removeAllRanges(); - } - }; - - var columnNavigationWidthPX = 5; - - var renderColumnNavigation = function(increment, backwards) { - var arrow = document.createElement("div"); - arrow.setAttribute("style", - "border-top: " + columnNavigationWidthPX + "px solid transparent;" + - "border-bottom: " + columnNavigationWidthPX + "px solid transparent;" + - "border-" + (backwards ? "right" : "left") + ": " + columnNavigationWidthPX + "px solid;"); - - var header = document.createElement("th"); - header.appendChild(arrow); - header.setAttribute("style", - "cursor: pointer;" + - "vertical-align: middle;" + - "min-width: " + columnNavigationWidthPX + "px;" + - "width: " + columnNavigationWidthPX + "px;"); - - header.onclick = function() { - columns.incColumnNumber(backwards ? -1 : increment); - - me.animateColumns(backwards); - renderFooter(); - - clearSelection(); - triggerOnChange(); - }; - - return header; - }; - - var maxColumnWidth = function(width) { - var padding = 80; - var columnMax = Math.max(cachedPagedTableClientWidth - padding, 0); - - return parseInt(width) > 0 ? - Math.min(columnMax, parseInt(width)) + "px" : - columnMax + "px"; - }; - - var clearHeader = function() { - var thead = pagedTable.querySelectorAll("thead")[0]; - thead.innerHTML = ""; - }; - - var renderHeader = function(clear) { - cachedPagedTableClientWidth = pagedTable.clientWidth; - - var fragment = document.createDocumentFragment(); - - header = document.createElement("tr"); - fragment.appendChild(header); - - if (columns.number > 0) - header.appendChild(renderColumnNavigation(-columns.visible, true)); - - columns.subset = columns.subset.map(function(columnData) { - var column = document.createElement("th"); - column.setAttribute("align", columnData.align); - column.style.textAlign = columnData.align; - - column.style.maxWidth = maxColumnWidth(null); - if (columnData.width) { - column.style.minWidth = - column.style.maxWidth = maxColumnWidth(columnData.width); - } - - var columnName = document.createElement("div"); - columnName.setAttribute("class", "pagedtable-header-name"); - if (columnData.label === "") { - columnName.innerHTML = " "; - } - else { - columnName.appendChild(document.createTextNode(columnData.label)); - } - column.appendChild(columnName); - - var columnType = document.createElement("div"); - columnType.setAttribute("class", "pagedtable-header-type"); - if (columnData.type === "") { - columnType.innerHTML = " "; - } - else { - columnType.appendChild(document.createTextNode("<" + columnData.type + ">")); - } - column.appendChild(columnType); - - header.appendChild(column); - - columnData.element = column; - - return columnData; - }); - - for (var idx = 0; idx < columns.getPaddingCount(); idx++) { - var paddingCol = document.createElement("th"); - paddingCol.setAttribute("class", "pagedtable-padding-col"); - header.appendChild(paddingCol); - } - - if (columns.number + columns.visible < columns.total) - header.appendChild(renderColumnNavigation(columns.visible, false)); - - if (typeof(clear) == "undefined" || clear) clearHeader(); - var thead = pagedTable.querySelectorAll("thead")[0]; - thead.appendChild(fragment); - }; - - me.animateColumns = function(backwards) { - var thead = pagedTable.querySelectorAll("thead")[0]; - - var headerOld = thead.querySelectorAll("tr")[0]; - var tbodyOld = table.querySelectorAll("tbody")[0]; - - me.fitColumns(backwards); - - renderHeader(false); - - header.style.opacity = "0"; - header.style.transform = backwards ? "translateX(-30px)" : "translateX(30px)"; - header.style.transition = "transform 200ms linear, opacity 200ms"; - header.style.transitionDelay = "0"; - - renderBody(false); - - if (headerOld) { - headerOld.style.position = "absolute"; - headerOld.style.transform = "translateX(0px)"; - headerOld.style.opacity = "1"; - headerOld.style.transition = "transform 100ms linear, opacity 100ms"; - headerOld.setAttribute("class", "pagedtable-remove-head"); - if (headerOld.style.transitionEnd) { - headerOld.addEventListener("transitionend", function() { - var headerOldByClass = thead.querySelector(".pagedtable-remove-head"); - if (headerOldByClass) thead.removeChild(headerOldByClass); - }); - } - else { - thead.removeChild(headerOld); - } - } - - if (tbodyOld) table.removeChild(tbodyOld); - - tbody.style.opacity = "0"; - tbody.style.transition = "transform 200ms linear, opacity 200ms"; - tbody.style.transitionDelay = "0ms"; - - // force relayout - window.getComputedStyle(header).opacity; - window.getComputedStyle(tbody).opacity; - - if (headerOld) { - headerOld.style.transform = backwards ? "translateX(20px)" : "translateX(-30px)"; - headerOld.style.opacity = "0"; - } - - header.style.transform = "translateX(0px)"; - header.style.opacity = "1"; - - tbody.style.opacity = "1"; - } - - me.onChange = function(callback) { - onChangeCallbacks.push(callback); - }; - - var triggerOnChange = function() { - onChangeCallbacks.forEach(function(onChange) { - onChange(); - }); - }; - - var clearBody = function() { - if (tbody) { - table.removeChild(tbody); - tbody = null; - } - }; - - var renderBody = function(clear) { - cachedPagedTableClientWidth = pagedTable.clientWidth - - var fragment = document.createDocumentFragment(); - - var pageData = data.slice(page.getRowStart(), page.getRowEnd()); - - pageData.forEach(function(dataRow, idxRow) { - var htmlRow = document.createElement("tr"); - htmlRow.setAttribute("class", (idxRow % 2 !==0) ? "even" : "odd"); - - if (columns.hasMoreLeftColumns()) - htmlRow.appendChild(document.createElement("td")); - - columns.subset.forEach(function(columnData) { - var cellName = columnData.name; - var dataCell = dataRow[cellName]; - var htmlCell = document.createElement("td"); - - if (dataCell === "NA") htmlCell.setAttribute("class", "pagedtable-na-cell"); - if (dataCell === "__NA__") dataCell = "NA"; - - var cellText = document.createTextNode(dataCell); - htmlCell.appendChild(cellText); - if (dataCell.length > 50) { - htmlCell.setAttribute("title", dataCell); - } - htmlCell.setAttribute("align", columnData.align); - htmlCell.style.textAlign = columnData.align; - htmlCell.style.maxWidth = maxColumnWidth(null); - if (columnData.width) { - htmlCell.style.minWidth = htmlCell.style.maxWidth = maxColumnWidth(columnData.width); - } - htmlRow.appendChild(htmlCell); - }); - - for (var idx = 0; idx < columns.getPaddingCount(); idx++) { - var paddingCol = document.createElement("td"); - paddingCol.setAttribute("class", "pagedtable-padding-col"); - htmlRow.appendChild(paddingCol); - } - - if (columns.hasMoreRightColumns()) - htmlRow.appendChild(document.createElement("td")); - - fragment.appendChild(htmlRow); - }); - - for (var idxPadding = 0; idxPadding < page.getPaddingRows(); idxPadding++) { - var paddingRow = document.createElement("tr"); - - var paddingCellRow = document.createElement("td"); - paddingCellRow.innerHTML = " "; - paddingCellRow.setAttribute("colspan", "100%"); - paddingRow.appendChild(paddingCellRow); - - fragment.appendChild(paddingRow); - } - - if (typeof(clear) == "undefined" || clear) clearBody(); - tbody = document.createElement("tbody"); - tbody.appendChild(fragment); - - table.appendChild(tbody); - }; - - var getLabelInfo = function() { - var pageStart = page.getRowStart(); - var pageEnd = page.getRowEnd(); - var totalRows = data.length; - - var totalRowsLabel = options.rows.total ? options.rows.total : totalRows; - var totalRowsLabelFormat = totalRowsLabel.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'); - - var infoText = (pageStart + 1) + "-" + pageEnd + " of " + totalRowsLabelFormat + " rows"; - if (totalRows < page.rows) { - infoText = totalRowsLabel + " row" + (totalRows != 1 ? "s" : ""); - } - if (columns.total > columns.visible) { - var totalColumnsLabel = options.columns.total ? options.columns.total : columns.total; - - infoText = infoText + " | " + (columns.number + 1) + "-" + - (Math.min(columns.number + columns.visible, columns.total)) + - " of " + totalColumnsLabel + " columns"; - } - - return infoText; - }; - - var clearFooter = function() { - footer = pagedTable.querySelectorAll("div.pagedtable-footer")[0]; - footer.innerHTML = ""; - - return footer; - }; - - var createPageLink = function(idxPage) { - var pageLink = document.createElement("a"); - pageLinkClass = idxPage === page.number ? "pagedtable-index pagedtable-index-current" : "pagedtable-index"; - pageLink.setAttribute("class", pageLinkClass); - pageLink.setAttribute("data-page-index", idxPage); - pageLink.onclick = function() { - page.setPageNumber(parseInt(this.getAttribute("data-page-index"))); - renderBody(); - renderFooter(); - - triggerOnChange(); - }; - - pageLink.appendChild(document.createTextNode(idxPage + 1)); - - return pageLink; - } - - var renderFooter = function() { - footer = clearFooter(); - - var next = document.createElement("a"); - next.appendChild(document.createTextNode("Next")); - next.onclick = function() { - page.setPageNumber(page.number + 1); - renderBody(); - renderFooter(); - - triggerOnChange(); - }; - if (data.length > page.rows) footer.appendChild(next); - - var pageNumbers = document.createElement("div"); - pageNumbers.setAttribute("class", "pagedtable-indexes"); - - var pageRange = page.getVisiblePageRange(); - - if (pageRange.first) { - var pageLink = createPageLink(0); - pageNumbers.appendChild(pageLink); - - var pageSeparator = document.createElement("div"); - pageSeparator.setAttribute("class", "pagedtable-index-separator-left"); - pageSeparator.appendChild(document.createTextNode("...")) - pageNumbers.appendChild(pageSeparator); - } - - for (var idxPage = pageRange.start; idxPage < pageRange.end; idxPage++) { - var pageLink = createPageLink(idxPage); - - pageNumbers.appendChild(pageLink); - } - - if (pageRange.last) { - var pageSeparator = document.createElement("div"); - pageSeparator.setAttribute("class", "pagedtable-index-separator-right"); - pageSeparator.appendChild(document.createTextNode("...")) - pageNumbers.appendChild(pageSeparator); - - var pageLink = createPageLink(page.total - 1); - pageNumbers.appendChild(pageLink); - } - - if (data.length > page.rows) footer.appendChild(pageNumbers); - - var previous = document.createElement("a"); - previous.appendChild(document.createTextNode("Previous")); - previous.onclick = function() { - page.setPageNumber(page.number - 1); - renderBody(); - renderFooter(); - - triggerOnChange(); - }; - if (data.length > page.rows) footer.appendChild(previous); - - var infoLabel = document.createElement("div"); - infoLabel.setAttribute("class", "pagedtable-info"); - infoLabel.setAttribute("title", getLabelInfo()); - infoLabel.appendChild(document.createTextNode(getLabelInfo())); - footer.appendChild(infoLabel); - - var enabledClass = "pagedtable-index-nav"; - var disabledClass = "pagedtable-index-nav pagedtable-index-nav-disabled"; - previous.setAttribute("class", page.number <= 0 ? disabledClass : enabledClass); - next.setAttribute("class", (page.number + 1) * page.rows >= data.length ? disabledClass : enabledClass); - }; - - var measuresCell = null; - - var renderMeasures = function() { - var measuresTable = document.createElement("table"); - measuresTable.style.visibility = "hidden"; - measuresTable.style.position = "absolute"; - measuresTable.style.whiteSpace = "nowrap"; - measuresTable.style.height = "auto"; - measuresTable.style.width = "auto"; - - var measuresRow = document.createElement("tr"); - measuresTable.appendChild(measuresRow); - - measuresCell = document.createElement("td"); - var sampleString = "ABCDEFGHIJ0123456789"; - measuresCell.appendChild(document.createTextNode(sampleString)); - - measuresRow.appendChild(measuresCell); - - tableDiv.appendChild(measuresTable); - } - - me.init = function() { - tableDiv = document.createElement("div"); - pagedTable.appendChild(tableDiv); - var pagedTableClass = data.length > 0 ? - "pagedtable pagedtable-not-empty" : - "pagedtable pagedtable-empty"; - - if (columns.total == 0 || (columns.emptyNames() && data.length == 0)) { - pagedTableClass = pagedTableClass + " pagedtable-empty-columns"; - } - - tableDiv.setAttribute("class", pagedTableClass); - - renderMeasures(); - measurer.calculate(measuresCell); - columns.calculateWidths(measurer.measures); - - table = document.createElement("table"); - table.setAttribute("cellspacing", "0"); - table.setAttribute("class", "table table-condensed"); - tableDiv.appendChild(table); - - table.appendChild(document.createElement("thead")); - - var footerDiv = document.createElement("div"); - footerDiv.setAttribute("class", "pagedtable-footer"); - tableDiv.appendChild(footerDiv); - - // if the host has not yet provided horizontal space, render hidden - if (tableDiv.clientWidth <= 0) { - tableDiv.style.opacity = "0"; - } - - me.render(); - - // retry seizing columns later if the host has not provided space - function retryFit() { - if (tableDiv.clientWidth <= 0) { - setTimeout(retryFit, 100); - } else { - me.render(); - triggerOnChange(); - } - } - if (tableDiv.clientWidth <= 0) { - retryFit(); - } - }; - - var registerWidths = function() { - columns.subset = columns.subset.map(function(column) { - column.width = columns.widths[column.name].inner; - return column; - }); - }; - - var parsePadding = function(value) { - return parseInt(value) >= 0 ? parseInt(value) : 0; - }; - - me.fixedHeight = function() { - return options.rows.max != null; - } - - me.fitRows = function() { - if (me.fixedHeight()) - return; - - measurer.calculate(measuresCell); - - var rows = options.rows.min !== null ? options.rows.min : 0; - var headerHeight = header !== null && header.offsetHeight > 0 ? header.offsetHeight : 0; - var footerHeight = footer !== null && footer.offsetHeight > 0 ? footer.offsetHeight : 0; - - if (pagedTable.offsetHeight > 0) { - var availableHeight = pagedTable.offsetHeight - headerHeight - footerHeight; - rows = Math.floor((availableHeight) / measurer.measures.height); - } - - rows = options.rows.min !== null ? Math.max(options.rows.min, rows) : rows; - - page.setRows(rows); - } - - // The goal of this function is to add as many columns as possible - // starting from left-to-right, when the right most limit is reached - // it tries to add columns from the left as well. - // - // When startBackwards is true columns are added from right-to-left - me.fitColumns = function(startBackwards) { - measurer.calculate(measuresCell); - columns.calculateWidths(measurer.measures); - - if (tableDiv.clientWidth > 0) { - tableDiv.style.opacity = 1; - } - - var visibleColumns = tableDiv.clientWidth <= 0 ? Math.max(columns.min, 1) : 1; - var columnNumber = columns.number; - var paddingCount = 0; - - // track a list of added columns as we build the visible ones to allow us - // to remove columns when they don't fit anymore. - var columnHistory = []; - - var lastTableHeight = 0; - var backwards = startBackwards; - - var tableDivStyle = window.getComputedStyle(tableDiv, null); - var tableDivPadding = parsePadding(tableDivStyle.paddingLeft) + - parsePadding(tableDivStyle.paddingRight); - - var addPaddingCol = false; - var currentWidth = 0; - - while (true) { - columns.setVisibleColumns(columnNumber, visibleColumns, paddingCount); - currentWidth = columns.getWidth(); - - if (tableDiv.clientWidth - tableDivPadding < currentWidth) { - break; - } - - columnHistory.push({ - columnNumber: columnNumber, - visibleColumns: visibleColumns, - paddingCount: paddingCount - }); - - if (columnHistory.length > 100) { - console.error("More than 100 tries to fit columns, aborting"); - break; - } - - if (columns.max !== null && - columns.visible + columns.getPaddingCount() >= columns.max) { - break; - } - - // if we run out of right-columns - if (!backwards && columnNumber + columns.visible >= columns.total) { - // if we started adding right-columns, try adding left-columns - if (!startBackwards && columnNumber > 0) { - backwards = true; - } - else if (columns.min === null || visibleColumns + columns.getPaddingCount() >= columns.min) { - break; - } - else { - paddingCount = paddingCount + 1; - } - } - - // if we run out of left-columns - if (backwards && columnNumber == 0) { - // if we started adding left-columns, try adding right-columns - if (startBackwards && columnNumber + columns.visible < columns.total) { - backwards = false; - } - else if (columns.min === null || visibleColumns + columns.getPaddingCount() >= columns.min) { - break; - } - else { - paddingCount = paddingCount + 1; - } - } - - // when moving backwards try fitting left columns first - if (backwards && columnNumber > 0) { - columnNumber = columnNumber - 1; - } - - if (columnNumber + visibleColumns < columns.total) { - visibleColumns = visibleColumns + 1; - } - } - - var lastRenderableColumn = { - columnNumber: columnNumber, - visibleColumns: visibleColumns, - paddingCount: paddingCount - }; - - if (columnHistory.length > 0) { - lastRenderableColumn = columnHistory[columnHistory.length - 1]; - } - - columns.setVisibleColumns( - lastRenderableColumn.columnNumber, - lastRenderableColumn.visibleColumns, - lastRenderableColumn.paddingCount); - - if (pagedTable.offsetWidth > 0) { - page.setVisiblePages(Math.max(Math.ceil(1.0 * (pagedTable.offsetWidth - 250) / 40), 2)); - } - - registerWidths(); - }; - - me.fit = function(startBackwards) { - me.fitRows(); - me.fitColumns(startBackwards); - } - - me.render = function() { - me.fitColumns(false); - - // render header/footer to measure height accurately - renderHeader(); - renderFooter(); - - me.fitRows(); - renderBody(); - - // re-render footer to match new rows - renderFooter(); - } - - var resizeLastWidth = -1; - var resizeLastHeight = -1; - var resizeNewWidth = -1; - var resizeNewHeight = -1; - var resizePending = false; - - me.resize = function(newWidth, newHeight) { - - function resizeDelayed() { - resizePending = false; - - if ( - (resizeNewWidth !== resizeLastWidth) || - (!me.fixedHeight() && resizeNewHeight !== resizeLastHeight) - ) { - resizeLastWidth = resizeNewWidth; - resizeLastHeight = resizeNewHeight; - - setTimeout(resizeDelayed, 200); - resizePending = true; - } else { - me.render(); - triggerOnChange(); - - resizeLastWidth = -1; - resizeLastHeight = -1; - } - } - - resizeNewWidth = newWidth; - resizeNewHeight = newHeight; - - if (!resizePending) resizeDelayed(); - }; -}; - -var PagedTableDoc; -(function (PagedTableDoc) { - var allPagedTables = []; - - PagedTableDoc.initAll = function() { - allPagedTables = []; - - var pagedTables = [].slice.call(document.querySelectorAll('[data-pagedtable="false"],[data-pagedtable=""]')); - pagedTables.forEach(function(pagedTable, idx) { - pagedTable.setAttribute("data-pagedtable", "true"); - pagedTable.setAttribute("pagedtable-page", 0); - pagedTable.setAttribute("class", "pagedtable-wrapper"); - - var pagedTableInstance = new PagedTable(pagedTable); - pagedTableInstance.init(); - - allPagedTables.push(pagedTableInstance); - }); - }; - - PagedTableDoc.resizeAll = function() { - allPagedTables.forEach(function(pagedTable) { - pagedTable.render(); - }); - }; - - window.addEventListener("resize", PagedTableDoc.resizeAll); - - return PagedTableDoc; -})(PagedTableDoc || (PagedTableDoc = {})); - -window.onload = function() { - PagedTableDoc.initAll(); -}; diff --git a/choosing_files/libs/quarto-html/anchor.min.js b/choosing_files/libs/quarto-html/anchor.min.js deleted file mode 100644 index 1c2b86f..0000000 --- a/choosing_files/libs/quarto-html/anchor.min.js +++ /dev/null @@ -1,9 +0,0 @@ -// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -// -// AnchorJS - v4.3.1 - 2021-04-17 -// https://www.bryanbraun.com/anchorjs/ -// Copyright (c) 2021 Bryan Braun; Licensed MIT -// -// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function w(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean("ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,i,n,s,a,c,r,l,h,u,p=[];if(d(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=w(A=A||"h2, h3, h4, h5, h6")).length)return this;for(null===document.head.querySelector("style.anchorjs")&&((u=document.createElement("style")).className="anchorjs",u.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(u):document.head.insertBefore(u,A),u.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",u.sheet.cssRules.length),u.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",u.sheet.cssRules.length),u.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",u.sheet.cssRules.length),u.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',u.sheet.cssRules.length)),u=document.querySelectorAll("[id]"),t=[].map.call(u,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); -// @license-end \ No newline at end of file diff --git a/choosing_files/libs/quarto-html/light-border.css b/choosing_files/libs/quarto-html/light-border.css deleted file mode 100644 index 2b25c61..0000000 --- a/choosing_files/libs/quarto-html/light-border.css +++ /dev/null @@ -1 +0,0 @@ -.tippy-box[data-theme~=light-border]{background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,8,16,.15);color:#333;box-shadow:0 4px 14px -2px rgba(0,8,16,.08)}.tippy-box[data-theme~=light-border]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light-border]>.tippy-arrow:after,.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=light-border]>.tippy-arrow:after{border-color:transparent;border-style:solid}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:after{border-top-color:rgba(0,8,16,.2);border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:rgba(0,8,16,.2);border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:after{border-left-color:rgba(0,8,16,.2);border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:rgba(0,8,16,.2)}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px} \ No newline at end of file diff --git a/choosing_files/libs/quarto-html/popper.min.js b/choosing_files/libs/quarto-html/popper.min.js deleted file mode 100644 index 2269d66..0000000 --- a/choosing_files/libs/quarto-html/popper.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @popperjs/core v2.11.4 - MIT License - */ - -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),o=1,i=1;if(r(e)&&t){var a=e.offsetHeight,f=e.offsetWidth;f>0&&(o=s(n.width)/f||1),a>0&&(i=s(n.height)/a||1)}return{width:n.width/o,height:n.height/i,top:n.top/i,right:n.right/o,bottom:n.bottom/i,left:n.left/o,x:n.left/o,y:n.top/i}}function c(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function p(e){return e?(e.nodeName||"").toLowerCase():null}function u(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function l(e){return f(u(e)).left+c(e).scrollLeft}function d(e){return t(e).getComputedStyle(e)}function h(e){var t=d(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function m(e,n,o){void 0===o&&(o=!1);var i,a,d=r(n),m=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),v=u(n),g=f(e,m),y={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(d||!d&&!o)&&(("body"!==p(n)||h(v))&&(y=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:c(i)),r(n)?((b=f(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):v&&(b.x=l(v))),{x:g.left+y.scrollLeft-b.x,y:g.top+y.scrollTop-b.y,width:g.width,height:g.height}}function v(e){var t=f(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===p(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||u(e)}function y(e){return["html","body","#document"].indexOf(p(e))>=0?e.ownerDocument.body:r(e)&&h(e)?e:y(g(e))}function b(e,n){var r;void 0===n&&(n=[]);var o=y(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],h(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(b(g(s)))}function x(e){return["table","td","th"].indexOf(p(e))>=0}function w(e){return r(e)&&"fixed"!==d(e).position?e.offsetParent:null}function O(e){for(var n=t(e),i=w(e);i&&x(i)&&"static"===d(i).position;)i=w(i);return i&&("html"===p(i)||"body"===p(i)&&"static"===d(i).position)?n:i||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&r(e)&&"fixed"===d(e).position)return null;var n=g(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(p(n))<0;){var i=d(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var j="top",E="bottom",D="right",A="left",L="auto",P=[j,E,D,A],M="start",k="end",W="viewport",B="popper",H=P.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+k])}),[]),T=[].concat(P,[L]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+k])}),[]),R=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function S(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function q(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function V(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function N(e,r){return r===W?V(function(e){var n=t(e),r=u(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,f=0;return o&&(i=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,f=o.offsetTop)),{width:i,height:a,x:s+l(e),y:f}}(e)):n(r)?function(e){var t=f(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(r):V(function(e){var t,n=u(e),r=c(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+l(e),p=-r.scrollTop;return"rtl"===d(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:p}}(u(e)))}function I(e,t,o){var s="clippingParents"===t?function(e){var t=b(g(e)),o=["absolute","fixed"].indexOf(d(e).position)>=0&&r(e)?O(e):e;return n(o)?t.filter((function(e){return n(e)&&q(e,o)&&"body"!==p(e)})):[]}(e):[].concat(t),f=[].concat(s,[o]),c=f[0],u=f.reduce((function(t,n){var r=N(e,n);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),N(e,c));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function _(e){return e.split("-")[1]}function F(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function U(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?_(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case j:t={x:s,y:n.y-r.height};break;case E:t={x:s,y:n.y+n.height};break;case D:t={x:n.x+n.width,y:f};break;case A:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?F(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case M:t[c]=t[c]-(n[p]/2-r[p]/2);break;case k:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function z(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function X(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Y(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.boundary,s=void 0===a?"clippingParents":a,c=r.rootBoundary,p=void 0===c?W:c,l=r.elementContext,d=void 0===l?B:l,h=r.altBoundary,m=void 0!==h&&h,v=r.padding,g=void 0===v?0:v,y=z("number"!=typeof g?g:X(g,P)),b=d===B?"reference":B,x=e.rects.popper,w=e.elements[m?b:d],O=I(n(w)?w:w.contextElement||u(e.elements.popper),s,p),A=f(e.elements.reference),L=U({reference:A,element:x,strategy:"absolute",placement:i}),M=V(Object.assign({},x,L)),k=d===B?M:A,H={top:O.top-k.top+y.top,bottom:k.bottom-O.bottom+y.bottom,left:O.left-k.left+y.left,right:k.right-O.right+y.right},T=e.modifiersData.offset;if(d===B&&T){var R=T[i];Object.keys(H).forEach((function(e){var t=[D,E].indexOf(e)>=0?1:-1,n=[j,E].indexOf(e)>=0?"y":"x";H[e]+=R[n]*t}))}return H}var G={placement:"bottom",modifiers:[],strategy:"absolute"};function J(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[A,D].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},ie={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(e){return e.replace(/left|right|bottom|top/g,(function(e){return ie[e]}))}var se={start:"end",end:"start"};function fe(e){return e.replace(/start|end/g,(function(e){return se[e]}))}function ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?T:f,p=_(r),u=p?s?H:H.filter((function(e){return _(e)===p})):P,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=Y(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var pe={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=C(v),y=f||(g===v||!h?[ae(v)]:function(e){if(C(e)===L)return[];var t=ae(e);return[fe(e),t,fe(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(C(n)===L?ce(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,P=!0,k=b[0],W=0;W=0,S=R?"width":"height",q=Y(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),V=R?T?D:A:T?E:j;x[S]>w[S]&&(V=ae(V));var N=ae(V),I=[];if(i&&I.push(q[H]<=0),s&&I.push(q[V]<=0,q[N]<=0),I.every((function(e){return e}))){k=B,P=!1;break}O.set(B,I)}if(P)for(var F=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},U=h?3:1;U>0;U--){if("break"===F(U))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ue(e,t,n){return i(e,a(t,n))}var le={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,g=n.tetherOffset,y=void 0===g?0:g,b=Y(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=_(t.placement),L=!w,P=F(x),k="x"===P?"y":"x",W=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,q={x:0,y:0};if(W){if(s){var V,N="y"===P?j:A,I="y"===P?E:D,U="y"===P?"height":"width",z=W[P],X=z+b[N],G=z-b[I],J=m?-H[U]/2:0,K=w===M?B[U]:H[U],Q=w===M?-H[U]:-B[U],Z=t.elements.arrow,$=m&&Z?v(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=ue(0,B[U],$[U]),oe=L?B[U]/2-J-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=L?-B[U]/2+J+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&O(t.elements.arrow),se=ae?"y"===P?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(V=null==S?void 0:S[P])?V:0,ce=z+ie-fe,pe=ue(m?a(X,z+oe-fe-se):X,z,m?i(G,ce):G);W[P]=pe,q[P]=pe-z}if(c){var le,de="x"===P?j:A,he="x"===P?E:D,me=W[k],ve="y"===k?"height":"width",ge=me+b[de],ye=me-b[he],be=-1!==[j,A].indexOf(x),xe=null!=(le=null==S?void 0:S[k])?le:0,we=be?ge:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ye,je=m&&be?function(e,t,n){var r=ue(e,t,n);return r>n?n:r}(we,me,Oe):ue(m?we:ge,me,m?Oe:ye);W[k]=je,q[k]=je-me}t.modifiersData[r]=q}},requiresIfExists:["offset"]};var de={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=F(s),c=[A,D].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return z("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:X(e,P))}(o.padding,n),u=v(i),l="y"===f?j:A,d="y"===f?E:D,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],g=O(i),y=g?"y"===f?g.clientHeight||0:g.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],L=y/2-u[c]/2+b,M=ue(x,L,w),k=f;n.modifiersData[r]=((t={})[k]=M,t.centerOffset=M-L,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&q(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function me(e){return[j,D,E,A].some((function(t){return e[t]>=0}))}var ve={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Y(t,{elementContext:"reference"}),s=Y(t,{altBoundary:!0}),f=he(a,r),c=he(s,o,i),p=me(f),u=me(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},ge=K({defaultModifiers:[Z,$,ne,re]}),ye=[Z,$,ne,re,oe,pe,le,de,ve],be=K({defaultModifiers:ye});e.applyStyles=re,e.arrow=de,e.computeStyles=ne,e.createPopper=be,e.createPopperLite=ge,e.defaultModifiers=ye,e.detectOverflow=Y,e.eventListeners=Z,e.flip=pe,e.hide=ve,e.offset=oe,e.popperGenerator=K,e.popperOffsets=$,e.preventOverflow=le,Object.defineProperty(e,"__esModule",{value:!0})})); - diff --git a/choosing_files/libs/quarto-html/quarto-html.min.css b/choosing_files/libs/quarto-html/quarto-html.min.css deleted file mode 100644 index c2857c3..0000000 --- a/choosing_files/libs/quarto-html/quarto-html.min.css +++ /dev/null @@ -1 +0,0 @@ -/*# sourceMappingURL=0a6b880beb84f9b6f36107a76f82c5b1.css.map */ diff --git a/choosing_files/libs/quarto-html/quarto-syntax-highlighting.css b/choosing_files/libs/quarto-html/quarto-syntax-highlighting.css deleted file mode 100644 index d9fd98f..0000000 --- a/choosing_files/libs/quarto-html/quarto-syntax-highlighting.css +++ /dev/null @@ -1,203 +0,0 @@ -/* quarto syntax highlight colors */ -:root { - --quarto-hl-ot-color: #003B4F; - --quarto-hl-at-color: #657422; - --quarto-hl-ss-color: #20794D; - --quarto-hl-an-color: #5E5E5E; - --quarto-hl-fu-color: #4758AB; - --quarto-hl-st-color: #20794D; - --quarto-hl-cf-color: #003B4F; - --quarto-hl-op-color: #5E5E5E; - --quarto-hl-er-color: #AD0000; - --quarto-hl-bn-color: #AD0000; - --quarto-hl-al-color: #AD0000; - --quarto-hl-va-color: #111111; - --quarto-hl-bu-color: inherit; - --quarto-hl-ex-color: inherit; - --quarto-hl-pp-color: #AD0000; - --quarto-hl-in-color: #5E5E5E; - --quarto-hl-vs-color: #20794D; - --quarto-hl-wa-color: #5E5E5E; - --quarto-hl-do-color: #5E5E5E; - --quarto-hl-im-color: #00769E; - --quarto-hl-ch-color: #20794D; - --quarto-hl-dt-color: #AD0000; - --quarto-hl-fl-color: #AD0000; - --quarto-hl-co-color: #5E5E5E; - --quarto-hl-cv-color: #5E5E5E; - --quarto-hl-cn-color: #8f5902; - --quarto-hl-sc-color: #5E5E5E; - --quarto-hl-dv-color: #AD0000; - --quarto-hl-kw-color: #003B4F; -} - -/* other quarto variables */ -:root { - --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -pre > code.sourceCode > span { - color: #003B4F; -} - -code span { - color: #003B4F; -} - -code.sourceCode > span { - color: #003B4F; -} - -div.sourceCode, -div.sourceCode pre.sourceCode { - color: #003B4F; -} - -code span.ot { - color: #003B4F; - font-style: inherit; -} - -code span.at { - color: #657422; - font-style: inherit; -} - -code span.ss { - color: #20794D; - font-style: inherit; -} - -code span.an { - color: #5E5E5E; - font-style: inherit; -} - -code span.fu { - color: #4758AB; - font-style: inherit; -} - -code span.st { - color: #20794D; - font-style: inherit; -} - -code span.cf { - color: #003B4F; - font-style: inherit; -} - -code span.op { - color: #5E5E5E; - font-style: inherit; -} - -code span.er { - color: #AD0000; - font-style: inherit; -} - -code span.bn { - color: #AD0000; - font-style: inherit; -} - -code span.al { - color: #AD0000; - font-style: inherit; -} - -code span.va { - color: #111111; - font-style: inherit; -} - -code span.bu { - font-style: inherit; -} - -code span.ex { - font-style: inherit; -} - -code span.pp { - color: #AD0000; - font-style: inherit; -} - -code span.in { - color: #5E5E5E; - font-style: inherit; -} - -code span.vs { - color: #20794D; - font-style: inherit; -} - -code span.wa { - color: #5E5E5E; - font-style: italic; -} - -code span.do { - color: #5E5E5E; - font-style: italic; -} - -code span.im { - color: #00769E; - font-style: inherit; -} - -code span.ch { - color: #20794D; - font-style: inherit; -} - -code span.dt { - color: #AD0000; - font-style: inherit; -} - -code span.fl { - color: #AD0000; - font-style: inherit; -} - -code span.co { - color: #5E5E5E; - font-style: inherit; -} - -code span.cv { - color: #5E5E5E; - font-style: italic; -} - -code span.cn { - color: #8f5902; - font-style: inherit; -} - -code span.sc { - color: #5E5E5E; - font-style: inherit; -} - -code span.dv { - color: #AD0000; - font-style: inherit; -} - -code span.kw { - color: #003B4F; - font-style: inherit; -} - -.prevent-inlining { - content: " { - const sibling = el.previousElementSibling; - if (sibling && sibling.tagName === "A") { - return sibling.classList.contains("active"); - } else { - return false; - } - }; - - // fire slideEnter for bootstrap tab activations (for htmlwidget resize behavior) - function fireSlideEnter(e) { - const event = window.document.createEvent("Event"); - event.initEvent("slideenter", true, true); - window.document.dispatchEvent(event); - } - const tabs = window.document.querySelectorAll('a[data-bs-toggle="tab"]'); - tabs.forEach((tab) => { - tab.addEventListener("shown.bs.tab", fireSlideEnter); - }); - - // fire slideEnter for tabby tab activations (for htmlwidget resize behavior) - document.addEventListener("tabby", fireSlideEnter, false); - - // Track scrolling and mark TOC links as active - // get table of contents and sidebar (bail if we don't have at least one) - const tocLinks = tocEl - ? [...tocEl.querySelectorAll("a[data-scroll-target]")] - : []; - const makeActive = (link) => tocLinks[link].classList.add("active"); - const removeActive = (link) => tocLinks[link].classList.remove("active"); - const removeAllActive = () => - [...Array(tocLinks.length).keys()].forEach((link) => removeActive(link)); - - // activate the anchor for a section associated with this TOC entry - tocLinks.forEach((link) => { - link.addEventListener("click", () => { - if (link.href.indexOf("#") !== -1) { - const anchor = link.href.split("#")[1]; - const heading = window.document.querySelector( - `[data-anchor-id=${anchor}]` - ); - if (heading) { - // Add the class - heading.classList.add("reveal-anchorjs-link"); - - // function to show the anchor - const handleMouseout = () => { - heading.classList.remove("reveal-anchorjs-link"); - heading.removeEventListener("mouseout", handleMouseout); - }; - - // add a function to clear the anchor when the user mouses out of it - heading.addEventListener("mouseout", handleMouseout); - } - } - }); - }); - - const sections = tocLinks.map((link) => { - const target = link.getAttribute("data-scroll-target"); - if (target.startsWith("#")) { - return window.document.getElementById(decodeURI(`${target.slice(1)}`)); - } else { - return window.document.querySelector(decodeURI(`${target}`)); - } - }); - - const sectionMargin = 200; - let currentActive = 0; - // track whether we've initialized state the first time - let init = false; - - const updateActiveLink = () => { - // The index from bottom to top (e.g. reversed list) - let sectionIndex = -1; - if ( - window.innerHeight + window.pageYOffset >= - window.document.body.offsetHeight - ) { - sectionIndex = 0; - } else { - sectionIndex = [...sections].reverse().findIndex((section) => { - if (section) { - return window.pageYOffset >= section.offsetTop - sectionMargin; - } else { - return false; - } - }); - } - if (sectionIndex > -1) { - const current = sections.length - sectionIndex - 1; - if (current !== currentActive) { - removeAllActive(); - currentActive = current; - makeActive(current); - if (init) { - window.dispatchEvent(sectionChanged); - } - init = true; - } - } - }; - - const inHiddenRegion = (top, bottom, hiddenRegions) => { - for (const region of hiddenRegions) { - if (top <= region.bottom && bottom >= region.top) { - return true; - } - } - return false; - }; - - const categorySelector = "header.quarto-title-block .quarto-category"; - const activateCategories = (href) => { - // Find any categories - // Surround them with a link pointing back to: - // #category=Authoring - try { - const categoryEls = window.document.querySelectorAll(categorySelector); - for (const categoryEl of categoryEls) { - const categoryText = categoryEl.textContent; - if (categoryText) { - const link = `${href}#category=${encodeURIComponent(categoryText)}`; - const linkEl = window.document.createElement("a"); - linkEl.setAttribute("href", link); - for (const child of categoryEl.childNodes) { - linkEl.append(child); - } - categoryEl.appendChild(linkEl); - } - } - } catch { - // Ignore errors - } - }; - function hasTitleCategories() { - return window.document.querySelector(categorySelector) !== null; - } - - function offsetRelativeUrl(url) { - const offset = getMeta("quarto:offset"); - return offset ? offset + url : url; - } - - function offsetAbsoluteUrl(url) { - const offset = getMeta("quarto:offset"); - const baseUrl = new URL(offset, window.location); - - const projRelativeUrl = url.replace(baseUrl, ""); - if (projRelativeUrl.startsWith("/")) { - return projRelativeUrl; - } else { - return "/" + projRelativeUrl; - } - } - - // read a meta tag value - function getMeta(metaName) { - const metas = window.document.getElementsByTagName("meta"); - for (let i = 0; i < metas.length; i++) { - if (metas[i].getAttribute("name") === metaName) { - return metas[i].getAttribute("content"); - } - } - return ""; - } - - async function findAndActivateCategories() { - const currentPagePath = offsetAbsoluteUrl(window.location.href); - const response = await fetch(offsetRelativeUrl("listings.json")); - if (response.status == 200) { - return response.json().then(function (listingPaths) { - const listingHrefs = []; - for (const listingPath of listingPaths) { - const pathWithoutLeadingSlash = listingPath.listing.substring(1); - for (const item of listingPath.items) { - if ( - item === currentPagePath || - item === currentPagePath + "index.html" - ) { - // Resolve this path against the offset to be sure - // we already are using the correct path to the listing - // (this adjusts the listing urls to be rooted against - // whatever root the page is actually running against) - const relative = offsetRelativeUrl(pathWithoutLeadingSlash); - const baseUrl = window.location; - const resolvedPath = new URL(relative, baseUrl); - listingHrefs.push(resolvedPath.pathname); - break; - } - } - } - - // Look up the tree for a nearby linting and use that if we find one - const nearestListing = findNearestParentListing( - offsetAbsoluteUrl(window.location.pathname), - listingHrefs - ); - if (nearestListing) { - activateCategories(nearestListing); - } else { - // See if the referrer is a listing page for this item - const referredRelativePath = offsetAbsoluteUrl(document.referrer); - const referrerListing = listingHrefs.find((listingHref) => { - const isListingReferrer = - listingHref === referredRelativePath || - listingHref === referredRelativePath + "index.html"; - return isListingReferrer; - }); - - if (referrerListing) { - // Try to use the referrer if possible - activateCategories(referrerListing); - } else if (listingHrefs.length > 0) { - // Otherwise, just fall back to the first listing - activateCategories(listingHrefs[0]); - } - } - }); - } - } - if (hasTitleCategories()) { - findAndActivateCategories(); - } - - const findNearestParentListing = (href, listingHrefs) => { - if (!href || !listingHrefs) { - return undefined; - } - // Look up the tree for a nearby linting and use that if we find one - const relativeParts = href.substring(1).split("/"); - while (relativeParts.length > 0) { - const path = relativeParts.join("/"); - for (const listingHref of listingHrefs) { - if (listingHref.startsWith(path)) { - return listingHref; - } - } - relativeParts.pop(); - } - - return undefined; - }; - - const manageSidebarVisiblity = (el, placeholderDescriptor) => { - let isVisible = true; - let elRect; - - return (hiddenRegions) => { - if (el === null) { - return; - } - - // Find the last element of the TOC - const lastChildEl = el.lastElementChild; - - if (lastChildEl) { - // Converts the sidebar to a menu - const convertToMenu = () => { - for (const child of el.children) { - child.style.opacity = 0; - child.style.overflow = "hidden"; - } - - nexttick(() => { - const toggleContainer = window.document.createElement("div"); - toggleContainer.style.width = "100%"; - toggleContainer.classList.add("zindex-over-content"); - toggleContainer.classList.add("quarto-sidebar-toggle"); - toggleContainer.classList.add("headroom-target"); // Marks this to be managed by headeroom - toggleContainer.id = placeholderDescriptor.id; - toggleContainer.style.position = "fixed"; - - const toggleIcon = window.document.createElement("i"); - toggleIcon.classList.add("quarto-sidebar-toggle-icon"); - toggleIcon.classList.add("bi"); - toggleIcon.classList.add("bi-caret-down-fill"); - - const toggleTitle = window.document.createElement("div"); - const titleEl = window.document.body.querySelector( - placeholderDescriptor.titleSelector - ); - if (titleEl) { - toggleTitle.append( - titleEl.textContent || titleEl.innerText, - toggleIcon - ); - } - toggleTitle.classList.add("zindex-over-content"); - toggleTitle.classList.add("quarto-sidebar-toggle-title"); - toggleContainer.append(toggleTitle); - - const toggleContents = window.document.createElement("div"); - toggleContents.classList = el.classList; - toggleContents.classList.add("zindex-over-content"); - toggleContents.classList.add("quarto-sidebar-toggle-contents"); - for (const child of el.children) { - if (child.id === "toc-title") { - continue; - } - - const clone = child.cloneNode(true); - clone.style.opacity = 1; - clone.style.display = null; - toggleContents.append(clone); - } - toggleContents.style.height = "0px"; - const positionToggle = () => { - // position the element (top left of parent, same width as parent) - if (!elRect) { - elRect = el.getBoundingClientRect(); - } - toggleContainer.style.left = `${elRect.left}px`; - toggleContainer.style.top = `${elRect.top}px`; - toggleContainer.style.width = `${elRect.width}px`; - }; - positionToggle(); - - toggleContainer.append(toggleContents); - el.parentElement.prepend(toggleContainer); - - // Process clicks - let tocShowing = false; - // Allow the caller to control whether this is dismissed - // when it is clicked (e.g. sidebar navigation supports - // opening and closing the nav tree, so don't dismiss on click) - const clickEl = placeholderDescriptor.dismissOnClick - ? toggleContainer - : toggleTitle; - - const closeToggle = () => { - if (tocShowing) { - toggleContainer.classList.remove("expanded"); - toggleContents.style.height = "0px"; - tocShowing = false; - } - }; - - // Get rid of any expanded toggle if the user scrolls - window.document.addEventListener( - "scroll", - throttle(() => { - closeToggle(); - }, 50) - ); - - // Handle positioning of the toggle - window.addEventListener( - "resize", - throttle(() => { - elRect = undefined; - positionToggle(); - }, 50) - ); - - window.addEventListener("quarto-hrChanged", () => { - elRect = undefined; - }); - - // Process the click - clickEl.onclick = () => { - if (!tocShowing) { - toggleContainer.classList.add("expanded"); - toggleContents.style.height = null; - tocShowing = true; - } else { - closeToggle(); - } - }; - }); - }; - - // Converts a sidebar from a menu back to a sidebar - const convertToSidebar = () => { - for (const child of el.children) { - child.style.opacity = 1; - child.style.overflow = null; - } - - const placeholderEl = window.document.getElementById( - placeholderDescriptor.id - ); - if (placeholderEl) { - placeholderEl.remove(); - } - - el.classList.remove("rollup"); - }; - - if (isReaderMode()) { - convertToMenu(); - isVisible = false; - } else { - // Find the top and bottom o the element that is being managed - const elTop = el.offsetTop; - const elBottom = - elTop + lastChildEl.offsetTop + lastChildEl.offsetHeight; - - if (!isVisible) { - // If the element is current not visible reveal if there are - // no conflicts with overlay regions - if (!inHiddenRegion(elTop, elBottom, hiddenRegions)) { - convertToSidebar(); - isVisible = true; - } - } else { - // If the element is visible, hide it if it conflicts with overlay regions - // and insert a placeholder toggle (or if we're in reader mode) - if (inHiddenRegion(elTop, elBottom, hiddenRegions)) { - convertToMenu(); - isVisible = false; - } - } - } - } - }; - }; - - // Find any conflicting margin elements and add margins to the - // top to prevent overlap - const marginChildren = window.document.querySelectorAll( - ".column-margin.column-container > * " - ); - - const layoutMarginEls = () => { - let lastBottom = 0; - for (const marginChild of marginChildren) { - if (marginChild.offsetParent !== null) { - // clear the top margin so we recompute it - marginChild.style.marginTop = null; - const top = marginChild.getBoundingClientRect().top + window.scrollY; - if (top < lastBottom) { - const margin = lastBottom - top; - marginChild.style.marginTop = `${margin}px`; - } - const styles = window.getComputedStyle(marginChild); - const marginTop = parseFloat(styles["marginTop"]); - lastBottom = - top + marginChild.getBoundingClientRect().height + marginTop; - } - } - }; - nexttick(layoutMarginEls); - - const tabEls = document.querySelectorAll('a[data-bs-toggle="tab"]'); - for (const tabEl of tabEls) { - const id = tabEl.getAttribute("data-bs-target"); - if (id) { - const columnEl = document.querySelector( - `${id} .column-margin, .tabset-margin-content` - ); - if (columnEl) - tabEl.addEventListener("shown.bs.tab", function (event) { - - const el = event.srcElement; - if (el) { - const visibleCls = `${el.id}-margin-content`; - // walk up until we find a parent tabset - let panelTabsetEl = el.parentElement; - while (panelTabsetEl) { - if (panelTabsetEl.classList.contains("panel-tabset")) { - break; - } - panelTabsetEl = panelTabsetEl.parentElement; - } - - if (panelTabsetEl) { - const prevSib = panelTabsetEl.previousElementSibling; - if ( - prevSib && - prevSib.classList.contains("tabset-margin-container") - ) { - const childNodes = prevSib.querySelectorAll( - ".tabset-margin-content" - ); - for (const childEl of childNodes) { - if (childEl.classList.contains(visibleCls)) { - childEl.classList.remove("collapse"); - } else { - childEl.classList.add("collapse"); - } - } - } - } - } - - layoutMarginEls(); - }); - } - } - - // Manage the visibility of the toc and the sidebar - const marginScrollVisibility = manageSidebarVisiblity(marginSidebarEl, { - id: "quarto-toc-toggle", - titleSelector: "#toc-title", - dismissOnClick: true, - }); - const sidebarScrollVisiblity = manageSidebarVisiblity(sidebarEl, { - id: "quarto-sidebarnav-toggle", - titleSelector: ".title", - dismissOnClick: false, - }); - let tocLeftScrollVisibility; - if (leftTocEl) { - tocLeftScrollVisibility = manageSidebarVisiblity(leftTocEl, { - id: "quarto-lefttoc-toggle", - titleSelector: "#toc-title", - dismissOnClick: true, - }); - } - - // Find the first element that uses formatting in special columns - const conflictingEls = window.document.body.querySelectorAll( - '[class^="column-"], [class*=" column-"], aside, [class*="margin-caption"], [class*=" margin-caption"], [class*="margin-ref"], [class*=" margin-ref"]' - ); - - // Filter all the possibly conflicting elements into ones - // the do conflict on the left or ride side - const arrConflictingEls = Array.from(conflictingEls); - const leftSideConflictEls = arrConflictingEls.filter((el) => { - if (el.tagName === "ASIDE") { - return false; - } - return Array.from(el.classList).find((className) => { - return ( - className !== "column-body" && - className.startsWith("column-") && - !className.endsWith("right") && - !className.endsWith("container") && - className !== "column-margin" - ); - }); - }); - const rightSideConflictEls = arrConflictingEls.filter((el) => { - if (el.tagName === "ASIDE") { - return true; - } - - const hasMarginCaption = Array.from(el.classList).find((className) => { - return className == "margin-caption"; - }); - if (hasMarginCaption) { - return true; - } - - return Array.from(el.classList).find((className) => { - return ( - className !== "column-body" && - !className.endsWith("container") && - className.startsWith("column-") && - !className.endsWith("left") - ); - }); - }); - - const kOverlapPaddingSize = 10; - function toRegions(els) { - return els.map((el) => { - const boundRect = el.getBoundingClientRect(); - const top = - boundRect.top + - document.documentElement.scrollTop - - kOverlapPaddingSize; - return { - top, - bottom: top + el.scrollHeight + 2 * kOverlapPaddingSize, - }; - }); - } - - let hasObserved = false; - const visibleItemObserver = (els) => { - let visibleElements = [...els]; - const intersectionObserver = new IntersectionObserver( - (entries, _observer) => { - entries.forEach((entry) => { - if (entry.isIntersecting) { - if (visibleElements.indexOf(entry.target) === -1) { - visibleElements.push(entry.target); - } - } else { - visibleElements = visibleElements.filter((visibleEntry) => { - return visibleEntry !== entry; - }); - } - }); - - if (!hasObserved) { - hideOverlappedSidebars(); - } - hasObserved = true; - }, - {} - ); - els.forEach((el) => { - intersectionObserver.observe(el); - }); - - return { - getVisibleEntries: () => { - return visibleElements; - }, - }; - }; - - const rightElementObserver = visibleItemObserver(rightSideConflictEls); - const leftElementObserver = visibleItemObserver(leftSideConflictEls); - - const hideOverlappedSidebars = () => { - marginScrollVisibility(toRegions(rightElementObserver.getVisibleEntries())); - sidebarScrollVisiblity(toRegions(leftElementObserver.getVisibleEntries())); - if (tocLeftScrollVisibility) { - tocLeftScrollVisibility( - toRegions(leftElementObserver.getVisibleEntries()) - ); - } - }; - - window.quartoToggleReader = () => { - // Applies a slow class (or removes it) - // to update the transition speed - const slowTransition = (slow) => { - const manageTransition = (id, slow) => { - const el = document.getElementById(id); - if (el) { - if (slow) { - el.classList.add("slow"); - } else { - el.classList.remove("slow"); - } - } - }; - - manageTransition("TOC", slow); - manageTransition("quarto-sidebar", slow); - }; - const readerMode = !isReaderMode(); - setReaderModeValue(readerMode); - - // If we're entering reader mode, slow the transition - if (readerMode) { - slowTransition(readerMode); - } - highlightReaderToggle(readerMode); - hideOverlappedSidebars(); - - // If we're exiting reader mode, restore the non-slow transition - if (!readerMode) { - slowTransition(!readerMode); - } - }; - - const highlightReaderToggle = (readerMode) => { - const els = document.querySelectorAll(".quarto-reader-toggle"); - if (els) { - els.forEach((el) => { - if (readerMode) { - el.classList.add("reader"); - } else { - el.classList.remove("reader"); - } - }); - } - }; - - const setReaderModeValue = (val) => { - if (window.location.protocol !== "file:") { - window.localStorage.setItem("quarto-reader-mode", val); - } else { - localReaderMode = val; - } - }; - - const isReaderMode = () => { - if (window.location.protocol !== "file:") { - return window.localStorage.getItem("quarto-reader-mode") === "true"; - } else { - return localReaderMode; - } - }; - let localReaderMode = null; - - const tocOpenDepthStr = tocEl?.getAttribute("data-toc-expanded"); - const tocOpenDepth = tocOpenDepthStr ? Number(tocOpenDepthStr) : 1; - - // Walk the TOC and collapse/expand nodes - // Nodes are expanded if: - // - they are top level - // - they have children that are 'active' links - // - they are directly below an link that is 'active' - const walk = (el, depth) => { - // Tick depth when we enter a UL - if (el.tagName === "UL") { - depth = depth + 1; - } - - // It this is active link - let isActiveNode = false; - if (el.tagName === "A" && el.classList.contains("active")) { - isActiveNode = true; - } - - // See if there is an active child to this element - let hasActiveChild = false; - for (child of el.children) { - hasActiveChild = walk(child, depth) || hasActiveChild; - } - - // Process the collapse state if this is an UL - if (el.tagName === "UL") { - if (tocOpenDepth === -1 && depth > 1) { - el.classList.add("collapse"); - } else if ( - depth <= tocOpenDepth || - hasActiveChild || - prevSiblingIsActiveLink(el) - ) { - el.classList.remove("collapse"); - } else { - el.classList.add("collapse"); - } - - // untick depth when we leave a UL - depth = depth - 1; - } - return hasActiveChild || isActiveNode; - }; - - // walk the TOC and expand / collapse any items that should be shown - - if (tocEl) { - walk(tocEl, 0); - updateActiveLink(); - } - - // Throttle the scroll event and walk peridiocally - window.document.addEventListener( - "scroll", - throttle(() => { - if (tocEl) { - updateActiveLink(); - walk(tocEl, 0); - } - if (!isReaderMode()) { - hideOverlappedSidebars(); - } - }, 5) - ); - window.addEventListener( - "resize", - throttle(() => { - if (!isReaderMode()) { - hideOverlappedSidebars(); - } - }, 10) - ); - hideOverlappedSidebars(); - highlightReaderToggle(isReaderMode()); -}); - -// grouped tabsets -window.addEventListener("pageshow", (_event) => { - function getTabSettings() { - const data = localStorage.getItem("quarto-persistent-tabsets-data"); - if (!data) { - localStorage.setItem("quarto-persistent-tabsets-data", "{}"); - return {}; - } - if (data) { - return JSON.parse(data); - } - } - - function setTabSettings(data) { - localStorage.setItem( - "quarto-persistent-tabsets-data", - JSON.stringify(data) - ); - } - - function setTabState(groupName, groupValue) { - const data = getTabSettings(); - data[groupName] = groupValue; - setTabSettings(data); - } - - function toggleTab(tab, active) { - const tabPanelId = tab.getAttribute("aria-controls"); - const tabPanel = document.getElementById(tabPanelId); - if (active) { - tab.classList.add("active"); - tabPanel.classList.add("active"); - } else { - tab.classList.remove("active"); - tabPanel.classList.remove("active"); - } - } - - function toggleAll(selectedGroup, selectorsToSync) { - for (const [thisGroup, tabs] of Object.entries(selectorsToSync)) { - const active = selectedGroup === thisGroup; - for (const tab of tabs) { - toggleTab(tab, active); - } - } - } - - function findSelectorsToSyncByLanguage() { - const result = {}; - const tabs = Array.from( - document.querySelectorAll(`div[data-group] a[id^='tabset-']`) - ); - for (const item of tabs) { - const div = item.parentElement.parentElement.parentElement; - const group = div.getAttribute("data-group"); - if (!result[group]) { - result[group] = {}; - } - const selectorsToSync = result[group]; - const value = item.innerHTML; - if (!selectorsToSync[value]) { - selectorsToSync[value] = []; - } - selectorsToSync[value].push(item); - } - return result; - } - - function setupSelectorSync() { - const selectorsToSync = findSelectorsToSyncByLanguage(); - Object.entries(selectorsToSync).forEach(([group, tabSetsByValue]) => { - Object.entries(tabSetsByValue).forEach(([value, items]) => { - items.forEach((item) => { - item.addEventListener("click", (_event) => { - setTabState(group, value); - toggleAll(value, selectorsToSync[group]); - }); - }); - }); - }); - return selectorsToSync; - } - - const selectorsToSync = setupSelectorSync(); - for (const [group, selectedName] of Object.entries(getTabSettings())) { - const selectors = selectorsToSync[group]; - // it's possible that stale state gives us empty selections, so we explicitly check here. - if (selectors) { - toggleAll(selectedName, selectors); - } - } -}); - -function throttle(func, wait) { - let waiting = false; - return function () { - if (!waiting) { - func.apply(this, arguments); - waiting = true; - setTimeout(function () { - waiting = false; - }, wait); - } - }; -} - -function nexttick(func) { - return setTimeout(func, 0); -} diff --git a/choosing_files/libs/quarto-html/tabby.min.js b/choosing_files/libs/quarto-html/tabby.min.js deleted file mode 100644 index 4f44c7d..0000000 --- a/choosing_files/libs/quarto-html/tabby.min.js +++ /dev/null @@ -1,418 +0,0 @@ -(function (root, factory) { - if (typeof define === "function" && define.amd) { - define([], function () { - return factory(root); - }); - } else if (typeof exports === "object") { - module.exports = factory(root); - } else { - root.Tabby = factory(root); - } -})( - typeof global !== "undefined" - ? global - : typeof window !== "undefined" - ? window - : this, - function (window) { - "use strict"; - - // - // Variables - // - - var defaults = { - idPrefix: "tabby-toggle_", - default: "[data-tabby-default]", - }; - - // - // Methods - // - - /** - * Merge two or more objects together. - * @param {Object} objects The objects to merge together - * @returns {Object} Merged values of defaults and options - */ - var extend = function () { - var merged = {}; - Array.prototype.forEach.call(arguments, function (obj) { - for (var key in obj) { - if (!obj.hasOwnProperty(key)) return; - merged[key] = obj[key]; - } - }); - return merged; - }; - - /** - * Emit a custom event - * @param {String} type The event type - * @param {Node} tab The tab to attach the event to - * @param {Node} details Details about the event - */ - var emitEvent = function (tab, details) { - // Create a new event - var event; - if (typeof window.CustomEvent === "function") { - event = new CustomEvent("tabby", { - bubbles: true, - cancelable: true, - detail: details, - }); - } else { - event = document.createEvent("CustomEvent"); - event.initCustomEvent("tabby", true, true, details); - } - - // Dispatch the event - tab.dispatchEvent(event); - }; - - var focusHandler = function (event) { - toggle(event.target); - }; - - var getKeyboardFocusableElements = function (element) { - return [ - ...element.querySelectorAll( - 'a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])' - ), - ].filter( - (el) => !el.hasAttribute("disabled") && !el.getAttribute("aria-hidden") - ); - }; - - /** - * Remove roles and attributes from a tab and its content - * @param {Node} tab The tab - * @param {Node} content The tab content - * @param {Object} settings User settings and options - */ - var destroyTab = function (tab, content, settings) { - // Remove the generated ID - if (tab.id.slice(0, settings.idPrefix.length) === settings.idPrefix) { - tab.id = ""; - } - - // remove event listener - tab.removeEventListener("focus", focusHandler, true); - - // Remove roles - tab.removeAttribute("role"); - tab.removeAttribute("aria-controls"); - tab.removeAttribute("aria-selected"); - tab.removeAttribute("tabindex"); - tab.closest("li").removeAttribute("role"); - content.removeAttribute("role"); - content.removeAttribute("aria-labelledby"); - content.removeAttribute("hidden"); - }; - - /** - * Add the required roles and attributes to a tab and its content - * @param {Node} tab The tab - * @param {Node} content The tab content - * @param {Object} settings User settings and options - */ - var setupTab = function (tab, content, settings) { - // Give tab an ID if it doesn't already have one - if (!tab.id) { - tab.id = settings.idPrefix + content.id; - } - - // Add roles - tab.setAttribute("role", "tab"); - tab.setAttribute("aria-controls", content.id); - tab.closest("li").setAttribute("role", "presentation"); - content.setAttribute("role", "tabpanel"); - content.setAttribute("aria-labelledby", tab.id); - - // Add selected state - if (tab.matches(settings.default)) { - tab.setAttribute("aria-selected", "true"); - } else { - tab.setAttribute("aria-selected", "false"); - content.setAttribute("hidden", "hidden"); - } - - // add focus event listender - tab.addEventListener("focus", focusHandler); - }; - - /** - * Hide a tab and its content - * @param {Node} newTab The new tab that's replacing it - */ - var hide = function (newTab) { - // Variables - var tabGroup = newTab.closest('[role="tablist"]'); - if (!tabGroup) return {}; - var tab = tabGroup.querySelector('[role="tab"][aria-selected="true"]'); - if (!tab) return {}; - var content = document.querySelector(tab.hash); - - // Hide the tab - tab.setAttribute("aria-selected", "false"); - - // Hide the content - if (!content) return { previousTab: tab }; - content.setAttribute("hidden", "hidden"); - - // Return the hidden tab and content - return { - previousTab: tab, - previousContent: content, - }; - }; - - /** - * Show a tab and its content - * @param {Node} tab The tab - * @param {Node} content The tab content - */ - var show = function (tab, content) { - tab.setAttribute("aria-selected", "true"); - content.removeAttribute("hidden"); - tab.focus(); - }; - - /** - * Toggle a new tab - * @param {Node} tab The tab to show - */ - var toggle = function (tab) { - // Make sure there's a tab to toggle and it's not already active - if (!tab || tab.getAttribute("aria-selected") == "true") return; - - // Variables - var content = document.querySelector(tab.hash); - if (!content) return; - - // Hide active tab and content - var details = hide(tab); - - // Show new tab and content - show(tab, content); - - // Add event details - details.tab = tab; - details.content = content; - - // Emit a custom event - emitEvent(tab, details); - }; - - /** - * Get all of the tabs in a tablist - * @param {Node} tab A tab from the list - * @return {Object} The tabs and the index of the currently active one - */ - var getTabsMap = function (tab) { - var tabGroup = tab.closest('[role="tablist"]'); - var tabs = tabGroup ? tabGroup.querySelectorAll('[role="tab"]') : null; - if (!tabs) return; - return { - tabs: tabs, - index: Array.prototype.indexOf.call(tabs, tab), - }; - }; - - /** - * Switch the active tab based on keyboard activity - * @param {Node} tab The currently active tab - * @param {Key} key The key that was pressed - */ - var switchTabs = function (tab, key) { - // Get a map of tabs - var map = getTabsMap(tab); - if (!map) return; - var length = map.tabs.length - 1; - var index; - - // Go to previous tab - if (["ArrowUp", "ArrowLeft", "Up", "Left"].indexOf(key) > -1) { - index = map.index < 1 ? length : map.index - 1; - } - - // Go to next tab - else if (["ArrowDown", "ArrowRight", "Down", "Right"].indexOf(key) > -1) { - index = map.index === length ? 0 : map.index + 1; - } - - // Go to home - else if (key === "Home") { - index = 0; - } - - // Go to end - else if (key === "End") { - index = length; - } - - // Toggle the tab - toggle(map.tabs[index]); - }; - - /** - * Create the Constructor object - */ - var Constructor = function (selector, options) { - // - // Variables - // - - var publicAPIs = {}; - var settings, tabWrapper; - - // - // Methods - // - - publicAPIs.destroy = function () { - // Get all tabs - var tabs = tabWrapper.querySelectorAll("a"); - - // Add roles to tabs - Array.prototype.forEach.call(tabs, function (tab) { - // Get the tab content - var content = document.querySelector(tab.hash); - if (!content) return; - - // Setup the tab - destroyTab(tab, content, settings); - }); - - // Remove role from wrapper - tabWrapper.removeAttribute("role"); - - // Remove event listeners - document.documentElement.removeEventListener( - "click", - clickHandler, - true - ); - tabWrapper.removeEventListener("keydown", keyHandler, true); - - // Reset variables - settings = null; - tabWrapper = null; - }; - - /** - * Setup the DOM with the proper attributes - */ - publicAPIs.setup = function () { - // Variables - tabWrapper = document.querySelector(selector); - if (!tabWrapper) return; - var tabs = tabWrapper.querySelectorAll("a"); - - // Add role to wrapper - tabWrapper.setAttribute("role", "tablist"); - - // Add roles to tabs. provide dynanmic tab indexes if we are within reveal - var contentTabindexes = - window.document.body.classList.contains("reveal-viewport"); - var nextTabindex = 1; - Array.prototype.forEach.call(tabs, function (tab) { - if (contentTabindexes) { - tab.setAttribute("tabindex", "" + nextTabindex++); - } else { - tab.setAttribute("tabindex", "0"); - } - - // Get the tab content - var content = document.querySelector(tab.hash); - if (!content) return; - - // set tab indexes for content - if (contentTabindexes) { - getKeyboardFocusableElements(content).forEach(function (el) { - el.setAttribute("tabindex", "" + nextTabindex++); - }); - } - - // Setup the tab - setupTab(tab, content, settings); - }); - }; - - /** - * Toggle a tab based on an ID - * @param {String|Node} id The tab to toggle - */ - publicAPIs.toggle = function (id) { - // Get the tab - var tab = id; - if (typeof id === "string") { - tab = document.querySelector( - selector + ' [role="tab"][href*="' + id + '"]' - ); - } - - // Toggle the tab - toggle(tab); - }; - - /** - * Handle click events - */ - var clickHandler = function (event) { - // Only run on toggles - var tab = event.target.closest(selector + ' [role="tab"]'); - if (!tab) return; - - // Prevent link behavior - event.preventDefault(); - - // Toggle the tab - toggle(tab); - }; - - /** - * Handle keydown events - */ - var keyHandler = function (event) { - // Only run if a tab is in focus - var tab = document.activeElement; - if (!tab.matches(selector + ' [role="tab"]')) return; - - // Only run for specific keys - if (["Home", "End"].indexOf(event.key) < 0) return; - - // Switch tabs - switchTabs(tab, event.key); - }; - - /** - * Initialize the instance - */ - var init = function () { - // Merge user options with defaults - settings = extend(defaults, options || {}); - - // Setup the DOM - publicAPIs.setup(); - - // Add event listeners - document.documentElement.addEventListener("click", clickHandler, true); - tabWrapper.addEventListener("keydown", keyHandler, true); - }; - - // - // Initialize and return the Public APIs - // - - init(); - return publicAPIs; - }; - - // - // Return the Constructor - // - - return Constructor; - } -); diff --git a/choosing_files/libs/quarto-html/tippy.css b/choosing_files/libs/quarto-html/tippy.css deleted file mode 100644 index e6ae635..0000000 --- a/choosing_files/libs/quarto-html/tippy.css +++ /dev/null @@ -1 +0,0 @@ -.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1} \ No newline at end of file diff --git a/choosing_files/libs/quarto-html/tippy.umd.min.js b/choosing_files/libs/quarto-html/tippy.umd.min.js deleted file mode 100644 index ca292be..0000000 --- a/choosing_files/libs/quarto-html/tippy.umd.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],t):(e=e||self).tippy=t(e.Popper)}(this,(function(e){"use strict";var t={passive:!0,capture:!0},n=function(){return document.body};function r(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function o(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function i(e,t){return"function"==typeof e?e.apply(void 0,t):e}function a(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function s(e,t){var n=Object.assign({},e);return t.forEach((function(e){delete n[e]})),n}function u(e){return[].concat(e)}function c(e,t){-1===e.indexOf(t)&&e.push(t)}function p(e){return e.split("-")[0]}function f(e){return[].slice.call(e)}function l(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function d(){return document.createElement("div")}function v(e){return["Element","Fragment"].some((function(t){return o(e,t)}))}function m(e){return o(e,"MouseEvent")}function g(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function h(e){return v(e)?[e]:function(e){return o(e,"NodeList")}(e)?f(e):Array.isArray(e)?e:f(document.querySelectorAll(e))}function b(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function y(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function w(e){var t,n=u(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function E(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function O(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var x={isTouch:!1},C=0;function T(){x.isTouch||(x.isTouch=!0,window.performance&&document.addEventListener("mousemove",A))}function A(){var e=performance.now();e-C<20&&(x.isTouch=!1,document.removeEventListener("mousemove",A)),C=e}function L(){var e=document.activeElement;if(g(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var D=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto,R=Object.assign({appendTo:n,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(R);function P(e){var t=(e.plugins||[]).reduce((function(t,n){var r,o=n.name,i=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(r=R[o])?r:i);return t}),{});return Object.assign({},e,t)}function j(e,t){var n=Object.assign({},t,{content:i(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(P(Object.assign({},R,{plugins:t}))):k).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},R.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function M(e,t){e.innerHTML=t}function V(e){var t=d();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",v(e)?t.appendChild(e):M(t,e)),t}function I(e,t){v(t.content)?(M(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?M(e,t.content):e.textContent=t.content)}function S(e){var t=e.firstElementChild,n=f(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function N(e){var t=d(),n=d();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=d();function o(n,r){var o=S(t),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||I(a,e.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(V(r.arrow))):i.appendChild(V(r.arrow)):s&&i.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),I(r,e.props),t.appendChild(n),n.appendChild(r),o(e.props,e.props),{popper:t,onUpdate:o}}N.$$tippy=!0;var B=1,H=[],U=[];function _(o,s){var v,g,h,C,T,A,L,k,M=j(o,Object.assign({},R,P(l(s)))),V=!1,I=!1,N=!1,_=!1,F=[],W=a(we,M.interactiveDebounce),X=B++,Y=(k=M.plugins).filter((function(e,t){return k.indexOf(e)===t})),$={id:X,reference:o,popper:d(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:Y,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(g),cancelAnimationFrame(h)},setProps:function(e){if($.state.isDestroyed)return;ae("onBeforeUpdate",[$,e]),be();var t=$.props,n=j(o,Object.assign({},t,l(e),{ignoreAttributes:!0}));$.props=n,he(),t.interactiveDebounce!==n.interactiveDebounce&&(ce(),W=a(we,n.interactiveDebounce));t.triggerTarget&&!n.triggerTarget?u(t.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):n.triggerTarget&&o.removeAttribute("aria-expanded");ue(),ie(),J&&J(t,n);$.popperInstance&&(Ce(),Ae().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));ae("onAfterUpdate",[$,e])},setContent:function(e){$.setProps({content:e})},show:function(){var e=$.state.isVisible,t=$.state.isDestroyed,o=!$.state.isEnabled,a=x.isTouch&&!$.props.touch,s=r($.props.duration,0,R.duration);if(e||t||o||a)return;if(te().hasAttribute("disabled"))return;if(ae("onShow",[$],!1),!1===$.props.onShow($))return;$.state.isVisible=!0,ee()&&(z.style.visibility="visible");ie(),de(),$.state.isMounted||(z.style.transition="none");if(ee()){var u=re(),p=u.box,f=u.content;b([p,f],0)}A=function(){var e;if($.state.isVisible&&!_){if(_=!0,z.offsetHeight,z.style.transition=$.props.moveTransition,ee()&&$.props.animation){var t=re(),n=t.box,r=t.content;b([n,r],s),y([n,r],"visible")}se(),ue(),c(U,$),null==(e=$.popperInstance)||e.forceUpdate(),ae("onMount",[$]),$.props.animation&&ee()&&function(e,t){me(e,t)}(s,(function(){$.state.isShown=!0,ae("onShown",[$])}))}},function(){var e,t=$.props.appendTo,r=te();e=$.props.interactive&&t===n||"parent"===t?r.parentNode:i(t,[r]);e.contains(z)||e.appendChild(z);$.state.isMounted=!0,Ce()}()},hide:function(){var e=!$.state.isVisible,t=$.state.isDestroyed,n=!$.state.isEnabled,o=r($.props.duration,1,R.duration);if(e||t||n)return;if(ae("onHide",[$],!1),!1===$.props.onHide($))return;$.state.isVisible=!1,$.state.isShown=!1,_=!1,V=!1,ee()&&(z.style.visibility="hidden");if(ce(),ve(),ie(!0),ee()){var i=re(),a=i.box,s=i.content;$.props.animation&&(b([a,s],o),y([a,s],"hidden"))}se(),ue(),$.props.animation?ee()&&function(e,t){me(e,(function(){!$.state.isVisible&&z.parentNode&&z.parentNode.contains(z)&&t()}))}(o,$.unmount):$.unmount()},hideWithInteractivity:function(e){ne().addEventListener("mousemove",W),c(H,W),W(e)},enable:function(){$.state.isEnabled=!0},disable:function(){$.hide(),$.state.isEnabled=!1},unmount:function(){$.state.isVisible&&$.hide();if(!$.state.isMounted)return;Te(),Ae().forEach((function(e){e._tippy.unmount()})),z.parentNode&&z.parentNode.removeChild(z);U=U.filter((function(e){return e!==$})),$.state.isMounted=!1,ae("onHidden",[$])},destroy:function(){if($.state.isDestroyed)return;$.clearDelayTimeouts(),$.unmount(),be(),delete o._tippy,$.state.isDestroyed=!0,ae("onDestroy",[$])}};if(!M.render)return $;var q=M.render($),z=q.popper,J=q.onUpdate;z.setAttribute("data-tippy-root",""),z.id="tippy-"+$.id,$.popper=z,o._tippy=$,z._tippy=$;var G=Y.map((function(e){return e.fn($)})),K=o.hasAttribute("aria-expanded");return he(),ue(),ie(),ae("onCreate",[$]),M.showOnCreate&&Le(),z.addEventListener("mouseenter",(function(){$.props.interactive&&$.state.isVisible&&$.clearDelayTimeouts()})),z.addEventListener("mouseleave",(function(){$.props.interactive&&$.props.trigger.indexOf("mouseenter")>=0&&ne().addEventListener("mousemove",W)})),$;function Q(){var e=$.props.touch;return Array.isArray(e)?e:[e,0]}function Z(){return"hold"===Q()[0]}function ee(){var e;return!(null==(e=$.props.render)||!e.$$tippy)}function te(){return L||o}function ne(){var e=te().parentNode;return e?w(e):document}function re(){return S(z)}function oe(e){return $.state.isMounted&&!$.state.isVisible||x.isTouch||C&&"focus"===C.type?0:r($.props.delay,e?0:1,R.delay)}function ie(e){void 0===e&&(e=!1),z.style.pointerEvents=$.props.interactive&&!e?"":"none",z.style.zIndex=""+$.props.zIndex}function ae(e,t,n){var r;(void 0===n&&(n=!0),G.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=$.props)[e].apply(r,t)}function se(){var e=$.props.aria;if(e.content){var t="aria-"+e.content,n=z.id;u($.props.triggerTarget||o).forEach((function(e){var r=e.getAttribute(t);if($.state.isVisible)e.setAttribute(t,r?r+" "+n:n);else{var o=r&&r.replace(n,"").trim();o?e.setAttribute(t,o):e.removeAttribute(t)}}))}}function ue(){!K&&$.props.aria.expanded&&u($.props.triggerTarget||o).forEach((function(e){$.props.interactive?e.setAttribute("aria-expanded",$.state.isVisible&&e===te()?"true":"false"):e.removeAttribute("aria-expanded")}))}function ce(){ne().removeEventListener("mousemove",W),H=H.filter((function(e){return e!==W}))}function pe(e){if(!x.isTouch||!N&&"mousedown"!==e.type){var t=e.composedPath&&e.composedPath()[0]||e.target;if(!$.props.interactive||!O(z,t)){if(u($.props.triggerTarget||o).some((function(e){return O(e,t)}))){if(x.isTouch)return;if($.state.isVisible&&$.props.trigger.indexOf("click")>=0)return}else ae("onClickOutside",[$,e]);!0===$.props.hideOnClick&&($.clearDelayTimeouts(),$.hide(),I=!0,setTimeout((function(){I=!1})),$.state.isMounted||ve())}}}function fe(){N=!0}function le(){N=!1}function de(){var e=ne();e.addEventListener("mousedown",pe,!0),e.addEventListener("touchend",pe,t),e.addEventListener("touchstart",le,t),e.addEventListener("touchmove",fe,t)}function ve(){var e=ne();e.removeEventListener("mousedown",pe,!0),e.removeEventListener("touchend",pe,t),e.removeEventListener("touchstart",le,t),e.removeEventListener("touchmove",fe,t)}function me(e,t){var n=re().box;function r(e){e.target===n&&(E(n,"remove",r),t())}if(0===e)return t();E(n,"remove",T),E(n,"add",r),T=r}function ge(e,t,n){void 0===n&&(n=!1),u($.props.triggerTarget||o).forEach((function(r){r.addEventListener(e,t,n),F.push({node:r,eventType:e,handler:t,options:n})}))}function he(){var e;Z()&&(ge("touchstart",ye,{passive:!0}),ge("touchend",Ee,{passive:!0})),(e=$.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(ge(e,ye),e){case"mouseenter":ge("mouseleave",Ee);break;case"focus":ge(D?"focusout":"blur",Oe);break;case"focusin":ge("focusout",Oe)}}))}function be(){F.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),F=[]}function ye(e){var t,n=!1;if($.state.isEnabled&&!xe(e)&&!I){var r="focus"===(null==(t=C)?void 0:t.type);C=e,L=e.currentTarget,ue(),!$.state.isVisible&&m(e)&&H.forEach((function(t){return t(e)})),"click"===e.type&&($.props.trigger.indexOf("mouseenter")<0||V)&&!1!==$.props.hideOnClick&&$.state.isVisible?n=!0:Le(e),"click"===e.type&&(V=!n),n&&!r&&De(e)}}function we(e){var t=e.target,n=te().contains(t)||z.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,i=e.props.interactiveBorder,a=p(o.placement),s=o.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=t.top-r+u>i,v=r-t.bottom-c>i,m=t.left-n+f>i,g=n-t.right-l>i;return d||v||m||g}))}(Ae().concat(z).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),e)&&(ce(),De(e))}function Ee(e){xe(e)||$.props.trigger.indexOf("click")>=0&&V||($.props.interactive?$.hideWithInteractivity(e):De(e))}function Oe(e){$.props.trigger.indexOf("focusin")<0&&e.target!==te()||$.props.interactive&&e.relatedTarget&&z.contains(e.relatedTarget)||De(e)}function xe(e){return!!x.isTouch&&Z()!==e.type.indexOf("touch")>=0}function Ce(){Te();var t=$.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,s=t.moveTransition,u=ee()?S(z).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||te()}:o,p=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(ee()){var n=re().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];ee()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),$.popperInstance=e.createPopper(c,z,Object.assign({},n,{placement:r,onFirstUpdate:A,modifiers:p}))}function Te(){$.popperInstance&&($.popperInstance.destroy(),$.popperInstance=null)}function Ae(){return f(z.querySelectorAll("[data-tippy-root]"))}function Le(e){$.clearDelayTimeouts(),e&&ae("onTrigger",[$,e]),de();var t=oe(!0),n=Q(),r=n[0],o=n[1];x.isTouch&&"hold"===r&&o&&(t=o),t?v=setTimeout((function(){$.show()}),t):$.show()}function De(e){if($.clearDelayTimeouts(),ae("onUntrigger",[$,e]),$.state.isVisible){if(!($.props.trigger.indexOf("mouseenter")>=0&&$.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&V)){var t=oe(!1);t?g=setTimeout((function(){$.state.isVisible&&$.hide()}),t):h=requestAnimationFrame((function(){$.hide()}))}}else ve()}}function F(e,n){void 0===n&&(n={});var r=R.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,t),window.addEventListener("blur",L);var o=Object.assign({},n,{plugins:r}),i=h(e).reduce((function(e,t){var n=t&&_(t,o);return n&&e.push(n),e}),[]);return v(e)?i[0]:i}F.defaultProps=R,F.setDefaultProps=function(e){Object.keys(e).forEach((function(t){R[t]=e[t]}))},F.currentInput=x;var W=Object.assign({},e.applyStyles,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),X={mouseover:"mouseenter",focusin:"focus",click:"click"};var Y={name:"animateFill",defaultValue:!1,fn:function(e){var t;if(null==(t=e.props.render)||!t.$$tippy)return{};var n=S(e.popper),r=n.box,o=n.content,i=e.props.animateFill?function(){var e=d();return e.className="tippy-backdrop",y([e],"hidden"),e}():null;return{onCreate:function(){i&&(r.insertBefore(i,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",e.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var e=r.style.transitionDuration,t=Number(e.replace("ms",""));o.style.transitionDelay=Math.round(t/10)+"ms",i.style.transitionDuration=e,y([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&y([i],"hidden")}}}};var $={clientX:0,clientY:0},q=[];function z(e){var t=e.clientX,n=e.clientY;$={clientX:t,clientY:n}}var J={name:"followCursor",defaultValue:!1,fn:function(e){var t=e.reference,n=w(e.props.triggerTarget||t),r=!1,o=!1,i=!0,a=e.props;function s(){return"initial"===e.props.followCursor&&e.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,e.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||t.contains(n.target),o=e.props.followCursor,i=n.clientX,a=n.clientY,s=t.getBoundingClientRect(),u=i-s.left,c=a-s.top;!r&&e.props.interactive||e.setProps({getReferenceClientRect:function(){var e=t.getBoundingClientRect(),n=i,r=a;"initial"===o&&(n=e.left+u,r=e.top+c);var s="horizontal"===o?e.top:r,p="vertical"===o?e.right:n,f="horizontal"===o?e.bottom:r,l="vertical"===o?e.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){e.props.followCursor&&(q.push({instance:e,doc:n}),function(e){e.addEventListener("mousemove",z)}(n))}function d(){0===(q=q.filter((function(t){return t.instance!==e}))).filter((function(e){return e.doc===n})).length&&function(e){e.removeEventListener("mousemove",z)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=e.props},onAfterUpdate:function(t,n){var i=n.followCursor;r||void 0!==i&&a.followCursor!==i&&(d(),i?(l(),!e.state.isMounted||o||s()||u()):(c(),p()))},onMount:function(){e.props.followCursor&&!o&&(i&&(f($),i=!1),s()||u())},onTrigger:function(e,t){m(t)&&($={clientX:t.clientX,clientY:t.clientY}),o="focus"===t.type},onHidden:function(){e.props.followCursor&&(p(),c(),i=!0)}}}};var G={name:"inlinePositioning",defaultValue:!1,fn:function(e){var t,n=e.reference;var r=-1,o=!1,i=[],a={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(o){var a=o.state;e.props.inlinePositioning&&(-1!==i.indexOf(a.placement)&&(i=[]),t!==a.placement&&-1===i.indexOf(a.placement)&&(i.push(a.placement),e.setProps({getReferenceClientRect:function(){return function(e){return function(e,t,n,r){if(n.length<2||null===e)return t;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||t;switch(e){case"top":case"bottom":var o=n[0],i=n[n.length-1],a="top"===e,s=o.top,u=i.bottom,c=a?o.left:i.left,p=a?o.right:i.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(e){return e.left}))),l=Math.max.apply(Math,n.map((function(e){return e.right}))),d=n.filter((function(t){return"left"===e?t.left===f:t.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return t}}(p(e),n.getBoundingClientRect(),f(n.getClientRects()),r)}(a.placement)}})),t=a.placement)}};function s(){var t;o||(t=function(e,t){var n;return{popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat(((null==(n=e.popperOptions)?void 0:n.modifiers)||[]).filter((function(e){return e.name!==t.name})),[t])})}}(e.props,a),o=!0,e.setProps(t),o=!1)}return{onCreate:s,onAfterUpdate:s,onTrigger:function(t,n){if(m(n)){var o=f(e.reference.getClientRects()),i=o.find((function(e){return e.left-2<=n.clientX&&e.right+2>=n.clientX&&e.top-2<=n.clientY&&e.bottom+2>=n.clientY})),a=o.indexOf(i);r=a>-1?a:r}},onHidden:function(){r=-1}}}};var K={name:"sticky",defaultValue:!1,fn:function(e){var t=e.reference,n=e.popper;function r(t){return!0===e.props.sticky||e.props.sticky===t}var o=null,i=null;function a(){var s=r("reference")?(e.popperInstance?e.popperInstance.state.elements.reference:t).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&Q(o,s)||u&&Q(i,u))&&e.popperInstance&&e.popperInstance.update(),o=s,i=u,e.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){e.props.sticky&&a()}}}};function Q(e,t){return!e||!t||(e.top!==t.top||e.right!==t.right||e.bottom!==t.bottom||e.left!==t.left)}return F.setDefaultProps({plugins:[Y,J,G,K],render:N}),F.createSingleton=function(e,t){var n;void 0===t&&(t={});var r,o=e,i=[],a=[],c=t.overrides,p=[],f=!1;function l(){a=o.map((function(e){return u(e.props.triggerTarget||e.reference)})).reduce((function(e,t){return e.concat(t)}),[])}function v(){i=o.map((function(e){return e.reference}))}function m(e){o.forEach((function(t){e?t.enable():t.disable()}))}function g(e){return o.map((function(t){var n=t.setProps;return t.setProps=function(o){n(o),t.reference===r&&e.setProps(o)},function(){t.setProps=n}}))}function h(e,t){var n=a.indexOf(t);if(t!==r){r=t;var s=(c||[]).concat("content").reduce((function(e,t){return e[t]=o[n].props[t],e}),{});e.setProps(Object.assign({},s,{getReferenceClientRect:"function"==typeof s.getReferenceClientRect?s.getReferenceClientRect:function(){var e;return null==(e=i[n])?void 0:e.getBoundingClientRect()}}))}}m(!1),v(),l();var b={fn:function(){return{onDestroy:function(){m(!0)},onHidden:function(){r=null},onClickOutside:function(e){e.props.showOnCreate&&!f&&(f=!0,r=null)},onShow:function(e){e.props.showOnCreate&&!f&&(f=!0,h(e,i[0]))},onTrigger:function(e,t){h(e,t.currentTarget)}}}},y=F(d(),Object.assign({},s(t,["overrides"]),{plugins:[b].concat(t.plugins||[]),triggerTarget:a,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(n=t.popperOptions)?void 0:n.modifiers)||[],[W])})})),w=y.show;y.show=function(e){if(w(),!r&&null==e)return h(y,i[0]);if(!r||null!=e){if("number"==typeof e)return i[e]&&h(y,i[e]);if(o.indexOf(e)>=0){var t=e.reference;return h(y,t)}return i.indexOf(e)>=0?h(y,e):void 0}},y.showNext=function(){var e=i[0];if(!r)return y.show(0);var t=i.indexOf(r);y.show(i[t+1]||e)},y.showPrevious=function(){var e=i[i.length-1];if(!r)return y.show(e);var t=i.indexOf(r),n=i[t-1]||e;y.show(n)};var E=y.setProps;return y.setProps=function(e){c=e.overrides||c,E(e)},y.setInstances=function(e){m(!0),p.forEach((function(e){return e()})),o=e,m(!1),v(),l(),p=g(y),y.setProps({triggerTarget:a})},p=g(y),y},F.delegate=function(e,n){var r=[],o=[],i=!1,a=n.target,c=s(n,["target"]),p=Object.assign({},c,{trigger:"manual",touch:!1}),f=Object.assign({touch:R.touch},c,{showOnCreate:!0}),l=F(e,p);function d(e){if(e.target&&!i){var t=e.target.closest(a);if(t){var r=t.getAttribute("data-tippy-trigger")||n.trigger||R.trigger;if(!t._tippy&&!("touchstart"===e.type&&"boolean"==typeof f.touch||"touchstart"!==e.type&&r.indexOf(X[e.type])<0)){var s=F(t,f);s&&(o=o.concat(s))}}}}function v(e,t,n,o){void 0===o&&(o=!1),e.addEventListener(t,n,o),r.push({node:e,eventType:t,handler:n,options:o})}return u(l).forEach((function(e){var n=e.destroy,a=e.enable,s=e.disable;e.destroy=function(e){void 0===e&&(e=!0),e&&o.forEach((function(e){e.destroy()})),o=[],r.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),r=[],n()},e.enable=function(){a(),o.forEach((function(e){return e.enable()})),i=!1},e.disable=function(){s(),o.forEach((function(e){return e.disable()})),i=!0},function(e){var n=e.reference;v(n,"touchstart",d,t),v(n,"mouseover",d),v(n,"focusin",d),v(n,"click",d)}(e)})),l},F.hideAll=function(e){var t=void 0===e?{}:e,n=t.exclude,r=t.duration;U.forEach((function(e){var t=!1;if(n&&(t=g(n)?e.reference===n:e.popper===n.popper),!t){var o=e.props.duration;e.setProps({duration:r}),e.hide(),e.state.isDestroyed||e.setProps({duration:o})}}))},F.roundArrow='',F})); - diff --git a/choosing_files/libs/revealjs/dist/reset.css b/choosing_files/libs/revealjs/dist/reset.css deleted file mode 100644 index e238539..0000000 --- a/choosing_files/libs/revealjs/dist/reset.css +++ /dev/null @@ -1,30 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ - v4.0 | 20180602 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -main, menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, main, menu, nav, section { - display: block; -} \ No newline at end of file diff --git a/choosing_files/libs/revealjs/dist/reveal.css b/choosing_files/libs/revealjs/dist/reveal.css deleted file mode 100644 index 5f80fd0..0000000 --- a/choosing_files/libs/revealjs/dist/reveal.css +++ /dev/null @@ -1,8 +0,0 @@ -/*! -* reveal.js 4.3.1 -* https://revealjs.com -* MIT licensed -* -* Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se -*/ -.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;-o-object-fit:contain;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000}.reveal-viewport:-webkit-full-screen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal-viewport:-ms-fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .slides section .fragment{opacity:0;visibility:hidden;transition:all .2s ease;will-change:opacity}.reveal .slides section .fragment.visible{opacity:1;visibility:inherit}.reveal .slides section .fragment.disabled{transition:none}.reveal .slides section .fragment.grow{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow.visible{transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1;visibility:inherit}.reveal .slides section .fragment.shrink.visible{transform:scale(.7)}.reveal .slides section .fragment.zoom-in{transform:scale(.1)}.reveal .slides section .fragment.zoom-in.visible{transform:none}.reveal .slides section .fragment.fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.strike{opacity:1;visibility:inherit}.reveal .slides section .fragment.strike.visible{text-decoration:line-through}.reveal .slides section .fragment.fade-up{transform:translate(0,40px)}.reveal .slides section .fragment.fade-up.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-down{transform:translate(0,-40px)}.reveal .slides section .fragment.fade-down.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-right{transform:translate(-40px,0)}.reveal .slides section .fragment.fade-right.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-left{transform:translate(40px,0)}.reveal .slides section .fragment.fade-left.visible{transform:translate(0,0)}.reveal .slides section .fragment.current-visible,.reveal .slides section .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.current-visible.current-fragment,.reveal .slides section .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-blue,.reveal .slides section .fragment.highlight-current-blue,.reveal .slides section .fragment.highlight-current-green,.reveal .slides section .fragment.highlight-current-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red.visible{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal .slides section .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .slides section .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .slides section .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(10px)}30%{transform:translateX(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(-10px)}30%{transform:translateX(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translateX(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translateX(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translateX(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translateX(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.8em;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:-.3em;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:rgba(0,0,0,.2);color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:rgba(0,0,0,.4);padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.past,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translate3d(0,0,0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translate3d(0,0,0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:rgba(0,0,0,0);transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;-o-object-fit:cover;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{-o-object-fit:contain;object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translate(0,-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translate(0,100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px 20px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);transform:translate3d(0,0,-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px 14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}html.print-pdf *{-webkit-print-color-adjust:exact}html.print-pdf{width:100%;height:100%;overflow:visible}html.print-pdf body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.print-pdf .nestedarrow,html.print-pdf .reveal .controls,html.print-pdf .reveal .playback,html.print-pdf .reveal .progress,html.print-pdf .reveal.overview,html.print-pdf .state-background{display:none!important}html.print-pdf .reveal pre code{overflow:hidden!important;font-family:Courier,"Courier New",monospace!important}html.print-pdf .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.print-pdf .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.print-pdf .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.print-pdf .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.print-pdf .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.print-pdf .reveal img{box-shadow:none}html.print-pdf .reveal .backgrounds{display:none}html.print-pdf .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.print-pdf .reveal.show-notes{max-width:none;max-height:none}html.print-pdf .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.print-pdf .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px}html.print-pdf .aria-status{display:none}@media print{html:not(.print-pdf){background:#fff;width:auto;height:auto;overflow:visible}html:not(.print-pdf) body{background:#fff;font-size:20pt;width:auto;height:auto;border:0;margin:0 5%;padding:0;overflow:visible;float:none!important}html:not(.print-pdf) .controls,html:not(.print-pdf) .fork-reveal,html:not(.print-pdf) .nestedarrow,html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .share-reveal,html:not(.print-pdf) .state-background{display:none!important}html:not(.print-pdf) body,html:not(.print-pdf) li,html:not(.print-pdf) p,html:not(.print-pdf) td{font-size:20pt!important;color:#000}html:not(.print-pdf) h1,html:not(.print-pdf) h2,html:not(.print-pdf) h3,html:not(.print-pdf) h4,html:not(.print-pdf) h5,html:not(.print-pdf) h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) h1{font-size:28pt!important}html:not(.print-pdf) h2{font-size:24pt!important}html:not(.print-pdf) h3{font-size:22pt!important}html:not(.print-pdf) h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) h5{font-size:21pt!important}html:not(.print-pdf) h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) a:link,html:not(.print-pdf) a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) div,html:not(.print-pdf) ol,html:not(.print-pdf) p,html:not(.print-pdf) ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}} \ No newline at end of file diff --git a/choosing_files/libs/revealjs/dist/reveal.esm.js b/choosing_files/libs/revealjs/dist/reveal.esm.js deleted file mode 100644 index f18da89..0000000 --- a/choosing_files/libs/revealjs/dist/reveal.esm.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* reveal.js 4.3.1 -* https://revealjs.com -* MIT licensed -* -* Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se -*/ -const e=(e,t)=>{for(let i in t)e[i]=t[i];return e},t=(e,t)=>Array.from(e.querySelectorAll(t)),i=(e,t,i)=>{i?e.classList.add(t):e.classList.remove(t)},s=e=>{if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},a=(e,t)=>{e.style.transform=t},n=(e,t)=>{let i=e.matches||e.matchesSelector||e.msMatchesSelector;return!(!i||!i.call(e,t))},r=(e,t)=>{if("function"==typeof e.closest)return e.closest(t);for(;e;){if(n(e,t))return e;e=e.parentNode}return null},o=(e,t,i,s="")=>{let a=e.querySelectorAll("."+i);for(let t=0;t{let t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},d=()=>{let e={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(t=>{e[t.split("=").shift()]=t.split("=").pop()}));for(let t in e){let i=e[t];e[t]=s(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},c=(e,t=0)=>{if(e){let i,s=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=s+"px",e.parentNode.style.removeProperty("height"),i}return t},h={mp4:"video/mp4",m4a:"video/mp4",ogv:"video/ogg",mpeg:"video/mpeg",webm:"video/webm"},u=navigator.userAgent,g=/(iphone|ipod|ipad|android)/gi.test(u)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1;/chrome/i.test(u)&&/edge/i.test(u);const v=/android/gi.test(u);var p={};Object.defineProperty(p,"__esModule",{value:!0});var m=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e?x(t(document.querySelectorAll(e)),i):x([e],i)[0]}}("undefined"==typeof window?null:window);class b{constructor(e){this.Reveal=e,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}shouldPreload(e){let t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}load(e,i={}){e.style.display=this.Reveal.getConfig().display,t(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e=>{("IFRAME"!==e.tagName||this.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),t(e,"video, audio").forEach((e=>{let i=0;t(e,"source[data-src]").forEach((e=>{e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("data-src"),e.setAttribute("data-lazy-loaded",""),i+=1})),g&&"VIDEO"===e.tagName&&e.setAttribute("playsinline",""),i>0&&e.load()}));let s=e.slideBackgroundElement;if(s){s.style.display="block";let t=e.slideBackgroundContentElement,a=e.getAttribute("data-background-iframe");if(!1===s.hasAttribute("data-loaded")){s.setAttribute("data-loaded","true");let n=e.getAttribute("data-background-image"),r=e.getAttribute("data-background-video"),o=e.hasAttribute("data-background-video-loop"),l=e.hasAttribute("data-background-video-muted");if(n)/^data:/.test(n.trim())?t.style.backgroundImage=`url(${n.trim()})`:t.style.backgroundImage=n.split(",").map((e=>`url(${encodeURI(e.trim())})`)).join(",");else if(r&&!this.Reveal.isSpeakerNotes()){let e=document.createElement("video");o&&e.setAttribute("loop",""),l&&(e.muted=!0),g&&(e.muted=!0,e.setAttribute("playsinline","")),r.split(",").forEach((t=>{let i=((e="")=>h[e.split(".").pop()])(t);e.innerHTML+=i?``:``})),t.appendChild(e)}else if(a&&!0!==i.excludeIframes){let e=document.createElement("iframe");e.setAttribute("allowfullscreen",""),e.setAttribute("mozallowfullscreen",""),e.setAttribute("webkitallowfullscreen",""),e.setAttribute("allow","autoplay"),e.setAttribute("data-src",a),e.style.width="100%",e.style.height="100%",e.style.maxHeight="100%",e.style.maxWidth="100%",t.appendChild(e)}}let n=t.querySelector("iframe[data-src]");n&&this.shouldPreload(s)&&!/autoplay=(1|true|yes)/gi.test(a)&&n.getAttribute("src")!==a&&n.setAttribute("src",a)}this.layout(e)}layout(e){Array.from(e.querySelectorAll(".r-fit-text")).forEach((e=>{f(e,{minSize:24,maxSize:.8*this.Reveal.getConfig().height,observeMutations:!1,observeWindow:!1})}))}unload(e){e.style.display="none";let i=this.Reveal.getSlideBackground(e);i&&(i.style.display="none",t(i,"iframe[src]").forEach((e=>{e.removeAttribute("src")}))),t(e,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")})),t(e,"video[data-lazy-loaded] source[src], audio source[src]").forEach((e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")}))}formatEmbeddedContent(){let e=(e,i,s)=>{t(this.Reveal.getSlidesElement(),"iframe["+e+'*="'+i+'"]').forEach((t=>{let i=t.getAttribute(e);i&&-1===i.indexOf(s)&&t.setAttribute(e,i+(/\?/.test(i)?"&":"?")+s)}))};e("src","youtube.com/embed/","enablejsapi=1"),e("data-src","youtube.com/embed/","enablejsapi=1"),e("src","player.vimeo.com/","api=1"),e("data-src","player.vimeo.com/","api=1")}startEmbeddedContent(e){e&&!this.Reveal.isSpeakerNotes()&&(t(e,'img[src$=".gif"]').forEach((e=>{e.setAttribute("src",e.getAttribute("src"))})),t(e,"video, audio").forEach((e=>{if(r(e,".fragment")&&!r(e,".fragment.visible"))return;let t=this.Reveal.getConfig().autoPlayMedia;if("boolean"!=typeof t&&(t=e.hasAttribute("data-autoplay")||!!r(e,".slide-background")),t&&"function"==typeof e.play)if(e.readyState>1)this.startEmbeddedMedia({target:e});else if(g){let t=e.play();t&&"function"==typeof t.catch&&!1===e.controls&&t.catch((()=>{e.controls=!0,e.addEventListener("play",(()=>{e.controls=!1}))}))}else e.removeEventListener("loadeddata",this.startEmbeddedMedia),e.addEventListener("loadeddata",this.startEmbeddedMedia)})),t(e,"iframe[src]").forEach((e=>{r(e,".fragment")&&!r(e,".fragment.visible")||this.startEmbeddedIframe({target:e})})),t(e,"iframe[data-src]").forEach((e=>{r(e,".fragment")&&!r(e,".fragment.visible")||e.getAttribute("src")!==e.getAttribute("data-src")&&(e.removeEventListener("load",this.startEmbeddedIframe),e.addEventListener("load",this.startEmbeddedIframe),e.setAttribute("src",e.getAttribute("data-src")))})))}startEmbeddedMedia(e){let t=!!r(e.target,"html"),i=!!r(e.target,".present");t&&i&&(e.target.currentTime=0,e.target.play()),e.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}startEmbeddedIframe(e){let t=e.target;if(t&&t.contentWindow){let i=!!r(e.target,"html"),s=!!r(e.target,".present");if(i&&s){let e=this.Reveal.getConfig().autoPlayMedia;"boolean"!=typeof e&&(e=t.hasAttribute("data-autoplay")||!!r(t,".slide-background")),/youtube\.com\/embed\//.test(t.getAttribute("src"))&&e?t.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(t.getAttribute("src"))&&e?t.contentWindow.postMessage('{"method":"play"}',"*"):t.contentWindow.postMessage("slide:start","*")}}}stopEmbeddedContent(i,s={}){s=e({unloadIframes:!0},s),i&&i.parentNode&&(t(i,"video, audio").forEach((e=>{e.hasAttribute("data-ignore")||"function"!=typeof e.pause||(e.setAttribute("data-paused-by-reveal",""),e.pause())})),t(i,"iframe").forEach((e=>{e.contentWindow&&e.contentWindow.postMessage("slide:stop","*"),e.removeEventListener("load",this.startEmbeddedIframe)})),t(i,'iframe[src*="youtube.com/embed/"]').forEach((e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")})),t(i,'iframe[src*="player.vimeo.com/"]').forEach((e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"method":"pause"}',"*")})),!0===s.unloadIframes&&t(i,"iframe[data-src]").forEach((e=>{e.setAttribute("src","about:blank"),e.removeAttribute("src")})))}}class y{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){let i="none";e.slideNumber&&!this.Reveal.isPrintingPDF()&&("all"===e.showSlideNumber||"speaker"===e.showSlideNumber&&this.Reveal.isSpeakerNotes())&&(i="block"),this.element.style.display=i}update(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}getSlideNumber(e=this.Reveal.getCurrentSlide()){let t,i=this.Reveal.getConfig(),s="h.v";if("function"==typeof i.slideNumber)t=i.slideNumber(e);else{"string"==typeof i.slideNumber&&(s=i.slideNumber),/c/.test(s)||1!==this.Reveal.getHorizontalSlides().length||(s="c");let a=e&&"uncounted"===e.dataset.visibility?0:1;switch(t=[],s){case"c":t.push(this.Reveal.getSlidePastCount(e)+a);break;case"c/t":t.push(this.Reveal.getSlidePastCount(e)+a,"/",this.Reveal.getTotalSlides());break;default:let i=this.Reveal.getIndices(e);t.push(i.h+a);let n="h/v"===s?"/":".";this.Reveal.isVerticalSlide(e)&&t.push(n,i.v+1)}}let a="#"+this.Reveal.location.getHash(e);return this.formatNumber(t[0],t[1],t[2],a)}formatNumber(e,t,i,s="#"+this.Reveal.location.getHash()){return"number"!=typeof i||isNaN(i)?`
      \n\t\t\t\t\t${e}\n\t\t\t\t\t`:`\n\t\t\t\t\t${e}\n\t\t\t\t\t${t}\n\t\t\t\t\t${i}\n\t\t\t\t\t`}destroy(){this.element.remove()}}const w=e=>{let t=e.match(/^#([0-9a-f]{3})$/i);if(t&&t[1])return t=t[1],{r:17*parseInt(t.charAt(0),16),g:17*parseInt(t.charAt(1),16),b:17*parseInt(t.charAt(2),16)};let i=e.match(/^#([0-9a-f]{6})$/i);if(i&&i[1])return i=i[1],{r:parseInt(i.slice(0,2),16),g:parseInt(i.slice(2,4),16),b:parseInt(i.slice(4,6),16)};let s=e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(s)return{r:parseInt(s[1],10),g:parseInt(s[2],10),b:parseInt(s[3],10)};let a=e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return a?{r:parseInt(a[1],10),g:parseInt(a[2],10),b:parseInt(a[3],10),a:parseFloat(a[4])}:null};class E{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}create(){this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach((e=>{let i=this.createBackground(e,this.element);t(e,"section").forEach((e=>{this.createBackground(e,i),i.classList.add("stack")}))})),this.Reveal.getConfig().parallaxBackgroundImage?(this.element.style.backgroundImage='url("'+this.Reveal.getConfig().parallaxBackgroundImage+'")',this.element.style.backgroundSize=this.Reveal.getConfig().parallaxBackgroundSize,this.element.style.backgroundRepeat=this.Reveal.getConfig().parallaxBackgroundRepeat,this.element.style.backgroundPosition=this.Reveal.getConfig().parallaxBackgroundPosition,setTimeout((()=>{this.Reveal.getRevealElement().classList.add("has-parallax-background")}),1)):(this.element.style.backgroundImage="",this.Reveal.getRevealElement().classList.remove("has-parallax-background"))}createBackground(e,t){let i=document.createElement("div");i.className="slide-background "+e.className.replace(/present|past|future/,"");let s=document.createElement("div");return s.className="slide-background-content",i.appendChild(s),t.appendChild(i),e.slideBackgroundElement=i,e.slideBackgroundContentElement=s,this.sync(e),i}sync(e){const t=e.slideBackgroundElement,i=e.slideBackgroundContentElement,s={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundVideo:e.getAttribute("data-background-video"),backgroundIframe:e.getAttribute("data-background-iframe"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition"),backgroundOpacity:e.getAttribute("data-background-opacity")},a=e.hasAttribute("data-preload");e.classList.remove("has-dark-background"),e.classList.remove("has-light-background"),t.removeAttribute("data-loaded"),t.removeAttribute("data-background-hash"),t.removeAttribute("data-background-size"),t.removeAttribute("data-background-transition"),t.style.backgroundColor="",i.style.backgroundSize="",i.style.backgroundRepeat="",i.style.backgroundPosition="",i.style.backgroundImage="",i.style.opacity="",i.innerHTML="",s.background&&(/^(http|file|\/\/)/gi.test(s.background)||/\.(svg|png|jpg|jpeg|gif|bmp)([?#\s]|$)/gi.test(s.background)?e.setAttribute("data-background-image",s.background):t.style.background=s.background),(s.background||s.backgroundColor||s.backgroundImage||s.backgroundVideo||s.backgroundIframe)&&t.setAttribute("data-background-hash",s.background+s.backgroundSize+s.backgroundImage+s.backgroundVideo+s.backgroundIframe+s.backgroundColor+s.backgroundRepeat+s.backgroundPosition+s.backgroundTransition+s.backgroundOpacity),s.backgroundSize&&t.setAttribute("data-background-size",s.backgroundSize),s.backgroundColor&&(t.style.backgroundColor=s.backgroundColor),s.backgroundTransition&&t.setAttribute("data-background-transition",s.backgroundTransition),a&&t.setAttribute("data-preload",""),s.backgroundSize&&(i.style.backgroundSize=s.backgroundSize),s.backgroundRepeat&&(i.style.backgroundRepeat=s.backgroundRepeat),s.backgroundPosition&&(i.style.backgroundPosition=s.backgroundPosition),s.backgroundOpacity&&(i.style.opacity=s.backgroundOpacity);let n=s.backgroundColor;if(!n||!w(n)){let e=window.getComputedStyle(t);e&&e.backgroundColor&&(n=e.backgroundColor)}if(n){const t=w(n);t&&0!==t.a&&("string"==typeof(r=n)&&(r=w(r)),(r?(299*r.r+587*r.g+114*r.b)/1e3:null)<128?e.classList.add("has-dark-background"):e.classList.add("has-light-background"))}var r}update(e=!1){let i=this.Reveal.getCurrentSlide(),s=this.Reveal.getIndices(),a=null,n=this.Reveal.getConfig().rtl?"future":"past",r=this.Reveal.getConfig().rtl?"past":"future";if(Array.from(this.element.childNodes).forEach(((i,o)=>{i.classList.remove("past","present","future"),os.h?i.classList.add(r):(i.classList.add("present"),a=i),(e||o===s.h)&&t(i,".slide-background").forEach(((e,t)=>{e.classList.remove("past","present","future"),ts.v?e.classList.add("future"):(e.classList.add("present"),o===s.h&&(a=e))}))})),this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!this.Reveal.slideContent.shouldPreload(this.previousBackground)}),a){this.Reveal.slideContent.startEmbeddedContent(a);let e=a.querySelector(".slide-background-content");if(e){let t=e.style.backgroundImage||"";/\.gif/i.test(t)&&(e.style.backgroundImage="",window.getComputedStyle(e).opacity,e.style.backgroundImage=t)}let t=this.previousBackground?this.previousBackground.getAttribute("data-background-hash"):null,i=a.getAttribute("data-background-hash");i&&i===t&&a!==this.previousBackground&&this.element.classList.add("no-transition"),this.previousBackground=a}i&&["has-light-background","has-dark-background"].forEach((e=>{i.classList.contains(e)?this.Reveal.getRevealElement().classList.add(e):this.Reveal.getRevealElement().classList.remove(e)}),this),setTimeout((()=>{this.element.classList.remove("no-transition")}),1)}updateParallax(){let e=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){let t,i,s=this.Reveal.getHorizontalSlides(),a=this.Reveal.getVerticalSlides(),n=this.element.style.backgroundSize.split(" ");1===n.length?t=i=parseInt(n[0],10):(t=parseInt(n[0],10),i=parseInt(n[1],10));let r,o,l=this.element.offsetWidth,d=s.length;r="number"==typeof this.Reveal.getConfig().parallaxBackgroundHorizontal?this.Reveal.getConfig().parallaxBackgroundHorizontal:d>1?(t-l)/(d-1):0,o=r*e.h*-1;let c,h,u=this.element.offsetHeight,g=a.length;c="number"==typeof this.Reveal.getConfig().parallaxBackgroundVertical?this.Reveal.getConfig().parallaxBackgroundVertical:(i-u)/(g-1),h=g>0?c*e.v:0,this.element.style.backgroundPosition=o+"px "+-h+"px"}}destroy(){this.element.remove()}}const R=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,S=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;let A=0;class k{constructor(e){this.Reveal=e}run(e,t){this.reset();let i=this.Reveal.getSlides(),s=i.indexOf(t),a=i.indexOf(e);if(e.hasAttribute("data-auto-animate")&&t.hasAttribute("data-auto-animate")&&e.getAttribute("data-auto-animate-id")===t.getAttribute("data-auto-animate-id")&&!(s>a?t:e).hasAttribute("data-auto-animate-restart")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||l();let i=this.getAutoAnimateOptions(t);e.dataset.autoAnimate="pending",t.dataset.autoAnimate="pending",i.slideDirection=s>a?"forward":"backward";let n=this.getAutoAnimatableElements(e,t).map((e=>this.autoAnimateElements(e.from,e.to,e.options||{},i,A++)));if("false"!==t.dataset.autoAnimateUnmatched&&!0===this.Reveal.getConfig().autoAnimateUnmatched){let e=.8*i.duration,s=.2*i.duration;this.getUnmatchedAutoAnimateElements(t).forEach((e=>{let t=this.getAutoAnimateOptions(e,i),s="unmatched";t.duration===i.duration&&t.delay===i.delay||(s="unmatched-"+A++,n.push(`[data-auto-animate="running"] [data-auto-animate-target="${s}"] { transition: opacity ${t.duration}s ease ${t.delay}s; }`)),e.dataset.autoAnimateTarget=s}),this),n.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${e}s ease ${s}s; }`)}this.autoAnimateStyleSheet.innerHTML=n.join(""),requestAnimationFrame((()=>{this.autoAnimateStyleSheet&&(getComputedStyle(this.autoAnimateStyleSheet).fontWeight,t.dataset.autoAnimate="running")})),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:e,toSlide:t,sheet:this.autoAnimateStyleSheet}})}}reset(){t(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach((e=>{e.dataset.autoAnimate=""})),t(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach((e=>{delete e.dataset.autoAnimateTarget})),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}autoAnimateElements(e,t,i,s,a){e.dataset.autoAnimateTarget="",t.dataset.autoAnimateTarget=a;let n=this.getAutoAnimateOptions(t,s);void 0!==i.delay&&(n.delay=i.delay),void 0!==i.duration&&(n.duration=i.duration),void 0!==i.easing&&(n.easing=i.easing);let r=this.getAutoAnimatableProperties("from",e,i),o=this.getAutoAnimatableProperties("to",t,i);if(t.classList.contains("fragment")&&(delete o.styles.opacity,e.classList.contains("fragment"))){(e.className.match(S)||[""])[0]===(t.className.match(S)||[""])[0]&&"forward"===s.slideDirection&&t.classList.add("visible","disabled")}if(!1!==i.translate||!1!==i.scale){let e=this.Reveal.getScale(),t={x:(r.x-o.x)/e,y:(r.y-o.y)/e,scaleX:r.width/o.width,scaleY:r.height/o.height};t.x=Math.round(1e3*t.x)/1e3,t.y=Math.round(1e3*t.y)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3;let s=!1!==i.translate&&(0!==t.x||0!==t.y),a=!1!==i.scale&&(0!==t.scaleX||0!==t.scaleY);if(s||a){let e=[];s&&e.push(`translate(${t.x}px, ${t.y}px)`),a&&e.push(`scale(${t.scaleX}, ${t.scaleY})`),r.styles.transform=e.join(" "),r.styles["transform-origin"]="top left",o.styles.transform="none"}}for(let e in o.styles){const t=o.styles[e],i=r.styles[e];t===i?delete o.styles[e]:(!0===t.explicitValue&&(o.styles[e]=t.value),!0===i.explicitValue&&(r.styles[e]=i.value))}let l="",d=Object.keys(o.styles);if(d.length>0){r.styles.transition="none",o.styles.transition=`all ${n.duration}s ${n.easing} ${n.delay}s`,o.styles["transition-property"]=d.join(", "),o.styles["will-change"]=d.join(", "),l='[data-auto-animate-target="'+a+'"] {'+Object.keys(r.styles).map((e=>e+": "+r.styles[e]+" !important;")).join("")+'}[data-auto-animate="running"] [data-auto-animate-target="'+a+'"] {'+Object.keys(o.styles).map((e=>e+": "+o.styles[e]+" !important;")).join("")+"}"}return l}getAutoAnimateOptions(t,i){let s={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(s=e(s,i),t.parentNode){let e=r(t.parentNode,"[data-auto-animate-target]");e&&(s=this.getAutoAnimateOptions(e,s))}return t.dataset.autoAnimateEasing&&(s.easing=t.dataset.autoAnimateEasing),t.dataset.autoAnimateDuration&&(s.duration=parseFloat(t.dataset.autoAnimateDuration)),t.dataset.autoAnimateDelay&&(s.delay=parseFloat(t.dataset.autoAnimateDelay)),s}getAutoAnimatableProperties(e,t,i){let s=this.Reveal.getConfig(),a={styles:[]};if(!1!==i.translate||!1!==i.scale){let e;if("function"==typeof i.measure)e=i.measure(t);else if(s.center)e=t.getBoundingClientRect();else{let i=this.Reveal.getScale();e={x:t.offsetLeft*i,y:t.offsetTop*i,width:t.offsetWidth*i,height:t.offsetHeight*i}}a.x=e.x,a.y=e.y,a.width=e.width,a.height=e.height}const n=getComputedStyle(t);return(i.styles||s.autoAnimateStyles).forEach((t=>{let i;"string"==typeof t&&(t={property:t}),i=void 0!==t.from&&"from"===e?{value:t.from,explicitValue:!0}:void 0!==t.to&&"to"===e?{value:t.to,explicitValue:!0}:n[t.property],""!==i&&(a.styles[t.property]=i)})),a}getAutoAnimatableElements(e,t){let i=("function"==typeof this.Reveal.getConfig().autoAnimateMatcher?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,e,t),s=[];return i.filter(((e,t)=>{if(-1===s.indexOf(e.to))return s.push(e.to),!0}))}getAutoAnimatePairs(e,t){let i=[];const s="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(i,e,t,"[data-id]",(e=>e.nodeName+":::"+e.getAttribute("data-id"))),this.findAutoAnimateMatches(i,e,t,s,(e=>e.nodeName+":::"+e.innerText)),this.findAutoAnimateMatches(i,e,t,"img, video, iframe",(e=>e.nodeName+":::"+(e.getAttribute("src")||e.getAttribute("data-src")))),this.findAutoAnimateMatches(i,e,t,"pre",(e=>e.nodeName+":::"+e.innerText)),i.forEach((e=>{n(e.from,s)?e.options={scale:!1}:n(e.from,"pre")&&(e.options={scale:!1,styles:["width","height"]},this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-code",(e=>e.textContent),{scale:!1,styles:[],measure:this.getLocalBoundingBox.bind(this)}),this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-line[data-line-number]",(e=>e.getAttribute("data-line-number")),{scale:!1,styles:["width"],measure:this.getLocalBoundingBox.bind(this)}))}),this),i}getLocalBoundingBox(e){const t=this.Reveal.getScale();return{x:Math.round(e.offsetLeft*t*100)/100,y:Math.round(e.offsetTop*t*100)/100,width:Math.round(e.offsetWidth*t*100)/100,height:Math.round(e.offsetHeight*t*100)/100}}findAutoAnimateMatches(e,t,i,s,a,n){let r={},o={};[].slice.call(t.querySelectorAll(s)).forEach(((e,t)=>{const i=a(e);"string"==typeof i&&i.length&&(r[i]=r[i]||[],r[i].push(e))})),[].slice.call(i.querySelectorAll(s)).forEach(((t,i)=>{const s=a(t);let l;if(o[s]=o[s]||[],o[s].push(t),r[s]){const e=o[s].length-1,t=r[s].length-1;r[s][e]?(l=r[s][e],r[s][e]=null):r[s][t]&&(l=r[s][t],r[s][t]=null)}l&&e.push({from:l,to:t,options:n})}))}getUnmatchedAutoAnimateElements(e){return[].slice.call(e.children).reduce(((e,t)=>{const i=t.querySelector("[data-auto-animate-target]");return t.hasAttribute("data-auto-animate-target")||i||e.push(t),t.querySelector("[data-auto-animate-target]")&&(e=e.concat(this.getUnmatchedAutoAnimateElements(t))),e}),[])}}class L{constructor(e){this.Reveal=e}configure(e,t){!1===e.fragments?this.disable():!1===t.fragments&&this.enable()}disable(){t(this.Reveal.getSlidesElement(),".fragment").forEach((e=>{e.classList.add("visible"),e.classList.remove("current-fragment")}))}enable(){t(this.Reveal.getSlidesElement(),".fragment").forEach((e=>{e.classList.remove("visible"),e.classList.remove("current-fragment")}))}availableRoutes(){let e=this.Reveal.getCurrentSlide();if(e&&this.Reveal.getConfig().fragments){let t=e.querySelectorAll(".fragment:not(.disabled)"),i=e.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:t.length-i.length>0,next:!!i.length}}return{prev:!1,next:!1}}sort(e,t=!1){e=Array.from(e);let i=[],s=[],a=[];e.forEach((e=>{if(e.hasAttribute("data-fragment-index")){let t=parseInt(e.getAttribute("data-fragment-index"),10);i[t]||(i[t]=[]),i[t].push(e)}else s.push([e])})),i=i.concat(s);let n=0;return i.forEach((e=>{e.forEach((e=>{a.push(e),e.setAttribute("data-fragment-index",n)})),n++})),!0===t?i:a}sortAll(){this.Reveal.getHorizontalSlides().forEach((e=>{let i=t(e,"section");i.forEach(((e,t)=>{this.sort(e.querySelectorAll(".fragment"))}),this),0===i.length&&this.sort(e.querySelectorAll(".fragment"))}))}update(e,t){let i={shown:[],hidden:[]},s=this.Reveal.getCurrentSlide();if(s&&this.Reveal.getConfig().fragments&&(t=t||this.sort(s.querySelectorAll(".fragment"))).length){let a=0;if("number"!=typeof e){let t=this.sort(s.querySelectorAll(".fragment.visible")).pop();t&&(e=parseInt(t.getAttribute("data-fragment-index")||0,10))}Array.from(t).forEach(((t,s)=>{if(t.hasAttribute("data-fragment-index")&&(s=parseInt(t.getAttribute("data-fragment-index"),10)),a=Math.max(a,s),s<=e){let a=t.classList.contains("visible");t.classList.add("visible"),t.classList.remove("current-fragment"),s===e&&(this.Reveal.announceStatus(this.Reveal.getStatusText(t)),t.classList.add("current-fragment"),this.Reveal.slideContent.startEmbeddedContent(t)),a||(i.shown.push(t),this.Reveal.dispatchEvent({target:t,type:"visible",bubbles:!1}))}else{let e=t.classList.contains("visible");t.classList.remove("visible"),t.classList.remove("current-fragment"),e&&(this.Reveal.slideContent.stopEmbeddedContent(t),i.hidden.push(t),this.Reveal.dispatchEvent({target:t,type:"hidden",bubbles:!1}))}})),e="number"==typeof e?e:-1,e=Math.max(Math.min(e,a),-1),s.setAttribute("data-fragment",e)}return i}sync(e=this.Reveal.getCurrentSlide()){return this.sort(e.querySelectorAll(".fragment"))}goto(e,t=0){let i=this.Reveal.getCurrentSlide();if(i&&this.Reveal.getConfig().fragments){let s=this.sort(i.querySelectorAll(".fragment:not(.disabled)"));if(s.length){if("number"!=typeof e){let t=this.sort(i.querySelectorAll(".fragment:not(.disabled).visible")).pop();e=t?parseInt(t.getAttribute("data-fragment-index")||0,10):-1}e+=t;let a=this.update(e,s);return a.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:a.hidden[0],fragments:a.hidden}}),a.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:a.shown[0],fragments:a.shown}}),this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!(!a.shown.length&&!a.hidden.length)}}return!1}next(){return this.goto(null,1)}prev(){return this.goto(null,-1)}}class C{constructor(e){this.Reveal=e,this.active=!1,this.onSlideClicked=this.onSlideClicked.bind(this)}activate(){if(this.Reveal.getConfig().overview&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),t(this.Reveal.getRevealElement(),".slides section").forEach((e=>{e.classList.contains("stack")||e.addEventListener("click",this.onSlideClicked,!0)}));const e=70,i=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=i.width+e,this.overviewSlideHeight=i.height+e,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();const s=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:s.h,indexv:s.v,currentSlide:this.Reveal.getCurrentSlide()}})}}layout(){this.Reveal.getHorizontalSlides().forEach(((e,i)=>{e.setAttribute("data-index-h",i),a(e,"translate3d("+i*this.overviewSlideWidth+"px, 0, 0)"),e.classList.contains("stack")&&t(e,"section").forEach(((e,t)=>{e.setAttribute("data-index-h",i),e.setAttribute("data-index-v",t),a(e,"translate3d(0, "+t*this.overviewSlideHeight+"px, 0)")}))})),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach(((e,i)=>{a(e,"translate3d("+i*this.overviewSlideWidth+"px, 0, 0)"),t(e,".slide-background").forEach(((e,t)=>{a(e,"translate3d(0, "+t*this.overviewSlideHeight+"px, 0)")}))}))}update(){const e=Math.min(window.innerWidth,window.innerHeight),t=Math.max(e/5,150)/e,i=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+t+")","translateX("+-i.h*this.overviewSlideWidth+"px)","translateY("+-i.v*this.overviewSlideHeight+"px)"].join(" ")})}deactivate(){if(this.Reveal.getConfig().overview){this.active=!1,this.Reveal.getRevealElement().classList.remove("overview"),this.Reveal.getRevealElement().classList.add("overview-deactivating"),setTimeout((()=>{this.Reveal.getRevealElement().classList.remove("overview-deactivating")}),1),this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),t(this.Reveal.getRevealElement(),".slides section").forEach((e=>{a(e,""),e.removeEventListener("click",this.onSlideClicked,!0)})),t(this.Reveal.getBackgroundsElement(),".slide-background").forEach((e=>{a(e,"")})),this.Reveal.transformSlides({overview:""});const e=this.Reveal.getIndices();this.Reveal.slide(e.h,e.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:e.h,indexv:e.v,currentSlide:this.Reveal.getCurrentSlide()}})}}toggle(e){"boolean"==typeof e?e?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}onSlideClicked(e){if(this.isActive()){e.preventDefault();let t=e.target;for(;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(this.deactivate(),t.nodeName.match(/section/gi))){let e=parseInt(t.getAttribute("data-index-h"),10),i=parseInt(t.getAttribute("data-index-v"),10);this.Reveal.slide(e,i)}}}}class x{constructor(e){this.Reveal=e,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this),this.onDocumentKeyPress=this.onDocumentKeyPress.bind(this)}configure(e,t){"linear"===e.navigationMode?(this.shortcuts["→ , ↓ , SPACE , N , L , J"]="Next slide",this.shortcuts["← , ↑ , P , H , K"]="Previous slide"):(this.shortcuts["N , SPACE"]="Next slide",this.shortcuts["P , Shift SPACE"]="Previous slide",this.shortcuts["← , H"]="Navigate left",this.shortcuts["→ , L"]="Navigate right",this.shortcuts["↑ , K"]="Navigate up",this.shortcuts["↓ , J"]="Navigate down"),this.shortcuts["Alt + ←/↑/→/↓"]="Navigate without fragments",this.shortcuts["Shift + ←/↑/→/↓"]="Jump to first/last slide",this.shortcuts["B , ."]="Pause",this.shortcuts.F="Fullscreen",this.shortcuts["ESC, O"]="Slide overview"}bind(){document.addEventListener("keydown",this.onDocumentKeyDown,!1),document.addEventListener("keypress",this.onDocumentKeyPress,!1)}unbind(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1),document.removeEventListener("keypress",this.onDocumentKeyPress,!1)}addKeyBinding(e,t){"object"==typeof e&&e.keyCode?this.bindings[e.keyCode]={callback:t,key:e.key,description:e.description}:this.bindings[e]={callback:t,key:null,description:null}}removeKeyBinding(e){delete this.bindings[e]}triggerKey(e){this.onDocumentKeyDown({keyCode:e})}registerKeyboardShortcut(e,t){this.shortcuts[e]=t}getShortcuts(){return this.shortcuts}getBindings(){return this.bindings}onDocumentKeyPress(e){e.shiftKey&&63===e.charCode&&this.Reveal.toggleHelp()}onDocumentKeyDown(e){let t=this.Reveal.getConfig();if("function"==typeof t.keyboardCondition&&!1===t.keyboardCondition(e))return!0;if("focused"===t.keyboardCondition&&!this.Reveal.isFocused())return!0;let i=e.keyCode,s=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(e);let a=document.activeElement&&!0===document.activeElement.isContentEditable,n=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),r=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),o=!(-1!==[32,37,38,39,40,78,80].indexOf(e.keyCode)&&e.shiftKey||e.altKey)&&(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey);if(a||n||r||o)return;let l,d=[66,86,190,191];if("object"==typeof t.keyboard)for(l in t.keyboard)"togglePause"===t.keyboard[l]&&d.push(parseInt(l,10));if(this.Reveal.isPaused()&&-1===d.indexOf(i))return!1;let c="linear"===t.navigationMode||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVerticalSlides(),h=!1;if("object"==typeof t.keyboard)for(l in t.keyboard)if(parseInt(l,10)===i){let i=t.keyboard[l];"function"==typeof i?i.apply(null,[e]):"string"==typeof i&&"function"==typeof this.Reveal[i]&&this.Reveal[i].call(),h=!0}if(!1===h)for(l in this.bindings)if(parseInt(l,10)===i){let t=this.bindings[l].callback;"function"==typeof t?t.apply(null,[e]):"string"==typeof t&&"function"==typeof this.Reveal[t]&&this.Reveal[t].call(),h=!0}!1===h&&(h=!0,80===i||33===i?this.Reveal.prev({skipFragments:e.altKey}):78===i||34===i?this.Reveal.next({skipFragments:e.altKey}):72===i||37===i?e.shiftKey?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&c?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.left({skipFragments:e.altKey}):76===i||39===i?e.shiftKey?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):!this.Reveal.overview.isActive()&&c?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.right({skipFragments:e.altKey}):75===i||38===i?e.shiftKey?this.Reveal.slide(void 0,0):!this.Reveal.overview.isActive()&&c?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.up({skipFragments:e.altKey}):74===i||40===i?e.shiftKey?this.Reveal.slide(void 0,Number.MAX_VALUE):!this.Reveal.overview.isActive()&&c?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.down({skipFragments:e.altKey}):36===i?this.Reveal.slide(0):35===i?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):32===i?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),e.shiftKey?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.next({skipFragments:e.altKey})):58===i||59===i||66===i||86===i||190===i||191===i?this.Reveal.togglePause():70===i?(e=>{let t=(e=e||document.documentElement).requestFullscreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen;t&&t.apply(e)})(t.embedded?this.Reveal.getViewportElement():document.documentElement):65===i?t.autoSlideStoppable&&this.Reveal.toggleAutoSlide(s):h=!1),h?e.preventDefault&&e.preventDefault():27!==i&&79!==i||(!1===this.Reveal.closeOverlay()&&this.Reveal.overview.toggle(),e.preventDefault&&e.preventDefault()),this.Reveal.cueAutoSlide()}}class P{constructor(e){var t,i,s;s=1e3,(i="MAX_REPLACE_STATE_FREQUENCY")in(t=this)?Object.defineProperty(t,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[i]=s,this.Reveal=e,this.writeURLTimeout=0,this.replaceStateTimestamp=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}bind(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}unbind(){window.removeEventListener("hashchange",this.onWindowHashChange,!1)}getIndicesFromHash(e=window.location.hash){let t=e.replace(/^#\/?/,""),i=t.split("/");if(/^[0-9]*$/.test(i[0])||!t.length){const e=this.Reveal.getConfig();let t,s=e.hashOneBasedIndex?1:0,a=parseInt(i[0],10)-s||0,n=parseInt(i[1],10)-s||0;return e.fragmentInURL&&(t=parseInt(i[2],10),isNaN(t)&&(t=void 0)),{h:a,v:n,f:t}}{let e,i;/\/[-\d]+$/g.test(t)&&(i=parseInt(t.split("/").pop(),10),i=isNaN(i)?void 0:i,t=t.split("/").shift());try{e=document.getElementById(decodeURIComponent(t))}catch(e){}if(e)return{...this.Reveal.getIndices(e),f:i}}return null}readURL(){const e=this.Reveal.getIndices(),t=this.getIndicesFromHash();t?t.h===e.h&&t.v===e.v&&void 0===t.f||this.Reveal.slide(t.h,t.v,t.f):this.Reveal.slide(e.h||0,e.v||0)}writeURL(e){let t=this.Reveal.getConfig(),i=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),"number"==typeof e)this.writeURLTimeout=setTimeout(this.writeURL,e);else if(i){let e=this.getHash();t.history?window.location.hash=e:t.hash&&("/"===e?this.debouncedReplaceState(window.location.pathname+window.location.search):this.debouncedReplaceState("#"+e))}}replaceState(e){window.history.replaceState(null,null,e),this.replaceStateTimestamp=Date.now()}debouncedReplaceState(e){clearTimeout(this.replaceStateTimeout),Date.now()-this.replaceStateTimestamp>this.MAX_REPLACE_STATE_FREQUENCY?this.replaceState(e):this.replaceStateTimeout=setTimeout((()=>this.replaceState(e)),this.MAX_REPLACE_STATE_FREQUENCY)}getHash(e){let t="/",i=e||this.Reveal.getCurrentSlide(),s=i?i.getAttribute("id"):null;s&&(s=encodeURIComponent(s));let a=this.Reveal.getIndices(e);if(this.Reveal.getConfig().fragmentInURL||(a.f=void 0),"string"==typeof s&&s.length)t="/"+s,a.f>=0&&(t+="/"+a.f);else{let e=this.Reveal.getConfig().hashOneBasedIndex?1:0;(a.h>0||a.v>0||a.f>=0)&&(t+=a.h+e),(a.v>0||a.f>=0)&&(t+="/"+(a.v+e)),a.f>=0&&(t+="/"+a.f)}return t}onWindowHashChange(e){this.readURL()}}class N{constructor(e){this.Reveal=e,this.onNavigateLeftClicked=this.onNavigateLeftClicked.bind(this),this.onNavigateRightClicked=this.onNavigateRightClicked.bind(this),this.onNavigateUpClicked=this.onNavigateUpClicked.bind(this),this.onNavigateDownClicked=this.onNavigateDownClicked.bind(this),this.onNavigatePrevClicked=this.onNavigatePrevClicked.bind(this),this.onNavigateNextClicked=this.onNavigateNextClicked.bind(this)}render(){const e=this.Reveal.getConfig().rtl,i=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML=`\n\t\t\t\n\t\t\t\n\t\t\t`,this.Reveal.getRevealElement().appendChild(this.element),this.controlsLeft=t(i,".navigate-left"),this.controlsRight=t(i,".navigate-right"),this.controlsUp=t(i,".navigate-up"),this.controlsDown=t(i,".navigate-down"),this.controlsPrev=t(i,".navigate-prev"),this.controlsNext=t(i,".navigate-next"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}configure(e,t){this.element.style.display=e.controls?"block":"none",this.element.setAttribute("data-controls-layout",e.controlsLayout),this.element.setAttribute("data-controls-back-arrows",e.controlsBackArrows)}bind(){let e=["touchstart","click"];v&&(e=["touchstart"]),e.forEach((e=>{this.controlsLeft.forEach((t=>t.addEventListener(e,this.onNavigateLeftClicked,!1))),this.controlsRight.forEach((t=>t.addEventListener(e,this.onNavigateRightClicked,!1))),this.controlsUp.forEach((t=>t.addEventListener(e,this.onNavigateUpClicked,!1))),this.controlsDown.forEach((t=>t.addEventListener(e,this.onNavigateDownClicked,!1))),this.controlsPrev.forEach((t=>t.addEventListener(e,this.onNavigatePrevClicked,!1))),this.controlsNext.forEach((t=>t.addEventListener(e,this.onNavigateNextClicked,!1)))}))}unbind(){["touchstart","click"].forEach((e=>{this.controlsLeft.forEach((t=>t.removeEventListener(e,this.onNavigateLeftClicked,!1))),this.controlsRight.forEach((t=>t.removeEventListener(e,this.onNavigateRightClicked,!1))),this.controlsUp.forEach((t=>t.removeEventListener(e,this.onNavigateUpClicked,!1))),this.controlsDown.forEach((t=>t.removeEventListener(e,this.onNavigateDownClicked,!1))),this.controlsPrev.forEach((t=>t.removeEventListener(e,this.onNavigatePrevClicked,!1))),this.controlsNext.forEach((t=>t.removeEventListener(e,this.onNavigateNextClicked,!1)))}))}update(){let e=this.Reveal.availableRoutes();[...this.controlsLeft,...this.controlsRight,...this.controlsUp,...this.controlsDown,...this.controlsPrev,...this.controlsNext].forEach((e=>{e.classList.remove("enabled","fragmented"),e.setAttribute("disabled","disabled")})),e.left&&this.controlsLeft.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.right&&this.controlsRight.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.up&&this.controlsUp.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.down&&this.controlsDown.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.left||e.up)&&this.controlsPrev.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.right||e.down)&&this.controlsNext.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}));let t=this.Reveal.getCurrentSlide();if(t){let e=this.Reveal.fragments.availableRoutes();e.prev&&this.controlsPrev.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsNext.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),this.Reveal.isVerticalSlide(t)?(e.prev&&this.controlsUp.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsDown.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}))):(e.prev&&this.controlsLeft.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsRight.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})))}if(this.Reveal.getConfig().controlsTutorial){let t=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&e.down?this.controlsDownArrow.classList.add("highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&e.left&&0===t.v?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&e.right&&0===t.v?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}destroy(){this.unbind(),this.element.remove()}onNavigateLeftClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.prev():this.Reveal.left()}onNavigateRightClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.next():this.Reveal.right()}onNavigateUpClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}onNavigateDownClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.down()}onNavigatePrevClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.prev()}onNavigateNextClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}}class M{constructor(e){this.Reveal=e,this.onProgressClicked=this.onProgressClicked.bind(this)}render(){this.element=document.createElement("div"),this.element.className="progress",this.Reveal.getRevealElement().appendChild(this.element),this.bar=document.createElement("span"),this.element.appendChild(this.bar)}configure(e,t){this.element.style.display=e.progress?"block":"none"}bind(){this.Reveal.getConfig().progress&&this.element&&this.element.addEventListener("click",this.onProgressClicked,!1)}unbind(){this.Reveal.getConfig().progress&&this.element&&this.element.removeEventListener("click",this.onProgressClicked,!1)}update(){if(this.Reveal.getConfig().progress&&this.bar){let e=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(e=0),this.bar.style.transform="scaleX("+e+")"}}getMaxWidth(){return this.Reveal.getRevealElement().offsetWidth}onProgressClicked(e){this.Reveal.onUserInput(e),e.preventDefault();let t=this.Reveal.getSlides(),i=t.length,s=Math.floor(e.clientX/this.getMaxWidth()*i);this.Reveal.getConfig().rtl&&(s=i-s);let a=this.Reveal.getIndices(t[s]);this.Reveal.slide(a.h,a.v)}destroy(){this.element.remove()}}class D{constructor(e){this.Reveal=e,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}configure(e,t){e.mouseWheel?(document.addEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.addEventListener("mousewheel",this.onDocumentMouseScroll,!1)):(document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1)),e.hideInactiveCursor?(document.addEventListener("mousemove",this.onDocumentCursorActive,!1),document.addEventListener("mousedown",this.onDocumentCursorActive,!1)):(this.showCursor(),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1))}showCursor(){this.cursorHidden&&(this.cursorHidden=!1,this.Reveal.getRevealElement().style.cursor="")}hideCursor(){!1===this.cursorHidden&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}destroy(){this.showCursor(),document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1)}onDocumentCursorActive(e){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}onDocumentMouseScroll(e){if(Date.now()-this.lastMouseWheelStep>1e3){this.lastMouseWheelStep=Date.now();let t=e.detail||-e.wheelDelta;t>0?this.Reveal.next():t<0&&this.Reveal.prev()}}}const I=(e,t)=>{const i=document.createElement("script");i.type="text/javascript",i.async=!1,i.defer=!1,i.src=e,"function"==typeof t&&(i.onload=i.onreadystatechange=e=>{("load"===e.type||/loaded|complete/.test(i.readyState))&&(i.onload=i.onreadystatechange=i.onerror=null,t())},i.onerror=e=>{i.onload=i.onreadystatechange=i.onerror=null,t(new Error("Failed loading script: "+i.src+"\n"+e))});const s=document.querySelector("head");s.insertBefore(i,s.lastChild)};class T{constructor(e){this.Reveal=e,this.state="idle",this.registeredPlugins={},this.asyncDependencies=[]}load(e,t){return this.state="loading",e.forEach(this.registerPlugin.bind(this)),new Promise((e=>{let i=[],s=0;if(t.forEach((e=>{e.condition&&!e.condition()||(e.async?this.asyncDependencies.push(e):i.push(e))})),i.length){s=i.length;const t=t=>{t&&"function"==typeof t.callback&&t.callback(),0==--s&&this.initPlugins().then(e)};i.forEach((e=>{"string"==typeof e.id?(this.registerPlugin(e),t(e)):"string"==typeof e.src?I(e.src,(()=>t(e))):(console.warn("Unrecognized plugin format",e),t())}))}else this.initPlugins().then(e)}))}initPlugins(){return new Promise((e=>{let t=Object.values(this.registeredPlugins),i=t.length;if(0===i)this.loadAsync().then(e);else{let s,a=()=>{0==--i?this.loadAsync().then(e):s()},n=0;s=()=>{let e=t[n++];if("function"==typeof e.init){let t=e.init(this.Reveal);t&&"function"==typeof t.then?t.then(a):a()}else a()},s()}}))}loadAsync(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach((e=>{I(e.src,e.callback)})),Promise.resolve()}registerPlugin(e){2===arguments.length&&"string"==typeof arguments[0]?(e=arguments[1]).id=arguments[0]:"function"==typeof e&&(e=e());let t=e.id;"string"!=typeof t?console.warn("Unrecognized plugin format; can't find plugin.id",e):void 0===this.registeredPlugins[t]?(this.registeredPlugins[t]=e,"loaded"===this.state&&"function"==typeof e.init&&e.init(this.Reveal)):console.warn('reveal.js: "'+t+'" plugin has already been registered')}hasPlugin(e){return!!this.registeredPlugins[e]}getPlugin(e){return this.registeredPlugins[e]}getRegisteredPlugins(){return this.registeredPlugins}destroy(){Object.values(this.registeredPlugins).forEach((e=>{"function"==typeof e.destroy&&e.destroy()})),this.registeredPlugins={},this.asyncDependencies=[]}}class F{constructor(e){this.Reveal=e}async setupPDF(){const e=this.Reveal.getConfig(),i=t(this.Reveal.getRevealElement(),".slides section"),s=e.slideNumber&&/all|print/i.test(e.showSlideNumber),a=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),n=Math.floor(a.width*(1+e.margin)),r=Math.floor(a.height*(1+e.margin)),o=a.width,d=a.height;await new Promise(requestAnimationFrame),l("@page{size:"+n+"px "+r+"px; margin: 0px;}"),l(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+o+"px; max-height:"+d+"px}"),document.documentElement.classList.add("print-pdf"),document.body.style.width=n+"px",document.body.style.height=r+"px";const c=document.querySelector(".reveal-viewport");let h;if(c){const e=window.getComputedStyle(c);e&&e.background&&(h=e.background)}await new Promise(requestAnimationFrame),this.Reveal.layoutSlideContents(o,d),await new Promise(requestAnimationFrame);const u=i.map((e=>e.scrollHeight)),g=[],v=i[0].parentNode;i.forEach((function(i,a){if(!1===i.classList.contains("stack")){let l=(n-o)/2,c=(r-d)/2;const v=u[a];let p=Math.max(Math.ceil(v/r),1);p=Math.min(p,e.pdfMaxPagesPerSlide),(1===p&&e.center||i.classList.contains("center"))&&(c=Math.max((r-v)/2,0));const m=document.createElement("div");if(g.push(m),m.className="pdf-page",m.style.height=(r+e.pdfPageHeightOffset)*p+"px",h&&(m.style.background=h),m.appendChild(i),i.style.left=l+"px",i.style.top=c+"px",i.style.width=o+"px",this.Reveal.slideContent.layout(i),i.slideBackgroundElement&&m.insertBefore(i.slideBackgroundElement,i),e.showNotes){const t=this.Reveal.getSlideNotes(i);if(t){const i=8,s="string"==typeof e.showNotes?e.showNotes:"inline",a=document.createElement("div");a.classList.add("speaker-notes"),a.classList.add("speaker-notes-pdf"),a.setAttribute("data-layout",s),a.innerHTML=t,"separate-page"===s?g.push(a):(a.style.left=i+"px",a.style.bottom=i+"px",a.style.width=n-2*i+"px",m.appendChild(a))}}if(s){const e=a+1,t=document.createElement("div");t.classList.add("slide-number"),t.classList.add("slide-number-pdf"),t.innerHTML=e,m.appendChild(t)}if(e.pdfSeparateFragments){const e=this.Reveal.fragments.sort(m.querySelectorAll(".fragment"),!0);let t;e.forEach((function(e){t&&t.forEach((function(e){e.classList.remove("current-fragment")})),e.forEach((function(e){e.classList.add("visible","current-fragment")}),this);const i=m.cloneNode(!0);g.push(i),t=e}),this),e.forEach((function(e){e.forEach((function(e){e.classList.remove("visible","current-fragment")}))}))}else t(m,".fragment:not(.fade-out)").forEach((function(e){e.classList.add("visible")}))}}),this),await new Promise(requestAnimationFrame),g.forEach((e=>v.appendChild(e))),this.Reveal.dispatchEvent({type:"pdf-ready"})}isPrintingPDF(){return/print-pdf/gi.test(window.location.search)}}class z{constructor(e){this.Reveal=e,this.touchStartX=0,this.touchStartY=0,this.touchStartCount=0,this.touchCaptured=!1,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onTouchStart=this.onTouchStart.bind(this),this.onTouchMove=this.onTouchMove.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this)}bind(){let e=this.Reveal.getRevealElement();"onpointerdown"in window?(e.addEventListener("pointerdown",this.onPointerDown,!1),e.addEventListener("pointermove",this.onPointerMove,!1),e.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(e.addEventListener("MSPointerDown",this.onPointerDown,!1),e.addEventListener("MSPointerMove",this.onPointerMove,!1),e.addEventListener("MSPointerUp",this.onPointerUp,!1)):(e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1))}unbind(){let e=this.Reveal.getRevealElement();e.removeEventListener("pointerdown",this.onPointerDown,!1),e.removeEventListener("pointermove",this.onPointerMove,!1),e.removeEventListener("pointerup",this.onPointerUp,!1),e.removeEventListener("MSPointerDown",this.onPointerDown,!1),e.removeEventListener("MSPointerMove",this.onPointerMove,!1),e.removeEventListener("MSPointerUp",this.onPointerUp,!1),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1)}isSwipePrevented(e){if(n(e,"video, audio"))return!0;for(;e&&"function"==typeof e.hasAttribute;){if(e.hasAttribute("data-prevent-swipe"))return!0;e=e.parentNode}return!1}onTouchStart(e){if(this.isSwipePrevented(e.target))return!0;this.touchStartX=e.touches[0].clientX,this.touchStartY=e.touches[0].clientY,this.touchStartCount=e.touches.length}onTouchMove(e){if(this.isSwipePrevented(e.target))return!0;let t=this.Reveal.getConfig();if(this.touchCaptured)v&&e.preventDefault();else{this.Reveal.onUserInput(e);let i=e.touches[0].clientX,s=e.touches[0].clientY;if(1===e.touches.length&&2!==this.touchStartCount){let a=this.Reveal.availableRoutes({includeFragments:!0}),n=i-this.touchStartX,r=s-this.touchStartY;n>40&&Math.abs(n)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):n<-40&&Math.abs(n)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):r>40&&a.up?(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.prev():this.Reveal.up()):r<-40&&a.down&&(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.next():this.Reveal.down()),t.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&e.preventDefault():e.preventDefault()}}}onTouchEnd(e){this.touchCaptured=!1}onPointerDown(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchStart(e))}onPointerMove(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchMove(e))}onPointerUp(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchEnd(e))}}class H{constructor(e){this.Reveal=e,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}configure(e,t){e.embedded?this.blur():(this.focus(),this.unbind())}bind(){this.Reveal.getConfig().embedded&&this.Reveal.getRevealElement().addEventListener("pointerdown",this.onRevealPointerDown,!1)}unbind(){this.Reveal.getRevealElement().removeEventListener("pointerdown",this.onRevealPointerDown,!1),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)}focus(){"focus"!==this.state&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state="focus"}blur(){"blur"!==this.state&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state="blur"}isFocused(){return"focus"===this.state}destroy(){this.Reveal.getRevealElement().classList.remove("focused")}onRevealPointerDown(e){this.focus()}onDocumentPointerDown(e){let t=r(e.target,".reveal");t&&t===this.Reveal.getRevealElement()||this.blur()}}class q{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="speaker-notes",this.element.setAttribute("data-prevent-swipe",""),this.element.setAttribute("tabindex","0"),this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){e.showNotes&&this.element.setAttribute("data-layout","string"==typeof e.showNotes?e.showNotes:"inline")}update(){this.Reveal.getConfig().showNotes&&this.element&&this.Reveal.getCurrentSlide()&&!this.Reveal.print.isPrintingPDF()&&(this.element.innerHTML=this.getSlideNotes()||'No notes on this slide.')}updateVisibility(){this.Reveal.getConfig().showNotes&&this.hasNotes()&&!this.Reveal.print.isPrintingPDF()?this.Reveal.getRevealElement().classList.add("show-notes"):this.Reveal.getRevealElement().classList.remove("show-notes")}hasNotes(){return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length>0}isSpeakerNotesWindow(){return!!window.location.search.match(/receiver/gi)}getSlideNotes(e=this.Reveal.getCurrentSlide()){if(e.hasAttribute("data-notes"))return e.getAttribute("data-notes");let t=e.querySelector("aside.notes");return t?t.innerHTML:null}destroy(){this.element.remove()}}class B{constructor(e,t){this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=e,this.progressCheck=t,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.canvas.style.width=this.diameter2+"px",this.canvas.style.height=this.diameter2+"px",this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}setPlaying(e){const t=this.playing;this.playing=e,!t&&this.playing?this.animate():this.render()}animate(){const e=this.progress;this.progress=this.progressCheck(),e>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}render(){let e=this.playing?this.progress:0,t=this.diameter2-this.thickness,i=this.diameter2,s=this.diameter2,a=28;this.progressOffset+=.1*(1-this.progressOffset);const n=-Math.PI/2+e*(2*Math.PI),r=-Math.PI/2+this.progressOffset*(2*Math.PI);this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(i,s,t+4,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(i,s,t,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="rgba( 255, 255, 255, 0.2 )",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(i,s,t,r,n,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(i-14,s-14),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,10,a),this.context.fillRect(18,0,10,a)):(this.context.beginPath(),this.context.translate(4,0),this.context.moveTo(0,0),this.context.lineTo(24,14),this.context.lineTo(0,a),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()}on(e,t){this.canvas.addEventListener(e,t,!1)}off(e,t){this.canvas.removeEventListener(e,t,!1)}destroy(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}}var O={width:960,height:700,margin:.04,minScale:.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!0,history:!1,keyboard:!0,keyboardCondition:null,disableLayout:!1,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,navigationMode:"default",shuffle:!1,fragments:!0,fragmentInURL:!0,embedded:!1,help:!0,pause:!0,showNotes:!1,showHiddenSlides:!1,autoPlayMedia:null,preloadIframes:null,autoAnimate:!0,autoAnimateMatcher:null,autoAnimateEasing:"ease",autoAnimateDuration:1,autoAnimateUnmatched:!0,autoAnimateStyles:["opacity","color","background-color","padding","font-size","line-height","letter-spacing","border-width","border-color","border-radius","outline","outline-offset"],autoSlide:0,autoSlideStoppable:!0,autoSlideMethod:null,defaultTiming:null,mouseWheel:!1,previewLinks:!1,postMessage:!0,postMessageEvents:!1,focusBodyOnPageVisibilityChange:!0,transition:"slide",transitionSpeed:"default",backgroundTransition:"fade",parallaxBackgroundImage:"",parallaxBackgroundSize:"",parallaxBackgroundRepeat:"",parallaxBackgroundPosition:"",parallaxBackgroundHorizontal:null,parallaxBackgroundVertical:null,pdfMaxPagesPerSlide:Number.POSITIVE_INFINITY,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCursor:!0,hideCursorTime:5e3,dependencies:[],plugins:[]};function U(n,l){arguments.length<2&&(l=arguments[0],n=document.querySelector(".reveal"));const h={};let u,v,p,m,f,w={},S=!1,A={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},I=[],U=1,W={layout:"",overview:""},K={},V="idle",$=0,j=0,X=-1,Y=!1,_=new b(h),J=new y(h),Q=new k(h),Z=new E(h),G=new L(h),ee=new C(h),te=new x(h),ie=new P(h),se=new N(h),ae=new M(h),ne=new D(h),re=new T(h),oe=new F(h),le=new H(h),de=new z(h),ce=new q(h);function he(e){if(!n)throw'Unable to find presentation root (
      ).';if(K.wrapper=n,K.slides=n.querySelector(".slides"),!K.slides)throw'Unable to find slides container (
      ).';return w={...O,...w,...l,...e,...d()},ue(),window.addEventListener("load",He,!1),re.load(w.plugins,w.dependencies).then(ge),new Promise((e=>h.on("ready",e)))}function ue(){!0===w.embedded?K.viewport=r(n,".reveal-viewport")||n:(K.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),K.viewport.classList.add("reveal-viewport")}function ge(){S=!0,ve(),pe(),Ee(),ye(),we(),tt(),Re(),ie.readURL(),Z.update(!0),setTimeout((()=>{K.slides.classList.remove("no-transition"),K.wrapper.classList.add("ready"),Pe({type:"ready",data:{indexh:u,indexv:v,currentSlide:m}})}),1),oe.isPrintingPDF()&&(Ae(),"complete"===document.readyState?oe.setupPDF():window.addEventListener("load",(()=>{oe.setupPDF()})))}function ve(){w.showHiddenSlides||t(K.wrapper,'section[data-visibility="hidden"]').forEach((e=>{e.parentNode.removeChild(e)}))}function pe(){K.slides.classList.add("no-transition"),g?K.wrapper.classList.add("no-hover"):K.wrapper.classList.remove("no-hover"),Z.render(),J.render(),se.render(),ae.render(),ce.render(),K.pauseOverlay=o(K.wrapper,"div","pause-overlay",w.controls?'':null),K.statusElement=me(),K.wrapper.setAttribute("role","application")}function me(){let e=K.wrapper.querySelector(".aria-status");return e||(e=document.createElement("div"),e.style.position="absolute",e.style.height="1px",e.style.width="1px",e.style.overflow="hidden",e.style.clip="rect( 1px, 1px, 1px, 1px )",e.classList.add("aria-status"),e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),K.wrapper.appendChild(e)),e}function fe(e){K.statusElement.textContent=e}function be(e){let t="";if(3===e.nodeType)t+=e.textContent;else if(1===e.nodeType){let i=e.getAttribute("aria-hidden"),s="none"===window.getComputedStyle(e).display;"true"===i||s||Array.from(e.childNodes).forEach((e=>{t+=be(e)}))}return t=t.trim(),""===t?"":t+" "}function ye(){setInterval((()=>{0===K.wrapper.scrollTop&&0===K.wrapper.scrollLeft||(K.wrapper.scrollTop=0,K.wrapper.scrollLeft=0)}),1e3)}function we(){document.addEventListener("fullscreenchange",Ht),document.addEventListener("webkitfullscreenchange",Ht)}function Ee(){w.postMessage&&window.addEventListener("message",Dt,!1)}function Re(t){const s={...w};if("object"==typeof t&&e(w,t),!1===h.isReady())return;const a=K.wrapper.querySelectorAll(".slides section").length;K.wrapper.classList.remove(s.transition),K.wrapper.classList.add(w.transition),K.wrapper.setAttribute("data-transition-speed",w.transitionSpeed),K.wrapper.setAttribute("data-background-transition",w.backgroundTransition),K.viewport.style.setProperty("--slide-width",w.width+"px"),K.viewport.style.setProperty("--slide-height",w.height+"px"),w.shuffle&&it(),i(K.wrapper,"embedded",w.embedded),i(K.wrapper,"rtl",w.rtl),i(K.wrapper,"center",w.center),!1===w.pause&&Xe(),w.previewLinks?(Me(),De("[data-preview-link=false]")):(De(),Me("[data-preview-link]:not([data-preview-link=false])")),Q.reset(),f&&(f.destroy(),f=null),a>1&&w.autoSlide&&w.autoSlideStoppable&&(f=new B(K.wrapper,(()=>Math.min(Math.max((Date.now()-X)/$,0),1))),f.on("click",Bt),Y=!1),"default"!==w.navigationMode?K.wrapper.setAttribute("data-navigation-mode",w.navigationMode):K.wrapper.removeAttribute("data-navigation-mode"),ce.configure(w,s),le.configure(w,s),ne.configure(w,s),se.configure(w,s),ae.configure(w,s),te.configure(w,s),G.configure(w,s),J.configure(w,s),Ge()}function Se(){window.addEventListener("resize",Ft,!1),w.touch&&de.bind(),w.keyboard&&te.bind(),w.progress&&ae.bind(),w.respondToHashChanges&&ie.bind(),se.bind(),le.bind(),K.slides.addEventListener("click",Tt,!1),K.slides.addEventListener("transitionend",It,!1),K.pauseOverlay.addEventListener("click",Xe,!1),w.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",zt,!1)}function Ae(){de.unbind(),le.unbind(),te.unbind(),se.unbind(),ae.unbind(),ie.unbind(),window.removeEventListener("resize",Ft,!1),K.slides.removeEventListener("click",Tt,!1),K.slides.removeEventListener("transitionend",It,!1),K.pauseOverlay.removeEventListener("click",Xe,!1)}function ke(){Ae(),Rt(),De(),ce.destroy(),le.destroy(),re.destroy(),ne.destroy(),se.destroy(),ae.destroy(),Z.destroy(),J.destroy(),document.removeEventListener("fullscreenchange",Ht),document.removeEventListener("webkitfullscreenchange",Ht),document.removeEventListener("visibilitychange",zt,!1),window.removeEventListener("message",Dt,!1),window.removeEventListener("load",He,!1),K.pauseOverlay&&K.pauseOverlay.remove(),K.statusElement&&K.statusElement.remove(),document.documentElement.classList.remove("reveal-full-page"),K.wrapper.classList.remove("ready","center","has-horizontal-slides","has-vertical-slides"),K.wrapper.removeAttribute("data-transition-speed"),K.wrapper.removeAttribute("data-background-transition"),K.viewport.classList.remove("reveal-viewport"),K.viewport.style.removeProperty("--slide-width"),K.viewport.style.removeProperty("--slide-height"),K.slides.style.removeProperty("width"),K.slides.style.removeProperty("height"),K.slides.style.removeProperty("zoom"),K.slides.style.removeProperty("left"),K.slides.style.removeProperty("top"),K.slides.style.removeProperty("bottom"),K.slides.style.removeProperty("right"),K.slides.style.removeProperty("transform"),Array.from(K.wrapper.querySelectorAll(".slides section")).forEach((e=>{e.style.removeProperty("display"),e.style.removeProperty("top"),e.removeAttribute("hidden"),e.removeAttribute("aria-hidden")}))}function Le(e,t,i){n.addEventListener(e,t,i)}function Ce(e,t,i){n.removeEventListener(e,t,i)}function xe(e){"string"==typeof e.layout&&(W.layout=e.layout),"string"==typeof e.overview&&(W.overview=e.overview),W.layout?a(K.slides,W.layout+" "+W.overview):a(K.slides,W.overview)}function Pe({target:t=K.wrapper,type:i,data:s,bubbles:a=!0}){let n=document.createEvent("HTMLEvents",1,2);return n.initEvent(i,a,!0),e(n,s),t.dispatchEvent(n),t===K.wrapper&&Ne(i),n}function Ne(t,i){if(w.postMessageEvents&&window.parent!==window.self){let s={namespace:"reveal",eventName:t,state:yt()};e(s,i),window.parent.postMessage(JSON.stringify(s),"*")}}function Me(e="a"){Array.from(K.wrapper.querySelectorAll(e)).forEach((e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",qt,!1)}))}function De(e="a"){Array.from(K.wrapper.querySelectorAll(e)).forEach((e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",qt,!1)}))}function Ie(e){ze(),K.overlay=document.createElement("div"),K.overlay.classList.add("overlay"),K.overlay.classList.add("overlay-preview"),K.wrapper.appendChild(K.overlay),K.overlay.innerHTML=`
      \n\t\t\t\t\n\t\t\t\t\n\t\t\t
      \n\t\t\t
      \n\t\t\t
      \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tUnable to load iframe. This is likely due to the site's policy (x-frame-options).\n\t\t\t\t\n\t\t\t
      `,K.overlay.querySelector("iframe").addEventListener("load",(e=>{K.overlay.classList.add("loaded")}),!1),K.overlay.querySelector(".close").addEventListener("click",(e=>{ze(),e.preventDefault()}),!1),K.overlay.querySelector(".external").addEventListener("click",(e=>{ze()}),!1)}function Te(e){"boolean"==typeof e?e?Fe():ze():K.overlay?ze():Fe()}function Fe(){if(w.help){ze(),K.overlay=document.createElement("div"),K.overlay.classList.add("overlay"),K.overlay.classList.add("overlay-help"),K.wrapper.appendChild(K.overlay);let e='

      Keyboard Shortcuts


      ',t=te.getShortcuts(),i=te.getBindings();e+="
    ";for(let i in t)e+=``;for(let t in i)i[t].key&&i[t].description&&(e+=``);e+="
    KEYACTION
    ${i}${t[i]}
    ${i[t].key}${i[t].description}
    ",K.overlay.innerHTML=`\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    ${e}
    \n\t\t\t\t
    \n\t\t\t`,K.overlay.querySelector(".close").addEventListener("click",(e=>{ze(),e.preventDefault()}),!1)}}function ze(){return!!K.overlay&&(K.overlay.parentNode.removeChild(K.overlay),K.overlay=null,!0)}function He(){if(K.wrapper&&!oe.isPrintingPDF()){if(!w.disableLayout){g&&!w.embedded&&document.documentElement.style.setProperty("--vh",.01*window.innerHeight+"px");const e=Be(),t=U;qe(w.width,w.height),K.slides.style.width=e.width+"px",K.slides.style.height=e.height+"px",U=Math.min(e.presentationWidth/e.width,e.presentationHeight/e.height),U=Math.max(U,w.minScale),U=Math.min(U,w.maxScale),1===U?(K.slides.style.zoom="",K.slides.style.left="",K.slides.style.top="",K.slides.style.bottom="",K.slides.style.right="",xe({layout:""})):(K.slides.style.zoom="",K.slides.style.left="50%",K.slides.style.top="50%",K.slides.style.bottom="auto",K.slides.style.right="auto",xe({layout:"translate(-50%, -50%) scale("+U+")"}));const i=Array.from(K.wrapper.querySelectorAll(".slides section"));for(let t=0,s=i.length;t .stretch, section > .r-stretch").forEach((t=>{let s=c(t,i);if(/(img|video)/gi.test(t.nodeName)){const i=t.naturalWidth||t.videoWidth,a=t.naturalHeight||t.videoHeight,n=Math.min(e/i,s/a);t.style.width=i*n+"px",t.style.height=a*n+"px"}else t.style.width=e+"px",t.style.height=s+"px"}))}function Be(e,t){const i={width:w.width,height:w.height,presentationWidth:e||K.wrapper.offsetWidth,presentationHeight:t||K.wrapper.offsetHeight};return i.presentationWidth-=i.presentationWidth*w.margin,i.presentationHeight-=i.presentationHeight*w.margin,"string"==typeof i.width&&/%$/.test(i.width)&&(i.width=parseInt(i.width,10)/100*i.presentationWidth),"string"==typeof i.height&&/%$/.test(i.height)&&(i.height=parseInt(i.height,10)/100*i.presentationHeight),i}function Oe(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function Ue(e){if("object"==typeof e&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){const t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function We(e=m){return e&&e.parentNode&&!!e.parentNode.nodeName.match(/section/i)}function Ke(){return!(!m||!We(m))&&!m.nextElementSibling}function Ve(){return 0===u&&0===v}function $e(){return!!m&&(!m.nextElementSibling&&(!We(m)||!m.parentNode.nextElementSibling))}function je(){if(w.pause){const e=K.wrapper.classList.contains("paused");Rt(),K.wrapper.classList.add("paused"),!1===e&&Pe({type:"paused"})}}function Xe(){const e=K.wrapper.classList.contains("paused");K.wrapper.classList.remove("paused"),Et(),e&&Pe({type:"resumed"})}function Ye(e){"boolean"==typeof e?e?je():Xe():_e()?Xe():je()}function _e(){return K.wrapper.classList.contains("paused")}function Je(e){"boolean"==typeof e?e?At():St():Y?At():St()}function Qe(){return!(!$||Y)}function Ze(e,t,i,s){if(Pe({type:"beforeslidechange",data:{indexh:void 0===e?u:e,indexv:void 0===t?v:t,origin:s}}).defaultPrevented)return;p=m;const a=K.wrapper.querySelectorAll(".slides>section");if(0===a.length)return;void 0!==t||ee.isActive()||(t=Ue(a[e])),p&&p.parentNode&&p.parentNode.classList.contains("stack")&&Oe(p.parentNode,v);const n=I.concat();I.length=0;let r=u||0,o=v||0;u=st(".slides>section",void 0===e?u:e),v=st(".slides>section.present>section",void 0===t?v:t);let l=u!==r||v!==o;l||(p=null);let d=a[u],c=d.querySelectorAll("section");m=c[v]||d;let h=!1;l&&p&&m&&!ee.isActive()&&(p.hasAttribute("data-auto-animate")&&m.hasAttribute("data-auto-animate")&&p.getAttribute("data-auto-animate-id")===m.getAttribute("data-auto-animate-id")&&!(u>r||v>o?m:p).hasAttribute("data-auto-animate-restart")&&(h=!0,K.slides.classList.add("disable-slide-transitions")),V="running"),at(),He(),ee.isActive()&&ee.update(),void 0!==i&&G.goto(i),p&&p!==m&&(p.classList.remove("present"),p.setAttribute("aria-hidden","true"),Ve()&&setTimeout((()=>{ut().forEach((e=>{Oe(e,0)}))}),0));e:for(let e=0,t=I.length;e{fe(be(m))})),ae.update(),se.update(),ce.update(),Z.update(),Z.updateParallax(),J.update(),G.update(),ie.writeURL(),Et(),h&&(setTimeout((()=>{K.slides.classList.remove("disable-slide-transitions")}),0),w.autoAnimate&&Q.run(p,m))}function Ge(){Ae(),Se(),He(),$=w.autoSlide,Et(),Z.create(),ie.writeURL(),G.sortAll(),se.update(),ae.update(),at(),ce.update(),ce.updateVisibility(),Z.update(!0),J.update(),_.formatEmbeddedContent(),!1===w.autoPlayMedia?_.stopEmbeddedContent(m,{unloadIframes:!1}):_.startEmbeddedContent(m),ee.isActive()&&ee.layout()}function et(e=m){Z.sync(e),G.sync(e),_.load(e),Z.update(),ce.update()}function tt(){ct().forEach((e=>{t(e,"section").forEach(((e,t)=>{t>0&&(e.classList.remove("present"),e.classList.remove("past"),e.classList.add("future"),e.setAttribute("aria-hidden","true"))}))}))}function it(e=ct()){e.forEach(((t,i)=>{let s=e[Math.floor(Math.random()*e.length)];s.parentNode===t.parentNode&&t.parentNode.insertBefore(t,s);let a=t.querySelectorAll("section");a.length&&it(a)}))}function st(e,i){let s=t(K.wrapper,e),a=s.length,n=oe.isPrintingPDF();if(a){w.loop&&(i%=a)<0&&(i=a+i),i=Math.max(Math.min(i,a-1),0);for(let e=0;e{e.classList.add("visible"),e.classList.remove("current-fragment")}))):e>i&&(a.classList.add(r?"past":"future"),w.fragments&&t(a,".fragment.visible").forEach((e=>{e.classList.remove("visible","current-fragment")})))}let e=s[i],r=e.classList.contains("present");e.classList.add("present"),e.removeAttribute("hidden"),e.removeAttribute("aria-hidden"),r||Pe({target:e,type:"visible",bubbles:!1});let o=e.getAttribute("data-state");o&&(I=I.concat(o.split(" ")))}else i=0;return i}function at(){let e,i,s=ct(),a=s.length;if(a&&void 0!==u){let n=ee.isActive()?10:w.viewDistance;g&&(n=ee.isActive()?6:w.mobileViewDistance),oe.isPrintingPDF()&&(n=Number.MAX_VALUE);for(let r=0;rsection"),i=K.wrapper.querySelectorAll(".slides>section.present>section"),s={left:u>0,right:u0,down:v1&&(s.left=!0,s.right=!0),i.length>1&&(s.up=!0,s.down=!0)),t.length>1&&"linear"===w.navigationMode&&(s.right=s.right||s.down,s.left=s.left||s.up),!0===e){let e=G.availableRoutes();s.left=s.left||e.prev,s.up=s.up||e.prev,s.down=s.down||e.next,s.right=s.right||e.next}if(w.rtl){let e=s.left;s.left=s.right,s.right=e}return s}function rt(e=m){let t=ct(),i=0;e:for(let s=0;s0){let i=.9;t+=m.querySelectorAll(".fragment.visible").length/e.length*i}}return Math.min(t/(e-1),1)}function lt(e){let i,s=u,a=v;if(e){let i=We(e),n=i?e.parentNode:e,r=ct();s=Math.max(r.indexOf(n),0),a=void 0,i&&(a=Math.max(t(e.parentNode,"section").indexOf(e),0))}if(!e&&m){if(m.querySelectorAll(".fragment").length>0){let e=m.querySelector(".current-fragment");i=e&&e.hasAttribute("data-fragment-index")?parseInt(e.getAttribute("data-fragment-index"),10):m.querySelectorAll(".fragment.visible").length-1}}return{h:s,v:a,f:i}}function dt(){return t(K.wrapper,'.slides section:not(.stack):not([data-visibility="uncounted"])')}function ct(){return t(K.wrapper,".slides>section")}function ht(){return t(K.wrapper,".slides>section>section")}function ut(){return t(K.wrapper,".slides>section.stack")}function gt(){return ct().length>1}function vt(){return ht().length>1}function pt(){return dt().map((e=>{let t={};for(let i=0;i{e.hasAttribute("data-autoplay")&&$&&1e3*e.duration/e.playbackRate>$&&($=1e3*e.duration/e.playbackRate+1e3)}))),!$||Y||_e()||ee.isActive()||$e()&&!G.availableRoutes().next&&!0!==w.loop||(j=setTimeout((()=>{"function"==typeof w.autoSlideMethod?w.autoSlideMethod():Nt(),Et()}),$),X=Date.now()),f&&f.setPlaying(-1!==j)}}function Rt(){clearTimeout(j),j=-1}function St(){$&&!Y&&(Y=!0,Pe({type:"autoslidepaused"}),clearTimeout(j),f&&f.setPlaying(!1))}function At(){$&&Y&&(Y=!1,Pe({type:"autoslideresumed"}),Et())}function kt({skipFragments:e=!1}={}){A.hasNavigatedHorizontally=!0,w.rtl?(ee.isActive()||e||!1===G.next())&&nt().left&&Ze(u+1,"grid"===w.navigationMode?v:void 0):(ee.isActive()||e||!1===G.prev())&&nt().left&&Ze(u-1,"grid"===w.navigationMode?v:void 0)}function Lt({skipFragments:e=!1}={}){A.hasNavigatedHorizontally=!0,w.rtl?(ee.isActive()||e||!1===G.prev())&&nt().right&&Ze(u-1,"grid"===w.navigationMode?v:void 0):(ee.isActive()||e||!1===G.next())&&nt().right&&Ze(u+1,"grid"===w.navigationMode?v:void 0)}function Ct({skipFragments:e=!1}={}){(ee.isActive()||e||!1===G.prev())&&nt().up&&Ze(u,v-1)}function xt({skipFragments:e=!1}={}){A.hasNavigatedVertically=!0,(ee.isActive()||e||!1===G.next())&&nt().down&&Ze(u,v+1)}function Pt({skipFragments:e=!1}={}){if(e||!1===G.prev())if(nt().up)Ct({skipFragments:e});else{let i;if(i=w.rtl?t(K.wrapper,".slides>section.future").pop():t(K.wrapper,".slides>section.past").pop(),i&&i.classList.contains("stack")){let e=i.querySelectorAll("section").length-1||void 0;Ze(u-1,e)}else kt({skipFragments:e})}}function Nt({skipFragments:e=!1}={}){if(A.hasNavigatedHorizontally=!0,A.hasNavigatedVertically=!0,e||!1===G.next()){let t=nt();t.down&&t.right&&w.loop&&Ke()&&(t.down=!1),t.down?xt({skipFragments:e}):w.rtl?kt({skipFragments:e}):Lt({skipFragments:e})}}function Mt(e){w.autoSlideStoppable&&St()}function Dt(e){let t=e.data;if("string"==typeof t&&"{"===t.charAt(0)&&"}"===t.charAt(t.length-1)&&(t=JSON.parse(t),t.method&&"function"==typeof h[t.method]))if(!1===R.test(t.method)){const e=h[t.method].apply(h,t.args);Ne("callback",{method:t.method,result:e})}else console.warn('reveal.js: "'+t.method+'" is is blacklisted from the postMessage API')}function It(e){"running"===V&&/section/gi.test(e.target.nodeName)&&(V="idle",Pe({type:"slidetransitionend",data:{indexh:u,indexv:v,previousSlide:p,currentSlide:m}}))}function Tt(e){const t=r(e.target,'a[href^="#"]');if(t){const i=t.getAttribute("href"),s=ie.getIndicesFromHash(i);s&&(h.slide(s.h,s.v,s.f),e.preventDefault())}}function Ft(e){He()}function zt(e){!1===document.hidden&&document.activeElement!==document.body&&("function"==typeof document.activeElement.blur&&document.activeElement.blur(),document.body.focus())}function Ht(e){(document.fullscreenElement||document.webkitFullscreenElement)===K.wrapper&&(e.stopImmediatePropagation(),setTimeout((()=>{h.layout(),h.focus.focus()}),1))}function qt(e){if(e.currentTarget&&e.currentTarget.hasAttribute("href")){let t=e.currentTarget.getAttribute("href");t&&(Ie(t),e.preventDefault())}}function Bt(e){$e()&&!1===w.loop?(Ze(0,0),At()):Y?At():St()}const Ot={VERSION:"4.3.1",initialize:he,configure:Re,destroy:ke,sync:Ge,syncSlide:et,syncFragments:G.sync.bind(G),slide:Ze,left:kt,right:Lt,up:Ct,down:xt,prev:Pt,next:Nt,navigateLeft:kt,navigateRight:Lt,navigateUp:Ct,navigateDown:xt,navigatePrev:Pt,navigateNext:Nt,navigateFragment:G.goto.bind(G),prevFragment:G.prev.bind(G),nextFragment:G.next.bind(G),on:Le,off:Ce,addEventListener:Le,removeEventListener:Ce,layout:He,shuffle:it,availableRoutes:nt,availableFragments:G.availableRoutes.bind(G),toggleHelp:Te,toggleOverview:ee.toggle.bind(ee),togglePause:Ye,toggleAutoSlide:Je,isFirstSlide:Ve,isLastSlide:$e,isLastVerticalSlide:Ke,isVerticalSlide:We,isPaused:_e,isAutoSliding:Qe,isSpeakerNotes:ce.isSpeakerNotesWindow.bind(ce),isOverview:ee.isActive.bind(ee),isFocused:le.isFocused.bind(le),isPrintingPDF:oe.isPrintingPDF.bind(oe),isReady:()=>S,loadSlide:_.load.bind(_),unloadSlide:_.unload.bind(_),showPreview:Ie,hidePreview:ze,addEventListeners:Se,removeEventListeners:Ae,dispatchEvent:Pe,getState:yt,setState:wt,getProgress:ot,getIndices:lt,getSlidesAttributes:pt,getSlidePastCount:rt,getTotalSlides:mt,getSlide:ft,getPreviousSlide:()=>p,getCurrentSlide:()=>m,getSlideBackground:bt,getSlideNotes:ce.getSlideNotes.bind(ce),getSlides:dt,getHorizontalSlides:ct,getVerticalSlides:ht,hasHorizontalSlides:gt,hasVerticalSlides:vt,hasNavigatedHorizontally:()=>A.hasNavigatedHorizontally,hasNavigatedVertically:()=>A.hasNavigatedVertically,addKeyBinding:te.addKeyBinding.bind(te),removeKeyBinding:te.removeKeyBinding.bind(te),triggerKey:te.triggerKey.bind(te),registerKeyboardShortcut:te.registerKeyboardShortcut.bind(te),getComputedSlideSize:Be,getScale:()=>U,getConfig:()=>w,getQueryHash:d,getSlidePath:ie.getHash.bind(ie),getRevealElement:()=>n,getSlidesElement:()=>K.slides,getViewportElement:()=>K.viewport,getBackgroundsElement:()=>Z.element,registerPlugin:re.registerPlugin.bind(re),hasPlugin:re.hasPlugin.bind(re),getPlugin:re.getPlugin.bind(re),getPlugins:re.getRegisteredPlugins.bind(re)};return e(h,{...Ot,announceStatus:fe,getStatusText:be,print:oe,focus:le,progress:ae,controls:se,location:ie,overview:ee,fragments:G,slideContent:_,slideNumber:J,onUserInput:Mt,closeOverlay:ze,updateSlidesVisibility:at,layoutSlideContents:qe,transformSlides:xe,cueAutoSlide:Et,cancelAutoSlide:Rt}),Ot}let W=U,K=[];W.initialize=e=>(Object.assign(W,new U(document.querySelector(".reveal"),e)),K.map((e=>e(W))),W.initialize()),["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach((e=>{W[e]=(...t)=>{K.push((i=>i[e].call(null,...t)))}})),W.isReady=()=>!1,W.VERSION="4.3.1";export default W; -//# sourceMappingURL=reveal.esm.js.map diff --git a/choosing_files/libs/revealjs/dist/reveal.esm.js.map b/choosing_files/libs/revealjs/dist/reveal.esm.js.map deleted file mode 100644 index 286c75a..0000000 --- a/choosing_files/libs/revealjs/dist/reveal.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"reveal.esm.js","sources":["../js/utils/util.js","../js/utils/device.js","../node_modules/fitty/dist/fitty.module.js","../js/controllers/slidecontent.js","../js/controllers/slidenumber.js","../js/utils/color.js","../js/controllers/backgrounds.js","../js/utils/constants.js","../js/controllers/autoanimate.js","../js/controllers/fragments.js","../js/controllers/overview.js","../js/controllers/keyboard.js","../js/controllers/location.js","../js/controllers/controls.js","../js/controllers/progress.js","../js/controllers/pointer.js","../js/utils/loader.js","../js/controllers/plugins.js","../js/controllers/print.js","../js/controllers/touch.js","../js/controllers/focus.js","../js/controllers/notes.js","../js/components/playback.js","../js/config.js","../js/reveal.js","../js/index.js"],"sourcesContent":["/**\n * Extend object a with the properties of object b.\n * If there's a conflict, object b takes precedence.\n *\n * @param {object} a\n * @param {object} b\n */\nexport const extend = ( a, b ) => {\n\n\tfor( let i in b ) {\n\t\ta[ i ] = b[ i ];\n\t}\n\n\treturn a;\n\n}\n\n/**\n * querySelectorAll but returns an Array.\n */\nexport const queryAll = ( el, selector ) => {\n\n\treturn Array.from( el.querySelectorAll( selector ) );\n\n}\n\n/**\n * classList.toggle() with cross browser support\n */\nexport const toggleClass = ( el, className, value ) => {\n\tif( value ) {\n\t\tel.classList.add( className );\n\t}\n\telse {\n\t\tel.classList.remove( className );\n\t}\n}\n\n/**\n * Utility for deserializing a value.\n *\n * @param {*} value\n * @return {*}\n */\nexport const deserialize = ( value ) => {\n\n\tif( typeof value === 'string' ) {\n\t\tif( value === 'null' ) return null;\n\t\telse if( value === 'true' ) return true;\n\t\telse if( value === 'false' ) return false;\n\t\telse if( value.match( /^-?[\\d\\.]+$/ ) ) return parseFloat( value );\n\t}\n\n\treturn value;\n\n}\n\n/**\n * Measures the distance in pixels between point a\n * and point b.\n *\n * @param {object} a point with x/y properties\n * @param {object} b point with x/y properties\n *\n * @return {number}\n */\nexport const distanceBetween = ( a, b ) => {\n\n\tlet dx = a.x - b.x,\n\t\tdy = a.y - b.y;\n\n\treturn Math.sqrt( dx*dx + dy*dy );\n\n}\n\n/**\n * Applies a CSS transform to the target element.\n *\n * @param {HTMLElement} element\n * @param {string} transform\n */\nexport const transformElement = ( element, transform ) => {\n\n\telement.style.transform = transform;\n\n}\n\n/**\n * Element.matches with IE support.\n *\n * @param {HTMLElement} target The element to match\n * @param {String} selector The CSS selector to match\n * the element against\n *\n * @return {Boolean}\n */\nexport const matches = ( target, selector ) => {\n\n\tlet matchesMethod = target.matches || target.matchesSelector || target.msMatchesSelector;\n\n\treturn !!( matchesMethod && matchesMethod.call( target, selector ) );\n\n}\n\n/**\n * Find the closest parent that matches the given\n * selector.\n *\n * @param {HTMLElement} target The child element\n * @param {String} selector The CSS selector to match\n * the parents against\n *\n * @return {HTMLElement} The matched parent or null\n * if no matching parent was found\n */\nexport const closest = ( target, selector ) => {\n\n\t// Native Element.closest\n\tif( typeof target.closest === 'function' ) {\n\t\treturn target.closest( selector );\n\t}\n\n\t// Polyfill\n\twhile( target ) {\n\t\tif( matches( target, selector ) ) {\n\t\t\treturn target;\n\t\t}\n\n\t\t// Keep searching\n\t\ttarget = target.parentNode;\n\t}\n\n\treturn null;\n\n}\n\n/**\n * Handling the fullscreen functionality via the fullscreen API\n *\n * @see http://fullscreen.spec.whatwg.org/\n * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode\n */\nexport const enterFullscreen = element => {\n\n\telement = element || document.documentElement;\n\n\t// Check which implementation is available\n\tlet requestMethod = element.requestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullScreen ||\n\t\t\t\t\t\telement.mozRequestFullScreen ||\n\t\t\t\t\t\telement.msRequestFullscreen;\n\n\tif( requestMethod ) {\n\t\trequestMethod.apply( element );\n\t}\n\n}\n\n/**\n * Creates an HTML element and returns a reference to it.\n * If the element already exists the existing instance will\n * be returned.\n *\n * @param {HTMLElement} container\n * @param {string} tagname\n * @param {string} classname\n * @param {string} innerHTML\n *\n * @return {HTMLElement}\n */\nexport const createSingletonNode = ( container, tagname, classname, innerHTML='' ) => {\n\n\t// Find all nodes matching the description\n\tlet nodes = container.querySelectorAll( '.' + classname );\n\n\t// Check all matches to find one which is a direct child of\n\t// the specified container\n\tfor( let i = 0; i < nodes.length; i++ ) {\n\t\tlet testNode = nodes[i];\n\t\tif( testNode.parentNode === container ) {\n\t\t\treturn testNode;\n\t\t}\n\t}\n\n\t// If no node was found, create it now\n\tlet node = document.createElement( tagname );\n\tnode.className = classname;\n\tnode.innerHTML = innerHTML;\n\tcontainer.appendChild( node );\n\n\treturn node;\n\n}\n\n/**\n * Injects the given CSS styles into the DOM.\n *\n * @param {string} value\n */\nexport const createStyleSheet = ( value ) => {\n\n\tlet tag = document.createElement( 'style' );\n\ttag.type = 'text/css';\n\n\tif( value && value.length > 0 ) {\n\t\tif( tag.styleSheet ) {\n\t\t\ttag.styleSheet.cssText = value;\n\t\t}\n\t\telse {\n\t\t\ttag.appendChild( document.createTextNode( value ) );\n\t\t}\n\t}\n\n\tdocument.head.appendChild( tag );\n\n\treturn tag;\n\n}\n\n/**\n * Returns a key:value hash of all query params.\n */\nexport const getQueryHash = () => {\n\n\tlet query = {};\n\n\tlocation.search.replace( /[A-Z0-9]+?=([\\w\\.%-]*)/gi, a => {\n\t\tquery[ a.split( '=' ).shift() ] = a.split( '=' ).pop();\n\t} );\n\n\t// Basic deserialization\n\tfor( let i in query ) {\n\t\tlet value = query[ i ];\n\n\t\tquery[ i ] = deserialize( unescape( value ) );\n\t}\n\n\t// Do not accept new dependencies via query config to avoid\n\t// the potential of malicious script injection\n\tif( typeof query['dependencies'] !== 'undefined' ) delete query['dependencies'];\n\n\treturn query;\n\n}\n\n/**\n * Returns the remaining height within the parent of the\n * target element.\n *\n * remaining height = [ configured parent height ] - [ current parent height ]\n *\n * @param {HTMLElement} element\n * @param {number} [height]\n */\nexport const getRemainingHeight = ( element, height = 0 ) => {\n\n\tif( element ) {\n\t\tlet newHeight, oldHeight = element.style.height;\n\n\t\t// Change the .stretch element height to 0 in order find the height of all\n\t\t// the other elements\n\t\telement.style.height = '0px';\n\n\t\t// In Overview mode, the parent (.slide) height is set of 700px.\n\t\t// Restore it temporarily to its natural height.\n\t\telement.parentNode.style.height = 'auto';\n\n\t\tnewHeight = height - element.parentNode.offsetHeight;\n\n\t\t// Restore the old height, just in case\n\t\telement.style.height = oldHeight + 'px';\n\n\t\t// Clear the parent (.slide) height. .removeProperty works in IE9+\n\t\telement.parentNode.style.removeProperty('height');\n\n\t\treturn newHeight;\n\t}\n\n\treturn height;\n\n}\n\nconst fileExtensionToMimeMap = {\n\t'mp4': 'video/mp4',\n\t'm4a': 'video/mp4',\n\t'ogv': 'video/ogg',\n\t'mpeg': 'video/mpeg',\n\t'webm': 'video/webm'\n}\n\n/**\n * Guess the MIME type for common file formats.\n */\nexport const getMimeTypeFromFile = ( filename='' ) => {\n\treturn fileExtensionToMimeMap[filename.split('.').pop()]\n}","const UA = navigator.userAgent;\n\nexport const isMobile = /(iphone|ipod|ipad|android)/gi.test( UA ) ||\n\t\t\t\t\t\t( navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 ); // iPadOS\n\nexport const isChrome = /chrome/i.test( UA ) && !/edge/i.test( UA );\n\nexport const isAndroid = /android/gi.test( UA );","/*\n * fitty v2.3.3 - Snugly resizes text to fit its parent container\n * Copyright (c) 2020 Rik Schennink (https://pqina.nl/)\n */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function (w) {\n\n // no window, early exit\n if (!w) return;\n\n // node list to array helper method\n var toArray = function toArray(nl) {\n return [].slice.call(nl);\n };\n\n // states\n var DrawState = {\n IDLE: 0,\n DIRTY_CONTENT: 1,\n DIRTY_LAYOUT: 2,\n DIRTY: 3\n };\n\n // all active fitty elements\n var fitties = [];\n\n // group all redraw calls till next frame, we cancel each frame request when a new one comes in. If no support for request animation frame, this is an empty function and supports for fitty stops.\n var redrawFrame = null;\n var requestRedraw = 'requestAnimationFrame' in w ? function () {\n w.cancelAnimationFrame(redrawFrame);\n redrawFrame = w.requestAnimationFrame(function () {\n return redraw(fitties.filter(function (f) {\n return f.dirty && f.active;\n }));\n });\n } : function () {};\n\n // sets all fitties to dirty so they are redrawn on the next redraw loop, then calls redraw\n var redrawAll = function redrawAll(type) {\n return function () {\n fitties.forEach(function (f) {\n return f.dirty = type;\n });\n requestRedraw();\n };\n };\n\n // redraws fitties so they nicely fit their parent container\n var redraw = function redraw(fitties) {\n\n // getting info from the DOM at this point should not trigger a reflow, let's gather as much intel as possible before triggering a reflow\n\n // check if styles of all fitties have been computed\n fitties.filter(function (f) {\n return !f.styleComputed;\n }).forEach(function (f) {\n f.styleComputed = computeStyle(f);\n });\n\n // restyle elements that require pre-styling, this triggers a reflow, please try to prevent by adding CSS rules (see docs)\n fitties.filter(shouldPreStyle).forEach(applyStyle);\n\n // we now determine which fitties should be redrawn\n var fittiesToRedraw = fitties.filter(shouldRedraw);\n\n // we calculate final styles for these fitties\n fittiesToRedraw.forEach(calculateStyles);\n\n // now we apply the calculated styles from our previous loop\n fittiesToRedraw.forEach(function (f) {\n applyStyle(f);\n markAsClean(f);\n });\n\n // now we dispatch events for all restyled fitties\n fittiesToRedraw.forEach(dispatchFitEvent);\n };\n\n var markAsClean = function markAsClean(f) {\n return f.dirty = DrawState.IDLE;\n };\n\n var calculateStyles = function calculateStyles(f) {\n\n // get available width from parent node\n f.availableWidth = f.element.parentNode.clientWidth;\n\n // the space our target element uses\n f.currentWidth = f.element.scrollWidth;\n\n // remember current font size\n f.previousFontSize = f.currentFontSize;\n\n // let's calculate the new font size\n f.currentFontSize = Math.min(Math.max(f.minSize, f.availableWidth / f.currentWidth * f.previousFontSize), f.maxSize);\n\n // if allows wrapping, only wrap when at minimum font size (otherwise would break container)\n f.whiteSpace = f.multiLine && f.currentFontSize === f.minSize ? 'normal' : 'nowrap';\n };\n\n // should always redraw if is not dirty layout, if is dirty layout, only redraw if size has changed\n var shouldRedraw = function shouldRedraw(f) {\n return f.dirty !== DrawState.DIRTY_LAYOUT || f.dirty === DrawState.DIRTY_LAYOUT && f.element.parentNode.clientWidth !== f.availableWidth;\n };\n\n // every fitty element is tested for invalid styles\n var computeStyle = function computeStyle(f) {\n\n // get style properties\n var style = w.getComputedStyle(f.element, null);\n\n // get current font size in pixels (if we already calculated it, use the calculated version)\n f.currentFontSize = parseFloat(style.getPropertyValue('font-size'));\n\n // get display type and wrap mode\n f.display = style.getPropertyValue('display');\n f.whiteSpace = style.getPropertyValue('white-space');\n };\n\n // determines if this fitty requires initial styling, can be prevented by applying correct styles through CSS\n var shouldPreStyle = function shouldPreStyle(f) {\n\n var preStyle = false;\n\n // if we already tested for prestyling we don't have to do it again\n if (f.preStyleTestCompleted) return false;\n\n // should have an inline style, if not, apply\n if (!/inline-/.test(f.display)) {\n preStyle = true;\n f.display = 'inline-block';\n }\n\n // to correctly calculate dimensions the element should have whiteSpace set to nowrap\n if (f.whiteSpace !== 'nowrap') {\n preStyle = true;\n f.whiteSpace = 'nowrap';\n }\n\n // we don't have to do this twice\n f.preStyleTestCompleted = true;\n\n return preStyle;\n };\n\n // apply styles to single fitty\n var applyStyle = function applyStyle(f) {\n f.element.style.whiteSpace = f.whiteSpace;\n f.element.style.display = f.display;\n f.element.style.fontSize = f.currentFontSize + 'px';\n };\n\n // dispatch a fit event on a fitty\n var dispatchFitEvent = function dispatchFitEvent(f) {\n f.element.dispatchEvent(new CustomEvent('fit', {\n detail: {\n oldValue: f.previousFontSize,\n newValue: f.currentFontSize,\n scaleFactor: f.currentFontSize / f.previousFontSize\n }\n }));\n };\n\n // fit method, marks the fitty as dirty and requests a redraw (this will also redraw any other fitty marked as dirty)\n var fit = function fit(f, type) {\n return function () {\n f.dirty = type;\n if (!f.active) return;\n requestRedraw();\n };\n };\n\n var init = function init(f) {\n\n // save some of the original CSS properties before we change them\n f.originalStyle = {\n whiteSpace: f.element.style.whiteSpace,\n display: f.element.style.display,\n fontSize: f.element.style.fontSize\n };\n\n // should we observe DOM mutations\n observeMutations(f);\n\n // this is a new fitty so we need to validate if it's styles are in order\n f.newbie = true;\n\n // because it's a new fitty it should also be dirty, we want it to redraw on the first loop\n f.dirty = true;\n\n // we want to be able to update this fitty\n fitties.push(f);\n };\n\n var destroy = function destroy(f) {\n return function () {\n\n // remove from fitties array\n fitties = fitties.filter(function (_) {\n return _.element !== f.element;\n });\n\n // stop observing DOM\n if (f.observeMutations) f.observer.disconnect();\n\n // reset the CSS properties we changes\n f.element.style.whiteSpace = f.originalStyle.whiteSpace;\n f.element.style.display = f.originalStyle.display;\n f.element.style.fontSize = f.originalStyle.fontSize;\n };\n };\n\n // add a new fitty, does not redraw said fitty\n var subscribe = function subscribe(f) {\n return function () {\n if (f.active) return;\n f.active = true;\n requestRedraw();\n };\n };\n\n // remove an existing fitty\n var unsubscribe = function unsubscribe(f) {\n return function () {\n return f.active = false;\n };\n };\n\n var observeMutations = function observeMutations(f) {\n\n // no observing?\n if (!f.observeMutations) return;\n\n // start observing mutations\n f.observer = new MutationObserver(fit(f, DrawState.DIRTY_CONTENT));\n\n // start observing\n f.observer.observe(f.element, f.observeMutations);\n };\n\n // default mutation observer settings\n var mutationObserverDefaultSetting = {\n subtree: true,\n childList: true,\n characterData: true\n };\n\n // default fitty options\n var defaultOptions = {\n minSize: 16,\n maxSize: 512,\n multiLine: true,\n observeMutations: 'MutationObserver' in w ? mutationObserverDefaultSetting : false\n };\n\n // array of elements in, fitty instances out\n function fittyCreate(elements, options) {\n\n // set options object\n var fittyOptions = _extends({}, defaultOptions, options);\n\n // create fitties\n var publicFitties = elements.map(function (element) {\n\n // create fitty instance\n var f = _extends({}, fittyOptions, {\n\n // internal options for this fitty\n element: element,\n active: true\n });\n\n // initialise this fitty\n init(f);\n\n // expose API\n return {\n element: element,\n fit: fit(f, DrawState.DIRTY),\n unfreeze: subscribe(f),\n freeze: unsubscribe(f),\n unsubscribe: destroy(f)\n };\n });\n\n // call redraw on newly initiated fitties\n requestRedraw();\n\n // expose fitties\n return publicFitties;\n }\n\n // fitty creation function\n function fitty(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // if target is a string\n return typeof target === 'string' ?\n\n // treat it as a querySelector\n fittyCreate(toArray(document.querySelectorAll(target)), options) :\n\n // create single fitty\n fittyCreate([target], options)[0];\n }\n\n // handles viewport changes, redraws all fitties, but only does so after a timeout\n var resizeDebounce = null;\n var onWindowResized = function onWindowResized() {\n w.clearTimeout(resizeDebounce);\n resizeDebounce = w.setTimeout(redrawAll(DrawState.DIRTY_LAYOUT), fitty.observeWindowDelay);\n };\n\n // define observe window property, so when we set it to true or false events are automatically added and removed\n var events = ['resize', 'orientationchange'];\n Object.defineProperty(fitty, 'observeWindow', {\n set: function set(enabled) {\n var method = (enabled ? 'add' : 'remove') + 'EventListener';\n events.forEach(function (e) {\n w[method](e, onWindowResized);\n });\n }\n });\n\n // fitty global properties (by setting observeWindow to true the events above get added)\n fitty.observeWindow = true;\n fitty.observeWindowDelay = 100;\n\n // public fit all method, will force redraw no matter what\n fitty.fitAll = redrawAll(DrawState.DIRTY);\n\n // export our fitty function, we don't want to keep it to our selves\n return fitty;\n}(typeof window === 'undefined' ? null : window);","import { extend, queryAll, closest, getMimeTypeFromFile } from '../utils/util.js'\nimport { isMobile } from '../utils/device.js'\n\nimport fitty from 'fitty';\n\n/**\n * Handles loading, unloading and playback of slide\n * content such as images, videos and iframes.\n */\nexport default class SlideContent {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\tthis.startEmbeddedIframe = this.startEmbeddedIframe.bind( this );\n\n\t}\n\n\t/**\n\t * Should the given element be preloaded?\n\t * Decides based on local element attributes and global config.\n\t *\n\t * @param {HTMLElement} element\n\t */\n\tshouldPreload( element ) {\n\n\t\t// Prefer an explicit global preload setting\n\t\tlet preload = this.Reveal.getConfig().preloadIframes;\n\n\t\t// If no global setting is available, fall back on the element's\n\t\t// own preload setting\n\t\tif( typeof preload !== 'boolean' ) {\n\t\t\tpreload = element.hasAttribute( 'data-preload' );\n\t\t}\n\n\t\treturn preload;\n\t}\n\n\t/**\n\t * Called when the given slide is within the configured view\n\t * distance. Shows the slide element and loads any content\n\t * that is set to load lazily (data-src).\n\t *\n\t * @param {HTMLElement} slide Slide to show\n\t */\n\tload( slide, options = {} ) {\n\n\t\t// Show the slide element\n\t\tslide.style.display = this.Reveal.getConfig().display;\n\n\t\t// Media elements with data-src attributes\n\t\tqueryAll( slide, 'img[data-src], video[data-src], audio[data-src], iframe[data-src]' ).forEach( element => {\n\t\t\tif( element.tagName !== 'IFRAME' || this.shouldPreload( element ) ) {\n\t\t\t\telement.setAttribute( 'src', element.getAttribute( 'data-src' ) );\n\t\t\t\telement.setAttribute( 'data-lazy-loaded', '' );\n\t\t\t\telement.removeAttribute( 'data-src' );\n\t\t\t}\n\t\t} );\n\n\t\t// Media elements with children\n\t\tqueryAll( slide, 'video, audio' ).forEach( media => {\n\t\t\tlet sources = 0;\n\n\t\t\tqueryAll( media, 'source[data-src]' ).forEach( source => {\n\t\t\t\tsource.setAttribute( 'src', source.getAttribute( 'data-src' ) );\n\t\t\t\tsource.removeAttribute( 'data-src' );\n\t\t\t\tsource.setAttribute( 'data-lazy-loaded', '' );\n\t\t\t\tsources += 1;\n\t\t\t} );\n\n\t\t\t// Enable inline video playback in mobile Safari\n\t\t\tif( isMobile && media.tagName === 'VIDEO' ) {\n\t\t\t\tmedia.setAttribute( 'playsinline', '' );\n\t\t\t}\n\n\t\t\t// If we rewrote sources for this video/audio element, we need\n\t\t\t// to manually tell it to load from its new origin\n\t\t\tif( sources > 0 ) {\n\t\t\t\tmedia.load();\n\t\t\t}\n\t\t} );\n\n\n\t\t// Show the corresponding background element\n\t\tlet background = slide.slideBackgroundElement;\n\t\tif( background ) {\n\t\t\tbackground.style.display = 'block';\n\n\t\t\tlet backgroundContent = slide.slideBackgroundContentElement;\n\t\t\tlet backgroundIframe = slide.getAttribute( 'data-background-iframe' );\n\n\t\t\t// If the background contains media, load it\n\t\t\tif( background.hasAttribute( 'data-loaded' ) === false ) {\n\t\t\t\tbackground.setAttribute( 'data-loaded', 'true' );\n\n\t\t\t\tlet backgroundImage = slide.getAttribute( 'data-background-image' ),\n\t\t\t\t\tbackgroundVideo = slide.getAttribute( 'data-background-video' ),\n\t\t\t\t\tbackgroundVideoLoop = slide.hasAttribute( 'data-background-video-loop' ),\n\t\t\t\t\tbackgroundVideoMuted = slide.hasAttribute( 'data-background-video-muted' );\n\n\t\t\t\t// Images\n\t\t\t\tif( backgroundImage ) {\n\t\t\t\t\t// base64\n\t\t\t\t\tif( /^data:/.test( backgroundImage.trim() ) ) {\n\t\t\t\t\t\tbackgroundContent.style.backgroundImage = `url(${backgroundImage.trim()})`;\n\t\t\t\t\t}\n\t\t\t\t\t// URL(s)\n\t\t\t\t\telse {\n\t\t\t\t\t\tbackgroundContent.style.backgroundImage = backgroundImage.split( ',' ).map( background => {\n\t\t\t\t\t\t\treturn `url(${encodeURI(background.trim())})`;\n\t\t\t\t\t\t}).join( ',' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Videos\n\t\t\t\telse if ( backgroundVideo && !this.Reveal.isSpeakerNotes() ) {\n\t\t\t\t\tlet video = document.createElement( 'video' );\n\n\t\t\t\t\tif( backgroundVideoLoop ) {\n\t\t\t\t\t\tvideo.setAttribute( 'loop', '' );\n\t\t\t\t\t}\n\n\t\t\t\t\tif( backgroundVideoMuted ) {\n\t\t\t\t\t\tvideo.muted = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Enable inline playback in mobile Safari\n\t\t\t\t\t//\n\t\t\t\t\t// Mute is required for video to play when using\n\t\t\t\t\t// swipe gestures to navigate since they don't\n\t\t\t\t\t// count as direct user actions :'(\n\t\t\t\t\tif( isMobile ) {\n\t\t\t\t\t\tvideo.muted = true;\n\t\t\t\t\t\tvideo.setAttribute( 'playsinline', '' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support comma separated lists of video sources\n\t\t\t\t\tbackgroundVideo.split( ',' ).forEach( source => {\n\t\t\t\t\t\tlet type = getMimeTypeFromFile( source );\n\t\t\t\t\t\tif( type ) {\n\t\t\t\t\t\t\tvideo.innerHTML += ``;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvideo.innerHTML += ``;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\tbackgroundContent.appendChild( video );\n\t\t\t\t}\n\t\t\t\t// Iframes\n\t\t\t\telse if( backgroundIframe && options.excludeIframes !== true ) {\n\t\t\t\t\tlet iframe = document.createElement( 'iframe' );\n\t\t\t\t\tiframe.setAttribute( 'allowfullscreen', '' );\n\t\t\t\t\tiframe.setAttribute( 'mozallowfullscreen', '' );\n\t\t\t\t\tiframe.setAttribute( 'webkitallowfullscreen', '' );\n\t\t\t\t\tiframe.setAttribute( 'allow', 'autoplay' );\n\n\t\t\t\t\tiframe.setAttribute( 'data-src', backgroundIframe );\n\n\t\t\t\t\tiframe.style.width = '100%';\n\t\t\t\t\tiframe.style.height = '100%';\n\t\t\t\t\tiframe.style.maxHeight = '100%';\n\t\t\t\t\tiframe.style.maxWidth = '100%';\n\n\t\t\t\t\tbackgroundContent.appendChild( iframe );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start loading preloadable iframes\n\t\t\tlet backgroundIframeElement = backgroundContent.querySelector( 'iframe[data-src]' );\n\t\t\tif( backgroundIframeElement ) {\n\n\t\t\t\t// Check if this iframe is eligible to be preloaded\n\t\t\t\tif( this.shouldPreload( background ) && !/autoplay=(1|true|yes)/gi.test( backgroundIframe ) ) {\n\t\t\t\t\tif( backgroundIframeElement.getAttribute( 'src' ) !== backgroundIframe ) {\n\t\t\t\t\t\tbackgroundIframeElement.setAttribute( 'src', backgroundIframe );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis.layout( slide );\n\n\t}\n\n\t/**\n\t * Applies JS-dependent layout helpers for the given slide,\n\t * if there are any.\n\t */\n\tlayout( slide ) {\n\n\t\t// Autosize text with the r-fit-text class based on the\n\t\t// size of its container. This needs to happen after the\n\t\t// slide is visible in order to measure the text.\n\t\tArray.from( slide.querySelectorAll( '.r-fit-text' ) ).forEach( element => {\n\t\t\tfitty( element, {\n\t\t\t\tminSize: 24,\n\t\t\t\tmaxSize: this.Reveal.getConfig().height * 0.8,\n\t\t\t\tobserveMutations: false,\n\t\t\t\tobserveWindow: false\n\t\t\t} );\n\t\t} );\n\n\t}\n\n\t/**\n\t * Unloads and hides the given slide. This is called when the\n\t * slide is moved outside of the configured view distance.\n\t *\n\t * @param {HTMLElement} slide\n\t */\n\tunload( slide ) {\n\n\t\t// Hide the slide element\n\t\tslide.style.display = 'none';\n\n\t\t// Hide the corresponding background element\n\t\tlet background = this.Reveal.getSlideBackground( slide );\n\t\tif( background ) {\n\t\t\tbackground.style.display = 'none';\n\n\t\t\t// Unload any background iframes\n\t\t\tqueryAll( background, 'iframe[src]' ).forEach( element => {\n\t\t\t\telement.removeAttribute( 'src' );\n\t\t\t} );\n\t\t}\n\n\t\t// Reset lazy-loaded media elements with src attributes\n\t\tqueryAll( slide, 'video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]' ).forEach( element => {\n\t\t\telement.setAttribute( 'data-src', element.getAttribute( 'src' ) );\n\t\t\telement.removeAttribute( 'src' );\n\t\t} );\n\n\t\t// Reset lazy-loaded media elements with children\n\t\tqueryAll( slide, 'video[data-lazy-loaded] source[src], audio source[src]' ).forEach( source => {\n\t\t\tsource.setAttribute( 'data-src', source.getAttribute( 'src' ) );\n\t\t\tsource.removeAttribute( 'src' );\n\t\t} );\n\n\t}\n\n\t/**\n\t * Enforces origin-specific format rules for embedded media.\n\t */\n\tformatEmbeddedContent() {\n\n\t\tlet _appendParamToIframeSource = ( sourceAttribute, sourceURL, param ) => {\n\t\t\tqueryAll( this.Reveal.getSlidesElement(), 'iframe['+ sourceAttribute +'*=\"'+ sourceURL +'\"]' ).forEach( el => {\n\t\t\t\tlet src = el.getAttribute( sourceAttribute );\n\t\t\t\tif( src && src.indexOf( param ) === -1 ) {\n\t\t\t\t\tel.setAttribute( sourceAttribute, src + ( !/\\?/.test( src ) ? '?' : '&' ) + param );\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// YouTube frames must include \"?enablejsapi=1\"\n\t\t_appendParamToIframeSource( 'src', 'youtube.com/embed/', 'enablejsapi=1' );\n\t\t_appendParamToIframeSource( 'data-src', 'youtube.com/embed/', 'enablejsapi=1' );\n\n\t\t// Vimeo frames must include \"?api=1\"\n\t\t_appendParamToIframeSource( 'src', 'player.vimeo.com/', 'api=1' );\n\t\t_appendParamToIframeSource( 'data-src', 'player.vimeo.com/', 'api=1' );\n\n\t}\n\n\t/**\n\t * Start playback of any embedded content inside of\n\t * the given element.\n\t *\n\t * @param {HTMLElement} element\n\t */\n\tstartEmbeddedContent( element ) {\n\n\t\tif( element && !this.Reveal.isSpeakerNotes() ) {\n\n\t\t\t// Restart GIFs\n\t\t\tqueryAll( element, 'img[src$=\".gif\"]' ).forEach( el => {\n\t\t\t\t// Setting the same unchanged source like this was confirmed\n\t\t\t\t// to work in Chrome, FF & Safari\n\t\t\t\tel.setAttribute( 'src', el.getAttribute( 'src' ) );\n\t\t\t} );\n\n\t\t\t// HTML5 media elements\n\t\t\tqueryAll( element, 'video, audio' ).forEach( el => {\n\t\t\t\tif( closest( el, '.fragment' ) && !closest( el, '.fragment.visible' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Prefer an explicit global autoplay setting\n\t\t\t\tlet autoplay = this.Reveal.getConfig().autoPlayMedia;\n\n\t\t\t\t// If no global setting is available, fall back on the element's\n\t\t\t\t// own autoplay setting\n\t\t\t\tif( typeof autoplay !== 'boolean' ) {\n\t\t\t\t\tautoplay = el.hasAttribute( 'data-autoplay' ) || !!closest( el, '.slide-background' );\n\t\t\t\t}\n\n\t\t\t\tif( autoplay && typeof el.play === 'function' ) {\n\n\t\t\t\t\t// If the media is ready, start playback\n\t\t\t\t\tif( el.readyState > 1 ) {\n\t\t\t\t\t\tthis.startEmbeddedMedia( { target: el } );\n\t\t\t\t\t}\n\t\t\t\t\t// Mobile devices never fire a loaded event so instead\n\t\t\t\t\t// of waiting, we initiate playback\n\t\t\t\t\telse if( isMobile ) {\n\t\t\t\t\t\tlet promise = el.play();\n\n\t\t\t\t\t\t// If autoplay does not work, ensure that the controls are visible so\n\t\t\t\t\t\t// that the viewer can start the media on their own\n\t\t\t\t\t\tif( promise && typeof promise.catch === 'function' && el.controls === false ) {\n\t\t\t\t\t\t\tpromise.catch( () => {\n\t\t\t\t\t\t\t\tel.controls = true;\n\n\t\t\t\t\t\t\t\t// Once the video does start playing, hide the controls again\n\t\t\t\t\t\t\t\tel.addEventListener( 'play', () => {\n\t\t\t\t\t\t\t\t\tel.controls = false;\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// If the media isn't loaded, wait before playing\n\t\t\t\t\telse {\n\t\t\t\t\t\tel.removeEventListener( 'loadeddata', this.startEmbeddedMedia ); // remove first to avoid dupes\n\t\t\t\t\t\tel.addEventListener( 'loadeddata', this.startEmbeddedMedia );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Normal iframes\n\t\t\tqueryAll( element, 'iframe[src]' ).forEach( el => {\n\t\t\t\tif( closest( el, '.fragment' ) && !closest( el, '.fragment.visible' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.startEmbeddedIframe( { target: el } );\n\t\t\t} );\n\n\t\t\t// Lazy loading iframes\n\t\t\tqueryAll( element, 'iframe[data-src]' ).forEach( el => {\n\t\t\t\tif( closest( el, '.fragment' ) && !closest( el, '.fragment.visible' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif( el.getAttribute( 'src' ) !== el.getAttribute( 'data-src' ) ) {\n\t\t\t\t\tel.removeEventListener( 'load', this.startEmbeddedIframe ); // remove first to avoid dupes\n\t\t\t\t\tel.addEventListener( 'load', this.startEmbeddedIframe );\n\t\t\t\t\tel.setAttribute( 'src', el.getAttribute( 'data-src' ) );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Starts playing an embedded video/audio element after\n\t * it has finished loading.\n\t *\n\t * @param {object} event\n\t */\n\tstartEmbeddedMedia( event ) {\n\n\t\tlet isAttachedToDOM = !!closest( event.target, 'html' ),\n\t\t\tisVisible \t\t= !!closest( event.target, '.present' );\n\n\t\tif( isAttachedToDOM && isVisible ) {\n\t\t\tevent.target.currentTime = 0;\n\t\t\tevent.target.play();\n\t\t}\n\n\t\tevent.target.removeEventListener( 'loadeddata', this.startEmbeddedMedia );\n\n\t}\n\n\t/**\n\t * \"Starts\" the content of an embedded iframe using the\n\t * postMessage API.\n\t *\n\t * @param {object} event\n\t */\n\tstartEmbeddedIframe( event ) {\n\n\t\tlet iframe = event.target;\n\n\t\tif( iframe && iframe.contentWindow ) {\n\n\t\t\tlet isAttachedToDOM = !!closest( event.target, 'html' ),\n\t\t\t\tisVisible \t\t= !!closest( event.target, '.present' );\n\n\t\t\tif( isAttachedToDOM && isVisible ) {\n\n\t\t\t\t// Prefer an explicit global autoplay setting\n\t\t\t\tlet autoplay = this.Reveal.getConfig().autoPlayMedia;\n\n\t\t\t\t// If no global setting is available, fall back on the element's\n\t\t\t\t// own autoplay setting\n\t\t\t\tif( typeof autoplay !== 'boolean' ) {\n\t\t\t\t\tautoplay = iframe.hasAttribute( 'data-autoplay' ) || !!closest( iframe, '.slide-background' );\n\t\t\t\t}\n\n\t\t\t\t// YouTube postMessage API\n\t\t\t\tif( /youtube\\.com\\/embed\\//.test( iframe.getAttribute( 'src' ) ) && autoplay ) {\n\t\t\t\t\tiframe.contentWindow.postMessage( '{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}', '*' );\n\t\t\t\t}\n\t\t\t\t// Vimeo postMessage API\n\t\t\t\telse if( /player\\.vimeo\\.com\\//.test( iframe.getAttribute( 'src' ) ) && autoplay ) {\n\t\t\t\t\tiframe.contentWindow.postMessage( '{\"method\":\"play\"}', '*' );\n\t\t\t\t}\n\t\t\t\t// Generic postMessage API\n\t\t\t\telse {\n\t\t\t\t\tiframe.contentWindow.postMessage( 'slide:start', '*' );\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Stop playback of any embedded content inside of\n\t * the targeted slide.\n\t *\n\t * @param {HTMLElement} element\n\t */\n\tstopEmbeddedContent( element, options = {} ) {\n\n\t\toptions = extend( {\n\t\t\t// Defaults\n\t\t\tunloadIframes: true\n\t\t}, options );\n\n\t\tif( element && element.parentNode ) {\n\t\t\t// HTML5 media elements\n\t\t\tqueryAll( element, 'video, audio' ).forEach( el => {\n\t\t\t\tif( !el.hasAttribute( 'data-ignore' ) && typeof el.pause === 'function' ) {\n\t\t\t\t\tel.setAttribute('data-paused-by-reveal', '');\n\t\t\t\t\tel.pause();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Generic postMessage API for non-lazy loaded iframes\n\t\t\tqueryAll( element, 'iframe' ).forEach( el => {\n\t\t\t\tif( el.contentWindow ) el.contentWindow.postMessage( 'slide:stop', '*' );\n\t\t\t\tel.removeEventListener( 'load', this.startEmbeddedIframe );\n\t\t\t});\n\n\t\t\t// YouTube postMessage API\n\t\t\tqueryAll( element, 'iframe[src*=\"youtube.com/embed/\"]' ).forEach( el => {\n\t\t\t\tif( !el.hasAttribute( 'data-ignore' ) && el.contentWindow && typeof el.contentWindow.postMessage === 'function' ) {\n\t\t\t\t\tel.contentWindow.postMessage( '{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}', '*' );\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Vimeo postMessage API\n\t\t\tqueryAll( element, 'iframe[src*=\"player.vimeo.com/\"]' ).forEach( el => {\n\t\t\t\tif( !el.hasAttribute( 'data-ignore' ) && el.contentWindow && typeof el.contentWindow.postMessage === 'function' ) {\n\t\t\t\t\tel.contentWindow.postMessage( '{\"method\":\"pause\"}', '*' );\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif( options.unloadIframes === true ) {\n\t\t\t\t// Unload lazy-loaded iframes\n\t\t\t\tqueryAll( element, 'iframe[data-src]' ).forEach( el => {\n\t\t\t\t\t// Only removing the src doesn't actually unload the frame\n\t\t\t\t\t// in all browsers (Firefox) so we set it to blank first\n\t\t\t\t\tel.setAttribute( 'src', 'about:blank' );\n\t\t\t\t\tel.removeAttribute( 'src' );\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t}\n\n}\n","/**\n * Handles the display of reveal.js' optional slide number.\n */\nexport default class SlideNumber {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t}\n\n\trender() {\n\n\t\tthis.element = document.createElement( 'div' );\n\t\tthis.element.className = 'slide-number';\n\t\tthis.Reveal.getRevealElement().appendChild( this.element );\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tlet slideNumberDisplay = 'none';\n\t\tif( config.slideNumber && !this.Reveal.isPrintingPDF() ) {\n\t\t\tif( config.showSlideNumber === 'all' ) {\n\t\t\t\tslideNumberDisplay = 'block';\n\t\t\t}\n\t\t\telse if( config.showSlideNumber === 'speaker' && this.Reveal.isSpeakerNotes() ) {\n\t\t\t\tslideNumberDisplay = 'block';\n\t\t\t}\n\t\t}\n\n\t\tthis.element.style.display = slideNumberDisplay;\n\n\t}\n\n\t/**\n\t * Updates the slide number to match the current slide.\n\t */\n\tupdate() {\n\n\t\t// Update slide number if enabled\n\t\tif( this.Reveal.getConfig().slideNumber && this.element ) {\n\t\t\tthis.element.innerHTML = this.getSlideNumber();\n\t\t}\n\n\t}\n\n\t/**\n\t * Returns the HTML string corresponding to the current slide\n\t * number, including formatting.\n\t */\n\tgetSlideNumber( slide = this.Reveal.getCurrentSlide() ) {\n\n\t\tlet config = this.Reveal.getConfig();\n\t\tlet value;\n\t\tlet format = 'h.v';\n\n\t\tif ( typeof config.slideNumber === 'function' ) {\n\t\t\tvalue = config.slideNumber( slide );\n\t\t} else {\n\t\t\t// Check if a custom number format is available\n\t\t\tif( typeof config.slideNumber === 'string' ) {\n\t\t\t\tformat = config.slideNumber;\n\t\t\t}\n\n\t\t\t// If there are ONLY vertical slides in this deck, always use\n\t\t\t// a flattened slide number\n\t\t\tif( !/c/.test( format ) && this.Reveal.getHorizontalSlides().length === 1 ) {\n\t\t\t\tformat = 'c';\n\t\t\t}\n\n\t\t\t// Offset the current slide number by 1 to make it 1-indexed\n\t\t\tlet horizontalOffset = slide && slide.dataset.visibility === 'uncounted' ? 0 : 1;\n\n\t\t\tvalue = [];\n\t\t\tswitch( format ) {\n\t\t\t\tcase 'c':\n\t\t\t\t\tvalue.push( this.Reveal.getSlidePastCount( slide ) + horizontalOffset );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'c/t':\n\t\t\t\t\tvalue.push( this.Reveal.getSlidePastCount( slide ) + horizontalOffset, '/', this.Reveal.getTotalSlides() );\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tlet indices = this.Reveal.getIndices( slide );\n\t\t\t\t\tvalue.push( indices.h + horizontalOffset );\n\t\t\t\t\tlet sep = format === 'h/v' ? '/' : '.';\n\t\t\t\t\tif( this.Reveal.isVerticalSlide( slide ) ) value.push( sep, indices.v + 1 );\n\t\t\t}\n\t\t}\n\n\t\tlet url = '#' + this.Reveal.location.getHash( slide );\n\t\treturn this.formatNumber( value[0], value[1], value[2], url );\n\n\t}\n\n\t/**\n\t * Applies HTML formatting to a slide number before it's\n\t * written to the DOM.\n\t *\n\t * @param {number} a Current slide\n\t * @param {string} delimiter Character to separate slide numbers\n\t * @param {(number|*)} b Total slides\n\t * @param {HTMLElement} [url='#'+locationHash()] The url to link to\n\t * @return {string} HTML string fragment\n\t */\n\tformatNumber( a, delimiter, b, url = '#' + this.Reveal.location.getHash() ) {\n\n\t\tif( typeof b === 'number' && !isNaN( b ) ) {\n\t\t\treturn `\n\t\t\t\t\t${a}\n\t\t\t\t\t${delimiter}\n\t\t\t\t\t${b}\n\t\t\t\t\t`;\n\t\t}\n\t\telse {\n\t\t\treturn `\n\t\t\t\t\t${a}\n\t\t\t\t\t`;\n\t\t}\n\n\t}\n\n\tdestroy() {\n\n\t\tthis.element.remove();\n\n\t}\n\n}","/**\n * Converts various color input formats to an {r:0,g:0,b:0} object.\n *\n * @param {string} color The string representation of a color\n * @example\n * colorToRgb('#000');\n * @example\n * colorToRgb('#000000');\n * @example\n * colorToRgb('rgb(0,0,0)');\n * @example\n * colorToRgb('rgba(0,0,0)');\n *\n * @return {{r: number, g: number, b: number, [a]: number}|null}\n */\nexport const colorToRgb = ( color ) => {\n\n\tlet hex3 = color.match( /^#([0-9a-f]{3})$/i );\n\tif( hex3 && hex3[1] ) {\n\t\thex3 = hex3[1];\n\t\treturn {\n\t\t\tr: parseInt( hex3.charAt( 0 ), 16 ) * 0x11,\n\t\t\tg: parseInt( hex3.charAt( 1 ), 16 ) * 0x11,\n\t\t\tb: parseInt( hex3.charAt( 2 ), 16 ) * 0x11\n\t\t};\n\t}\n\n\tlet hex6 = color.match( /^#([0-9a-f]{6})$/i );\n\tif( hex6 && hex6[1] ) {\n\t\thex6 = hex6[1];\n\t\treturn {\n\t\t\tr: parseInt( hex6.slice( 0, 2 ), 16 ),\n\t\t\tg: parseInt( hex6.slice( 2, 4 ), 16 ),\n\t\t\tb: parseInt( hex6.slice( 4, 6 ), 16 )\n\t\t};\n\t}\n\n\tlet rgb = color.match( /^rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)$/i );\n\tif( rgb ) {\n\t\treturn {\n\t\t\tr: parseInt( rgb[1], 10 ),\n\t\t\tg: parseInt( rgb[2], 10 ),\n\t\t\tb: parseInt( rgb[3], 10 )\n\t\t};\n\t}\n\n\tlet rgba = color.match( /^rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\,\\s*([\\d]+|[\\d]*.[\\d]+)\\s*\\)$/i );\n\tif( rgba ) {\n\t\treturn {\n\t\t\tr: parseInt( rgba[1], 10 ),\n\t\t\tg: parseInt( rgba[2], 10 ),\n\t\t\tb: parseInt( rgba[3], 10 ),\n\t\t\ta: parseFloat( rgba[4] )\n\t\t};\n\t}\n\n\treturn null;\n\n}\n\n/**\n * Calculates brightness on a scale of 0-255.\n *\n * @param {string} color See colorToRgb for supported formats.\n * @see {@link colorToRgb}\n */\nexport const colorBrightness = ( color ) => {\n\n\tif( typeof color === 'string' ) color = colorToRgb( color );\n\n\tif( color ) {\n\t\treturn ( color.r * 299 + color.g * 587 + color.b * 114 ) / 1000;\n\t}\n\n\treturn null;\n\n}","import { queryAll } from '../utils/util.js'\nimport { colorToRgb, colorBrightness } from '../utils/color.js'\n\n/**\n * Creates and updates slide backgrounds.\n */\nexport default class Backgrounds {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t}\n\n\trender() {\n\n\t\tthis.element = document.createElement( 'div' );\n\t\tthis.element.className = 'backgrounds';\n\t\tthis.Reveal.getRevealElement().appendChild( this.element );\n\n\t}\n\n\t/**\n\t * Creates the slide background elements and appends them\n\t * to the background container. One element is created per\n\t * slide no matter if the given slide has visible background.\n\t */\n\tcreate() {\n\n\t\t// Clear prior backgrounds\n\t\tthis.element.innerHTML = '';\n\t\tthis.element.classList.add( 'no-transition' );\n\n\t\t// Iterate over all horizontal slides\n\t\tthis.Reveal.getHorizontalSlides().forEach( slideh => {\n\n\t\t\tlet backgroundStack = this.createBackground( slideh, this.element );\n\n\t\t\t// Iterate over all vertical slides\n\t\t\tqueryAll( slideh, 'section' ).forEach( slidev => {\n\n\t\t\t\tthis.createBackground( slidev, backgroundStack );\n\n\t\t\t\tbackgroundStack.classList.add( 'stack' );\n\n\t\t\t} );\n\n\t\t} );\n\n\t\t// Add parallax background if specified\n\t\tif( this.Reveal.getConfig().parallaxBackgroundImage ) {\n\n\t\t\tthis.element.style.backgroundImage = 'url(\"' + this.Reveal.getConfig().parallaxBackgroundImage + '\")';\n\t\t\tthis.element.style.backgroundSize = this.Reveal.getConfig().parallaxBackgroundSize;\n\t\t\tthis.element.style.backgroundRepeat = this.Reveal.getConfig().parallaxBackgroundRepeat;\n\t\t\tthis.element.style.backgroundPosition = this.Reveal.getConfig().parallaxBackgroundPosition;\n\n\t\t\t// Make sure the below properties are set on the element - these properties are\n\t\t\t// needed for proper transitions to be set on the element via CSS. To remove\n\t\t\t// annoying background slide-in effect when the presentation starts, apply\n\t\t\t// these properties after short time delay\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.Reveal.getRevealElement().classList.add( 'has-parallax-background' );\n\t\t\t}, 1 );\n\n\t\t}\n\t\telse {\n\n\t\t\tthis.element.style.backgroundImage = '';\n\t\t\tthis.Reveal.getRevealElement().classList.remove( 'has-parallax-background' );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Creates a background for the given slide.\n\t *\n\t * @param {HTMLElement} slide\n\t * @param {HTMLElement} container The element that the background\n\t * should be appended to\n\t * @return {HTMLElement} New background div\n\t */\n\tcreateBackground( slide, container ) {\n\n\t\t// Main slide background element\n\t\tlet element = document.createElement( 'div' );\n\t\telement.className = 'slide-background ' + slide.className.replace( /present|past|future/, '' );\n\n\t\t// Inner background element that wraps images/videos/iframes\n\t\tlet contentElement = document.createElement( 'div' );\n\t\tcontentElement.className = 'slide-background-content';\n\n\t\telement.appendChild( contentElement );\n\t\tcontainer.appendChild( element );\n\n\t\tslide.slideBackgroundElement = element;\n\t\tslide.slideBackgroundContentElement = contentElement;\n\n\t\t// Syncs the background to reflect all current background settings\n\t\tthis.sync( slide );\n\n\t\treturn element;\n\n\t}\n\n\t/**\n\t * Renders all of the visual properties of a slide background\n\t * based on the various background attributes.\n\t *\n\t * @param {HTMLElement} slide\n\t */\n\tsync( slide ) {\n\n\t\tconst element = slide.slideBackgroundElement,\n\t\t\tcontentElement = slide.slideBackgroundContentElement;\n\n\t\tconst data = {\n\t\t\tbackground: slide.getAttribute( 'data-background' ),\n\t\t\tbackgroundSize: slide.getAttribute( 'data-background-size' ),\n\t\t\tbackgroundImage: slide.getAttribute( 'data-background-image' ),\n\t\t\tbackgroundVideo: slide.getAttribute( 'data-background-video' ),\n\t\t\tbackgroundIframe: slide.getAttribute( 'data-background-iframe' ),\n\t\t\tbackgroundColor: slide.getAttribute( 'data-background-color' ),\n\t\t\tbackgroundRepeat: slide.getAttribute( 'data-background-repeat' ),\n\t\t\tbackgroundPosition: slide.getAttribute( 'data-background-position' ),\n\t\t\tbackgroundTransition: slide.getAttribute( 'data-background-transition' ),\n\t\t\tbackgroundOpacity: slide.getAttribute( 'data-background-opacity' ),\n\t\t};\n\n\t\tconst dataPreload = slide.hasAttribute( 'data-preload' );\n\n\t\t// Reset the prior background state in case this is not the\n\t\t// initial sync\n\t\tslide.classList.remove( 'has-dark-background' );\n\t\tslide.classList.remove( 'has-light-background' );\n\n\t\telement.removeAttribute( 'data-loaded' );\n\t\telement.removeAttribute( 'data-background-hash' );\n\t\telement.removeAttribute( 'data-background-size' );\n\t\telement.removeAttribute( 'data-background-transition' );\n\t\telement.style.backgroundColor = '';\n\n\t\tcontentElement.style.backgroundSize = '';\n\t\tcontentElement.style.backgroundRepeat = '';\n\t\tcontentElement.style.backgroundPosition = '';\n\t\tcontentElement.style.backgroundImage = '';\n\t\tcontentElement.style.opacity = '';\n\t\tcontentElement.innerHTML = '';\n\n\t\tif( data.background ) {\n\t\t\t// Auto-wrap image urls in url(...)\n\t\t\tif( /^(http|file|\\/\\/)/gi.test( data.background ) || /\\.(svg|png|jpg|jpeg|gif|bmp)([?#\\s]|$)/gi.test( data.background ) ) {\n\t\t\t\tslide.setAttribute( 'data-background-image', data.background );\n\t\t\t}\n\t\t\telse {\n\t\t\t\telement.style.background = data.background;\n\t\t\t}\n\t\t}\n\n\t\t// Create a hash for this combination of background settings.\n\t\t// This is used to determine when two slide backgrounds are\n\t\t// the same.\n\t\tif( data.background || data.backgroundColor || data.backgroundImage || data.backgroundVideo || data.backgroundIframe ) {\n\t\t\telement.setAttribute( 'data-background-hash', data.background +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundSize +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundImage +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundVideo +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundIframe +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundColor +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundRepeat +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundPosition +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundTransition +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata.backgroundOpacity );\n\t\t}\n\n\t\t// Additional and optional background properties\n\t\tif( data.backgroundSize ) element.setAttribute( 'data-background-size', data.backgroundSize );\n\t\tif( data.backgroundColor ) element.style.backgroundColor = data.backgroundColor;\n\t\tif( data.backgroundTransition ) element.setAttribute( 'data-background-transition', data.backgroundTransition );\n\n\t\tif( dataPreload ) element.setAttribute( 'data-preload', '' );\n\n\t\t// Background image options are set on the content wrapper\n\t\tif( data.backgroundSize ) contentElement.style.backgroundSize = data.backgroundSize;\n\t\tif( data.backgroundRepeat ) contentElement.style.backgroundRepeat = data.backgroundRepeat;\n\t\tif( data.backgroundPosition ) contentElement.style.backgroundPosition = data.backgroundPosition;\n\t\tif( data.backgroundOpacity ) contentElement.style.opacity = data.backgroundOpacity;\n\n\t\t// If this slide has a background color, we add a class that\n\t\t// signals if it is light or dark. If the slide has no background\n\t\t// color, no class will be added\n\t\tlet contrastColor = data.backgroundColor;\n\n\t\t// If no bg color was found, or it cannot be converted by colorToRgb, check the computed background\n\t\tif( !contrastColor || !colorToRgb( contrastColor ) ) {\n\t\t\tlet computedBackgroundStyle = window.getComputedStyle( element );\n\t\t\tif( computedBackgroundStyle && computedBackgroundStyle.backgroundColor ) {\n\t\t\t\tcontrastColor = computedBackgroundStyle.backgroundColor;\n\t\t\t}\n\t\t}\n\n\t\tif( contrastColor ) {\n\t\t\tconst rgb = colorToRgb( contrastColor );\n\n\t\t\t// Ignore fully transparent backgrounds. Some browsers return\n\t\t\t// rgba(0,0,0,0) when reading the computed background color of\n\t\t\t// an element with no background\n\t\t\tif( rgb && rgb.a !== 0 ) {\n\t\t\t\tif( colorBrightness( contrastColor ) < 128 ) {\n\t\t\t\t\tslide.classList.add( 'has-dark-background' );\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tslide.classList.add( 'has-light-background' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/**\n\t * Updates the background elements to reflect the current\n\t * slide.\n\t *\n\t * @param {boolean} includeAll If true, the backgrounds of\n\t * all vertical slides (not just the present) will be updated.\n\t */\n\tupdate( includeAll = false ) {\n\n\t\tlet currentSlide = this.Reveal.getCurrentSlide();\n\t\tlet indices = this.Reveal.getIndices();\n\n\t\tlet currentBackground = null;\n\n\t\t// Reverse past/future classes when in RTL mode\n\t\tlet horizontalPast = this.Reveal.getConfig().rtl ? 'future' : 'past',\n\t\t\thorizontalFuture = this.Reveal.getConfig().rtl ? 'past' : 'future';\n\n\t\t// Update the classes of all backgrounds to match the\n\t\t// states of their slides (past/present/future)\n\t\tArray.from( this.element.childNodes ).forEach( ( backgroundh, h ) => {\n\n\t\t\tbackgroundh.classList.remove( 'past', 'present', 'future' );\n\n\t\t\tif( h < indices.h ) {\n\t\t\t\tbackgroundh.classList.add( horizontalPast );\n\t\t\t}\n\t\t\telse if ( h > indices.h ) {\n\t\t\t\tbackgroundh.classList.add( horizontalFuture );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbackgroundh.classList.add( 'present' );\n\n\t\t\t\t// Store a reference to the current background element\n\t\t\t\tcurrentBackground = backgroundh;\n\t\t\t}\n\n\t\t\tif( includeAll || h === indices.h ) {\n\t\t\t\tqueryAll( backgroundh, '.slide-background' ).forEach( ( backgroundv, v ) => {\n\n\t\t\t\t\tbackgroundv.classList.remove( 'past', 'present', 'future' );\n\n\t\t\t\t\tif( v < indices.v ) {\n\t\t\t\t\t\tbackgroundv.classList.add( 'past' );\n\t\t\t\t\t}\n\t\t\t\t\telse if ( v > indices.v ) {\n\t\t\t\t\t\tbackgroundv.classList.add( 'future' );\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tbackgroundv.classList.add( 'present' );\n\n\t\t\t\t\t\t// Only if this is the present horizontal and vertical slide\n\t\t\t\t\t\tif( h === indices.h ) currentBackground = backgroundv;\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\t\t\t}\n\n\t\t} );\n\n\t\t// Stop content inside of previous backgrounds\n\t\tif( this.previousBackground ) {\n\n\t\t\tthis.Reveal.slideContent.stopEmbeddedContent( this.previousBackground, { unloadIframes: !this.Reveal.slideContent.shouldPreload( this.previousBackground ) } );\n\n\t\t}\n\n\t\t// Start content in the current background\n\t\tif( currentBackground ) {\n\n\t\t\tthis.Reveal.slideContent.startEmbeddedContent( currentBackground );\n\n\t\t\tlet currentBackgroundContent = currentBackground.querySelector( '.slide-background-content' );\n\t\t\tif( currentBackgroundContent ) {\n\n\t\t\t\tlet backgroundImageURL = currentBackgroundContent.style.backgroundImage || '';\n\n\t\t\t\t// Restart GIFs (doesn't work in Firefox)\n\t\t\t\tif( /\\.gif/i.test( backgroundImageURL ) ) {\n\t\t\t\t\tcurrentBackgroundContent.style.backgroundImage = '';\n\t\t\t\t\twindow.getComputedStyle( currentBackgroundContent ).opacity;\n\t\t\t\t\tcurrentBackgroundContent.style.backgroundImage = backgroundImageURL;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Don't transition between identical backgrounds. This\n\t\t\t// prevents unwanted flicker.\n\t\t\tlet previousBackgroundHash = this.previousBackground ? this.previousBackground.getAttribute( 'data-background-hash' ) : null;\n\t\t\tlet currentBackgroundHash = currentBackground.getAttribute( 'data-background-hash' );\n\t\t\tif( currentBackgroundHash && currentBackgroundHash === previousBackgroundHash && currentBackground !== this.previousBackground ) {\n\t\t\t\tthis.element.classList.add( 'no-transition' );\n\t\t\t}\n\n\t\t\tthis.previousBackground = currentBackground;\n\n\t\t}\n\n\t\t// If there's a background brightness flag for this slide,\n\t\t// bubble it to the .reveal container\n\t\tif( currentSlide ) {\n\t\t\t[ 'has-light-background', 'has-dark-background' ].forEach( classToBubble => {\n\t\t\t\tif( currentSlide.classList.contains( classToBubble ) ) {\n\t\t\t\t\tthis.Reveal.getRevealElement().classList.add( classToBubble );\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.Reveal.getRevealElement().classList.remove( classToBubble );\n\t\t\t\t}\n\t\t\t}, this );\n\t\t}\n\n\t\t// Allow the first background to apply without transition\n\t\tsetTimeout( () => {\n\t\t\tthis.element.classList.remove( 'no-transition' );\n\t\t}, 1 );\n\n\t}\n\n\t/**\n\t * Updates the position of the parallax background based\n\t * on the current slide index.\n\t */\n\tupdateParallax() {\n\n\t\tlet indices = this.Reveal.getIndices();\n\n\t\tif( this.Reveal.getConfig().parallaxBackgroundImage ) {\n\n\t\t\tlet horizontalSlides = this.Reveal.getHorizontalSlides(),\n\t\t\t\tverticalSlides = this.Reveal.getVerticalSlides();\n\n\t\t\tlet backgroundSize = this.element.style.backgroundSize.split( ' ' ),\n\t\t\t\tbackgroundWidth, backgroundHeight;\n\n\t\t\tif( backgroundSize.length === 1 ) {\n\t\t\t\tbackgroundWidth = backgroundHeight = parseInt( backgroundSize[0], 10 );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbackgroundWidth = parseInt( backgroundSize[0], 10 );\n\t\t\t\tbackgroundHeight = parseInt( backgroundSize[1], 10 );\n\t\t\t}\n\n\t\t\tlet slideWidth = this.element.offsetWidth,\n\t\t\t\thorizontalSlideCount = horizontalSlides.length,\n\t\t\t\thorizontalOffsetMultiplier,\n\t\t\t\thorizontalOffset;\n\n\t\t\tif( typeof this.Reveal.getConfig().parallaxBackgroundHorizontal === 'number' ) {\n\t\t\t\thorizontalOffsetMultiplier = this.Reveal.getConfig().parallaxBackgroundHorizontal;\n\t\t\t}\n\t\t\telse {\n\t\t\t\thorizontalOffsetMultiplier = horizontalSlideCount > 1 ? ( backgroundWidth - slideWidth ) / ( horizontalSlideCount-1 ) : 0;\n\t\t\t}\n\n\t\t\thorizontalOffset = horizontalOffsetMultiplier * indices.h * -1;\n\n\t\t\tlet slideHeight = this.element.offsetHeight,\n\t\t\t\tverticalSlideCount = verticalSlides.length,\n\t\t\t\tverticalOffsetMultiplier,\n\t\t\t\tverticalOffset;\n\n\t\t\tif( typeof this.Reveal.getConfig().parallaxBackgroundVertical === 'number' ) {\n\t\t\t\tverticalOffsetMultiplier = this.Reveal.getConfig().parallaxBackgroundVertical;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tverticalOffsetMultiplier = ( backgroundHeight - slideHeight ) / ( verticalSlideCount-1 );\n\t\t\t}\n\n\t\t\tverticalOffset = verticalSlideCount > 0 ? verticalOffsetMultiplier * indices.v : 0;\n\n\t\t\tthis.element.style.backgroundPosition = horizontalOffset + 'px ' + -verticalOffset + 'px';\n\n\t\t}\n\n\t}\n\n\tdestroy() {\n\n\t\tthis.element.remove();\n\n\t}\n\n}\n","\nexport const SLIDES_SELECTOR = '.slides section';\nexport const HORIZONTAL_SLIDES_SELECTOR = '.slides>section';\nexport const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section';\n\n// Methods that may not be invoked via the postMessage API\nexport const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/;\n\n// Regex for retrieving the fragment style from a class attribute\nexport const FRAGMENT_STYLE_REGEX = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;","import { queryAll, extend, createStyleSheet, matches, closest } from '../utils/util.js'\nimport { FRAGMENT_STYLE_REGEX } from '../utils/constants.js'\n\n// Counter used to generate unique IDs for auto-animated elements\nlet autoAnimateCounter = 0;\n\n/**\n * Automatically animates matching elements across\n * slides with the [data-auto-animate] attribute.\n */\nexport default class AutoAnimate {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t}\n\n\t/**\n\t * Runs an auto-animation between the given slides.\n\t *\n\t * @param {HTMLElement} fromSlide\n\t * @param {HTMLElement} toSlide\n\t */\n\trun( fromSlide, toSlide ) {\n\n\t\t// Clean up after prior animations\n\t\tthis.reset();\n\n\t\tlet allSlides = this.Reveal.getSlides();\n\t\tlet toSlideIndex = allSlides.indexOf( toSlide );\n\t\tlet fromSlideIndex = allSlides.indexOf( fromSlide );\n\n\t\t// Ensure that both slides are auto-animate targets with the same data-auto-animate-id value\n\t\t// (including null if absent on both) and that data-auto-animate-restart isn't set on the\n\t\t// physically latter slide (independent of slide direction)\n\t\tif( fromSlide.hasAttribute( 'data-auto-animate' ) && toSlide.hasAttribute( 'data-auto-animate' )\n\t\t\t\t&& fromSlide.getAttribute( 'data-auto-animate-id' ) === toSlide.getAttribute( 'data-auto-animate-id' ) \n\t\t\t\t&& !( toSlideIndex > fromSlideIndex ? toSlide : fromSlide ).hasAttribute( 'data-auto-animate-restart' ) ) {\n\n\t\t\t// Create a new auto-animate sheet\n\t\t\tthis.autoAnimateStyleSheet = this.autoAnimateStyleSheet || createStyleSheet();\n\n\t\t\tlet animationOptions = this.getAutoAnimateOptions( toSlide );\n\n\t\t\t// Set our starting state\n\t\t\tfromSlide.dataset.autoAnimate = 'pending';\n\t\t\ttoSlide.dataset.autoAnimate = 'pending';\n\n\t\t\t// Flag the navigation direction, needed for fragment buildup\n\t\t\tanimationOptions.slideDirection = toSlideIndex > fromSlideIndex ? 'forward' : 'backward';\n\n\t\t\t// Inject our auto-animate styles for this transition\n\t\t\tlet css = this.getAutoAnimatableElements( fromSlide, toSlide ).map( elements => {\n\t\t\t\treturn this.autoAnimateElements( elements.from, elements.to, elements.options || {}, animationOptions, autoAnimateCounter++ );\n\t\t\t} );\n\n\t\t\t// Animate unmatched elements, if enabled\n\t\t\tif( toSlide.dataset.autoAnimateUnmatched !== 'false' && this.Reveal.getConfig().autoAnimateUnmatched === true ) {\n\n\t\t\t\t// Our default timings for unmatched elements\n\t\t\t\tlet defaultUnmatchedDuration = animationOptions.duration * 0.8,\n\t\t\t\t\tdefaultUnmatchedDelay = animationOptions.duration * 0.2;\n\n\t\t\t\tthis.getUnmatchedAutoAnimateElements( toSlide ).forEach( unmatchedElement => {\n\n\t\t\t\t\tlet unmatchedOptions = this.getAutoAnimateOptions( unmatchedElement, animationOptions );\n\t\t\t\t\tlet id = 'unmatched';\n\n\t\t\t\t\t// If there is a duration or delay set specifically for this\n\t\t\t\t\t// element our unmatched elements should adhere to those\n\t\t\t\t\tif( unmatchedOptions.duration !== animationOptions.duration || unmatchedOptions.delay !== animationOptions.delay ) {\n\t\t\t\t\t\tid = 'unmatched-' + autoAnimateCounter++;\n\t\t\t\t\t\tcss.push( `[data-auto-animate=\"running\"] [data-auto-animate-target=\"${id}\"] { transition: opacity ${unmatchedOptions.duration}s ease ${unmatchedOptions.delay}s; }` );\n\t\t\t\t\t}\n\n\t\t\t\t\tunmatchedElement.dataset.autoAnimateTarget = id;\n\n\t\t\t\t}, this );\n\n\t\t\t\t// Our default transition for unmatched elements\n\t\t\t\tcss.push( `[data-auto-animate=\"running\"] [data-auto-animate-target=\"unmatched\"] { transition: opacity ${defaultUnmatchedDuration}s ease ${defaultUnmatchedDelay}s; }` );\n\n\t\t\t}\n\n\t\t\t// Setting the whole chunk of CSS at once is the most\n\t\t\t// efficient way to do this. Using sheet.insertRule\n\t\t\t// is multiple factors slower.\n\t\t\tthis.autoAnimateStyleSheet.innerHTML = css.join( '' );\n\n\t\t\t// Start the animation next cycle\n\t\t\trequestAnimationFrame( () => {\n\t\t\t\tif( this.autoAnimateStyleSheet ) {\n\t\t\t\t\t// This forces our newly injected styles to be applied in Firefox\n\t\t\t\t\tgetComputedStyle( this.autoAnimateStyleSheet ).fontWeight;\n\n\t\t\t\t\ttoSlide.dataset.autoAnimate = 'running';\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthis.Reveal.dispatchEvent({\n\t\t\t\ttype: 'autoanimate',\n\t\t\t\tdata: {\n\t\t\t\t\tfromSlide,\n\t\t\t\t\ttoSlide,\n\t\t\t\t\tsheet: this.autoAnimateStyleSheet\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Rolls back all changes that we've made to the DOM so\n\t * that as part of animating.\n\t */\n\treset() {\n\n\t\t// Reset slides\n\t\tqueryAll( this.Reveal.getRevealElement(), '[data-auto-animate]:not([data-auto-animate=\"\"])' ).forEach( element => {\n\t\t\telement.dataset.autoAnimate = '';\n\t\t} );\n\n\t\t// Reset elements\n\t\tqueryAll( this.Reveal.getRevealElement(), '[data-auto-animate-target]' ).forEach( element => {\n\t\t\tdelete element.dataset.autoAnimateTarget;\n\t\t} );\n\n\t\t// Remove the animation sheet\n\t\tif( this.autoAnimateStyleSheet && this.autoAnimateStyleSheet.parentNode ) {\n\t\t\tthis.autoAnimateStyleSheet.parentNode.removeChild( this.autoAnimateStyleSheet );\n\t\t\tthis.autoAnimateStyleSheet = null;\n\t\t}\n\n\t}\n\n\t/**\n\t * Creates a FLIP animation where the `to` element starts out\n\t * in the `from` element position and animates to its original\n\t * state.\n\t *\n\t * @param {HTMLElement} from\n\t * @param {HTMLElement} to\n\t * @param {Object} elementOptions Options for this element pair\n\t * @param {Object} animationOptions Options set at the slide level\n\t * @param {String} id Unique ID that we can use to identify this\n\t * auto-animate element in the DOM\n\t */\n\tautoAnimateElements( from, to, elementOptions, animationOptions, id ) {\n\n\t\t// 'from' elements are given a data-auto-animate-target with no value,\n\t\t// 'to' elements are are given a data-auto-animate-target with an ID\n\t\tfrom.dataset.autoAnimateTarget = '';\n\t\tto.dataset.autoAnimateTarget = id;\n\n\t\t// Each element may override any of the auto-animate options\n\t\t// like transition easing, duration and delay via data-attributes\n\t\tlet options = this.getAutoAnimateOptions( to, animationOptions );\n\n\t\t// If we're using a custom element matcher the element options\n\t\t// may contain additional transition overrides\n\t\tif( typeof elementOptions.delay !== 'undefined' ) options.delay = elementOptions.delay;\n\t\tif( typeof elementOptions.duration !== 'undefined' ) options.duration = elementOptions.duration;\n\t\tif( typeof elementOptions.easing !== 'undefined' ) options.easing = elementOptions.easing;\n\n\t\tlet fromProps = this.getAutoAnimatableProperties( 'from', from, elementOptions ),\n\t\t\ttoProps = this.getAutoAnimatableProperties( 'to', to, elementOptions );\n\n\t\t// Maintain fragment visibility for matching elements when\n\t\t// we're navigating forwards, this way the viewer won't need\n\t\t// to step through the same fragments twice\n\t\tif( to.classList.contains( 'fragment' ) ) {\n\n\t\t\t// Don't auto-animate the opacity of fragments to avoid\n\t\t\t// conflicts with fragment animations\n\t\t\tdelete toProps.styles['opacity'];\n\n\t\t\tif( from.classList.contains( 'fragment' ) ) {\n\n\t\t\t\tlet fromFragmentStyle = ( from.className.match( FRAGMENT_STYLE_REGEX ) || [''] )[0];\n\t\t\t\tlet toFragmentStyle = ( to.className.match( FRAGMENT_STYLE_REGEX ) || [''] )[0];\n\n\t\t\t\t// Only skip the fragment if the fragment animation style\n\t\t\t\t// remains unchanged\n\t\t\t\tif( fromFragmentStyle === toFragmentStyle && animationOptions.slideDirection === 'forward' ) {\n\t\t\t\t\tto.classList.add( 'visible', 'disabled' );\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t// If translation and/or scaling are enabled, css transform\n\t\t// the 'to' element so that it matches the position and size\n\t\t// of the 'from' element\n\t\tif( elementOptions.translate !== false || elementOptions.scale !== false ) {\n\n\t\t\tlet presentationScale = this.Reveal.getScale();\n\n\t\t\tlet delta = {\n\t\t\t\tx: ( fromProps.x - toProps.x ) / presentationScale,\n\t\t\t\ty: ( fromProps.y - toProps.y ) / presentationScale,\n\t\t\t\tscaleX: fromProps.width / toProps.width,\n\t\t\t\tscaleY: fromProps.height / toProps.height\n\t\t\t};\n\n\t\t\t// Limit decimal points to avoid 0.0001px blur and stutter\n\t\t\tdelta.x = Math.round( delta.x * 1000 ) / 1000;\n\t\t\tdelta.y = Math.round( delta.y * 1000 ) / 1000;\n\t\t\tdelta.scaleX = Math.round( delta.scaleX * 1000 ) / 1000;\n\t\t\tdelta.scaleX = Math.round( delta.scaleX * 1000 ) / 1000;\n\n\t\t\tlet translate = elementOptions.translate !== false && ( delta.x !== 0 || delta.y !== 0 ),\n\t\t\t\tscale = elementOptions.scale !== false && ( delta.scaleX !== 0 || delta.scaleY !== 0 );\n\n\t\t\t// No need to transform if nothing's changed\n\t\t\tif( translate || scale ) {\n\n\t\t\t\tlet transform = [];\n\n\t\t\t\tif( translate ) transform.push( `translate(${delta.x}px, ${delta.y}px)` );\n\t\t\t\tif( scale ) transform.push( `scale(${delta.scaleX}, ${delta.scaleY})` );\n\n\t\t\t\tfromProps.styles['transform'] = transform.join( ' ' );\n\t\t\t\tfromProps.styles['transform-origin'] = 'top left';\n\n\t\t\t\ttoProps.styles['transform'] = 'none';\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Delete all unchanged 'to' styles\n\t\tfor( let propertyName in toProps.styles ) {\n\t\t\tconst toValue = toProps.styles[propertyName];\n\t\t\tconst fromValue = fromProps.styles[propertyName];\n\n\t\t\tif( toValue === fromValue ) {\n\t\t\t\tdelete toProps.styles[propertyName];\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// If these property values were set via a custom matcher providing\n\t\t\t\t// an explicit 'from' and/or 'to' value, we always inject those values.\n\t\t\t\tif( toValue.explicitValue === true ) {\n\t\t\t\t\ttoProps.styles[propertyName] = toValue.value;\n\t\t\t\t}\n\n\t\t\t\tif( fromValue.explicitValue === true ) {\n\t\t\t\t\tfromProps.styles[propertyName] = fromValue.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet css = '';\n\n\t\tlet toStyleProperties = Object.keys( toProps.styles );\n\n\t\t// Only create animate this element IF at least one style\n\t\t// property has changed\n\t\tif( toStyleProperties.length > 0 ) {\n\n\t\t\t// Instantly move to the 'from' state\n\t\t\tfromProps.styles['transition'] = 'none';\n\n\t\t\t// Animate towards the 'to' state\n\t\t\ttoProps.styles['transition'] = `all ${options.duration}s ${options.easing} ${options.delay}s`;\n\t\t\ttoProps.styles['transition-property'] = toStyleProperties.join( ', ' );\n\t\t\ttoProps.styles['will-change'] = toStyleProperties.join( ', ' );\n\n\t\t\t// Build up our custom CSS. We need to override inline styles\n\t\t\t// so we need to make our styles vErY IMPORTANT!1!!\n\t\t\tlet fromCSS = Object.keys( fromProps.styles ).map( propertyName => {\n\t\t\t\treturn propertyName + ': ' + fromProps.styles[propertyName] + ' !important;';\n\t\t\t} ).join( '' );\n\n\t\t\tlet toCSS = Object.keys( toProps.styles ).map( propertyName => {\n\t\t\t\treturn propertyName + ': ' + toProps.styles[propertyName] + ' !important;';\n\t\t\t} ).join( '' );\n\n\t\t\tcss = \t'[data-auto-animate-target=\"'+ id +'\"] {'+ fromCSS +'}' +\n\t\t\t\t\t'[data-auto-animate=\"running\"] [data-auto-animate-target=\"'+ id +'\"] {'+ toCSS +'}';\n\n\t\t}\n\n\t\treturn css;\n\n\t}\n\n\t/**\n\t * Returns the auto-animate options for the given element.\n\t *\n\t * @param {HTMLElement} element Element to pick up options\n\t * from, either a slide or an animation target\n\t * @param {Object} [inheritedOptions] Optional set of existing\n\t * options\n\t */\n\tgetAutoAnimateOptions( element, inheritedOptions ) {\n\n\t\tlet options = {\n\t\t\teasing: this.Reveal.getConfig().autoAnimateEasing,\n\t\t\tduration: this.Reveal.getConfig().autoAnimateDuration,\n\t\t\tdelay: 0\n\t\t};\n\n\t\toptions = extend( options, inheritedOptions );\n\n\t\t// Inherit options from parent elements\n\t\tif( element.parentNode ) {\n\t\t\tlet autoAnimatedParent = closest( element.parentNode, '[data-auto-animate-target]' );\n\t\t\tif( autoAnimatedParent ) {\n\t\t\t\toptions = this.getAutoAnimateOptions( autoAnimatedParent, options );\n\t\t\t}\n\t\t}\n\n\t\tif( element.dataset.autoAnimateEasing ) {\n\t\t\toptions.easing = element.dataset.autoAnimateEasing;\n\t\t}\n\n\t\tif( element.dataset.autoAnimateDuration ) {\n\t\t\toptions.duration = parseFloat( element.dataset.autoAnimateDuration );\n\t\t}\n\n\t\tif( element.dataset.autoAnimateDelay ) {\n\t\t\toptions.delay = parseFloat( element.dataset.autoAnimateDelay );\n\t\t}\n\n\t\treturn options;\n\n\t}\n\n\t/**\n\t * Returns an object containing all of the properties\n\t * that can be auto-animated for the given element and\n\t * their current computed values.\n\t *\n\t * @param {String} direction 'from' or 'to'\n\t */\n\tgetAutoAnimatableProperties( direction, element, elementOptions ) {\n\n\t\tlet config = this.Reveal.getConfig();\n\n\t\tlet properties = { styles: [] };\n\n\t\t// Position and size\n\t\tif( elementOptions.translate !== false || elementOptions.scale !== false ) {\n\t\t\tlet bounds;\n\n\t\t\t// Custom auto-animate may optionally return a custom tailored\n\t\t\t// measurement function\n\t\t\tif( typeof elementOptions.measure === 'function' ) {\n\t\t\t\tbounds = elementOptions.measure( element );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif( config.center ) {\n\t\t\t\t\t// More precise, but breaks when used in combination\n\t\t\t\t\t// with zoom for scaling the deck ¯\\_(ツ)_/¯\n\t\t\t\t\tbounds = element.getBoundingClientRect();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet scale = this.Reveal.getScale();\n\t\t\t\t\tbounds = {\n\t\t\t\t\t\tx: element.offsetLeft * scale,\n\t\t\t\t\t\ty: element.offsetTop * scale,\n\t\t\t\t\t\twidth: element.offsetWidth * scale,\n\t\t\t\t\t\theight: element.offsetHeight * scale\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tproperties.x = bounds.x;\n\t\t\tproperties.y = bounds.y;\n\t\t\tproperties.width = bounds.width;\n\t\t\tproperties.height = bounds.height;\n\t\t}\n\n\t\tconst computedStyles = getComputedStyle( element );\n\n\t\t// CSS styles\n\t\t( elementOptions.styles || config.autoAnimateStyles ).forEach( style => {\n\t\t\tlet value;\n\n\t\t\t// `style` is either the property name directly, or an object\n\t\t\t// definition of a style property\n\t\t\tif( typeof style === 'string' ) style = { property: style };\n\n\t\t\tif( typeof style.from !== 'undefined' && direction === 'from' ) {\n\t\t\t\tvalue = { value: style.from, explicitValue: true };\n\t\t\t}\n\t\t\telse if( typeof style.to !== 'undefined' && direction === 'to' ) {\n\t\t\t\tvalue = { value: style.to, explicitValue: true };\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalue = computedStyles[style.property];\n\t\t\t}\n\n\t\t\tif( value !== '' ) {\n\t\t\t\tproperties.styles[style.property] = value;\n\t\t\t}\n\t\t} );\n\n\t\treturn properties;\n\n\t}\n\n\t/**\n\t * Get a list of all element pairs that we can animate\n\t * between the given slides.\n\t *\n\t * @param {HTMLElement} fromSlide\n\t * @param {HTMLElement} toSlide\n\t *\n\t * @return {Array} Each value is an array where [0] is\n\t * the element we're animating from and [1] is the\n\t * element we're animating to\n\t */\n\tgetAutoAnimatableElements( fromSlide, toSlide ) {\n\n\t\tlet matcher = typeof this.Reveal.getConfig().autoAnimateMatcher === 'function' ? this.Reveal.getConfig().autoAnimateMatcher : this.getAutoAnimatePairs;\n\n\t\tlet pairs = matcher.call( this, fromSlide, toSlide );\n\n\t\tlet reserved = [];\n\n\t\t// Remove duplicate pairs\n\t\treturn pairs.filter( ( pair, index ) => {\n\t\t\tif( reserved.indexOf( pair.to ) === -1 ) {\n\t\t\t\treserved.push( pair.to );\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} );\n\n\t}\n\n\t/**\n\t * Identifies matching elements between slides.\n\t *\n\t * You can specify a custom matcher function by using\n\t * the `autoAnimateMatcher` config option.\n\t */\n\tgetAutoAnimatePairs( fromSlide, toSlide ) {\n\n\t\tlet pairs = [];\n\n\t\tconst codeNodes = 'pre';\n\t\tconst textNodes = 'h1, h2, h3, h4, h5, h6, p, li';\n\t\tconst mediaNodes = 'img, video, iframe';\n\n\t\t// Eplicit matches via data-id\n\t\tthis.findAutoAnimateMatches( pairs, fromSlide, toSlide, '[data-id]', node => {\n\t\t\treturn node.nodeName + ':::' + node.getAttribute( 'data-id' );\n\t\t} );\n\n\t\t// Text\n\t\tthis.findAutoAnimateMatches( pairs, fromSlide, toSlide, textNodes, node => {\n\t\t\treturn node.nodeName + ':::' + node.innerText;\n\t\t} );\n\n\t\t// Media\n\t\tthis.findAutoAnimateMatches( pairs, fromSlide, toSlide, mediaNodes, node => {\n\t\t\treturn node.nodeName + ':::' + ( node.getAttribute( 'src' ) || node.getAttribute( 'data-src' ) );\n\t\t} );\n\n\t\t// Code\n\t\tthis.findAutoAnimateMatches( pairs, fromSlide, toSlide, codeNodes, node => {\n\t\t\treturn node.nodeName + ':::' + node.innerText;\n\t\t} );\n\n\t\tpairs.forEach( pair => {\n\n\t\t\t// Disable scale transformations on text nodes, we transition\n\t\t\t// each individual text property instead\n\t\t\tif( matches( pair.from, textNodes ) ) {\n\t\t\t\tpair.options = { scale: false };\n\t\t\t}\n\t\t\t// Animate individual lines of code\n\t\t\telse if( matches( pair.from, codeNodes ) ) {\n\n\t\t\t\t// Transition the code block's width and height instead of scaling\n\t\t\t\t// to prevent its content from being squished\n\t\t\t\tpair.options = { scale: false, styles: [ 'width', 'height' ] };\n\n\t\t\t\t// Lines of code\n\t\t\t\tthis.findAutoAnimateMatches( pairs, pair.from, pair.to, '.hljs .hljs-ln-code', node => {\n\t\t\t\t\treturn node.textContent;\n\t\t\t\t}, {\n\t\t\t\t\tscale: false,\n\t\t\t\t\tstyles: [],\n\t\t\t\t\tmeasure: this.getLocalBoundingBox.bind( this )\n\t\t\t\t} );\n\n\t\t\t\t// Line numbers\n\t\t\t\tthis.findAutoAnimateMatches( pairs, pair.from, pair.to, '.hljs .hljs-ln-line[data-line-number]', node => {\n\t\t\t\t\treturn node.getAttribute( 'data-line-number' );\n\t\t\t\t}, {\n\t\t\t\t\tscale: false,\n\t\t\t\t\tstyles: [ 'width' ],\n\t\t\t\t\tmeasure: this.getLocalBoundingBox.bind( this )\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t}, this );\n\n\t\treturn pairs;\n\n\t}\n\n\t/**\n\t * Helper method which returns a bounding box based on\n\t * the given elements offset coordinates.\n\t *\n\t * @param {HTMLElement} element\n\t * @return {Object} x, y, width, height\n\t */\n\tgetLocalBoundingBox( element ) {\n\n\t\tconst presentationScale = this.Reveal.getScale();\n\n\t\treturn {\n\t\t\tx: Math.round( ( element.offsetLeft * presentationScale ) * 100 ) / 100,\n\t\t\ty: Math.round( ( element.offsetTop * presentationScale ) * 100 ) / 100,\n\t\t\twidth: Math.round( ( element.offsetWidth * presentationScale ) * 100 ) / 100,\n\t\t\theight: Math.round( ( element.offsetHeight * presentationScale ) * 100 ) / 100\n\t\t};\n\n\t}\n\n\t/**\n\t * Finds matching elements between two slides.\n\t *\n\t * @param {Array} pairs \tList of pairs to push matches to\n\t * @param {HTMLElement} fromScope Scope within the from element exists\n\t * @param {HTMLElement} toScope Scope within the to element exists\n\t * @param {String} selector CSS selector of the element to match\n\t * @param {Function} serializer A function that accepts an element and returns\n\t * a stringified ID based on its contents\n\t * @param {Object} animationOptions Optional config options for this pair\n\t */\n\tfindAutoAnimateMatches( pairs, fromScope, toScope, selector, serializer, animationOptions ) {\n\n\t\tlet fromMatches = {};\n\t\tlet toMatches = {};\n\n\t\t[].slice.call( fromScope.querySelectorAll( selector ) ).forEach( ( element, i ) => {\n\t\t\tconst key = serializer( element );\n\t\t\tif( typeof key === 'string' && key.length ) {\n\t\t\t\tfromMatches[key] = fromMatches[key] || [];\n\t\t\t\tfromMatches[key].push( element );\n\t\t\t}\n\t\t} );\n\n\t\t[].slice.call( toScope.querySelectorAll( selector ) ).forEach( ( element, i ) => {\n\t\t\tconst key = serializer( element );\n\t\t\ttoMatches[key] = toMatches[key] || [];\n\t\t\ttoMatches[key].push( element );\n\n\t\t\tlet fromElement;\n\n\t\t\t// Retrieve the 'from' element\n\t\t\tif( fromMatches[key] ) {\n\t\t\t\tconst pimaryIndex = toMatches[key].length - 1;\n\t\t\t\tconst secondaryIndex = fromMatches[key].length - 1;\n\n\t\t\t\t// If there are multiple identical from elements, retrieve\n\t\t\t\t// the one at the same index as our to-element.\n\t\t\t\tif( fromMatches[key][ pimaryIndex ] ) {\n\t\t\t\t\tfromElement = fromMatches[key][ pimaryIndex ];\n\t\t\t\t\tfromMatches[key][ pimaryIndex ] = null;\n\t\t\t\t}\n\t\t\t\t// If there are no matching from-elements at the same index,\n\t\t\t\t// use the last one.\n\t\t\t\telse if( fromMatches[key][ secondaryIndex ] ) {\n\t\t\t\t\tfromElement = fromMatches[key][ secondaryIndex ];\n\t\t\t\t\tfromMatches[key][ secondaryIndex ] = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we've got a matching pair, push it to the list of pairs\n\t\t\tif( fromElement ) {\n\t\t\t\tpairs.push({\n\t\t\t\t\tfrom: fromElement,\n\t\t\t\t\tto: element,\n\t\t\t\t\toptions: animationOptions\n\t\t\t\t});\n\t\t\t}\n\t\t} );\n\n\t}\n\n\t/**\n\t * Returns a all elements within the given scope that should\n\t * be considered unmatched in an auto-animate transition. If\n\t * fading of unmatched elements is turned on, these elements\n\t * will fade when going between auto-animate slides.\n\t *\n\t * Note that parents of auto-animate targets are NOT considerd\n\t * unmatched since fading them would break the auto-animation.\n\t *\n\t * @param {HTMLElement} rootElement\n\t * @return {Array}\n\t */\n\tgetUnmatchedAutoAnimateElements( rootElement ) {\n\n\t\treturn [].slice.call( rootElement.children ).reduce( ( result, element ) => {\n\n\t\t\tconst containsAnimatedElements = element.querySelector( '[data-auto-animate-target]' );\n\n\t\t\t// The element is unmatched if\n\t\t\t// - It is not an auto-animate target\n\t\t\t// - It does not contain any auto-animate targets\n\t\t\tif( !element.hasAttribute( 'data-auto-animate-target' ) && !containsAnimatedElements ) {\n\t\t\t\tresult.push( element );\n\t\t\t}\n\n\t\t\tif( element.querySelector( '[data-auto-animate-target]' ) ) {\n\t\t\t\tresult = result.concat( this.getUnmatchedAutoAnimateElements( element ) );\n\t\t\t}\n\n\t\t\treturn result;\n\n\t\t}, [] );\n\n\t}\n\n}\n","import { extend, queryAll } from '../utils/util.js'\n\n/**\n * Handles sorting and navigation of slide fragments.\n * Fragments are elements within a slide that are\n * revealed/animated incrementally.\n */\nexport default class Fragments {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tif( config.fragments === false ) {\n\t\t\tthis.disable();\n\t\t}\n\t\telse if( oldConfig.fragments === false ) {\n\t\t\tthis.enable();\n\t\t}\n\n\t}\n\n\t/**\n\t * If fragments are disabled in the deck, they should all be\n\t * visible rather than stepped through.\n\t */\n\tdisable() {\n\n\t\tqueryAll( this.Reveal.getSlidesElement(), '.fragment' ).forEach( element => {\n\t\t\telement.classList.add( 'visible' );\n\t\t\telement.classList.remove( 'current-fragment' );\n\t\t} );\n\n\t}\n\n\t/**\n\t * Reverse of #disable(). Only called if fragments have\n\t * previously been disabled.\n\t */\n\tenable() {\n\n\t\tqueryAll( this.Reveal.getSlidesElement(), '.fragment' ).forEach( element => {\n\t\t\telement.classList.remove( 'visible' );\n\t\t\telement.classList.remove( 'current-fragment' );\n\t\t} );\n\n\t}\n\n\t/**\n\t * Returns an object describing the available fragment\n\t * directions.\n\t *\n\t * @return {{prev: boolean, next: boolean}}\n\t */\n\tavailableRoutes() {\n\n\t\tlet currentSlide = this.Reveal.getCurrentSlide();\n\t\tif( currentSlide && this.Reveal.getConfig().fragments ) {\n\t\t\tlet fragments = currentSlide.querySelectorAll( '.fragment:not(.disabled)' );\n\t\t\tlet hiddenFragments = currentSlide.querySelectorAll( '.fragment:not(.disabled):not(.visible)' );\n\n\t\t\treturn {\n\t\t\t\tprev: fragments.length - hiddenFragments.length > 0,\n\t\t\t\tnext: !!hiddenFragments.length\n\t\t\t};\n\t\t}\n\t\telse {\n\t\t\treturn { prev: false, next: false };\n\t\t}\n\n\t}\n\n\t/**\n\t * Return a sorted fragments list, ordered by an increasing\n\t * \"data-fragment-index\" attribute.\n\t *\n\t * Fragments will be revealed in the order that they are returned by\n\t * this function, so you can use the index attributes to control the\n\t * order of fragment appearance.\n\t *\n\t * To maintain a sensible default fragment order, fragments are presumed\n\t * to be passed in document order. This function adds a \"fragment-index\"\n\t * attribute to each node if such an attribute is not already present,\n\t * and sets that attribute to an integer value which is the position of\n\t * the fragment within the fragments list.\n\t *\n\t * @param {object[]|*} fragments\n\t * @param {boolean} grouped If true the returned array will contain\n\t * nested arrays for all fragments with the same index\n\t * @return {object[]} sorted Sorted array of fragments\n\t */\n\tsort( fragments, grouped = false ) {\n\n\t\tfragments = Array.from( fragments );\n\n\t\tlet ordered = [],\n\t\t\tunordered = [],\n\t\t\tsorted = [];\n\n\t\t// Group ordered and unordered elements\n\t\tfragments.forEach( fragment => {\n\t\t\tif( fragment.hasAttribute( 'data-fragment-index' ) ) {\n\t\t\t\tlet index = parseInt( fragment.getAttribute( 'data-fragment-index' ), 10 );\n\n\t\t\t\tif( !ordered[index] ) {\n\t\t\t\t\tordered[index] = [];\n\t\t\t\t}\n\n\t\t\t\tordered[index].push( fragment );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tunordered.push( [ fragment ] );\n\t\t\t}\n\t\t} );\n\n\t\t// Append fragments without explicit indices in their\n\t\t// DOM order\n\t\tordered = ordered.concat( unordered );\n\n\t\t// Manually count the index up per group to ensure there\n\t\t// are no gaps\n\t\tlet index = 0;\n\n\t\t// Push all fragments in their sorted order to an array,\n\t\t// this flattens the groups\n\t\tordered.forEach( group => {\n\t\t\tgroup.forEach( fragment => {\n\t\t\t\tsorted.push( fragment );\n\t\t\t\tfragment.setAttribute( 'data-fragment-index', index );\n\t\t\t} );\n\n\t\t\tindex ++;\n\t\t} );\n\n\t\treturn grouped === true ? ordered : sorted;\n\n\t}\n\n\t/**\n\t * Sorts and formats all of fragments in the\n\t * presentation.\n\t */\n\tsortAll() {\n\n\t\tthis.Reveal.getHorizontalSlides().forEach( horizontalSlide => {\n\n\t\t\tlet verticalSlides = queryAll( horizontalSlide, 'section' );\n\t\t\tverticalSlides.forEach( ( verticalSlide, y ) => {\n\n\t\t\t\tthis.sort( verticalSlide.querySelectorAll( '.fragment' ) );\n\n\t\t\t}, this );\n\n\t\t\tif( verticalSlides.length === 0 ) this.sort( horizontalSlide.querySelectorAll( '.fragment' ) );\n\n\t\t} );\n\n\t}\n\n\t/**\n\t * Refreshes the fragments on the current slide so that they\n\t * have the appropriate classes (.visible + .current-fragment).\n\t *\n\t * @param {number} [index] The index of the current fragment\n\t * @param {array} [fragments] Array containing all fragments\n\t * in the current slide\n\t *\n\t * @return {{shown: array, hidden: array}}\n\t */\n\tupdate( index, fragments ) {\n\n\t\tlet changedFragments = {\n\t\t\tshown: [],\n\t\t\thidden: []\n\t\t};\n\n\t\tlet currentSlide = this.Reveal.getCurrentSlide();\n\t\tif( currentSlide && this.Reveal.getConfig().fragments ) {\n\n\t\t\tfragments = fragments || this.sort( currentSlide.querySelectorAll( '.fragment' ) );\n\n\t\t\tif( fragments.length ) {\n\n\t\t\t\tlet maxIndex = 0;\n\n\t\t\t\tif( typeof index !== 'number' ) {\n\t\t\t\t\tlet currentFragment = this.sort( currentSlide.querySelectorAll( '.fragment.visible' ) ).pop();\n\t\t\t\t\tif( currentFragment ) {\n\t\t\t\t\t\tindex = parseInt( currentFragment.getAttribute( 'data-fragment-index' ) || 0, 10 );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tArray.from( fragments ).forEach( ( el, i ) => {\n\n\t\t\t\t\tif( el.hasAttribute( 'data-fragment-index' ) ) {\n\t\t\t\t\t\ti = parseInt( el.getAttribute( 'data-fragment-index' ), 10 );\n\t\t\t\t\t}\n\n\t\t\t\t\tmaxIndex = Math.max( maxIndex, i );\n\n\t\t\t\t\t// Visible fragments\n\t\t\t\t\tif( i <= index ) {\n\t\t\t\t\t\tlet wasVisible = el.classList.contains( 'visible' )\n\t\t\t\t\t\tel.classList.add( 'visible' );\n\t\t\t\t\t\tel.classList.remove( 'current-fragment' );\n\n\t\t\t\t\t\tif( i === index ) {\n\t\t\t\t\t\t\t// Announce the fragments one by one to the Screen Reader\n\t\t\t\t\t\t\tthis.Reveal.announceStatus( this.Reveal.getStatusText( el ) );\n\n\t\t\t\t\t\t\tel.classList.add( 'current-fragment' );\n\t\t\t\t\t\t\tthis.Reveal.slideContent.startEmbeddedContent( el );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif( !wasVisible ) {\n\t\t\t\t\t\t\tchangedFragments.shown.push( el )\n\t\t\t\t\t\t\tthis.Reveal.dispatchEvent({\n\t\t\t\t\t\t\t\ttarget: el,\n\t\t\t\t\t\t\t\ttype: 'visible',\n\t\t\t\t\t\t\t\tbubbles: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Hidden fragments\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet wasVisible = el.classList.contains( 'visible' )\n\t\t\t\t\t\tel.classList.remove( 'visible' );\n\t\t\t\t\t\tel.classList.remove( 'current-fragment' );\n\n\t\t\t\t\t\tif( wasVisible ) {\n\t\t\t\t\t\t\tthis.Reveal.slideContent.stopEmbeddedContent( el );\n\t\t\t\t\t\t\tchangedFragments.hidden.push( el );\n\t\t\t\t\t\t\tthis.Reveal.dispatchEvent({\n\t\t\t\t\t\t\t\ttarget: el,\n\t\t\t\t\t\t\t\ttype: 'hidden',\n\t\t\t\t\t\t\t\tbubbles: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t\t// Write the current fragment index to the slide
    .\n\t\t\t\t// This can be used by end users to apply styles based on\n\t\t\t\t// the current fragment index.\n\t\t\t\tindex = typeof index === 'number' ? index : -1;\n\t\t\t\tindex = Math.max( Math.min( index, maxIndex ), -1 );\n\t\t\t\tcurrentSlide.setAttribute( 'data-fragment', index );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn changedFragments;\n\n\t}\n\n\t/**\n\t * Formats the fragments on the given slide so that they have\n\t * valid indices. Call this if fragments are changed in the DOM\n\t * after reveal.js has already initialized.\n\t *\n\t * @param {HTMLElement} slide\n\t * @return {Array} a list of the HTML fragments that were synced\n\t */\n\tsync( slide = this.Reveal.getCurrentSlide() ) {\n\n\t\treturn this.sort( slide.querySelectorAll( '.fragment' ) );\n\n\t}\n\n\t/**\n\t * Navigate to the specified slide fragment.\n\t *\n\t * @param {?number} index The index of the fragment that\n\t * should be shown, -1 means all are invisible\n\t * @param {number} offset Integer offset to apply to the\n\t * fragment index\n\t *\n\t * @return {boolean} true if a change was made in any\n\t * fragments visibility as part of this call\n\t */\n\tgoto( index, offset = 0 ) {\n\n\t\tlet currentSlide = this.Reveal.getCurrentSlide();\n\t\tif( currentSlide && this.Reveal.getConfig().fragments ) {\n\n\t\t\tlet fragments = this.sort( currentSlide.querySelectorAll( '.fragment:not(.disabled)' ) );\n\t\t\tif( fragments.length ) {\n\n\t\t\t\t// If no index is specified, find the current\n\t\t\t\tif( typeof index !== 'number' ) {\n\t\t\t\t\tlet lastVisibleFragment = this.sort( currentSlide.querySelectorAll( '.fragment:not(.disabled).visible' ) ).pop();\n\n\t\t\t\t\tif( lastVisibleFragment ) {\n\t\t\t\t\t\tindex = parseInt( lastVisibleFragment.getAttribute( 'data-fragment-index' ) || 0, 10 );\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tindex = -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply the offset if there is one\n\t\t\t\tindex += offset;\n\n\t\t\t\tlet changedFragments = this.update( index, fragments );\n\n\t\t\t\tif( changedFragments.hidden.length ) {\n\t\t\t\t\tthis.Reveal.dispatchEvent({\n\t\t\t\t\t\ttype: 'fragmenthidden',\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tfragment: changedFragments.hidden[0],\n\t\t\t\t\t\t\tfragments: changedFragments.hidden\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif( changedFragments.shown.length ) {\n\t\t\t\t\tthis.Reveal.dispatchEvent({\n\t\t\t\t\t\ttype: 'fragmentshown',\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tfragment: changedFragments.shown[0],\n\t\t\t\t\t\t\tfragments: changedFragments.shown\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.Reveal.controls.update();\n\t\t\t\tthis.Reveal.progress.update();\n\n\t\t\t\tif( this.Reveal.getConfig().fragmentInURL ) {\n\t\t\t\t\tthis.Reveal.location.writeURL();\n\t\t\t\t}\n\n\t\t\t\treturn !!( changedFragments.shown.length || changedFragments.hidden.length );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\t/**\n\t * Navigate to the next slide fragment.\n\t *\n\t * @return {boolean} true if there was a next fragment,\n\t * false otherwise\n\t */\n\tnext() {\n\n\t\treturn this.goto( null, 1 );\n\n\t}\n\n\t/**\n\t * Navigate to the previous slide fragment.\n\t *\n\t * @return {boolean} true if there was a previous fragment,\n\t * false otherwise\n\t */\n\tprev() {\n\n\t\treturn this.goto( null, -1 );\n\n\t}\n\n}","import { SLIDES_SELECTOR } from '../utils/constants.js'\nimport { extend, queryAll, transformElement } from '../utils/util.js'\n\n/**\n * Handles all logic related to the overview mode\n * (birds-eye view of all slides).\n */\nexport default class Overview {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\tthis.active = false;\n\n\t\tthis.onSlideClicked = this.onSlideClicked.bind( this );\n\n\t}\n\n\t/**\n\t * Displays the overview of slides (quick nav) by scaling\n\t * down and arranging all slide elements.\n\t */\n\tactivate() {\n\n\t\t// Only proceed if enabled in config\n\t\tif( this.Reveal.getConfig().overview && !this.isActive() ) {\n\n\t\t\tthis.active = true;\n\n\t\t\tthis.Reveal.getRevealElement().classList.add( 'overview' );\n\n\t\t\t// Don't auto-slide while in overview mode\n\t\t\tthis.Reveal.cancelAutoSlide();\n\n\t\t\t// Move the backgrounds element into the slide container to\n\t\t\t// that the same scaling is applied\n\t\t\tthis.Reveal.getSlidesElement().appendChild( this.Reveal.getBackgroundsElement() );\n\n\t\t\t// Clicking on an overview slide navigates to it\n\t\t\tqueryAll( this.Reveal.getRevealElement(), SLIDES_SELECTOR ).forEach( slide => {\n\t\t\t\tif( !slide.classList.contains( 'stack' ) ) {\n\t\t\t\t\tslide.addEventListener( 'click', this.onSlideClicked, true );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Calculate slide sizes\n\t\t\tconst margin = 70;\n\t\t\tconst slideSize = this.Reveal.getComputedSlideSize();\n\t\t\tthis.overviewSlideWidth = slideSize.width + margin;\n\t\t\tthis.overviewSlideHeight = slideSize.height + margin;\n\n\t\t\t// Reverse in RTL mode\n\t\t\tif( this.Reveal.getConfig().rtl ) {\n\t\t\t\tthis.overviewSlideWidth = -this.overviewSlideWidth;\n\t\t\t}\n\n\t\t\tthis.Reveal.updateSlidesVisibility();\n\n\t\t\tthis.layout();\n\t\t\tthis.update();\n\n\t\t\tthis.Reveal.layout();\n\n\t\t\tconst indices = this.Reveal.getIndices();\n\n\t\t\t// Notify observers of the overview showing\n\t\t\tthis.Reveal.dispatchEvent({\n\t\t\t\ttype: 'overviewshown',\n\t\t\t\tdata: {\n\t\t\t\t\t'indexh': indices.h,\n\t\t\t\t\t'indexv': indices.v,\n\t\t\t\t\t'currentSlide': this.Reveal.getCurrentSlide()\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Uses CSS transforms to position all slides in a grid for\n\t * display inside of the overview mode.\n\t */\n\tlayout() {\n\n\t\t// Layout slides\n\t\tthis.Reveal.getHorizontalSlides().forEach( ( hslide, h ) => {\n\t\t\thslide.setAttribute( 'data-index-h', h );\n\t\t\ttransformElement( hslide, 'translate3d(' + ( h * this.overviewSlideWidth ) + 'px, 0, 0)' );\n\n\t\t\tif( hslide.classList.contains( 'stack' ) ) {\n\n\t\t\t\tqueryAll( hslide, 'section' ).forEach( ( vslide, v ) => {\n\t\t\t\t\tvslide.setAttribute( 'data-index-h', h );\n\t\t\t\t\tvslide.setAttribute( 'data-index-v', v );\n\n\t\t\t\t\ttransformElement( vslide, 'translate3d(0, ' + ( v * this.overviewSlideHeight ) + 'px, 0)' );\n\t\t\t\t} );\n\n\t\t\t}\n\t\t} );\n\n\t\t// Layout slide backgrounds\n\t\tArray.from( this.Reveal.getBackgroundsElement().childNodes ).forEach( ( hbackground, h ) => {\n\t\t\ttransformElement( hbackground, 'translate3d(' + ( h * this.overviewSlideWidth ) + 'px, 0, 0)' );\n\n\t\t\tqueryAll( hbackground, '.slide-background' ).forEach( ( vbackground, v ) => {\n\t\t\t\ttransformElement( vbackground, 'translate3d(0, ' + ( v * this.overviewSlideHeight ) + 'px, 0)' );\n\t\t\t} );\n\t\t} );\n\n\t}\n\n\t/**\n\t * Moves the overview viewport to the current slides.\n\t * Called each time the current slide changes.\n\t */\n\tupdate() {\n\n\t\tconst vmin = Math.min( window.innerWidth, window.innerHeight );\n\t\tconst scale = Math.max( vmin / 5, 150 ) / vmin;\n\t\tconst indices = this.Reveal.getIndices();\n\n\t\tthis.Reveal.transformSlides( {\n\t\t\toverview: [\n\t\t\t\t'scale('+ scale +')',\n\t\t\t\t'translateX('+ ( -indices.h * this.overviewSlideWidth ) +'px)',\n\t\t\t\t'translateY('+ ( -indices.v * this.overviewSlideHeight ) +'px)'\n\t\t\t].join( ' ' )\n\t\t} );\n\n\t}\n\n\t/**\n\t * Exits the slide overview and enters the currently\n\t * active slide.\n\t */\n\tdeactivate() {\n\n\t\t// Only proceed if enabled in config\n\t\tif( this.Reveal.getConfig().overview ) {\n\n\t\t\tthis.active = false;\n\n\t\t\tthis.Reveal.getRevealElement().classList.remove( 'overview' );\n\n\t\t\t// Temporarily add a class so that transitions can do different things\n\t\t\t// depending on whether they are exiting/entering overview, or just\n\t\t\t// moving from slide to slide\n\t\t\tthis.Reveal.getRevealElement().classList.add( 'overview-deactivating' );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.Reveal.getRevealElement().classList.remove( 'overview-deactivating' );\n\t\t\t}, 1 );\n\n\t\t\t// Move the background element back out\n\t\t\tthis.Reveal.getRevealElement().appendChild( this.Reveal.getBackgroundsElement() );\n\n\t\t\t// Clean up changes made to slides\n\t\t\tqueryAll( this.Reveal.getRevealElement(), SLIDES_SELECTOR ).forEach( slide => {\n\t\t\t\ttransformElement( slide, '' );\n\n\t\t\t\tslide.removeEventListener( 'click', this.onSlideClicked, true );\n\t\t\t} );\n\n\t\t\t// Clean up changes made to backgrounds\n\t\t\tqueryAll( this.Reveal.getBackgroundsElement(), '.slide-background' ).forEach( background => {\n\t\t\t\ttransformElement( background, '' );\n\t\t\t} );\n\n\t\t\tthis.Reveal.transformSlides( { overview: '' } );\n\n\t\t\tconst indices = this.Reveal.getIndices();\n\n\t\t\tthis.Reveal.slide( indices.h, indices.v );\n\t\t\tthis.Reveal.layout();\n\t\t\tthis.Reveal.cueAutoSlide();\n\n\t\t\t// Notify observers of the overview hiding\n\t\t\tthis.Reveal.dispatchEvent({\n\t\t\t\ttype: 'overviewhidden',\n\t\t\t\tdata: {\n\t\t\t\t\t'indexh': indices.h,\n\t\t\t\t\t'indexv': indices.v,\n\t\t\t\t\t'currentSlide': this.Reveal.getCurrentSlide()\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\t}\n\n\t/**\n\t * Toggles the slide overview mode on and off.\n\t *\n\t * @param {Boolean} [override] Flag which overrides the\n\t * toggle logic and forcibly sets the desired state. True means\n\t * overview is open, false means it's closed.\n\t */\n\ttoggle( override ) {\n\n\t\tif( typeof override === 'boolean' ) {\n\t\t\toverride ? this.activate() : this.deactivate();\n\t\t}\n\t\telse {\n\t\t\tthis.isActive() ? this.deactivate() : this.activate();\n\t\t}\n\n\t}\n\n\t/**\n\t * Checks if the overview is currently active.\n\t *\n\t * @return {Boolean} true if the overview is active,\n\t * false otherwise\n\t */\n\tisActive() {\n\n\t\treturn this.active;\n\n\t}\n\n\t/**\n\t * Invoked when a slide is and we're in the overview.\n\t *\n\t * @param {object} event\n\t */\n\tonSlideClicked( event ) {\n\n\t\tif( this.isActive() ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tlet element = event.target;\n\n\t\t\twhile( element && !element.nodeName.match( /section/gi ) ) {\n\t\t\t\telement = element.parentNode;\n\t\t\t}\n\n\t\t\tif( element && !element.classList.contains( 'disabled' ) ) {\n\n\t\t\t\tthis.deactivate();\n\n\t\t\t\tif( element.nodeName.match( /section/gi ) ) {\n\t\t\t\t\tlet h = parseInt( element.getAttribute( 'data-index-h' ), 10 ),\n\t\t\t\t\t\tv = parseInt( element.getAttribute( 'data-index-v' ), 10 );\n\n\t\t\t\t\tthis.Reveal.slide( h, v );\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t}\n\n}","import { enterFullscreen } from '../utils/util.js'\n\n/**\n * Handles all reveal.js keyboard interactions.\n */\nexport default class Keyboard {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\t// A key:value map of keyboard keys and descriptions of\n\t\t// the actions they trigger\n\t\tthis.shortcuts = {};\n\n\t\t// Holds custom key code mappings\n\t\tthis.bindings = {};\n\n\t\tthis.onDocumentKeyDown = this.onDocumentKeyDown.bind( this );\n\t\tthis.onDocumentKeyPress = this.onDocumentKeyPress.bind( this );\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tif( config.navigationMode === 'linear' ) {\n\t\t\tthis.shortcuts['→ , ↓ , SPACE , N , L , J'] = 'Next slide';\n\t\t\tthis.shortcuts['← , ↑ , P , H , K'] = 'Previous slide';\n\t\t}\n\t\telse {\n\t\t\tthis.shortcuts['N , SPACE'] = 'Next slide';\n\t\t\tthis.shortcuts['P , Shift SPACE'] = 'Previous slide';\n\t\t\tthis.shortcuts['← , H'] = 'Navigate left';\n\t\t\tthis.shortcuts['→ , L'] = 'Navigate right';\n\t\t\tthis.shortcuts['↑ , K'] = 'Navigate up';\n\t\t\tthis.shortcuts['↓ , J'] = 'Navigate down';\n\t\t}\n\n\t\tthis.shortcuts['Alt + ←/↑/→/↓'] = 'Navigate without fragments';\n\t\tthis.shortcuts['Shift + ←/↑/→/↓'] = 'Jump to first/last slide';\n\t\tthis.shortcuts['B , .'] = 'Pause';\n\t\tthis.shortcuts['F'] = 'Fullscreen';\n\t\tthis.shortcuts['ESC, O'] = 'Slide overview';\n\n\t}\n\n\t/**\n\t * Starts listening for keyboard events.\n\t */\n\tbind() {\n\n\t\tdocument.addEventListener( 'keydown', this.onDocumentKeyDown, false );\n\t\tdocument.addEventListener( 'keypress', this.onDocumentKeyPress, false );\n\n\t}\n\n\t/**\n\t * Stops listening for keyboard events.\n\t */\n\tunbind() {\n\n\t\tdocument.removeEventListener( 'keydown', this.onDocumentKeyDown, false );\n\t\tdocument.removeEventListener( 'keypress', this.onDocumentKeyPress, false );\n\n\t}\n\n\t/**\n\t * Add a custom key binding with optional description to\n\t * be added to the help screen.\n\t */\n\taddKeyBinding( binding, callback ) {\n\n\t\tif( typeof binding === 'object' && binding.keyCode ) {\n\t\t\tthis.bindings[binding.keyCode] = {\n\t\t\t\tcallback: callback,\n\t\t\t\tkey: binding.key,\n\t\t\t\tdescription: binding.description\n\t\t\t};\n\t\t}\n\t\telse {\n\t\t\tthis.bindings[binding] = {\n\t\t\t\tcallback: callback,\n\t\t\t\tkey: null,\n\t\t\t\tdescription: null\n\t\t\t};\n\t\t}\n\n\t}\n\n\t/**\n\t * Removes the specified custom key binding.\n\t */\n\tremoveKeyBinding( keyCode ) {\n\n\t\tdelete this.bindings[keyCode];\n\n\t}\n\n\t/**\n\t * Programmatically triggers a keyboard event\n\t *\n\t * @param {int} keyCode\n\t */\n\ttriggerKey( keyCode ) {\n\n\t\tthis.onDocumentKeyDown( { keyCode } );\n\n\t}\n\n\t/**\n\t * Registers a new shortcut to include in the help overlay\n\t *\n\t * @param {String} key\n\t * @param {String} value\n\t */\n\tregisterKeyboardShortcut( key, value ) {\n\n\t\tthis.shortcuts[key] = value;\n\n\t}\n\n\tgetShortcuts() {\n\n\t\treturn this.shortcuts;\n\n\t}\n\n\tgetBindings() {\n\n\t\treturn this.bindings;\n\n\t}\n\n\t/**\n\t * Handler for the document level 'keypress' event.\n\t *\n\t * @param {object} event\n\t */\n\tonDocumentKeyPress( event ) {\n\n\t\t// Check if the pressed key is question mark\n\t\tif( event.shiftKey && event.charCode === 63 ) {\n\t\t\tthis.Reveal.toggleHelp();\n\t\t}\n\n\t}\n\n\t/**\n\t * Handler for the document level 'keydown' event.\n\t *\n\t * @param {object} event\n\t */\n\tonDocumentKeyDown( event ) {\n\n\t\tlet config = this.Reveal.getConfig();\n\n\t\t// If there's a condition specified and it returns false,\n\t\t// ignore this event\n\t\tif( typeof config.keyboardCondition === 'function' && config.keyboardCondition(event) === false ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// If keyboardCondition is set, only capture keyboard events\n\t\t// for embedded decks when they are focused\n\t\tif( config.keyboardCondition === 'focused' && !this.Reveal.isFocused() ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Shorthand\n\t\tlet keyCode = event.keyCode;\n\n\t\t// Remember if auto-sliding was paused so we can toggle it\n\t\tlet autoSlideWasPaused = !this.Reveal.isAutoSliding();\n\n\t\tthis.Reveal.onUserInput( event );\n\n\t\t// Is there a focused element that could be using the keyboard?\n\t\tlet activeElementIsCE = document.activeElement && document.activeElement.isContentEditable === true;\n\t\tlet activeElementIsInput = document.activeElement && document.activeElement.tagName && /input|textarea/i.test( document.activeElement.tagName );\n\t\tlet activeElementIsNotes = document.activeElement && document.activeElement.className && /speaker-notes/i.test( document.activeElement.className);\n\n\t\t// Whitelist certain modifiers for slide navigation shortcuts\n\t\tlet isNavigationKey = [32, 37, 38, 39, 40, 78, 80].indexOf( event.keyCode ) !== -1;\n\n\t\t// Prevent all other events when a modifier is pressed\n\t\tlet unusedModifier = \t!( isNavigationKey && event.shiftKey || event.altKey ) &&\n\t\t\t\t\t\t\t\t( event.shiftKey || event.altKey || event.ctrlKey || event.metaKey );\n\n\t\t// Disregard the event if there's a focused element or a\n\t\t// keyboard modifier key is present\n\t\tif( activeElementIsCE || activeElementIsInput || activeElementIsNotes || unusedModifier ) return;\n\n\t\t// While paused only allow resume keyboard events; 'b', 'v', '.'\n\t\tlet resumeKeyCodes = [66,86,190,191];\n\t\tlet key;\n\n\t\t// Custom key bindings for togglePause should be able to resume\n\t\tif( typeof config.keyboard === 'object' ) {\n\t\t\tfor( key in config.keyboard ) {\n\t\t\t\tif( config.keyboard[key] === 'togglePause' ) {\n\t\t\t\t\tresumeKeyCodes.push( parseInt( key, 10 ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif( this.Reveal.isPaused() && resumeKeyCodes.indexOf( keyCode ) === -1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Use linear navigation if we're configured to OR if\n\t\t// the presentation is one-dimensional\n\t\tlet useLinearMode = config.navigationMode === 'linear' || !this.Reveal.hasHorizontalSlides() || !this.Reveal.hasVerticalSlides();\n\n\t\tlet triggered = false;\n\n\t\t// 1. User defined key bindings\n\t\tif( typeof config.keyboard === 'object' ) {\n\n\t\t\tfor( key in config.keyboard ) {\n\n\t\t\t\t// Check if this binding matches the pressed key\n\t\t\t\tif( parseInt( key, 10 ) === keyCode ) {\n\n\t\t\t\t\tlet value = config.keyboard[ key ];\n\n\t\t\t\t\t// Callback function\n\t\t\t\t\tif( typeof value === 'function' ) {\n\t\t\t\t\t\tvalue.apply( null, [ event ] );\n\t\t\t\t\t}\n\t\t\t\t\t// String shortcuts to reveal.js API\n\t\t\t\t\telse if( typeof value === 'string' && typeof this.Reveal[ value ] === 'function' ) {\n\t\t\t\t\t\tthis.Reveal[ value ].call();\n\t\t\t\t\t}\n\n\t\t\t\t\ttriggered = true;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t// 2. Registered custom key bindings\n\t\tif( triggered === false ) {\n\n\t\t\tfor( key in this.bindings ) {\n\n\t\t\t\t// Check if this binding matches the pressed key\n\t\t\t\tif( parseInt( key, 10 ) === keyCode ) {\n\n\t\t\t\t\tlet action = this.bindings[ key ].callback;\n\n\t\t\t\t\t// Callback function\n\t\t\t\t\tif( typeof action === 'function' ) {\n\t\t\t\t\t\taction.apply( null, [ event ] );\n\t\t\t\t\t}\n\t\t\t\t\t// String shortcuts to reveal.js API\n\t\t\t\t\telse if( typeof action === 'string' && typeof this.Reveal[ action ] === 'function' ) {\n\t\t\t\t\t\tthis.Reveal[ action ].call();\n\t\t\t\t\t}\n\n\t\t\t\t\ttriggered = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// 3. System defined key bindings\n\t\tif( triggered === false ) {\n\n\t\t\t// Assume true and try to prove false\n\t\t\ttriggered = true;\n\n\t\t\t// P, PAGE UP\n\t\t\tif( keyCode === 80 || keyCode === 33 ) {\n\t\t\t\tthis.Reveal.prev({skipFragments: event.altKey});\n\t\t\t}\n\t\t\t// N, PAGE DOWN\n\t\t\telse if( keyCode === 78 || keyCode === 34 ) {\n\t\t\t\tthis.Reveal.next({skipFragments: event.altKey});\n\t\t\t}\n\t\t\t// H, LEFT\n\t\t\telse if( keyCode === 72 || keyCode === 37 ) {\n\t\t\t\tif( event.shiftKey ) {\n\t\t\t\t\tthis.Reveal.slide( 0 );\n\t\t\t\t}\n\t\t\t\telse if( !this.Reveal.overview.isActive() && useLinearMode ) {\n\t\t\t\t\tthis.Reveal.prev({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.Reveal.left({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// L, RIGHT\n\t\t\telse if( keyCode === 76 || keyCode === 39 ) {\n\t\t\t\tif( event.shiftKey ) {\n\t\t\t\t\tthis.Reveal.slide( this.Reveal.getHorizontalSlides().length - 1 );\n\t\t\t\t}\n\t\t\t\telse if( !this.Reveal.overview.isActive() && useLinearMode ) {\n\t\t\t\t\tthis.Reveal.next({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.Reveal.right({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// K, UP\n\t\t\telse if( keyCode === 75 || keyCode === 38 ) {\n\t\t\t\tif( event.shiftKey ) {\n\t\t\t\t\tthis.Reveal.slide( undefined, 0 );\n\t\t\t\t}\n\t\t\t\telse if( !this.Reveal.overview.isActive() && useLinearMode ) {\n\t\t\t\t\tthis.Reveal.prev({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.Reveal.up({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// J, DOWN\n\t\t\telse if( keyCode === 74 || keyCode === 40 ) {\n\t\t\t\tif( event.shiftKey ) {\n\t\t\t\t\tthis.Reveal.slide( undefined, Number.MAX_VALUE );\n\t\t\t\t}\n\t\t\t\telse if( !this.Reveal.overview.isActive() && useLinearMode ) {\n\t\t\t\t\tthis.Reveal.next({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.Reveal.down({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// HOME\n\t\t\telse if( keyCode === 36 ) {\n\t\t\t\tthis.Reveal.slide( 0 );\n\t\t\t}\n\t\t\t// END\n\t\t\telse if( keyCode === 35 ) {\n\t\t\t\tthis.Reveal.slide( this.Reveal.getHorizontalSlides().length - 1 );\n\t\t\t}\n\t\t\t// SPACE\n\t\t\telse if( keyCode === 32 ) {\n\t\t\t\tif( this.Reveal.overview.isActive() ) {\n\t\t\t\t\tthis.Reveal.overview.deactivate();\n\t\t\t\t}\n\t\t\t\tif( event.shiftKey ) {\n\t\t\t\t\tthis.Reveal.prev({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.Reveal.next({skipFragments: event.altKey});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// TWO-SPOT, SEMICOLON, B, V, PERIOD, LOGITECH PRESENTER TOOLS \"BLACK SCREEN\" BUTTON\n\t\t\telse if( keyCode === 58 || keyCode === 59 || keyCode === 66 || keyCode === 86 || keyCode === 190 || keyCode === 191 ) {\n\t\t\t\tthis.Reveal.togglePause();\n\t\t\t}\n\t\t\t// F\n\t\t\telse if( keyCode === 70 ) {\n\t\t\t\tenterFullscreen( config.embedded ? this.Reveal.getViewportElement() : document.documentElement );\n\t\t\t}\n\t\t\t// A\n\t\t\telse if( keyCode === 65 ) {\n\t\t\t\tif ( config.autoSlideStoppable ) {\n\t\t\t\t\tthis.Reveal.toggleAutoSlide( autoSlideWasPaused );\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttriggered = false;\n\t\t\t}\n\n\t\t}\n\n\t\t// If the input resulted in a triggered action we should prevent\n\t\t// the browsers default behavior\n\t\tif( triggered ) {\n\t\t\tevent.preventDefault && event.preventDefault();\n\t\t}\n\t\t// ESC or O key\n\t\telse if( keyCode === 27 || keyCode === 79 ) {\n\t\t\tif( this.Reveal.closeOverlay() === false ) {\n\t\t\t\tthis.Reveal.overview.toggle();\n\t\t\t}\n\n\t\t\tevent.preventDefault && event.preventDefault();\n\t\t}\n\n\t\t// If auto-sliding is enabled we need to cue up\n\t\t// another timeout\n\t\tthis.Reveal.cueAutoSlide();\n\n\t}\n\n}","/**\n * Reads and writes the URL based on reveal.js' current state.\n */\nexport default class Location {\n\n\t// The minimum number of milliseconds that must pass between\n\t// calls to history.replaceState\n\tMAX_REPLACE_STATE_FREQUENCY = 1000\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\t// Delays updates to the URL due to a Chrome thumbnailer bug\n\t\tthis.writeURLTimeout = 0;\n\n\t\tthis.replaceStateTimestamp = 0;\n\n\t\tthis.onWindowHashChange = this.onWindowHashChange.bind( this );\n\n\t}\n\n\tbind() {\n\n\t\twindow.addEventListener( 'hashchange', this.onWindowHashChange, false );\n\n\t}\n\n\tunbind() {\n\n\t\twindow.removeEventListener( 'hashchange', this.onWindowHashChange, false );\n\n\t}\n\n\t/**\n\t * Returns the slide indices for the given hash link.\n\t *\n\t * @param {string} [hash] the hash string that we want to\n\t * find the indices for\n\t *\n\t * @returns slide indices or null\n\t */\n\tgetIndicesFromHash( hash=window.location.hash ) {\n\n\t\t// Attempt to parse the hash as either an index or name\n\t\tlet name = hash.replace( /^#\\/?/, '' );\n\t\tlet bits = name.split( '/' );\n\n\t\t// If the first bit is not fully numeric and there is a name we\n\t\t// can assume that this is a named link\n\t\tif( !/^[0-9]*$/.test( bits[0] ) && name.length ) {\n\t\t\tlet element;\n\n\t\t\tlet f;\n\n\t\t\t// Parse named links with fragments (#/named-link/2)\n\t\t\tif( /\\/[-\\d]+$/g.test( name ) ) {\n\t\t\t\tf = parseInt( name.split( '/' ).pop(), 10 );\n\t\t\t\tf = isNaN(f) ? undefined : f;\n\t\t\t\tname = name.split( '/' ).shift();\n\t\t\t}\n\n\t\t\t// Ensure the named link is a valid HTML ID attribute\n\t\t\ttry {\n\t\t\t\telement = document.getElementById( decodeURIComponent( name ) );\n\t\t\t}\n\t\t\tcatch ( error ) { }\n\n\t\t\tif( element ) {\n\t\t\t\treturn { ...this.Reveal.getIndices( element ), f };\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconst config = this.Reveal.getConfig();\n\t\t\tlet hashIndexBase = config.hashOneBasedIndex ? 1 : 0;\n\n\t\t\t// Read the index components of the hash\n\t\t\tlet h = ( parseInt( bits[0], 10 ) - hashIndexBase ) || 0,\n\t\t\t\tv = ( parseInt( bits[1], 10 ) - hashIndexBase ) || 0,\n\t\t\t\tf;\n\n\t\t\tif( config.fragmentInURL ) {\n\t\t\t\tf = parseInt( bits[2], 10 );\n\t\t\t\tif( isNaN( f ) ) {\n\t\t\t\t\tf = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn { h, v, f };\n\t\t}\n\n\t\t// The hash couldn't be parsed or no matching named link was found\n\t\treturn null\n\n\t}\n\n\t/**\n\t * Reads the current URL (hash) and navigates accordingly.\n\t */\n\treadURL() {\n\n\t\tconst currentIndices = this.Reveal.getIndices();\n\t\tconst newIndices = this.getIndicesFromHash();\n\n\t\tif( newIndices ) {\n\t\t\tif( ( newIndices.h !== currentIndices.h || newIndices.v !== currentIndices.v || newIndices.f !== undefined ) ) {\n\t\t\t\t\tthis.Reveal.slide( newIndices.h, newIndices.v, newIndices.f );\n\t\t\t}\n\t\t}\n\t\t// If no new indices are available, we're trying to navigate to\n\t\t// a slide hash that does not exist\n\t\telse {\n\t\t\tthis.Reveal.slide( currentIndices.h || 0, currentIndices.v || 0 );\n\t\t}\n\n\t}\n\n\t/**\n\t * Updates the page URL (hash) to reflect the current\n\t * state.\n\t *\n\t * @param {number} delay The time in ms to wait before\n\t * writing the hash\n\t */\n\twriteURL( delay ) {\n\n\t\tlet config = this.Reveal.getConfig();\n\t\tlet currentSlide = this.Reveal.getCurrentSlide();\n\n\t\t// Make sure there's never more than one timeout running\n\t\tclearTimeout( this.writeURLTimeout );\n\n\t\t// If a delay is specified, timeout this call\n\t\tif( typeof delay === 'number' ) {\n\t\t\tthis.writeURLTimeout = setTimeout( this.writeURL, delay );\n\t\t}\n\t\telse if( currentSlide ) {\n\n\t\t\tlet hash = this.getHash();\n\n\t\t\t// If we're configured to push to history OR the history\n\t\t\t// API is not avaialble.\n\t\t\tif( config.history ) {\n\t\t\t\twindow.location.hash = hash;\n\t\t\t}\n\t\t\t// If we're configured to reflect the current slide in the\n\t\t\t// URL without pushing to history.\n\t\t\telse if( config.hash ) {\n\t\t\t\t// If the hash is empty, don't add it to the URL\n\t\t\t\tif( hash === '/' ) {\n\t\t\t\t\tthis.debouncedReplaceState( window.location.pathname + window.location.search );\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.debouncedReplaceState( '#' + hash );\n\t\t\t\t}\n\t\t\t}\n\t\t\t// UPDATE: The below nuking of all hash changes breaks\n\t\t\t// anchors on pages where reveal.js is running. Removed\n\t\t\t// in 4.0. Why was it here in the first place? ¯\\_(ツ)_/¯\n\t\t\t//\n\t\t\t// If history and hash are both disabled, a hash may still\n\t\t\t// be added to the URL by clicking on a href with a hash\n\t\t\t// target. Counter this by always removing the hash.\n\t\t\t// else {\n\t\t\t// \twindow.history.replaceState( null, null, window.location.pathname + window.location.search );\n\t\t\t// }\n\n\t\t}\n\n\t}\n\n\treplaceState( url ) {\n\n\t\twindow.history.replaceState( null, null, url );\n\t\tthis.replaceStateTimestamp = Date.now();\n\n\t}\n\n\tdebouncedReplaceState( url ) {\n\n\t\tclearTimeout( this.replaceStateTimeout );\n\n\t\tif( Date.now() - this.replaceStateTimestamp > this.MAX_REPLACE_STATE_FREQUENCY ) {\n\t\t\tthis.replaceState( url );\n\t\t}\n\t\telse {\n\t\t\tthis.replaceStateTimeout = setTimeout( () => this.replaceState( url ), this.MAX_REPLACE_STATE_FREQUENCY );\n\t\t}\n\n\t}\n\n\t/**\n\t * Return a hash URL that will resolve to the given slide location.\n\t *\n\t * @param {HTMLElement} [slide=currentSlide] The slide to link to\n\t */\n\tgetHash( slide ) {\n\n\t\tlet url = '/';\n\n\t\t// Attempt to create a named link based on the slide's ID\n\t\tlet s = slide || this.Reveal.getCurrentSlide();\n\t\tlet id = s ? s.getAttribute( 'id' ) : null;\n\t\tif( id ) {\n\t\t\tid = encodeURIComponent( id );\n\t\t}\n\n\t\tlet index = this.Reveal.getIndices( slide );\n\t\tif( !this.Reveal.getConfig().fragmentInURL ) {\n\t\t\tindex.f = undefined;\n\t\t}\n\n\t\t// If the current slide has an ID, use that as a named link,\n\t\t// but we don't support named links with a fragment index\n\t\tif( typeof id === 'string' && id.length ) {\n\t\t\turl = '/' + id;\n\n\t\t\t// If there is also a fragment, append that at the end\n\t\t\t// of the named link, like: #/named-link/2\n\t\t\tif( index.f >= 0 ) url += '/' + index.f;\n\t\t}\n\t\t// Otherwise use the /h/v index\n\t\telse {\n\t\t\tlet hashIndexBase = this.Reveal.getConfig().hashOneBasedIndex ? 1 : 0;\n\t\t\tif( index.h > 0 || index.v > 0 || index.f >= 0 ) url += index.h + hashIndexBase;\n\t\t\tif( index.v > 0 || index.f >= 0 ) url += '/' + (index.v + hashIndexBase );\n\t\t\tif( index.f >= 0 ) url += '/' + index.f;\n\t\t}\n\n\t\treturn url;\n\n\t}\n\n\t/**\n\t * Handler for the window level 'hashchange' event.\n\t *\n\t * @param {object} [event]\n\t */\n\tonWindowHashChange( event ) {\n\n\t\tthis.readURL();\n\n\t}\n\n}","import { queryAll } from '../utils/util.js'\nimport { isAndroid } from '../utils/device.js'\n\n/**\n * Manages our presentation controls. This includes both\n * the built-in control arrows as well as event monitoring\n * of any elements within the presentation with either of the\n * following helper classes:\n * - .navigate-up\n * - .navigate-right\n * - .navigate-down\n * - .navigate-left\n * - .navigate-next\n * - .navigate-prev\n */\nexport default class Controls {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\tthis.onNavigateLeftClicked = this.onNavigateLeftClicked.bind( this );\n\t\tthis.onNavigateRightClicked = this.onNavigateRightClicked.bind( this );\n\t\tthis.onNavigateUpClicked = this.onNavigateUpClicked.bind( this );\n\t\tthis.onNavigateDownClicked = this.onNavigateDownClicked.bind( this );\n\t\tthis.onNavigatePrevClicked = this.onNavigatePrevClicked.bind( this );\n\t\tthis.onNavigateNextClicked = this.onNavigateNextClicked.bind( this );\n\n\t}\n\n\trender() {\n\n\t\tconst rtl = this.Reveal.getConfig().rtl;\n\t\tconst revealElement = this.Reveal.getRevealElement();\n\n\t\tthis.element = document.createElement( 'aside' );\n\t\tthis.element.className = 'controls';\n\t\tthis.element.innerHTML =\n\t\t\t`\n\t\t\t\n\t\t\t\n\t\t\t`;\n\n\t\tthis.Reveal.getRevealElement().appendChild( this.element );\n\n\t\t// There can be multiple instances of controls throughout the page\n\t\tthis.controlsLeft = queryAll( revealElement, '.navigate-left' );\n\t\tthis.controlsRight = queryAll( revealElement, '.navigate-right' );\n\t\tthis.controlsUp = queryAll( revealElement, '.navigate-up' );\n\t\tthis.controlsDown = queryAll( revealElement, '.navigate-down' );\n\t\tthis.controlsPrev = queryAll( revealElement, '.navigate-prev' );\n\t\tthis.controlsNext = queryAll( revealElement, '.navigate-next' );\n\n\t\t// The left, right and down arrows in the standard reveal.js controls\n\t\tthis.controlsRightArrow = this.element.querySelector( '.navigate-right' );\n\t\tthis.controlsLeftArrow = this.element.querySelector( '.navigate-left' );\n\t\tthis.controlsDownArrow = this.element.querySelector( '.navigate-down' );\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tthis.element.style.display = config.controls ? 'block' : 'none';\n\n\t\tthis.element.setAttribute( 'data-controls-layout', config.controlsLayout );\n\t\tthis.element.setAttribute( 'data-controls-back-arrows', config.controlsBackArrows );\n\n\t}\n\n\tbind() {\n\n\t\t// Listen to both touch and click events, in case the device\n\t\t// supports both\n\t\tlet pointerEvents = [ 'touchstart', 'click' ];\n\n\t\t// Only support touch for Android, fixes double navigations in\n\t\t// stock browser\n\t\tif( isAndroid ) {\n\t\t\tpointerEvents = [ 'touchstart' ];\n\t\t}\n\n\t\tpointerEvents.forEach( eventName => {\n\t\t\tthis.controlsLeft.forEach( el => el.addEventListener( eventName, this.onNavigateLeftClicked, false ) );\n\t\t\tthis.controlsRight.forEach( el => el.addEventListener( eventName, this.onNavigateRightClicked, false ) );\n\t\t\tthis.controlsUp.forEach( el => el.addEventListener( eventName, this.onNavigateUpClicked, false ) );\n\t\t\tthis.controlsDown.forEach( el => el.addEventListener( eventName, this.onNavigateDownClicked, false ) );\n\t\t\tthis.controlsPrev.forEach( el => el.addEventListener( eventName, this.onNavigatePrevClicked, false ) );\n\t\t\tthis.controlsNext.forEach( el => el.addEventListener( eventName, this.onNavigateNextClicked, false ) );\n\t\t} );\n\n\t}\n\n\tunbind() {\n\n\t\t[ 'touchstart', 'click' ].forEach( eventName => {\n\t\t\tthis.controlsLeft.forEach( el => el.removeEventListener( eventName, this.onNavigateLeftClicked, false ) );\n\t\t\tthis.controlsRight.forEach( el => el.removeEventListener( eventName, this.onNavigateRightClicked, false ) );\n\t\t\tthis.controlsUp.forEach( el => el.removeEventListener( eventName, this.onNavigateUpClicked, false ) );\n\t\t\tthis.controlsDown.forEach( el => el.removeEventListener( eventName, this.onNavigateDownClicked, false ) );\n\t\t\tthis.controlsPrev.forEach( el => el.removeEventListener( eventName, this.onNavigatePrevClicked, false ) );\n\t\t\tthis.controlsNext.forEach( el => el.removeEventListener( eventName, this.onNavigateNextClicked, false ) );\n\t\t} );\n\n\t}\n\n\t/**\n\t * Updates the state of all control/navigation arrows.\n\t */\n\tupdate() {\n\n\t\tlet routes = this.Reveal.availableRoutes();\n\n\t\t// Remove the 'enabled' class from all directions\n\t\t[...this.controlsLeft, ...this.controlsRight, ...this.controlsUp, ...this.controlsDown, ...this.controlsPrev, ...this.controlsNext].forEach( node => {\n\t\t\tnode.classList.remove( 'enabled', 'fragmented' );\n\n\t\t\t// Set 'disabled' attribute on all directions\n\t\t\tnode.setAttribute( 'disabled', 'disabled' );\n\t\t} );\n\n\t\t// Add the 'enabled' class to the available routes; remove 'disabled' attribute to enable buttons\n\t\tif( routes.left ) this.controlsLeft.forEach( el => { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\tif( routes.right ) this.controlsRight.forEach( el => { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\tif( routes.up ) this.controlsUp.forEach( el => { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\tif( routes.down ) this.controlsDown.forEach( el => { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\n\t\t// Prev/next buttons\n\t\tif( routes.left || routes.up ) this.controlsPrev.forEach( el => { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\tif( routes.right || routes.down ) this.controlsNext.forEach( el => { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\n\t\t// Highlight fragment directions\n\t\tlet currentSlide = this.Reveal.getCurrentSlide();\n\t\tif( currentSlide ) {\n\n\t\t\tlet fragmentsRoutes = this.Reveal.fragments.availableRoutes();\n\n\t\t\t// Always apply fragment decorator to prev/next buttons\n\t\t\tif( fragmentsRoutes.prev ) this.controlsPrev.forEach( el => { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\t\tif( fragmentsRoutes.next ) this.controlsNext.forEach( el => { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\n\t\t\t// Apply fragment decorators to directional buttons based on\n\t\t\t// what slide axis they are in\n\t\t\tif( this.Reveal.isVerticalSlide( currentSlide ) ) {\n\t\t\t\tif( fragmentsRoutes.prev ) this.controlsUp.forEach( el => { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\t\t\tif( fragmentsRoutes.next ) this.controlsDown.forEach( el => { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif( fragmentsRoutes.prev ) this.controlsLeft.forEach( el => { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\t\t\tif( fragmentsRoutes.next ) this.controlsRight.forEach( el => { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } );\n\t\t\t}\n\n\t\t}\n\n\t\tif( this.Reveal.getConfig().controlsTutorial ) {\n\n\t\t\tlet indices = this.Reveal.getIndices();\n\n\t\t\t// Highlight control arrows with an animation to ensure\n\t\t\t// that the viewer knows how to navigate\n\t\t\tif( !this.Reveal.hasNavigatedVertically() && routes.down ) {\n\t\t\t\tthis.controlsDownArrow.classList.add( 'highlight' );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.controlsDownArrow.classList.remove( 'highlight' );\n\n\t\t\t\tif( this.Reveal.getConfig().rtl ) {\n\n\t\t\t\t\tif( !this.Reveal.hasNavigatedHorizontally() && routes.left && indices.v === 0 ) {\n\t\t\t\t\t\tthis.controlsLeftArrow.classList.add( 'highlight' );\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.controlsLeftArrow.classList.remove( 'highlight' );\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif( !this.Reveal.hasNavigatedHorizontally() && routes.right && indices.v === 0 ) {\n\t\t\t\t\t\tthis.controlsRightArrow.classList.add( 'highlight' );\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.controlsRightArrow.classList.remove( 'highlight' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tdestroy() {\n\n\t\tthis.unbind();\n\t\tthis.element.remove();\n\n\t}\n\n\t/**\n\t * Event handlers for navigation control buttons.\n\t */\n\tonNavigateLeftClicked( event ) {\n\n\t\tevent.preventDefault();\n\t\tthis.Reveal.onUserInput();\n\n\t\tif( this.Reveal.getConfig().navigationMode === 'linear' ) {\n\t\t\tthis.Reveal.prev();\n\t\t}\n\t\telse {\n\t\t\tthis.Reveal.left();\n\t\t}\n\n\t}\n\n\tonNavigateRightClicked( event ) {\n\n\t\tevent.preventDefault();\n\t\tthis.Reveal.onUserInput();\n\n\t\tif( this.Reveal.getConfig().navigationMode === 'linear' ) {\n\t\t\tthis.Reveal.next();\n\t\t}\n\t\telse {\n\t\t\tthis.Reveal.right();\n\t\t}\n\n\t}\n\n\tonNavigateUpClicked( event ) {\n\n\t\tevent.preventDefault();\n\t\tthis.Reveal.onUserInput();\n\n\t\tthis.Reveal.up();\n\n\t}\n\n\tonNavigateDownClicked( event ) {\n\n\t\tevent.preventDefault();\n\t\tthis.Reveal.onUserInput();\n\n\t\tthis.Reveal.down();\n\n\t}\n\n\tonNavigatePrevClicked( event ) {\n\n\t\tevent.preventDefault();\n\t\tthis.Reveal.onUserInput();\n\n\t\tthis.Reveal.prev();\n\n\t}\n\n\tonNavigateNextClicked( event ) {\n\n\t\tevent.preventDefault();\n\t\tthis.Reveal.onUserInput();\n\n\t\tthis.Reveal.next();\n\n\t}\n\n\n}","/**\n * Creates a visual progress bar for the presentation.\n */\nexport default class Progress {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\tthis.onProgressClicked = this.onProgressClicked.bind( this );\n\n\t}\n\n\trender() {\n\n\t\tthis.element = document.createElement( 'div' );\n\t\tthis.element.className = 'progress';\n\t\tthis.Reveal.getRevealElement().appendChild( this.element );\n\n\t\tthis.bar = document.createElement( 'span' );\n\t\tthis.element.appendChild( this.bar );\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tthis.element.style.display = config.progress ? 'block' : 'none';\n\n\t}\n\n\tbind() {\n\n\t\tif( this.Reveal.getConfig().progress && this.element ) {\n\t\t\tthis.element.addEventListener( 'click', this.onProgressClicked, false );\n\t\t}\n\n\t}\n\n\tunbind() {\n\n\t\tif ( this.Reveal.getConfig().progress && this.element ) {\n\t\t\tthis.element.removeEventListener( 'click', this.onProgressClicked, false );\n\t\t}\n\n\t}\n\n\t/**\n\t * Updates the progress bar to reflect the current slide.\n\t */\n\tupdate() {\n\n\t\t// Update progress if enabled\n\t\tif( this.Reveal.getConfig().progress && this.bar ) {\n\n\t\t\tlet scale = this.Reveal.getProgress();\n\n\t\t\t// Don't fill the progress bar if there's only one slide\n\t\t\tif( this.Reveal.getTotalSlides() < 2 ) {\n\t\t\t\tscale = 0;\n\t\t\t}\n\n\t\t\tthis.bar.style.transform = 'scaleX('+ scale +')';\n\n\t\t}\n\n\t}\n\n\tgetMaxWidth() {\n\n\t\treturn this.Reveal.getRevealElement().offsetWidth;\n\n\t}\n\n\t/**\n\t * Clicking on the progress bar results in a navigation to the\n\t * closest approximate horizontal slide using this equation:\n\t *\n\t * ( clickX / presentationWidth ) * numberOfSlides\n\t *\n\t * @param {object} event\n\t */\n\tonProgressClicked( event ) {\n\n\t\tthis.Reveal.onUserInput( event );\n\n\t\tevent.preventDefault();\n\n\t\tlet slides = this.Reveal.getSlides();\n\t\tlet slidesTotal = slides.length;\n\t\tlet slideIndex = Math.floor( ( event.clientX / this.getMaxWidth() ) * slidesTotal );\n\n\t\tif( this.Reveal.getConfig().rtl ) {\n\t\t\tslideIndex = slidesTotal - slideIndex;\n\t\t}\n\n\t\tlet targetIndices = this.Reveal.getIndices(slides[slideIndex]);\n\t\tthis.Reveal.slide( targetIndices.h, targetIndices.v );\n\n\t}\n\n\tdestroy() {\n\n\t\tthis.element.remove();\n\n\t}\n\n}","/**\n * Handles hiding of the pointer/cursor when inactive.\n */\nexport default class Pointer {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\t// Throttles mouse wheel navigation\n\t\tthis.lastMouseWheelStep = 0;\n\n\t\t// Is the mouse pointer currently hidden from view\n\t\tthis.cursorHidden = false;\n\n\t\t// Timeout used to determine when the cursor is inactive\n\t\tthis.cursorInactiveTimeout = 0;\n\n\t\tthis.onDocumentCursorActive = this.onDocumentCursorActive.bind( this );\n\t\tthis.onDocumentMouseScroll = this.onDocumentMouseScroll.bind( this );\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tif( config.mouseWheel ) {\n\t\t\tdocument.addEventListener( 'DOMMouseScroll', this.onDocumentMouseScroll, false ); // FF\n\t\t\tdocument.addEventListener( 'mousewheel', this.onDocumentMouseScroll, false );\n\t\t}\n\t\telse {\n\t\t\tdocument.removeEventListener( 'DOMMouseScroll', this.onDocumentMouseScroll, false ); // FF\n\t\t\tdocument.removeEventListener( 'mousewheel', this.onDocumentMouseScroll, false );\n\t\t}\n\n\t\t// Auto-hide the mouse pointer when its inactive\n\t\tif( config.hideInactiveCursor ) {\n\t\t\tdocument.addEventListener( 'mousemove', this.onDocumentCursorActive, false );\n\t\t\tdocument.addEventListener( 'mousedown', this.onDocumentCursorActive, false );\n\t\t}\n\t\telse {\n\t\t\tthis.showCursor();\n\n\t\t\tdocument.removeEventListener( 'mousemove', this.onDocumentCursorActive, false );\n\t\t\tdocument.removeEventListener( 'mousedown', this.onDocumentCursorActive, false );\n\t\t}\n\n\t}\n\n\t/**\n\t * Shows the mouse pointer after it has been hidden with\n\t * #hideCursor.\n\t */\n\tshowCursor() {\n\n\t\tif( this.cursorHidden ) {\n\t\t\tthis.cursorHidden = false;\n\t\t\tthis.Reveal.getRevealElement().style.cursor = '';\n\t\t}\n\n\t}\n\n\t/**\n\t * Hides the mouse pointer when it's on top of the .reveal\n\t * container.\n\t */\n\thideCursor() {\n\n\t\tif( this.cursorHidden === false ) {\n\t\t\tthis.cursorHidden = true;\n\t\t\tthis.Reveal.getRevealElement().style.cursor = 'none';\n\t\t}\n\n\t}\n\n\tdestroy() {\n\n\t\tthis.showCursor();\n\n\t\tdocument.removeEventListener( 'DOMMouseScroll', this.onDocumentMouseScroll, false );\n\t\tdocument.removeEventListener( 'mousewheel', this.onDocumentMouseScroll, false );\n\t\tdocument.removeEventListener( 'mousemove', this.onDocumentCursorActive, false );\n\t\tdocument.removeEventListener( 'mousedown', this.onDocumentCursorActive, false );\n\n\t}\n\n\t/**\n\t * Called whenever there is mouse input at the document level\n\t * to determine if the cursor is active or not.\n\t *\n\t * @param {object} event\n\t */\n\tonDocumentCursorActive( event ) {\n\n\t\tthis.showCursor();\n\n\t\tclearTimeout( this.cursorInactiveTimeout );\n\n\t\tthis.cursorInactiveTimeout = setTimeout( this.hideCursor.bind( this ), this.Reveal.getConfig().hideCursorTime );\n\n\t}\n\n\t/**\n\t * Handles mouse wheel scrolling, throttled to avoid skipping\n\t * multiple slides.\n\t *\n\t * @param {object} event\n\t */\n\tonDocumentMouseScroll( event ) {\n\n\t\tif( Date.now() - this.lastMouseWheelStep > 1000 ) {\n\n\t\t\tthis.lastMouseWheelStep = Date.now();\n\n\t\t\tlet delta = event.detail || -event.wheelDelta;\n\t\t\tif( delta > 0 ) {\n\t\t\t\tthis.Reveal.next();\n\t\t\t}\n\t\t\telse if( delta < 0 ) {\n\t\t\t\tthis.Reveal.prev();\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}","/**\n * Loads a JavaScript file from the given URL and executes it.\n *\n * @param {string} url Address of the .js file to load\n * @param {function} callback Method to invoke when the script\n * has loaded and executed\n */\nexport const loadScript = ( url, callback ) => {\n\n\tconst script = document.createElement( 'script' );\n\tscript.type = 'text/javascript';\n\tscript.async = false;\n\tscript.defer = false;\n\tscript.src = url;\n\n\tif( typeof callback === 'function' ) {\n\n\t\t// Success callback\n\t\tscript.onload = script.onreadystatechange = event => {\n\t\t\tif( event.type === 'load' || /loaded|complete/.test( script.readyState ) ) {\n\n\t\t\t\t// Kill event listeners\n\t\t\t\tscript.onload = script.onreadystatechange = script.onerror = null;\n\n\t\t\t\tcallback();\n\n\t\t\t}\n\t\t};\n\n\t\t// Error callback\n\t\tscript.onerror = err => {\n\n\t\t\t// Kill event listeners\n\t\t\tscript.onload = script.onreadystatechange = script.onerror = null;\n\n\t\t\tcallback( new Error( 'Failed loading script: ' + script.src + '\\n' + err ) );\n\n\t\t};\n\n\t}\n\n\t// Append the script at the end of \n\tconst head = document.querySelector( 'head' );\n\thead.insertBefore( script, head.lastChild );\n\n}","import { loadScript } from '../utils/loader.js'\n\n/**\n * Manages loading and registering of reveal.js plugins.\n */\nexport default class Plugins {\n\n\tconstructor( reveal ) {\n\n\t\tthis.Reveal = reveal;\n\n\t\t// Flags our current state (idle -> loading -> loaded)\n\t\tthis.state = 'idle';\n\n\t\t// An id:instance map of currently registed plugins\n\t\tthis.registeredPlugins = {};\n\n\t\tthis.asyncDependencies = [];\n\n\t}\n\n\t/**\n\t * Loads reveal.js dependencies, registers and\n\t * initializes plugins.\n\t *\n\t * Plugins are direct references to a reveal.js plugin\n\t * object that we register and initialize after any\n\t * synchronous dependencies have loaded.\n\t *\n\t * Dependencies are defined via the 'dependencies' config\n\t * option and will be loaded prior to starting reveal.js.\n\t * Some dependencies may have an 'async' flag, if so they\n\t * will load after reveal.js has been started up.\n\t */\n\tload( plugins, dependencies ) {\n\n\t\tthis.state = 'loading';\n\n\t\tplugins.forEach( this.registerPlugin.bind( this ) );\n\n\t\treturn new Promise( resolve => {\n\n\t\t\tlet scripts = [],\n\t\t\t\tscriptsToLoad = 0;\n\n\t\t\tdependencies.forEach( s => {\n\t\t\t\t// Load if there's no condition or the condition is truthy\n\t\t\t\tif( !s.condition || s.condition() ) {\n\t\t\t\t\tif( s.async ) {\n\t\t\t\t\t\tthis.asyncDependencies.push( s );\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tscripts.push( s );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif( scripts.length ) {\n\t\t\t\tscriptsToLoad = scripts.length;\n\n\t\t\t\tconst scriptLoadedCallback = (s) => {\n\t\t\t\t\tif( s && typeof s.callback === 'function' ) s.callback();\n\n\t\t\t\t\tif( --scriptsToLoad === 0 ) {\n\t\t\t\t\t\tthis.initPlugins().then( resolve );\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t// Load synchronous scripts\n\t\t\t\tscripts.forEach( s => {\n\t\t\t\t\tif( typeof s.id === 'string' ) {\n\t\t\t\t\t\tthis.registerPlugin( s );\n\t\t\t\t\t\tscriptLoadedCallback( s );\n\t\t\t\t\t}\n\t\t\t\t\telse if( typeof s.src === 'string' ) {\n\t\t\t\t\t\tloadScript( s.src, () => scriptLoadedCallback(s) );\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.warn( 'Unrecognized plugin format', s );\n\t\t\t\t\t\tscriptLoadedCallback();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.initPlugins().then( resolve );\n\t\t\t}\n\n\t\t} );\n\n\t}\n\n\t/**\n\t * Initializes our plugins and waits for them to be ready\n\t * before proceeding.\n\t */\n\tinitPlugins() {\n\n\t\treturn new Promise( resolve => {\n\n\t\t\tlet pluginValues = Object.values( this.registeredPlugins );\n\t\t\tlet pluginsToInitialize = pluginValues.length;\n\n\t\t\t// If there are no plugins, skip this step\n\t\t\tif( pluginsToInitialize === 0 ) {\n\t\t\t\tthis.loadAsync().then( resolve );\n\t\t\t}\n\t\t\t// ... otherwise initialize plugins\n\t\t\telse {\n\n\t\t\t\tlet initNextPlugin;\n\n\t\t\t\tlet afterPlugInitialized = () => {\n\t\t\t\t\tif( --pluginsToInitialize === 0 ) {\n\t\t\t\t\t\tthis.loadAsync().then( resolve );\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tinitNextPlugin();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tlet i = 0;\n\n\t\t\t\t// Initialize plugins serially\n\t\t\t\tinitNextPlugin = () => {\n\n\t\t\t\t\tlet plugin = pluginValues[i++];\n\n\t\t\t\t\t// If the plugin has an 'init' method, invoke it\n\t\t\t\t\tif( typeof plugin.init === 'function' ) {\n\t\t\t\t\t\tlet promise = plugin.init( this.Reveal );\n\n\t\t\t\t\t\t// If the plugin returned a Promise, wait for it\n\t\t\t\t\t\tif( promise && typeof promise.then === 'function' ) {\n\t\t\t\t\t\t\tpromise.then( afterPlugInitialized );\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tafterPlugInitialized();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tafterPlugInitialized();\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tinitNextPlugin();\n\n\t\t\t}\n\n\t\t} )\n\n\t}\n\n\t/**\n\t * Loads all async reveal.js dependencies.\n\t */\n\tloadAsync() {\n\n\t\tthis.state = 'loaded';\n\n\t\tif( this.asyncDependencies.length ) {\n\t\t\tthis.asyncDependencies.forEach( s => {\n\t\t\t\tloadScript( s.src, s.callback );\n\t\t\t} );\n\t\t}\n\n\t\treturn Promise.resolve();\n\n\t}\n\n\t/**\n\t * Registers a new plugin with this reveal.js instance.\n\t *\n\t * reveal.js waits for all regisered plugins to initialize\n\t * before considering itself ready, as long as the plugin\n\t * is registered before calling `Reveal.initialize()`.\n\t */\n\tregisterPlugin( plugin ) {\n\n\t\t// Backwards compatibility to make reveal.js ~3.9.0\n\t\t// plugins work with reveal.js 4.0.0\n\t\tif( arguments.length === 2 && typeof arguments[0] === 'string' ) {\n\t\t\tplugin = arguments[1];\n\t\t\tplugin.id = arguments[0];\n\t\t}\n\t\t// Plugin can optionally be a function which we call\n\t\t// to create an instance of the plugin\n\t\telse if( typeof plugin === 'function' ) {\n\t\t\tplugin = plugin();\n\t\t}\n\n\t\tlet id = plugin.id;\n\n\t\tif( typeof id !== 'string' ) {\n\t\t\tconsole.warn( 'Unrecognized plugin format; can\\'t find plugin.id', plugin );\n\t\t}\n\t\telse if( this.registeredPlugins[id] === undefined ) {\n\t\t\tthis.registeredPlugins[id] = plugin;\n\n\t\t\t// If a plugin is registered after reveal.js is loaded,\n\t\t\t// initialize it right away\n\t\t\tif( this.state === 'loaded' && typeof plugin.init === 'function' ) {\n\t\t\t\tplugin.init( this.Reveal );\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconsole.warn( 'reveal.js: \"'+ id +'\" plugin has already been registered' );\n\t\t}\n\n\t}\n\n\t/**\n\t * Checks if a specific plugin has been registered.\n\t *\n\t * @param {String} id Unique plugin identifier\n\t */\n\thasPlugin( id ) {\n\n\t\treturn !!this.registeredPlugins[id];\n\n\t}\n\n\t/**\n\t * Returns the specific plugin instance, if a plugin\n\t * with the given ID has been registered.\n\t *\n\t * @param {String} id Unique plugin identifier\n\t */\n\tgetPlugin( id ) {\n\n\t\treturn this.registeredPlugins[id];\n\n\t}\n\n\tgetRegisteredPlugins() {\n\n\t\treturn this.registeredPlugins;\n\n\t}\n\n\tdestroy() {\n\n\t\tObject.values( this.registeredPlugins ).forEach( plugin => {\n\t\t\tif( typeof plugin.destroy === 'function' ) {\n\t\t\t\tplugin.destroy();\n\t\t\t}\n\t\t} );\n\n\t\tthis.registeredPlugins = {};\n\t\tthis.asyncDependencies = [];\n\n\t}\n\n}\n","import { SLIDES_SELECTOR } from '../utils/constants.js'\nimport { queryAll, createStyleSheet } from '../utils/util.js'\n\n/**\n * Setups up our presentation for printing/exporting to PDF.\n */\nexport default class Print {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t}\n\n\t/**\n\t * Configures the presentation for printing to a static\n\t * PDF.\n\t */\n\tasync setupPDF() {\n\n\t\tconst config = this.Reveal.getConfig();\n\t\tconst slides = queryAll( this.Reveal.getRevealElement(), SLIDES_SELECTOR )\n\n\t\t// Compute slide numbers now, before we start duplicating slides\n\t\tconst doingSlideNumbers = config.slideNumber && /all|print/i.test( config.showSlideNumber );\n\n\t\tconst slideSize = this.Reveal.getComputedSlideSize( window.innerWidth, window.innerHeight );\n\n\t\t// Dimensions of the PDF pages\n\t\tconst pageWidth = Math.floor( slideSize.width * ( 1 + config.margin ) ),\n\t\t\tpageHeight = Math.floor( slideSize.height * ( 1 + config.margin ) );\n\n\t\t// Dimensions of slides within the pages\n\t\tconst slideWidth = slideSize.width,\n\t\t\tslideHeight = slideSize.height;\n\n\t\tawait new Promise( requestAnimationFrame );\n\n\t\t// Let the browser know what page size we want to print\n\t\tcreateStyleSheet( '@page{size:'+ pageWidth +'px '+ pageHeight +'px; margin: 0px;}' );\n\n\t\t// Limit the size of certain elements to the dimensions of the slide\n\t\tcreateStyleSheet( '.reveal section>img, .reveal section>video, .reveal section>iframe{max-width: '+ slideWidth +'px; max-height:'+ slideHeight +'px}' );\n\n\t\tdocument.documentElement.classList.add( 'print-pdf' );\n\t\tdocument.body.style.width = pageWidth + 'px';\n\t\tdocument.body.style.height = pageHeight + 'px';\n\n\t\tconst viewportElement = document.querySelector( '.reveal-viewport' );\n\t\tlet presentationBackground;\n\t\tif( viewportElement ) {\n\t\t\tconst viewportStyles = window.getComputedStyle( viewportElement );\n\t\t\tif( viewportStyles && viewportStyles.background ) {\n\t\t\t\tpresentationBackground = viewportStyles.background;\n\t\t\t}\n\t\t}\n\n\t\t// Make sure stretch elements fit on slide\n\t\tawait new Promise( requestAnimationFrame );\n\t\tthis.Reveal.layoutSlideContents( slideWidth, slideHeight );\n\n\t\t// Batch scrollHeight access to prevent layout thrashing\n\t\tawait new Promise( requestAnimationFrame );\n\n\t\tconst slideScrollHeights = slides.map( slide => slide.scrollHeight );\n\n\t\tconst pages = [];\n\t\tconst pageContainer = slides[0].parentNode;\n\n\t\t// Slide and slide background layout\n\t\tslides.forEach( function( slide, index ) {\n\n\t\t\t// Vertical stacks are not centred since their section\n\t\t\t// children will be\n\t\t\tif( slide.classList.contains( 'stack' ) === false ) {\n\t\t\t\t// Center the slide inside of the page, giving the slide some margin\n\t\t\t\tlet left = ( pageWidth - slideWidth ) / 2;\n\t\t\t\tlet top = ( pageHeight - slideHeight ) / 2;\n\n\t\t\t\tconst contentHeight = slideScrollHeights[ index ];\n\t\t\t\tlet numberOfPages = Math.max( Math.ceil( contentHeight / pageHeight ), 1 );\n\n\t\t\t\t// Adhere to configured pages per slide limit\n\t\t\t\tnumberOfPages = Math.min( numberOfPages, config.pdfMaxPagesPerSlide );\n\n\t\t\t\t// Center slides vertically\n\t\t\t\tif( numberOfPages === 1 && config.center || slide.classList.contains( 'center' ) ) {\n\t\t\t\t\ttop = Math.max( ( pageHeight - contentHeight ) / 2, 0 );\n\t\t\t\t}\n\n\t\t\t\t// Wrap the slide in a page element and hide its overflow\n\t\t\t\t// so that no page ever flows onto another\n\t\t\t\tconst page = document.createElement( 'div' );\n\t\t\t\tpages.push( page );\n\n\t\t\t\tpage.className = 'pdf-page';\n\t\t\t\tpage.style.height = ( ( pageHeight + config.pdfPageHeightOffset ) * numberOfPages ) + 'px';\n\n\t\t\t\t// Copy the presentation-wide background to each individual\n\t\t\t\t// page when printing\n\t\t\t\tif( presentationBackground ) {\n\t\t\t\t\tpage.style.background = presentationBackground;\n\t\t\t\t}\n\n\t\t\t\tpage.appendChild( slide );\n\n\t\t\t\t// Position the slide inside of the page\n\t\t\t\tslide.style.left = left + 'px';\n\t\t\t\tslide.style.top = top + 'px';\n\t\t\t\tslide.style.width = slideWidth + 'px';\n\n\t\t\t\t// Re-run the slide layout so that r-fit-text is applied based on\n\t\t\t\t// the printed slide size\n\t\t\t\tthis.Reveal.slideContent.layout( slide )\n\n\t\t\t\tif( slide.slideBackgroundElement ) {\n\t\t\t\t\tpage.insertBefore( slide.slideBackgroundElement, slide );\n\t\t\t\t}\n\n\t\t\t\t// Inject notes if `showNotes` is enabled\n\t\t\t\tif( config.showNotes ) {\n\n\t\t\t\t\t// Are there notes for this slide?\n\t\t\t\t\tconst notes = this.Reveal.getSlideNotes( slide );\n\t\t\t\t\tif( notes ) {\n\n\t\t\t\t\t\tconst notesSpacing = 8;\n\t\t\t\t\t\tconst notesLayout = typeof config.showNotes === 'string' ? config.showNotes : 'inline';\n\t\t\t\t\t\tconst notesElement = document.createElement( 'div' );\n\t\t\t\t\t\tnotesElement.classList.add( 'speaker-notes' );\n\t\t\t\t\t\tnotesElement.classList.add( 'speaker-notes-pdf' );\n\t\t\t\t\t\tnotesElement.setAttribute( 'data-layout', notesLayout );\n\t\t\t\t\t\tnotesElement.innerHTML = notes;\n\n\t\t\t\t\t\tif( notesLayout === 'separate-page' ) {\n\t\t\t\t\t\t\tpages.push( notesElement );\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tnotesElement.style.left = notesSpacing + 'px';\n\t\t\t\t\t\t\tnotesElement.style.bottom = notesSpacing + 'px';\n\t\t\t\t\t\t\tnotesElement.style.width = ( pageWidth - notesSpacing*2 ) + 'px';\n\t\t\t\t\t\t\tpage.appendChild( notesElement );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t// Inject slide numbers if `slideNumbers` are enabled\n\t\t\t\tif( doingSlideNumbers ) {\n\t\t\t\t\tconst slideNumber = index + 1;\n\t\t\t\t\tconst numberElement = document.createElement( 'div' );\n\t\t\t\t\tnumberElement.classList.add( 'slide-number' );\n\t\t\t\t\tnumberElement.classList.add( 'slide-number-pdf' );\n\t\t\t\t\tnumberElement.innerHTML = slideNumber;\n\t\t\t\t\tpage.appendChild( numberElement );\n\t\t\t\t}\n\n\t\t\t\t// Copy page and show fragments one after another\n\t\t\t\tif( config.pdfSeparateFragments ) {\n\n\t\t\t\t\t// Each fragment 'group' is an array containing one or more\n\t\t\t\t\t// fragments. Multiple fragments that appear at the same time\n\t\t\t\t\t// are part of the same group.\n\t\t\t\t\tconst fragmentGroups = this.Reveal.fragments.sort( page.querySelectorAll( '.fragment' ), true );\n\n\t\t\t\t\tlet previousFragmentStep;\n\n\t\t\t\t\tfragmentGroups.forEach( function( fragments ) {\n\n\t\t\t\t\t\t// Remove 'current-fragment' from the previous group\n\t\t\t\t\t\tif( previousFragmentStep ) {\n\t\t\t\t\t\t\tpreviousFragmentStep.forEach( function( fragment ) {\n\t\t\t\t\t\t\t\tfragment.classList.remove( 'current-fragment' );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Show the fragments for the current index\n\t\t\t\t\t\tfragments.forEach( function( fragment ) {\n\t\t\t\t\t\t\tfragment.classList.add( 'visible', 'current-fragment' );\n\t\t\t\t\t\t}, this );\n\n\t\t\t\t\t\t// Create a separate page for the current fragment state\n\t\t\t\t\t\tconst clonedPage = page.cloneNode( true );\n\t\t\t\t\t\tpages.push( clonedPage );\n\n\t\t\t\t\t\tpreviousFragmentStep = fragments;\n\n\t\t\t\t\t}, this );\n\n\t\t\t\t\t// Reset the first/original page so that all fragments are hidden\n\t\t\t\t\tfragmentGroups.forEach( function( fragments ) {\n\t\t\t\t\t\tfragments.forEach( function( fragment ) {\n\t\t\t\t\t\t\tfragment.classList.remove( 'visible', 'current-fragment' );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\t\t\t\t// Show all fragments\n\t\t\t\telse {\n\t\t\t\t\tqueryAll( page, '.fragment:not(.fade-out)' ).forEach( function( fragment ) {\n\t\t\t\t\t\tfragment.classList.add( 'visible' );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}, this );\n\n\t\tawait new Promise( requestAnimationFrame );\n\n\t\tpages.forEach( page => pageContainer.appendChild( page ) );\n\n\t\t// Notify subscribers that the PDF layout is good to go\n\t\tthis.Reveal.dispatchEvent({ type: 'pdf-ready' });\n\n\t}\n\n\t/**\n\t * Checks if this instance is being used to print a PDF.\n\t */\n\tisPrintingPDF() {\n\n\t\treturn ( /print-pdf/gi ).test( window.location.search );\n\n\t}\n\n}\n","import { isAndroid } from '../utils/device.js'\nimport { matches } from '../utils/util.js'\n\nconst SWIPE_THRESHOLD = 40;\n\n/**\n * Controls all touch interactions and navigations for\n * a presentation.\n */\nexport default class Touch {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\t// Holds information about the currently ongoing touch interaction\n\t\tthis.touchStartX = 0;\n\t\tthis.touchStartY = 0;\n\t\tthis.touchStartCount = 0;\n\t\tthis.touchCaptured = false;\n\n\t\tthis.onPointerDown = this.onPointerDown.bind( this );\n\t\tthis.onPointerMove = this.onPointerMove.bind( this );\n\t\tthis.onPointerUp = this.onPointerUp.bind( this );\n\t\tthis.onTouchStart = this.onTouchStart.bind( this );\n\t\tthis.onTouchMove = this.onTouchMove.bind( this );\n\t\tthis.onTouchEnd = this.onTouchEnd.bind( this );\n\n\t}\n\n\t/**\n\t *\n\t */\n\tbind() {\n\n\t\tlet revealElement = this.Reveal.getRevealElement();\n\n\t\tif( 'onpointerdown' in window ) {\n\t\t\t// Use W3C pointer events\n\t\t\trevealElement.addEventListener( 'pointerdown', this.onPointerDown, false );\n\t\t\trevealElement.addEventListener( 'pointermove', this.onPointerMove, false );\n\t\t\trevealElement.addEventListener( 'pointerup', this.onPointerUp, false );\n\t\t}\n\t\telse if( window.navigator.msPointerEnabled ) {\n\t\t\t// IE 10 uses prefixed version of pointer events\n\t\t\trevealElement.addEventListener( 'MSPointerDown', this.onPointerDown, false );\n\t\t\trevealElement.addEventListener( 'MSPointerMove', this.onPointerMove, false );\n\t\t\trevealElement.addEventListener( 'MSPointerUp', this.onPointerUp, false );\n\t\t}\n\t\telse {\n\t\t\t// Fall back to touch events\n\t\t\trevealElement.addEventListener( 'touchstart', this.onTouchStart, false );\n\t\t\trevealElement.addEventListener( 'touchmove', this.onTouchMove, false );\n\t\t\trevealElement.addEventListener( 'touchend', this.onTouchEnd, false );\n\t\t}\n\n\t}\n\n\t/**\n\t *\n\t */\n\tunbind() {\n\n\t\tlet revealElement = this.Reveal.getRevealElement();\n\n\t\trevealElement.removeEventListener( 'pointerdown', this.onPointerDown, false );\n\t\trevealElement.removeEventListener( 'pointermove', this.onPointerMove, false );\n\t\trevealElement.removeEventListener( 'pointerup', this.onPointerUp, false );\n\n\t\trevealElement.removeEventListener( 'MSPointerDown', this.onPointerDown, false );\n\t\trevealElement.removeEventListener( 'MSPointerMove', this.onPointerMove, false );\n\t\trevealElement.removeEventListener( 'MSPointerUp', this.onPointerUp, false );\n\n\t\trevealElement.removeEventListener( 'touchstart', this.onTouchStart, false );\n\t\trevealElement.removeEventListener( 'touchmove', this.onTouchMove, false );\n\t\trevealElement.removeEventListener( 'touchend', this.onTouchEnd, false );\n\n\t}\n\n\t/**\n\t * Checks if the target element prevents the triggering of\n\t * swipe navigation.\n\t */\n\tisSwipePrevented( target ) {\n\n\t\t// Prevent accidental swipes when scrubbing timelines\n\t\tif( matches( target, 'video, audio' ) ) return true;\n\n\t\twhile( target && typeof target.hasAttribute === 'function' ) {\n\t\t\tif( target.hasAttribute( 'data-prevent-swipe' ) ) return true;\n\t\t\ttarget = target.parentNode;\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\t/**\n\t * Handler for the 'touchstart' event, enables support for\n\t * swipe and pinch gestures.\n\t *\n\t * @param {object} event\n\t */\n\tonTouchStart( event ) {\n\n\t\tif( this.isSwipePrevented( event.target ) ) return true;\n\n\t\tthis.touchStartX = event.touches[0].clientX;\n\t\tthis.touchStartY = event.touches[0].clientY;\n\t\tthis.touchStartCount = event.touches.length;\n\n\t}\n\n\t/**\n\t * Handler for the 'touchmove' event.\n\t *\n\t * @param {object} event\n\t */\n\tonTouchMove( event ) {\n\n\t\tif( this.isSwipePrevented( event.target ) ) return true;\n\n\t\tlet config = this.Reveal.getConfig();\n\n\t\t// Each touch should only trigger one action\n\t\tif( !this.touchCaptured ) {\n\t\t\tthis.Reveal.onUserInput( event );\n\n\t\t\tlet currentX = event.touches[0].clientX;\n\t\t\tlet currentY = event.touches[0].clientY;\n\n\t\t\t// There was only one touch point, look for a swipe\n\t\t\tif( event.touches.length === 1 && this.touchStartCount !== 2 ) {\n\n\t\t\t\tlet availableRoutes = this.Reveal.availableRoutes({ includeFragments: true });\n\n\t\t\t\tlet deltaX = currentX - this.touchStartX,\n\t\t\t\t\tdeltaY = currentY - this.touchStartY;\n\n\t\t\t\tif( deltaX > SWIPE_THRESHOLD && Math.abs( deltaX ) > Math.abs( deltaY ) ) {\n\t\t\t\t\tthis.touchCaptured = true;\n\t\t\t\t\tif( config.navigationMode === 'linear' ) {\n\t\t\t\t\t\tif( config.rtl ) {\n\t\t\t\t\t\t\tthis.Reveal.next();\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.Reveal.prev();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.Reveal.left();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if( deltaX < -SWIPE_THRESHOLD && Math.abs( deltaX ) > Math.abs( deltaY ) ) {\n\t\t\t\t\tthis.touchCaptured = true;\n\t\t\t\t\tif( config.navigationMode === 'linear' ) {\n\t\t\t\t\t\tif( config.rtl ) {\n\t\t\t\t\t\t\tthis.Reveal.prev();\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.Reveal.next();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.Reveal.right();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if( deltaY > SWIPE_THRESHOLD && availableRoutes.up ) {\n\t\t\t\t\tthis.touchCaptured = true;\n\t\t\t\t\tif( config.navigationMode === 'linear' ) {\n\t\t\t\t\t\tthis.Reveal.prev();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.Reveal.up();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if( deltaY < -SWIPE_THRESHOLD && availableRoutes.down ) {\n\t\t\t\t\tthis.touchCaptured = true;\n\t\t\t\t\tif( config.navigationMode === 'linear' ) {\n\t\t\t\t\t\tthis.Reveal.next();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.Reveal.down();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If we're embedded, only block touch events if they have\n\t\t\t\t// triggered an action\n\t\t\t\tif( config.embedded ) {\n\t\t\t\t\tif( this.touchCaptured || this.Reveal.isVerticalSlide() ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Not embedded? Block them all to avoid needless tossing\n\t\t\t\t// around of the viewport in iOS\n\t\t\t\telse {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\t\t// There's a bug with swiping on some Android devices unless\n\t\t// the default action is always prevented\n\t\telse if( isAndroid ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t}\n\n\t/**\n\t * Handler for the 'touchend' event.\n\t *\n\t * @param {object} event\n\t */\n\tonTouchEnd( event ) {\n\n\t\tthis.touchCaptured = false;\n\n\t}\n\n\t/**\n\t * Convert pointer down to touch start.\n\t *\n\t * @param {object} event\n\t */\n\tonPointerDown( event ) {\n\n\t\tif( event.pointerType === event.MSPOINTER_TYPE_TOUCH || event.pointerType === \"touch\" ) {\n\t\t\tevent.touches = [{ clientX: event.clientX, clientY: event.clientY }];\n\t\t\tthis.onTouchStart( event );\n\t\t}\n\n\t}\n\n\t/**\n\t * Convert pointer move to touch move.\n\t *\n\t * @param {object} event\n\t */\n\tonPointerMove( event ) {\n\n\t\tif( event.pointerType === event.MSPOINTER_TYPE_TOUCH || event.pointerType === \"touch\" ) {\n\t\t\tevent.touches = [{ clientX: event.clientX, clientY: event.clientY }];\n\t\t\tthis.onTouchMove( event );\n\t\t}\n\n\t}\n\n\t/**\n\t * Convert pointer up to touch end.\n\t *\n\t * @param {object} event\n\t */\n\tonPointerUp( event ) {\n\n\t\tif( event.pointerType === event.MSPOINTER_TYPE_TOUCH || event.pointerType === \"touch\" ) {\n\t\t\tevent.touches = [{ clientX: event.clientX, clientY: event.clientY }];\n\t\t\tthis.onTouchEnd( event );\n\t\t}\n\n\t}\n\n}","import { closest } from '../utils/util.js'\n\n/**\n * Manages focus when a presentation is embedded. This\n * helps us only capture keyboard from the presentation\n * a user is currently interacting with in a page where\n * multiple presentations are embedded.\n */\n\nconst STATE_FOCUS = 'focus';\nconst STATE_BLUR = 'blur';\n\nexport default class Focus {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t\tthis.onRevealPointerDown = this.onRevealPointerDown.bind( this );\n\t\tthis.onDocumentPointerDown = this.onDocumentPointerDown.bind( this );\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tif( config.embedded ) {\n\t\t\tthis.blur();\n\t\t}\n\t\telse {\n\t\t\tthis.focus();\n\t\t\tthis.unbind();\n\t\t}\n\n\t}\n\n\tbind() {\n\n\t\tif( this.Reveal.getConfig().embedded ) {\n\t\t\tthis.Reveal.getRevealElement().addEventListener( 'pointerdown', this.onRevealPointerDown, false );\n\t\t}\n\n\t}\n\n\tunbind() {\n\n\t\tthis.Reveal.getRevealElement().removeEventListener( 'pointerdown', this.onRevealPointerDown, false );\n\t\tdocument.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false );\n\n\t}\n\n\tfocus() {\n\n\t\tif( this.state !== STATE_FOCUS ) {\n\t\t\tthis.Reveal.getRevealElement().classList.add( 'focused' );\n\t\t\tdocument.addEventListener( 'pointerdown', this.onDocumentPointerDown, false );\n\t\t}\n\n\t\tthis.state = STATE_FOCUS;\n\n\t}\n\n\tblur() {\n\n\t\tif( this.state !== STATE_BLUR ) {\n\t\t\tthis.Reveal.getRevealElement().classList.remove( 'focused' );\n\t\t\tdocument.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false );\n\t\t}\n\n\t\tthis.state = STATE_BLUR;\n\n\t}\n\n\tisFocused() {\n\n\t\treturn this.state === STATE_FOCUS;\n\n\t}\n\n\tdestroy() {\n\n\t\tthis.Reveal.getRevealElement().classList.remove( 'focused' );\n\n\t}\n\n\tonRevealPointerDown( event ) {\n\n\t\tthis.focus();\n\n\t}\n\n\tonDocumentPointerDown( event ) {\n\n\t\tlet revealElement = closest( event.target, '.reveal' );\n\t\tif( !revealElement || revealElement !== this.Reveal.getRevealElement() ) {\n\t\t\tthis.blur();\n\t\t}\n\n\t}\n\n}","/**\n * Handles the showing and \n */\nexport default class Notes {\n\n\tconstructor( Reveal ) {\n\n\t\tthis.Reveal = Reveal;\n\n\t}\n\n\trender() {\n\n\t\tthis.element = document.createElement( 'div' );\n\t\tthis.element.className = 'speaker-notes';\n\t\tthis.element.setAttribute( 'data-prevent-swipe', '' );\n\t\tthis.element.setAttribute( 'tabindex', '0' );\n\t\tthis.Reveal.getRevealElement().appendChild( this.element );\n\n\t}\n\n\t/**\n\t * Called when the reveal.js config is updated.\n\t */\n\tconfigure( config, oldConfig ) {\n\n\t\tif( config.showNotes ) {\n\t\t\tthis.element.setAttribute( 'data-layout', typeof config.showNotes === 'string' ? config.showNotes : 'inline' );\n\t\t}\n\n\t}\n\n\t/**\n\t * Pick up notes from the current slide and display them\n\t * to the viewer.\n\t *\n\t * @see {@link config.showNotes}\n\t */\n\tupdate() {\n\n\t\tif( this.Reveal.getConfig().showNotes && this.element && this.Reveal.getCurrentSlide() && !this.Reveal.print.isPrintingPDF() ) {\n\n\t\t\tthis.element.innerHTML = this.getSlideNotes() || 'No notes on this slide.';\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Updates the visibility of the speaker notes sidebar that\n\t * is used to share annotated slides. The notes sidebar is\n\t * only visible if showNotes is true and there are notes on\n\t * one or more slides in the deck.\n\t */\n\tupdateVisibility() {\n\n\t\tif( this.Reveal.getConfig().showNotes && this.hasNotes() && !this.Reveal.print.isPrintingPDF() ) {\n\t\t\tthis.Reveal.getRevealElement().classList.add( 'show-notes' );\n\t\t}\n\t\telse {\n\t\t\tthis.Reveal.getRevealElement().classList.remove( 'show-notes' );\n\t\t}\n\n\t}\n\n\t/**\n\t * Checks if there are speaker notes for ANY slide in the\n\t * presentation.\n\t */\n\thasNotes() {\n\n\t\treturn this.Reveal.getSlidesElement().querySelectorAll( '[data-notes], aside.notes' ).length > 0;\n\n\t}\n\n\t/**\n\t * Checks if this presentation is running inside of the\n\t * speaker notes window.\n\t *\n\t * @return {boolean}\n\t */\n\tisSpeakerNotesWindow() {\n\n\t\treturn !!window.location.search.match( /receiver/gi );\n\n\t}\n\n\t/**\n\t * Retrieves the speaker notes from a slide. Notes can be\n\t * defined in two ways:\n\t * 1. As a data-notes attribute on the slide
    \n\t * 2. As an

    Predictions (with interaction included), plotted

    -
    plot_cap(model = prepost.1, condition = c("before", "drug"))
    +
    plot_predictions(model = prepost.1, condition = c("before", "drug"))
    -

    Lines almost parallel, but not quite.

    +

    Lines almost parallel, but not quite.